From 65e4de68be12b271160db23178989badf9f7d1a0 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (office)" <j.wuttke@fz-juelich.de> Date: Wed, 2 Apr 2008 22:01:33 +0200 Subject: [PATCH] + yaml; corr push/pull --- pull | 2 +- push | 2 +- yaml/LICENSE | 19 + yaml/Makefile | 627 + yaml/Makefile.am | 15 + yaml/Makefile.in | 627 + yaml/README | 29 + yaml/aclocal.m4 | 7255 ++++++ yaml/config.h | 74 + yaml/config.h.in | 73 + yaml/config.log | 973 + yaml/config.status | 1220 + yaml/config/config.guess | 1466 ++ yaml/config/config.sub | 1579 ++ yaml/config/depcomp | 530 + yaml/config/install-sh | 323 + yaml/config/ltmain.sh | 6871 +++++ yaml/config/missing | 360 + yaml/configure | 20695 ++++++++++++++++ yaml/configure.ac | 73 + yaml/doc/doxygen.cfg | 222 + yaml/doc/html/annotated.html | 35 + yaml/doc/html/doxygen.css | 310 + yaml/doc/html/doxygen.png | Bin 0 -> 1281 bytes yaml/doc/html/files.html | 27 + yaml/doc/html/functions.html | 195 + yaml/doc/html/functions_vars.html | 195 + yaml/doc/html/globals.html | 93 + yaml/doc/html/globals_defs.html | 38 + yaml/doc/html/globals_enum.html | 47 + yaml/doc/html/globals_func.html | 79 + yaml/doc/html/globals_type.html | 40 + yaml/doc/html/group__basic.html | 80 + yaml/doc/html/group__emitter.html | 731 + yaml/doc/html/group__events.html | 666 + yaml/doc/html/group__export.html | 27 + yaml/doc/html/group__parser.html | 514 + yaml/doc/html/group__styles.html | 59 + yaml/doc/html/group__tokens.html | 115 + yaml/doc/html/group__version.html | 113 + yaml/doc/html/hierarchy.html | 35 + yaml/doc/html/index.html | 21 + yaml/doc/html/modules.html | 29 + yaml/doc/html/structyaml__emitter__t.html | 491 + yaml/doc/html/structyaml__event__t.html | 166 + yaml/doc/html/structyaml__mark__t.html | 54 + yaml/doc/html/structyaml__parser__t.html | 425 + yaml/doc/html/structyaml__simple__key__t.html | 58 + .../html/structyaml__tag__directive__t.html | 50 + yaml/doc/html/structyaml__token__t.html | 131 + .../structyaml__version__directive__t.html | 50 + yaml/doc/html/tab_b.gif | Bin 0 -> 35 bytes yaml/doc/html/tab_l.gif | Bin 0 -> 706 bytes yaml/doc/html/tab_r.gif | Bin 0 -> 2585 bytes yaml/doc/html/tabs.css | 102 + yaml/doc/html/yaml_8h.html | 428 + yaml/include/Makefile | 410 + yaml/include/Makefile.am | 17 + yaml/include/Makefile.in | 410 + yaml/include/yaml.h | 1420 ++ yaml/libtool | 7836 ++++++ yaml/src/.deps/api.Plo | 106 + yaml/src/.deps/emitter.Plo | 106 + yaml/src/.deps/parser.Plo | 106 + yaml/src/.deps/reader.Plo | 106 + yaml/src/.deps/scanner.Plo | 106 + yaml/src/.deps/writer.Plo | 106 + yaml/src/.libs/libyaml-0.so.0 | 1 + yaml/src/.libs/libyaml-0.so.0.0.0 | Bin 0 -> 216584 bytes yaml/src/.libs/libyaml.a | Bin 0 -> 268800 bytes yaml/src/.libs/libyaml.la | 1 + yaml/src/.libs/libyaml.lai | 35 + yaml/src/.libs/libyaml.so | 1 + yaml/src/Makefile | 463 + yaml/src/Makefile.am | 4 + yaml/src/Makefile.in | 463 + yaml/src/api.c | 1021 + yaml/src/api.lo | 12 + yaml/src/emitter.c | 2278 ++ yaml/src/emitter.lo | 12 + yaml/src/libyaml.la | 35 + yaml/src/parser.c | 1361 + yaml/src/parser.lo | 12 + yaml/src/reader.c | 459 + yaml/src/reader.lo | 12 + yaml/src/scanner.c | 3558 +++ yaml/src/scanner.lo | 12 + yaml/src/writer.c | 141 + yaml/src/writer.lo | 12 + yaml/src/yaml_private.h | 581 + yaml/stamp-h1 | 1 + yaml/tests/.deps/example-deconstructor.Po | 80 + yaml/tests/.deps/example-reformatter.Po | 80 + yaml/tests/.deps/run-emitter.Po | 83 + yaml/tests/.deps/run-parser.Po | 83 + yaml/tests/.deps/run-scanner.Po | 83 + yaml/tests/.deps/test-reader.Po | 1 + yaml/tests/.deps/test-version.Po | 1 + yaml/tests/.libs/example-deconstructor | Bin 0 -> 32634 bytes yaml/tests/.libs/example-reformatter | Bin 0 -> 22684 bytes yaml/tests/.libs/run-emitter | Bin 0 -> 29628 bytes yaml/tests/.libs/run-parser | Bin 0 -> 17435 bytes yaml/tests/.libs/run-scanner | Bin 0 -> 16019 bytes yaml/tests/Makefile | 564 + yaml/tests/Makefile.am | 6 + yaml/tests/Makefile.in | 564 + yaml/tests/example-deconstructor | 117 + yaml/tests/example-deconstructor.c | 1130 + yaml/tests/example-reformatter | 117 + yaml/tests/example-reformatter.c | 202 + yaml/tests/run-emitter | 117 + yaml/tests/run-emitter.c | 323 + yaml/tests/run-parser | 117 + yaml/tests/run-parser.c | 59 + yaml/tests/run-scanner | 117 + yaml/tests/run-scanner.c | 59 + yaml/tests/test-reader.c | 350 + yaml/tests/test-version.c | 25 + 118 files changed, 73919 insertions(+), 2 deletions(-) create mode 100644 yaml/LICENSE create mode 100644 yaml/Makefile create mode 100644 yaml/Makefile.am create mode 100644 yaml/Makefile.in create mode 100644 yaml/README create mode 100644 yaml/aclocal.m4 create mode 100644 yaml/config.h create mode 100644 yaml/config.h.in create mode 100644 yaml/config.log create mode 100755 yaml/config.status create mode 100755 yaml/config/config.guess create mode 100755 yaml/config/config.sub create mode 100755 yaml/config/depcomp create mode 100755 yaml/config/install-sh create mode 100644 yaml/config/ltmain.sh create mode 100755 yaml/config/missing create mode 100755 yaml/configure create mode 100644 yaml/configure.ac create mode 100644 yaml/doc/doxygen.cfg create mode 100644 yaml/doc/html/annotated.html create mode 100644 yaml/doc/html/doxygen.css create mode 100644 yaml/doc/html/doxygen.png create mode 100644 yaml/doc/html/files.html create mode 100644 yaml/doc/html/functions.html create mode 100644 yaml/doc/html/functions_vars.html create mode 100644 yaml/doc/html/globals.html create mode 100644 yaml/doc/html/globals_defs.html create mode 100644 yaml/doc/html/globals_enum.html create mode 100644 yaml/doc/html/globals_func.html create mode 100644 yaml/doc/html/globals_type.html create mode 100644 yaml/doc/html/group__basic.html create mode 100644 yaml/doc/html/group__emitter.html create mode 100644 yaml/doc/html/group__events.html create mode 100644 yaml/doc/html/group__export.html create mode 100644 yaml/doc/html/group__parser.html create mode 100644 yaml/doc/html/group__styles.html create mode 100644 yaml/doc/html/group__tokens.html create mode 100644 yaml/doc/html/group__version.html create mode 100644 yaml/doc/html/hierarchy.html create mode 100644 yaml/doc/html/index.html create mode 100644 yaml/doc/html/modules.html create mode 100644 yaml/doc/html/structyaml__emitter__t.html create mode 100644 yaml/doc/html/structyaml__event__t.html create mode 100644 yaml/doc/html/structyaml__mark__t.html create mode 100644 yaml/doc/html/structyaml__parser__t.html create mode 100644 yaml/doc/html/structyaml__simple__key__t.html create mode 100644 yaml/doc/html/structyaml__tag__directive__t.html create mode 100644 yaml/doc/html/structyaml__token__t.html create mode 100644 yaml/doc/html/structyaml__version__directive__t.html create mode 100644 yaml/doc/html/tab_b.gif create mode 100644 yaml/doc/html/tab_l.gif create mode 100644 yaml/doc/html/tab_r.gif create mode 100644 yaml/doc/html/tabs.css create mode 100644 yaml/doc/html/yaml_8h.html create mode 100644 yaml/include/Makefile create mode 100644 yaml/include/Makefile.am create mode 100644 yaml/include/Makefile.in create mode 100644 yaml/include/yaml.h create mode 100755 yaml/libtool create mode 100644 yaml/src/.deps/api.Plo create mode 100644 yaml/src/.deps/emitter.Plo create mode 100644 yaml/src/.deps/parser.Plo create mode 100644 yaml/src/.deps/reader.Plo create mode 100644 yaml/src/.deps/scanner.Plo create mode 100644 yaml/src/.deps/writer.Plo create mode 120000 yaml/src/.libs/libyaml-0.so.0 create mode 100755 yaml/src/.libs/libyaml-0.so.0.0.0 create mode 100644 yaml/src/.libs/libyaml.a create mode 120000 yaml/src/.libs/libyaml.la create mode 100644 yaml/src/.libs/libyaml.lai create mode 120000 yaml/src/.libs/libyaml.so create mode 100644 yaml/src/Makefile create mode 100644 yaml/src/Makefile.am create mode 100644 yaml/src/Makefile.in create mode 100644 yaml/src/api.c create mode 100644 yaml/src/api.lo create mode 100644 yaml/src/emitter.c create mode 100644 yaml/src/emitter.lo create mode 100644 yaml/src/libyaml.la create mode 100644 yaml/src/parser.c create mode 100644 yaml/src/parser.lo create mode 100644 yaml/src/reader.c create mode 100644 yaml/src/reader.lo create mode 100644 yaml/src/scanner.c create mode 100644 yaml/src/scanner.lo create mode 100644 yaml/src/writer.c create mode 100644 yaml/src/writer.lo create mode 100644 yaml/src/yaml_private.h create mode 100644 yaml/stamp-h1 create mode 100644 yaml/tests/.deps/example-deconstructor.Po create mode 100644 yaml/tests/.deps/example-reformatter.Po create mode 100644 yaml/tests/.deps/run-emitter.Po create mode 100644 yaml/tests/.deps/run-parser.Po create mode 100644 yaml/tests/.deps/run-scanner.Po create mode 100644 yaml/tests/.deps/test-reader.Po create mode 100644 yaml/tests/.deps/test-version.Po create mode 100755 yaml/tests/.libs/example-deconstructor create mode 100755 yaml/tests/.libs/example-reformatter create mode 100755 yaml/tests/.libs/run-emitter create mode 100755 yaml/tests/.libs/run-parser create mode 100755 yaml/tests/.libs/run-scanner create mode 100644 yaml/tests/Makefile create mode 100644 yaml/tests/Makefile.am create mode 100644 yaml/tests/Makefile.in create mode 100755 yaml/tests/example-deconstructor create mode 100644 yaml/tests/example-deconstructor.c create mode 100755 yaml/tests/example-reformatter create mode 100644 yaml/tests/example-reformatter.c create mode 100755 yaml/tests/run-emitter create mode 100644 yaml/tests/run-emitter.c create mode 100755 yaml/tests/run-parser create mode 100644 yaml/tests/run-parser.c create mode 100755 yaml/tests/run-scanner create mode 100644 yaml/tests/run-scanner.c create mode 100644 yaml/tests/test-reader.c create mode 100644 yaml/tests/test-version.c diff --git a/pull b/pull index 6186ac96..cb1d9bee 100755 --- a/pull +++ b/pull @@ -1,2 +1,2 @@ #!/bin/bash -git pull http://iffwww.iff.kfa-juelich.de/~wuttke/rda.git/ master +git pull http://iffwww.iff.kfa-juelich.de/~wuttke/frida2.git/ master diff --git a/push b/push index b77067b7..02a89315 100755 --- a/push +++ b/push @@ -1,4 +1,4 @@ #!/bin/bash git add . git commit -a -git push ssh://wuttke@sirup/~wuttke/public_html/rda.git master +git push ssh://wuttke@sirup/~wuttke/public_html/frida2.git master diff --git a/yaml/LICENSE b/yaml/LICENSE new file mode 100644 index 00000000..050ced23 --- /dev/null +++ b/yaml/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2006 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/yaml/Makefile b/yaml/Makefile new file mode 100644 index 00000000..b63f691d --- /dev/null +++ b/yaml/Makefile @@ -0,0 +1,627 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + +srcdir = . +top_srcdir = . + +pkgdatadir = $(datadir)/yaml +pkglibdir = $(libdir)/yaml +pkgincludedir = $(includedir)/yaml +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/configure config/config.guess config/config.sub \ + config/depcomp config/install-sh config/ltmain.sh \ + config/missing +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-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) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = ${SHELL} /usr/local/src/yaml/config/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /usr/local/src/yaml/config/missing --run tar +AR = ar +AUTOCONF = ${SHELL} /usr/local/src/yaml/config/missing --run autoconf +AUTOHEADER = ${SHELL} /usr/local/src/yaml/config/missing --run autoheader +AUTOMAKE = ${SHELL} /usr/local/src/yaml/config/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DOXYGEN = true +DOXYGEN_FALSE = # +DOXYGEN_TRUE = +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +F77 = g77 +FFLAGS = -g -O2 +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LIBOBJS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LN_S = ln -s +LTLIBOBJS = +MAKEINFO = ${SHELL} /usr/local/src/yaml/config/missing --run makeinfo +OBJEXT = o +PACKAGE = yaml +PACKAGE_BUGREPORT = http://pyyaml.org/newticket?component=libyaml +PACKAGE_NAME = yaml +PACKAGE_STRING = yaml 0.0.1 +PACKAGE_TARNAME = yaml +PACKAGE_VERSION = 0.0.1 +PATH_SEPARATOR = : +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = strip +VERSION = 0.0.1 +YAML_LT_AGE = 0 +YAML_LT_CURRENT = 0 +YAML_LT_RELEASE = 0 +YAML_LT_REVISION = 0 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_F77 = g77 +ac_ct_RANLIB = ranlib +ac_ct_STRIP = strip +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /usr/local/src/yaml/config/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +sysconfdir = ${prefix}/etc +target_alias = +SUBDIRS = include src . tests +EXTRA_DIST = README LICENSE doc/doxygen.cfg +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config $(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 \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -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 $(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 + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile config.h +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic \ + maintainer-clean-local + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-hdr distclean-libtool \ + 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-man \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + maintainer-clean-local maintainer-clean-recursive mostlyclean \ + mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ + pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-info-am + + +maintainer-clean-local: + -rm -f aclocal.m4 config.h.in configure config/* + -find ${builddir} -name Makefile.in -exec rm -f '{}' ';' + +.PHONY: bootstrap +bootstrap: maintainer-clean + ./bootstrap +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/yaml/Makefile.am b/yaml/Makefile.am new file mode 100644 index 00000000..1cf4114e --- /dev/null +++ b/yaml/Makefile.am @@ -0,0 +1,15 @@ +## Run `./bootstrap` to generate the "Makefile.in" files in this directory and +## the "$SUBDIR" subdirectories. + +SUBDIRS = include src . tests + +EXTRA_DIST = README LICENSE doc/doxygen.cfg + +maintainer-clean-local: + -rm -f aclocal.m4 config.h.in configure config/* + -find ${builddir} -name Makefile.in -exec rm -f '{}' ';' + +.PHONY: bootstrap +bootstrap: maintainer-clean + ./bootstrap + diff --git a/yaml/Makefile.in b/yaml/Makefile.in new file mode 100644 index 00000000..e41d0b04 --- /dev/null +++ b/yaml/Makefile.in @@ -0,0 +1,627 @@ +# 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 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +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 +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/configure config/config.guess config/config.sub \ + config/depcomp config/install-sh config/ltmain.sh \ + config/missing +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-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) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +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@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DOXYGEN = @DOXYGEN@ +DOXYGEN_FALSE = @DOXYGEN_FALSE@ +DOXYGEN_TRUE = @DOXYGEN_TRUE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +YAML_LT_AGE = @YAML_LT_AGE@ +YAML_LT_CURRENT = @YAML_LT_CURRENT@ +YAML_LT_RELEASE = @YAML_LT_RELEASE@ +YAML_LT_REVISION = @YAML_LT_REVISION@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +SUBDIRS = include src . tests +EXTRA_DIST = README LICENSE doc/doxygen.cfg +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config $(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 \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -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 $(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 + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile config.h +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic \ + maintainer-clean-local + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-hdr distclean-libtool \ + 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-man \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + maintainer-clean-local maintainer-clean-recursive mostlyclean \ + mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ + pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-info-am + + +maintainer-clean-local: + -rm -f aclocal.m4 config.h.in configure config/* + -find ${builddir} -name Makefile.in -exec rm -f '{}' ';' + +.PHONY: bootstrap +bootstrap: maintainer-clean + ./bootstrap +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/yaml/README b/yaml/README new file mode 100644 index 00000000..a762f97c --- /dev/null +++ b/yaml/README @@ -0,0 +1,29 @@ +LibYAML - A C library for parsing and emitting YAML. + +The project is in an early stage of development. + +To build and install the library, run: +$ ./configure +$ make +# make install + +If you checked the source code from the Subversion repository, run +$ ./bootstrap +$ ./configure +$ make +# make install + +For more information, check the LibYAML homepage: +'http://pyyaml.org/wiki/LibYAML'. + +Post your questions and opinions to the YAML-Core mailing list: +'http://lists.sourceforge.net/lists/listinfo/yaml-core'. + +Submit bug reports and feature requests to the LibYAML bug tracker: +'http://pyyaml.org/newticket?component=libyaml'. + +LibYAML is written by Kirill Simonov <xi@resolvent.net>. It is released +under the MIT license. See the file LICENSE for more details. + +This project is developed for Python Software Foundation as a part of +Google Summer of Code under the mentorship of Clark Evans. diff --git a/yaml/aclocal.m4 b/yaml/aclocal.m4 new file mode 100644 index 00000000..0a69cf9e --- /dev/null +++ b/yaml/aclocal.m4 @@ -0,0 +1,7255 @@ +# generated automatically by aclocal 1.9.6 -*- Autoconf -*- + +# 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, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 48 Debian 1.5.22-2 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<EOF +[$]* +EOF + exit 0 +fi + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<EOF +[#line __oline__ "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif + +#include <stdio.h> + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +kfreebsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +knetbsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$lt_save_ifs" +else + lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$lt_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_PROG_LD_GNU +])# AC_PROG_LD + + +# AC_PROG_LD_GNU +# -------------- +AC_DEFUN([AC_PROG_LD_GNU], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + lt_cv_prog_gnu_ld=yes + ;; +*) + lt_cv_prog_gnu_ld=no + ;; +esac]) +with_gnu_ld=$lt_cv_prog_gnu_ld +])# AC_PROG_LD_GNU + + +# AC_PROG_LD_RELOAD_FLAG +# ---------------------- +# find reload flag for linker +# -- PORTME Some linkers may need a different reload flag. +AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], +[AC_CACHE_CHECK([for $LD option to reload object files], + lt_cv_ld_reload_flag, + [lt_cv_ld_reload_flag='-r']) +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac +])# AC_PROG_LD_RELOAD_FLAG + + +# AC_DEPLIBS_CHECK_METHOD +# ----------------------- +# how to check for library dependencies +# -- PORTME fill in with the dynamic library characteristics +AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], +[AC_CACHE_CHECK([how to recognise dependent libraries], +lt_cv_deplibs_check_method, +[lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[[45]]*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | kfreebsd*-gnu | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | kfreebsd*-gnu | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext <<EOF +int a; +void foo (void) { a = 0; } +EOF +],[$1],[CXX],[cat > conftest.$ac_ext <<EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +EOF +],[$1],[F77],[cat > conftest.$ac_ext <<EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +EOF +],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +EOF +]) +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" + else + _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then + _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}" + else + _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then + _LT_AC_TAGVAR(predep_objects, $1)="$p" + else + _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then + _LT_AC_TAGVAR(postdep_objects, $1)="$p" + else + _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +ifelse([$1],[CXX], +[case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_AC_TAGVAR(predep_objects,$1)= + _LT_AC_TAGVAR(postdep_objects,$1)= + _LT_AC_TAGVAR(postdeps,$1)= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun' + ;; + esac + ;; +esac +]) + +case " $_LT_AC_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac +])# AC_LIBTOOL_POSTDEP_PREDEP + +# AC_LIBTOOL_LANG_F77_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) +AC_DEFUN([_LT_AC_LANG_F77_CONFIG], +[AC_REQUIRE([AC_PROG_F77]) +AC_LANG_PUSH(Fortran 77) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +_LT_AC_TAGVAR(GCC, $1)="$G77" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_F77_CONFIG + + +# AC_LIBTOOL_LANG_GCJ_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) +AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], +[AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_GCJ_CONFIG + + +# AC_LIBTOOL_LANG_RC_CONFIG +# ------------------------- +# Ensure that the configuration vars for the Windows resource compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) +AC_DEFUN([_LT_AC_LANG_RC_CONFIG], +[AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_RC_CONFIG + + +# AC_LIBTOOL_CONFIG([TAGNAME]) +# ---------------------------- +# If TAGNAME is not passed, then create an initial libtool script +# with a default configuration from the untagged config vars. Otherwise +# add code to config.status for appending the configuration named by +# TAGNAME from the matching tagged config vars. +AC_DEFUN([AC_LIBTOOL_CONFIG], +[# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + _LT_AC_TAGVAR(compiler, $1) \ + _LT_AC_TAGVAR(CC, $1) \ + _LT_AC_TAGVAR(LD, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ + _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ + _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ + _LT_AC_TAGVAR(old_archive_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ + _LT_AC_TAGVAR(predep_objects, $1) \ + _LT_AC_TAGVAR(postdep_objects, $1) \ + _LT_AC_TAGVAR(predeps, $1) \ + _LT_AC_TAGVAR(postdeps, $1) \ + _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ + _LT_AC_TAGVAR(archive_cmds, $1) \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ + _LT_AC_TAGVAR(postinstall_cmds, $1) \ + _LT_AC_TAGVAR(postuninstall_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ + _LT_AC_TAGVAR(allow_undefined_flag, $1) \ + _LT_AC_TAGVAR(no_undefined_flag, $1) \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ + _LT_AC_TAGVAR(hardcode_automatic, $1) \ + _LT_AC_TAGVAR(module_cmds, $1) \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) \ + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ + _LT_AC_TAGVAR(exclude_expsyms, $1) \ + _LT_AC_TAGVAR(include_expsyms, $1); do + + case $var in + _LT_AC_TAGVAR(old_archive_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ + _LT_AC_TAGVAR(archive_cmds, $1) | \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(module_cmds, $1) | \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\[$]0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` + ;; + esac + +ifelse([$1], [], + [cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + AC_MSG_NOTICE([creating $ofile])], + [cfgfile="$ofile"]) + + cat <<__EOF__ >> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux*) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat <<EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <<EOF >> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | kfreebsd*-gnu | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux*) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + kfreebsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + linux*) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # GNU/kFreeBSD uses gcc -shared to do shared libraries. + kfreebsd*-gnu) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include <windows.h> +# #undef WIN32_LEAN_AND_MEAN +# #include <stdio.h> +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include <cygwin/cygwin_dll.h> +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# 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, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# 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.9.6])]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 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. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# 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 7 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +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]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + + +# Copyright (C) 1999, 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 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, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +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], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + 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/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 + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# 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 3 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 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, +# with or without modifications, as long as this notice is preserved. + +# serial 12 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.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 +# 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 +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 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. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# Copyright (C) 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 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 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, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 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 4 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# 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 +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# 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, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_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], +[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 -*- + +# Copyright (C) 2001, 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, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 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 4 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 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. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 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 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar <conftest.tar]) + grep GrepMe conftest.dir/file >/dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + diff --git a/yaml/config.h b/yaml/config.h new file mode 100644 index 00000000..7c4bd17b --- /dev/null +++ b/yaml/config.h @@ -0,0 +1,74 @@ +/* config.h. Generated by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the <dlfcn.h> header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the <inttypes.h> header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the <memory.h> header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the <stdint.h> header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the <stdlib.h> header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the <strings.h> header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the <string.h> header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the <sys/types.h> header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the <unistd.h> header file. */ +#define HAVE_UNISTD_H 1 + +/* Name of package */ +#define PACKAGE "yaml" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "http://pyyaml.org/newticket?component=libyaml" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "yaml" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "yaml 0.0.1" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "yaml" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "0.0.1" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "0.0.1" + +/* Define the major version number. */ +#define YAML_VERSION_MAJOR 0 + +/* Define the minor version number. */ +#define YAML_VERSION_MINOR 0 + +/* Define the patch version number. */ +#define YAML_VERSION_PATCH 1 + +/* Define the version string. */ +#define YAML_VERSION_STRING "0.0.1" + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `unsigned' if <sys/types.h> does not define. */ +/* #undef size_t */ diff --git a/yaml/config.h.in b/yaml/config.h.in new file mode 100644 index 00000000..8dacba22 --- /dev/null +++ b/yaml/config.h.in @@ -0,0 +1,73 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the <dlfcn.h> header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the <memory.h> header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define the major version number. */ +#undef YAML_VERSION_MAJOR + +/* Define the minor version number. */ +#undef YAML_VERSION_MINOR + +/* Define the patch version number. */ +#undef YAML_VERSION_PATCH + +/* Define the version string. */ +#undef YAML_VERSION_STRING + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `unsigned' if <sys/types.h> does not define. */ +#undef size_t diff --git a/yaml/config.log b/yaml/config.log new file mode 100644 index 00000000..1f6f6c68 --- /dev/null +++ b/yaml/config.log @@ -0,0 +1,973 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by yaml configure 0.0.1, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ ./configure + +## --------- ## +## Platform. ## +## --------- ## + +hostname = milch.jcns.frm2 +uname -m = i686 +uname -r = 2.6.22-3-686 +uname -s = Linux +uname -v = #1 SMP Mon Nov 12 08:32:57 UTC 2007 + +/usr/bin/uname -p = unknown +/bin/uname -X = unknown + +/bin/arch = unknown +/usr/bin/arch -k = unknown +/usr/convex/getsysinfo = unknown +hostinfo = unknown +/bin/machine = unknown +/usr/bin/oslevel = unknown +/bin/universe = unknown + +PATH: /usr/local/sbin +PATH: /usr/local/bin +PATH: /usr/sbin +PATH: /usr/bin +PATH: /sbin +PATH: /bin +PATH: . + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:1552: checking for a BSD-compatible install +configure:1607: result: /usr/bin/install -c +configure:1618: checking whether build environment is sane +configure:1661: result: yes +configure:1726: checking for gawk +configure:1742: found /usr/bin/gawk +configure:1752: result: gawk +configure:1762: checking whether make sets $(MAKE) +configure:1782: result: yes +configure:2032: checking for gcc +configure:2048: found /usr/bin/gcc +configure:2058: result: gcc +configure:2302: checking for C compiler version +configure:2305: gcc --version </dev/null >&5 +gcc (GCC) 4.2.3 (Debian 4.2.3-2) +Copyright (C) 2007 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:2308: $? = 0 +configure:2310: gcc -v </dev/null >&5 +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --disable-libmudflap --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu +Thread model: posix +gcc version 4.2.3 (Debian 4.2.3-2) +configure:2313: $? = 0 +configure:2315: gcc -V </dev/null >&5 +gcc: '-V' option must have argument +configure:2318: $? = 1 +configure:2341: checking for C compiler default output file name +configure:2344: gcc conftest.c >&5 +configure:2347: $? = 0 +configure:2393: result: a.out +configure:2398: checking whether the C compiler works +configure:2404: ./a.out +configure:2407: $? = 0 +configure:2424: result: yes +configure:2431: checking whether we are cross compiling +configure:2433: result: no +configure:2436: checking for suffix of executables +configure:2438: gcc -o conftest conftest.c >&5 +configure:2441: $? = 0 +configure:2466: result: +configure:2472: checking for suffix of object files +configure:2493: gcc -c conftest.c >&5 +configure:2496: $? = 0 +configure:2518: result: o +configure:2522: checking whether we are using the GNU C compiler +configure:2546: gcc -c conftest.c >&5 +configure:2552: $? = 0 +configure:2555: test -z || test ! -s conftest.err +configure:2558: $? = 0 +configure:2561: test -s conftest.o +configure:2564: $? = 0 +configure:2577: result: yes +configure:2583: checking whether gcc accepts -g +configure:2604: gcc -c -g conftest.c >&5 +configure:2610: $? = 0 +configure:2613: test -z || test ! -s conftest.err +configure:2616: $? = 0 +configure:2619: test -s conftest.o +configure:2622: $? = 0 +configure:2633: result: yes +configure:2650: checking for gcc option to accept ANSI C +configure:2720: gcc -c -g -O2 conftest.c >&5 +configure:2726: $? = 0 +configure:2729: test -z || test ! -s conftest.err +configure:2732: $? = 0 +configure:2735: test -s conftest.o +configure:2738: $? = 0 +configure:2756: result: none needed +configure:2774: gcc -c -g -O2 conftest.c >&5 +conftest.c:2: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'me' +configure:2780: $? = 1 +configure: failed program was: +| #ifndef __cplusplus +| choke me +| #endif +configure:2921: checking for style of include used by make +configure:2949: result: GNU +configure:2977: checking dependency style of gcc +configure:3067: result: gcc3 +configure:3089: checking how to run the C preprocessor +configure:3124: gcc -E conftest.c +configure:3130: $? = 0 +configure:3162: gcc -E conftest.c +conftest.c:15:28: error: ac_nonexistent.h: No such file or directory +configure:3168: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "yaml" +| #define PACKAGE_TARNAME "yaml" +| #define PACKAGE_VERSION "0.0.1" +| #define PACKAGE_STRING "yaml 0.0.1" +| #define PACKAGE_BUGREPORT "http://pyyaml.org/newticket?component=libyaml" +| #define PACKAGE "yaml" +| #define VERSION "0.0.1" +| #define YAML_VERSION_MAJOR 0 +| #define YAML_VERSION_MINOR 0 +| #define YAML_VERSION_PATCH 1 +| #define YAML_VERSION_STRING "0.0.1" +| /* end confdefs.h. */ +| #include <ac_nonexistent.h> +configure:3207: result: gcc -E +configure:3231: gcc -E conftest.c +configure:3237: $? = 0 +configure:3269: gcc -E conftest.c +conftest.c:15:28: error: ac_nonexistent.h: No such file or directory +configure:3275: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "yaml" +| #define PACKAGE_TARNAME "yaml" +| #define PACKAGE_VERSION "0.0.1" +| #define PACKAGE_STRING "yaml 0.0.1" +| #define PACKAGE_BUGREPORT "http://pyyaml.org/newticket?component=libyaml" +| #define PACKAGE "yaml" +| #define VERSION "0.0.1" +| #define YAML_VERSION_MAJOR 0 +| #define YAML_VERSION_MINOR 0 +| #define YAML_VERSION_PATCH 1 +| #define YAML_VERSION_STRING "0.0.1" +| /* end confdefs.h. */ +| #include <ac_nonexistent.h> +configure:3331: checking for a BSD-compatible install +configure:3386: result: /usr/bin/install -c +configure:3397: checking whether ln -s works +configure:3401: result: yes +configure:3408: checking whether make sets $(MAKE) +configure:3428: result: yes +configure:3515: checking build system type +configure:3533: result: i686-pc-linux-gnu +configure:3541: checking host system type +configure:3555: result: i686-pc-linux-gnu +configure:3563: checking for a sed that does not truncate output +configure:3617: result: /bin/sed +configure:3620: checking for egrep +configure:3630: result: grep -E +configure:3646: checking for ld used by gcc +configure:3713: result: /usr/bin/ld +configure:3722: checking if the linker (/usr/bin/ld) is GNU ld +configure:3737: result: yes +configure:3742: checking for /usr/bin/ld option to reload object files +configure:3749: result: -r +configure:3767: checking for BSD-compatible nm +configure:3816: result: /usr/bin/nm -B +configure:3820: checking how to recognise dependent libraries +configure:3996: result: pass_all +configure:4228: checking for ANSI C header files +configure:4253: gcc -c -g -O2 conftest.c >&5 +configure:4259: $? = 0 +configure:4262: test -z || test ! -s conftest.err +configure:4265: $? = 0 +configure:4268: test -s conftest.o +configure:4271: $? = 0 +configure:4360: gcc -o conftest -g -O2 conftest.c >&5 +conftest.c: In function 'main': +conftest.c:32: warning: incompatible implicit declaration of built-in function 'exit' +configure:4363: $? = 0 +configure:4365: ./conftest +configure:4368: $? = 0 +configure:4383: result: yes +configure:4407: checking for sys/types.h +configure:4423: gcc -c -g -O2 conftest.c >&5 +configure:4429: $? = 0 +configure:4432: test -z || test ! -s conftest.err +configure:4435: $? = 0 +configure:4438: test -s conftest.o +configure:4441: $? = 0 +configure:4452: result: yes +configure:4407: checking for sys/stat.h +configure:4423: gcc -c -g -O2 conftest.c >&5 +configure:4429: $? = 0 +configure:4432: test -z || test ! -s conftest.err +configure:4435: $? = 0 +configure:4438: test -s conftest.o +configure:4441: $? = 0 +configure:4452: result: yes +configure:4407: checking for stdlib.h +configure:4423: gcc -c -g -O2 conftest.c >&5 +configure:4429: $? = 0 +configure:4432: test -z || test ! -s conftest.err +configure:4435: $? = 0 +configure:4438: test -s conftest.o +configure:4441: $? = 0 +configure:4452: result: yes +configure:4407: checking for string.h +configure:4423: gcc -c -g -O2 conftest.c >&5 +configure:4429: $? = 0 +configure:4432: test -z || test ! -s conftest.err +configure:4435: $? = 0 +configure:4438: test -s conftest.o +configure:4441: $? = 0 +configure:4452: result: yes +configure:4407: checking for memory.h +configure:4423: gcc -c -g -O2 conftest.c >&5 +configure:4429: $? = 0 +configure:4432: test -z || test ! -s conftest.err +configure:4435: $? = 0 +configure:4438: test -s conftest.o +configure:4441: $? = 0 +configure:4452: result: yes +configure:4407: checking for strings.h +configure:4423: gcc -c -g -O2 conftest.c >&5 +configure:4429: $? = 0 +configure:4432: test -z || test ! -s conftest.err +configure:4435: $? = 0 +configure:4438: test -s conftest.o +configure:4441: $? = 0 +configure:4452: result: yes +configure:4407: checking for inttypes.h +configure:4423: gcc -c -g -O2 conftest.c >&5 +configure:4429: $? = 0 +configure:4432: test -z || test ! -s conftest.err +configure:4435: $? = 0 +configure:4438: test -s conftest.o +configure:4441: $? = 0 +configure:4452: result: yes +configure:4407: checking for stdint.h +configure:4423: gcc -c -g -O2 conftest.c >&5 +configure:4429: $? = 0 +configure:4432: test -z || test ! -s conftest.err +configure:4435: $? = 0 +configure:4438: test -s conftest.o +configure:4441: $? = 0 +configure:4452: result: yes +configure:4407: checking for unistd.h +configure:4423: gcc -c -g -O2 conftest.c >&5 +configure:4429: $? = 0 +configure:4432: test -z || test ! -s conftest.err +configure:4435: $? = 0 +configure:4438: test -s conftest.o +configure:4441: $? = 0 +configure:4452: result: yes +configure:4478: checking dlfcn.h usability +configure:4490: gcc -c -g -O2 conftest.c >&5 +configure:4496: $? = 0 +configure:4499: test -z || test ! -s conftest.err +configure:4502: $? = 0 +configure:4505: test -s conftest.o +configure:4508: $? = 0 +configure:4518: result: yes +configure:4522: checking dlfcn.h presence +configure:4532: gcc -E conftest.c +configure:4538: $? = 0 +configure:4558: result: yes +configure:4593: checking for dlfcn.h +configure:4600: result: yes +configure:4665: checking for g++ +configure:4681: found /usr/bin/g++ +configure:4691: result: g++ +configure:4707: checking for C++ compiler version +configure:4710: g++ --version </dev/null >&5 +g++ (GCC) 4.2.3 (Debian 4.2.3-2) +Copyright (C) 2007 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:4713: $? = 0 +configure:4715: g++ -v </dev/null >&5 +Using built-in specs. +Target: i486-linux-gnu +Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --disable-libmudflap --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu +Thread model: posix +gcc version 4.2.3 (Debian 4.2.3-2) +configure:4718: $? = 0 +configure:4720: g++ -V </dev/null >&5 +g++: '-V' option must have argument +configure:4723: $? = 1 +configure:4726: checking whether we are using the GNU C++ compiler +configure:4750: g++ -c conftest.cc >&5 +configure:4756: $? = 0 +configure:4759: test -z || test ! -s conftest.err +configure:4762: $? = 0 +configure:4765: test -s conftest.o +configure:4768: $? = 0 +configure:4781: result: yes +configure:4787: checking whether g++ accepts -g +configure:4808: g++ -c -g conftest.cc >&5 +configure:4814: $? = 0 +configure:4817: test -z || test ! -s conftest.err +configure:4820: $? = 0 +configure:4823: test -s conftest.o +configure:4826: $? = 0 +configure:4837: result: yes +configure:4879: g++ -c -g -O2 conftest.cc >&5 +configure:4885: $? = 0 +configure:4888: test -z || test ! -s conftest.err +configure:4891: $? = 0 +configure:4894: test -s conftest.o +configure:4897: $? = 0 +configure:4923: g++ -c -g -O2 conftest.cc >&5 +conftest.cc: In function 'int main()': +conftest.cc:30: error: 'exit' was not declared in this scope +configure:4929: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "yaml" +| #define PACKAGE_TARNAME "yaml" +| #define PACKAGE_VERSION "0.0.1" +| #define PACKAGE_STRING "yaml 0.0.1" +| #define PACKAGE_BUGREPORT "http://pyyaml.org/newticket?component=libyaml" +| #define PACKAGE "yaml" +| #define VERSION "0.0.1" +| #define YAML_VERSION_MAJOR 0 +| #define YAML_VERSION_MINOR 0 +| #define YAML_VERSION_PATCH 1 +| #define YAML_VERSION_STRING "0.0.1" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| +| int +| main () +| { +| exit (42); +| ; +| return 0; +| } +configure:4879: g++ -c -g -O2 conftest.cc >&5 +conftest.cc:26: error: 'void std::exit(int)' should have been declared inside 'std' +configure:4885: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "yaml" +| #define PACKAGE_TARNAME "yaml" +| #define PACKAGE_VERSION "0.0.1" +| #define PACKAGE_STRING "yaml 0.0.1" +| #define PACKAGE_BUGREPORT "http://pyyaml.org/newticket?component=libyaml" +| #define PACKAGE "yaml" +| #define VERSION "0.0.1" +| #define YAML_VERSION_MAJOR 0 +| #define YAML_VERSION_MINOR 0 +| #define YAML_VERSION_PATCH 1 +| #define YAML_VERSION_STRING "0.0.1" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| extern "C" void std::exit (int) throw (); using std::exit; +| #include <stdlib.h> +| int +| main () +| { +| exit (42); +| ; +| return 0; +| } +configure:4879: g++ -c -g -O2 conftest.cc >&5 +conftest.cc:26: error: 'void std::exit(int)' should have been declared inside 'std' +In file included from conftest.cc:27: +/usr/include/stdlib.h:531: error: declaration of 'void std::exit(int) throw ()' throws different exceptions +conftest.cc:26: error: from previous declaration 'void std::exit(int)' +configure:4885: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "yaml" +| #define PACKAGE_TARNAME "yaml" +| #define PACKAGE_VERSION "0.0.1" +| #define PACKAGE_STRING "yaml 0.0.1" +| #define PACKAGE_BUGREPORT "http://pyyaml.org/newticket?component=libyaml" +| #define PACKAGE "yaml" +| #define VERSION "0.0.1" +| #define YAML_VERSION_MAJOR 0 +| #define YAML_VERSION_MINOR 0 +| #define YAML_VERSION_PATCH 1 +| #define YAML_VERSION_STRING "0.0.1" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| extern "C" void std::exit (int); using std::exit; +| #include <stdlib.h> +| int +| main () +| { +| exit (42); +| ; +| return 0; +| } +configure:4879: g++ -c -g -O2 conftest.cc >&5 +configure:4885: $? = 0 +configure:4888: test -z || test ! -s conftest.err +configure:4891: $? = 0 +configure:4894: test -s conftest.o +configure:4897: $? = 0 +configure:4923: g++ -c -g -O2 conftest.cc >&5 +configure:4929: $? = 0 +configure:4932: test -z || test ! -s conftest.err +configure:4935: $? = 0 +configure:4938: test -s conftest.o +configure:4941: $? = 0 +configure:4966: checking dependency style of g++ +configure:5056: result: gcc3 +configure:5083: checking how to run the C++ preprocessor +configure:5114: g++ -E conftest.cc +configure:5120: $? = 0 +configure:5152: g++ -E conftest.cc +conftest.cc:29:28: error: ac_nonexistent.h: No such file or directory +configure:5158: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "yaml" +| #define PACKAGE_TARNAME "yaml" +| #define PACKAGE_VERSION "0.0.1" +| #define PACKAGE_STRING "yaml 0.0.1" +| #define PACKAGE_BUGREPORT "http://pyyaml.org/newticket?component=libyaml" +| #define PACKAGE "yaml" +| #define VERSION "0.0.1" +| #define YAML_VERSION_MAJOR 0 +| #define YAML_VERSION_MINOR 0 +| #define YAML_VERSION_PATCH 1 +| #define YAML_VERSION_STRING "0.0.1" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| /* end confdefs.h. */ +| #include <ac_nonexistent.h> +configure:5197: result: g++ -E +configure:5221: g++ -E conftest.cc +configure:5227: $? = 0 +configure:5259: g++ -E conftest.cc +conftest.cc:29:28: error: ac_nonexistent.h: No such file or directory +configure:5265: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "yaml" +| #define PACKAGE_TARNAME "yaml" +| #define PACKAGE_VERSION "0.0.1" +| #define PACKAGE_STRING "yaml 0.0.1" +| #define PACKAGE_BUGREPORT "http://pyyaml.org/newticket?component=libyaml" +| #define PACKAGE "yaml" +| #define VERSION "0.0.1" +| #define YAML_VERSION_MAJOR 0 +| #define YAML_VERSION_MINOR 0 +| #define YAML_VERSION_PATCH 1 +| #define YAML_VERSION_STRING "0.0.1" +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| /* end confdefs.h. */ +| #include <ac_nonexistent.h> +configure:5362: checking for g77 +configure:5378: found /usr/bin/g77 +configure:5388: result: g77 +configure:5403: checking for Fortran 77 compiler version +configure:5406: g77 --version </dev/null >&5 +GNU Fortran (GCC) 3.4.6 (Debian 3.4.6-6) +Copyright (C) 2006 Free Software Foundation, Inc. + +GNU Fortran comes with NO WARRANTY, to the extent permitted by law. +You may redistribute copies of GNU Fortran +under the terms of the GNU General Public License. +For more information about these matters, see the file named COPYING +or type the command `info -f g77 Copying'. +configure:5409: $? = 0 +configure:5411: g77 -v </dev/null >&5 +Reading specs from /usr/lib/gcc/i486-linux-gnu/3.4.6/specs +Configured with: ../src/configure -v --enable-languages=c,c++,f77,pascal --prefix=/usr --libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --program-suffix=-3.4 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --with-tune=i686 i486-linux-gnu +Thread model: posix +gcc version 3.4.6 (Debian 3.4.6-6) +configure:5414: $? = 0 +configure:5416: g77 -V </dev/null >&5 +g77: `-V' option must have argument +configure:5419: $? = 1 +configure:5427: checking whether we are using the GNU Fortran 77 compiler +configure:5441: g77 -c conftest.F >&5 +configure:5447: $? = 0 +configure:5450: test -z || test ! -s conftest.err +configure:5453: $? = 0 +configure:5456: test -s conftest.o +configure:5459: $? = 0 +configure:5472: result: yes +configure:5478: checking whether g77 accepts -g +configure:5490: g77 -c -g conftest.f >&5 +configure:5496: $? = 0 +configure:5499: test -z || test ! -s conftest.err +configure:5502: $? = 0 +configure:5505: test -s conftest.o +configure:5508: $? = 0 +configure:5520: result: yes +configure:5550: checking the maximum length of command line arguments +configure:5659: result: 32768 +configure:5670: checking command to parse /usr/bin/nm -B output from gcc object +configure:5775: gcc -c -g -O2 conftest.c >&5 +configure:5778: $? = 0 +configure:5782: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm +configure:5785: $? = 0 +configure:5837: gcc -o conftest -g -O2 conftest.c conftstm.o >&5 +configure:5840: $? = 0 +configure:5878: result: ok +configure:5882: checking for objdir +configure:5897: result: .libs +configure:5987: checking for ar +configure:6003: found /usr/bin/ar +configure:6014: result: ar +configure:6067: checking for ranlib +configure:6083: found /usr/bin/ranlib +configure:6094: result: ranlib +configure:6147: checking for strip +configure:6163: found /usr/bin/strip +configure:6174: result: strip +configure:6446: checking if gcc supports -fno-rtti -fno-exceptions +configure:6464: gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5 +cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C +configure:6468: $? = 0 +configure:6481: result: no +configure:6496: checking for gcc option to produce PIC +configure:6706: result: -fPIC +configure:6714: checking if gcc PIC flag -fPIC works +configure:6732: gcc -c -g -O2 -fPIC -DPIC conftest.c >&5 +configure:6736: $? = 0 +configure:6749: result: yes +configure:6777: checking if gcc static flag -static works +configure:6805: result: yes +configure:6815: checking if gcc supports -c -o file.o +configure:6836: gcc -c -g -O2 -o out/conftest2.o conftest.c >&5 +configure:6840: $? = 0 +configure:6862: result: yes +configure:6888: checking whether the gcc linker (/usr/bin/ld) supports shared libraries +configure:7854: result: yes +configure:7875: checking whether -lc should be explicitly linked in +configure:7880: gcc -c -g -O2 conftest.c >&5 +configure:7883: $? = 0 +configure:7898: gcc -shared conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| grep -lc \>/dev/null 2\>\&1 +configure:7901: $? = 0 +configure:7913: result: no +configure:7921: checking dynamic linker characteristics +configure:8521: result: GNU/Linux ld.so +configure:8530: checking how to hardcode library paths into programs +configure:8555: result: immediate +configure:8569: checking whether stripping libraries is possible +configure:8574: result: yes +configure:9401: checking if libtool supports shared libraries +configure:9403: result: yes +configure:9406: checking whether to build shared libraries +configure:9427: result: yes +configure:9430: checking whether to build static libraries +configure:9434: result: yes +configure:9526: creating libtool +configure:10114: checking for ld used by g++ +configure:10181: result: /usr/bin/ld +configure:10190: checking if the linker (/usr/bin/ld) is GNU ld +configure:10205: result: yes +configure:10256: checking whether the g++ linker (/usr/bin/ld) supports shared libraries +configure:11192: result: yes +configure:11210: g++ -c -g -O2 conftest.cpp >&5 +configure:11213: $? = 0 +configure:11332: checking for g++ option to produce PIC +configure:11606: result: -fPIC +configure:11614: checking if g++ PIC flag -fPIC works +configure:11632: g++ -c -g -O2 -fPIC -DPIC conftest.cpp >&5 +configure:11636: $? = 0 +configure:11649: result: yes +configure:11677: checking if g++ static flag -static works +configure:11705: result: yes +configure:11715: checking if g++ supports -c -o file.o +configure:11736: g++ -c -g -O2 -o out/conftest2.o conftest.cpp >&5 +configure:11740: $? = 0 +configure:11762: result: yes +configure:11788: checking whether the g++ linker (/usr/bin/ld) supports shared libraries +configure:11819: result: yes +configure:11886: checking dynamic linker characteristics +configure:12486: result: GNU/Linux ld.so +configure:12495: checking how to hardcode library paths into programs +configure:12520: result: immediate +configure:13046: checking if libtool supports shared libraries +configure:13048: result: yes +configure:13051: checking whether to build shared libraries +configure:13071: result: yes +configure:13074: checking whether to build static libraries +configure:13078: result: yes +configure:13088: checking for g77 option to produce PIC +configure:13298: result: -fPIC +configure:13306: checking if g77 PIC flag -fPIC works +configure:13324: g77 -c -g -O2 -fPIC conftest.f >&5 +configure:13328: $? = 0 +configure:13341: result: yes +configure:13369: checking if g77 static flag -static works +configure:13397: result: yes +configure:13407: checking if g77 supports -c -o file.o +configure:13428: g77 -c -g -O2 -o out/conftest2.o conftest.f >&5 +configure:13432: $? = 0 +configure:13454: result: yes +configure:13480: checking whether the g77 linker (/usr/bin/ld) supports shared libraries +configure:14426: result: yes +configure:14493: checking dynamic linker characteristics +configure:15093: result: GNU/Linux ld.so +configure:15102: checking how to hardcode library paths into programs +configure:15127: result: immediate +configure:18713: checking for doxygen +configure:18729: found /usr/bin/doxygen +configure:18740: result: true +configure:18759: checking for ANSI C header files +configure:18914: result: yes +configure:18929: checking for stdlib.h +configure:18934: result: yes +configure:19075: checking for an ANSI C-conforming const +configure:19142: gcc -c -g -O2 conftest.c >&5 +configure:19148: $? = 0 +configure:19151: test -z || test ! -s conftest.err +configure:19154: $? = 0 +configure:19157: test -s conftest.o +configure:19160: $? = 0 +configure:19171: result: yes +configure:19181: checking for size_t +configure:19205: gcc -c -g -O2 conftest.c >&5 +configure:19211: $? = 0 +configure:19214: test -z || test ! -s conftest.err +configure:19217: $? = 0 +configure:19220: test -s conftest.o +configure:19223: $? = 0 +configure:19234: result: yes +configure:19375: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by yaml config.status 0.0.1, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on milch.jcns.frm2 + +config.status:763: creating include/Makefile +config.status:763: creating src/Makefile +config.status:763: creating Makefile +config.status:763: creating tests/Makefile +config.status:829: creating config.h +config.status:1129: executing depfiles commands + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_build=i686-pc-linux-gnu +ac_cv_build_alias=i686-pc-linux-gnu +ac_cv_c_compiler_gnu=yes +ac_cv_c_const=yes +ac_cv_cxx_compiler_gnu=yes +ac_cv_env_CC_set= +ac_cv_env_CC_value= +ac_cv_env_CFLAGS_set= +ac_cv_env_CFLAGS_value= +ac_cv_env_CPPFLAGS_set= +ac_cv_env_CPPFLAGS_value= +ac_cv_env_CPP_set= +ac_cv_env_CPP_value= +ac_cv_env_CXXCPP_set= +ac_cv_env_CXXCPP_value= +ac_cv_env_CXXFLAGS_set= +ac_cv_env_CXXFLAGS_value= +ac_cv_env_CXX_set= +ac_cv_env_CXX_value= +ac_cv_env_F77_set= +ac_cv_env_F77_value= +ac_cv_env_FFLAGS_set= +ac_cv_env_FFLAGS_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_build_alias_set= +ac_cv_env_build_alias_value= +ac_cv_env_host_alias_set= +ac_cv_env_host_alias_value= +ac_cv_env_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_exeext= +ac_cv_f77_compiler_gnu=yes +ac_cv_header_dlfcn_h=yes +ac_cv_header_inttypes_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_stdc=yes +ac_cv_header_stdint_h=yes +ac_cv_header_stdlib_h=yes +ac_cv_header_string_h=yes +ac_cv_header_strings_h=yes +ac_cv_header_sys_stat_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_unistd_h=yes +ac_cv_host=i686-pc-linux-gnu +ac_cv_host_alias=i686-pc-linux-gnu +ac_cv_objext=o +ac_cv_path_install='/usr/bin/install -c' +ac_cv_prog_AWK=gawk +ac_cv_prog_CPP='gcc -E' +ac_cv_prog_CXXCPP='g++ -E' +ac_cv_prog_DOXYGEN=true +ac_cv_prog_ac_ct_AR=ar +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_ac_ct_CXX=g++ +ac_cv_prog_ac_ct_F77=g77 +ac_cv_prog_ac_ct_RANLIB=ranlib +ac_cv_prog_ac_ct_STRIP=strip +ac_cv_prog_cc_g=yes +ac_cv_prog_cc_stdc= +ac_cv_prog_cxx_g=yes +ac_cv_prog_egrep='grep -E' +ac_cv_prog_f77_g=yes +ac_cv_prog_make_make_set=yes +ac_cv_type_size_t=yes +am_cv_CC_dependencies_compiler_type=gcc3 +am_cv_CXX_dependencies_compiler_type=gcc3 +lt_cv_deplibs_check_method=pass_all +lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_ld_reload_flag=-r +lt_cv_objdir=.libs +lt_cv_path_LD=/usr/bin/ld +lt_cv_path_LDCXX=/usr/bin/ld +lt_cv_path_NM='/usr/bin/nm -B' +lt_cv_path_SED=/bin/sed +lt_cv_prog_compiler_c_o=yes +lt_cv_prog_compiler_c_o_CXX=yes +lt_cv_prog_compiler_c_o_F77=yes +lt_cv_prog_compiler_rtti_exceptions=no +lt_cv_prog_gnu_ld=yes +lt_cv_prog_gnu_ldcxx=yes +lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\''' +lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr) \&\2},/p'\''' +lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern int \1;/p'\''' +lt_cv_sys_max_cmd_len=32768 +lt_lt_cv_prog_compiler_c_o='"yes"' +lt_lt_cv_prog_compiler_c_o_CXX='"yes"' +lt_lt_cv_prog_compiler_c_o_F77='"yes"' +lt_lt_cv_sys_global_symbol_pipe='"sed -n -e '\''s/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'\''"' +lt_lt_cv_sys_global_symbol_to_c_name_address='"sed -n -e '\''s/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'\''"' +lt_lt_cv_sys_global_symbol_to_cdecl='"sed -n -e '\''s/^. .* \\(.*\\)\$/extern int \\1;/p'\''"' + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +ACLOCAL='${SHELL} /usr/local/src/yaml/config/missing --run aclocal-1.9' +AMDEPBACKSLASH='\' +AMDEP_FALSE='#' +AMDEP_TRUE='' +AMTAR='${SHELL} /usr/local/src/yaml/config/missing --run tar' +AR='ar' +AUTOCONF='${SHELL} /usr/local/src/yaml/config/missing --run autoconf' +AUTOHEADER='${SHELL} /usr/local/src/yaml/config/missing --run autoheader' +AUTOMAKE='${SHELL} /usr/local/src/yaml/config/missing --run automake-1.9' +AWK='gawk' +CC='gcc' +CCDEPMODE='depmode=gcc3' +CFLAGS='-g -O2' +CPP='gcc -E' +CPPFLAGS='' +CXX='g++' +CXXCPP='g++ -E' +CXXDEPMODE='depmode=gcc3' +CXXFLAGS='-g -O2' +CYGPATH_W='echo' +DEFS='-DHAVE_CONFIG_H' +DEPDIR='.deps' +DOXYGEN='true' +DOXYGEN_FALSE='#' +DOXYGEN_TRUE='' +ECHO='echo' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='grep -E' +EXEEXT='' +F77='g77' +FFLAGS='-g -O2' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_PROGRAM='${INSTALL}' +INSTALL_SCRIPT='${INSTALL}' +INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' +LDFLAGS='' +LIBOBJS='' +LIBS='' +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +LN_S='ln -s' +LTLIBOBJS='' +MAKEINFO='${SHELL} /usr/local/src/yaml/config/missing --run makeinfo' +OBJEXT='o' +PACKAGE='yaml' +PACKAGE_BUGREPORT='http://pyyaml.org/newticket?component=libyaml' +PACKAGE_NAME='yaml' +PACKAGE_STRING='yaml 0.0.1' +PACKAGE_TARNAME='yaml' +PACKAGE_VERSION='0.0.1' +PATH_SEPARATOR=':' +RANLIB='ranlib' +SET_MAKE='' +SHELL='/bin/sh' +STRIP='strip' +VERSION='0.0.1' +YAML_LT_AGE='0' +YAML_LT_CURRENT='0' +YAML_LT_RELEASE='0' +YAML_LT_REVISION='0' +ac_ct_AR='ar' +ac_ct_CC='gcc' +ac_ct_CXX='g++' +ac_ct_F77='g77' +ac_ct_RANLIB='ranlib' +ac_ct_STRIP='strip' +am__fastdepCC_FALSE='#' +am__fastdepCC_TRUE='' +am__fastdepCXX_FALSE='#' +am__fastdepCXX_TRUE='' +am__include='include' +am__leading_dot='.' +am__quote='' +am__tar='${AMTAR} chof - "$$tardir"' +am__untar='${AMTAR} xf -' +bindir='${exec_prefix}/bin' +build='i686-pc-linux-gnu' +build_alias='' +build_cpu='i686' +build_os='linux-gnu' +build_vendor='pc' +datadir='${prefix}/share' +exec_prefix='${prefix}' +host='i686-pc-linux-gnu' +host_alias='' +host_cpu='i686' +host_os='linux-gnu' +host_vendor='pc' +includedir='${prefix}/include' +infodir='${prefix}/info' +install_sh='/usr/local/src/yaml/config/install-sh' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localstatedir='${prefix}/var' +mandir='${prefix}/man' +mkdir_p='mkdir -p --' +oldincludedir='/usr/include' +prefix='/usr/local' +program_transform_name='s,x,x,' +sbindir='${exec_prefix}/sbin' +sharedstatedir='${prefix}/com' +sysconfdir='${prefix}/etc' +target_alias='' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +#define HAVE_DLFCN_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_UNISTD_H 1 +#define PACKAGE "yaml" +#define PACKAGE_BUGREPORT "http://pyyaml.org/newticket?component=libyaml" +#define PACKAGE_NAME "yaml" +#define PACKAGE_STRING "yaml 0.0.1" +#define PACKAGE_TARNAME "yaml" +#define PACKAGE_VERSION "0.0.1" +#define STDC_HEADERS 1 +#define STDC_HEADERS 1 +#define VERSION "0.0.1" +#define YAML_VERSION_MAJOR 0 +#define YAML_VERSION_MINOR 0 +#define YAML_VERSION_PATCH 1 +#define YAML_VERSION_STRING "0.0.1" +#endif +#ifdef __cplusplus +extern "C" void exit (int) throw (); + +configure: exit 0 diff --git a/yaml/config.status b/yaml/config.status new file mode 100755 index 00000000..a9c15473 --- /dev/null +++ b/yaml/config.status @@ -0,0 +1,1220 @@ +#! /bin/sh +# Generated by configure. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=${CONFIG_SHELL-/bin/sh} +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +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 + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# 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=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +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 + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by yaml $as_me 0.0.1, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +config_files=" include/Makefile src/Makefile Makefile tests/Makefile" +config_headers=" config.h" +config_commands=" depfiles" + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to <bug-autoconf@gnu.org>." +ac_cs_version="\ +yaml config.status 0.0.1 +configured by ./configure, generated by GNU Autoconf 2.59, + with options \"\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=. +INSTALL="/usr/bin/install -c" +# 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. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +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 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +if $ac_cs_recheck; then + echo "running /bin/sh ./configure " $ac_configure_extra_args " --no-create --no-recursion" >&6 + exec /bin/sh ./configure $ac_configure_extra_args --no-create --no-recursion +fi + +# +# INIT-COMMANDS section. +# + +AMDEP_TRUE="" ac_aux_dir="config" + +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; + "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF +s,@SHELL@,/bin/sh,;t t +s,@PATH_SEPARATOR@,:,;t t +s,@PACKAGE_NAME@,yaml,;t t +s,@PACKAGE_TARNAME@,yaml,;t t +s,@PACKAGE_VERSION@,0.0.1,;t t +s,@PACKAGE_STRING@,yaml 0.0.1,;t t +s,@PACKAGE_BUGREPORT@,http://pyyaml.org/newticket?component=libyaml,;t t +s,@exec_prefix@,${prefix},;t t +s,@prefix@,/usr/local,;t t +s,@program_transform_name@,s,x,x,,;t t +s,@bindir@,${exec_prefix}/bin,;t t +s,@sbindir@,${exec_prefix}/sbin,;t t +s,@libexecdir@,${exec_prefix}/libexec,;t t +s,@datadir@,${prefix}/share,;t t +s,@sysconfdir@,${prefix}/etc,;t t +s,@sharedstatedir@,${prefix}/com,;t t +s,@localstatedir@,${prefix}/var,;t t +s,@libdir@,${exec_prefix}/lib,;t t +s,@includedir@,${prefix}/include,;t t +s,@oldincludedir@,/usr/include,;t t +s,@infodir@,${prefix}/info,;t t +s,@mandir@,${prefix}/man,;t t +s,@build_alias@,,;t t +s,@host_alias@,,;t t +s,@target_alias@,,;t t +s,@DEFS@,-DHAVE_CONFIG_H,;t t +s,@ECHO_C@,,;t t +s,@ECHO_N@,-n,;t t +s,@ECHO_T@,,;t t +s,@LIBS@,,;t t +s,@INSTALL_PROGRAM@,${INSTALL},;t t +s,@INSTALL_SCRIPT@,${INSTALL},;t t +s,@INSTALL_DATA@,${INSTALL} -m 644,;t t +s,@CYGPATH_W@,echo,;t t +s,@PACKAGE@,yaml,;t t +s,@VERSION@,0.0.1,;t t +s,@ACLOCAL@,${SHELL} /usr/local/src/yaml/config/missing --run aclocal-1.9,;t t +s,@AUTOCONF@,${SHELL} /usr/local/src/yaml/config/missing --run autoconf,;t t +s,@AUTOMAKE@,${SHELL} /usr/local/src/yaml/config/missing --run automake-1.9,;t t +s,@AUTOHEADER@,${SHELL} /usr/local/src/yaml/config/missing --run autoheader,;t t +s,@MAKEINFO@,${SHELL} /usr/local/src/yaml/config/missing --run makeinfo,;t t +s,@install_sh@,/usr/local/src/yaml/config/install-sh,;t t +s,@STRIP@,strip,;t t +s,@ac_ct_STRIP@,strip,;t t +s,@INSTALL_STRIP_PROGRAM@,${SHELL} $(install_sh) -c -s,;t t +s,@mkdir_p@,mkdir -p --,;t t +s,@AWK@,gawk,;t t +s,@SET_MAKE@,,;t t +s,@am__leading_dot@,.,;t t +s,@AMTAR@,${SHELL} /usr/local/src/yaml/config/missing --run tar,;t t +s,@am__tar@,${AMTAR} chof - "$$tardir",;t t +s,@am__untar@,${AMTAR} xf -,;t t +s,@YAML_LT_RELEASE@,0,;t t +s,@YAML_LT_CURRENT@,0,;t t +s,@YAML_LT_REVISION@,0,;t t +s,@YAML_LT_AGE@,0,;t t +s,@CC@,gcc,;t t +s,@CFLAGS@,-g -O2,;t t +s,@LDFLAGS@,,;t t +s,@CPPFLAGS@,,;t t +s,@ac_ct_CC@,gcc,;t t +s,@EXEEXT@,,;t t +s,@OBJEXT@,o,;t t +s,@DEPDIR@,.deps,;t t +s,@am__include@,include,;t t +s,@am__quote@,,;t t +s,@AMDEP_TRUE@,,;t t +s,@AMDEP_FALSE@,#,;t t +s,@AMDEPBACKSLASH@,\,;t t +s,@CCDEPMODE@,depmode=gcc3,;t t +s,@am__fastdepCC_TRUE@,,;t t +s,@am__fastdepCC_FALSE@,#,;t t +s,@CPP@,gcc -E,;t t +s,@LN_S@,ln -s,;t t +s,@build@,i686-pc-linux-gnu,;t t +s,@build_cpu@,i686,;t t +s,@build_vendor@,pc,;t t +s,@build_os@,linux-gnu,;t t +s,@host@,i686-pc-linux-gnu,;t t +s,@host_cpu@,i686,;t t +s,@host_vendor@,pc,;t t +s,@host_os@,linux-gnu,;t t +s,@EGREP@,grep -E,;t t +s,@ECHO@,echo,;t t +s,@AR@,ar,;t t +s,@ac_ct_AR@,ar,;t t +s,@RANLIB@,ranlib,;t t +s,@ac_ct_RANLIB@,ranlib,;t t +s,@CXX@,g++,;t t +s,@CXXFLAGS@,-g -O2,;t t +s,@ac_ct_CXX@,g++,;t t +s,@CXXDEPMODE@,depmode=gcc3,;t t +s,@am__fastdepCXX_TRUE@,,;t t +s,@am__fastdepCXX_FALSE@,#,;t t +s,@CXXCPP@,g++ -E,;t t +s,@F77@,g77,;t t +s,@FFLAGS@,-g -O2,;t t +s,@ac_ct_F77@,g77,;t t +s,@LIBTOOL@,$(SHELL) $(top_builddir)/libtool,;t t +s,@DOXYGEN@,true,;t t +s,@DOXYGEN_TRUE@,,;t t +s,@DOXYGEN_FALSE@,#,;t t +s,@LIBOBJS@,,;t t +s,@LTLIBOBJS@,,;t t +CEOF + + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$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" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$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" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + # 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. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + sed "/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +} + +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + + # Handle all the #define templates only if necessary. + if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then + # If there are no defines, we may have an empty if/fi + : + cat >$tmp/defines.sed <<CEOF +/^[ ]*#[ ]*define/!b +t clr +: clr +${ac_dA}PACKAGE_NAME${ac_dB}PACKAGE_NAME${ac_dC}"yaml"${ac_dD} +${ac_dA}PACKAGE_TARNAME${ac_dB}PACKAGE_TARNAME${ac_dC}"yaml"${ac_dD} +${ac_dA}PACKAGE_VERSION${ac_dB}PACKAGE_VERSION${ac_dC}"0.0.1"${ac_dD} +${ac_dA}PACKAGE_STRING${ac_dB}PACKAGE_STRING${ac_dC}"yaml 0.0.1"${ac_dD} +${ac_dA}PACKAGE_BUGREPORT${ac_dB}PACKAGE_BUGREPORT${ac_dC}"http://pyyaml.org/newticket?component=libyaml"${ac_dD} +${ac_dA}PACKAGE${ac_dB}PACKAGE${ac_dC}"yaml"${ac_dD} +${ac_dA}VERSION${ac_dB}VERSION${ac_dC}"0.0.1"${ac_dD} +${ac_dA}YAML_VERSION_MAJOR${ac_dB}YAML_VERSION_MAJOR${ac_dC}0${ac_dD} +${ac_dA}YAML_VERSION_MINOR${ac_dB}YAML_VERSION_MINOR${ac_dC}0${ac_dD} +${ac_dA}YAML_VERSION_PATCH${ac_dB}YAML_VERSION_PATCH${ac_dC}1${ac_dD} +${ac_dA}YAML_VERSION_STRING${ac_dB}YAML_VERSION_STRING${ac_dC}"0.0.1"${ac_dD} +${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD} +${ac_dA}HAVE_SYS_TYPES_H${ac_dB}HAVE_SYS_TYPES_H${ac_dC}1${ac_dD} +${ac_dA}HAVE_SYS_STAT_H${ac_dB}HAVE_SYS_STAT_H${ac_dC}1${ac_dD} +${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD} +${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD} +${ac_dA}HAVE_MEMORY_H${ac_dB}HAVE_MEMORY_H${ac_dC}1${ac_dD} +${ac_dA}HAVE_STRINGS_H${ac_dB}HAVE_STRINGS_H${ac_dC}1${ac_dD} +${ac_dA}HAVE_INTTYPES_H${ac_dB}HAVE_INTTYPES_H${ac_dC}1${ac_dD} +${ac_dA}HAVE_STDINT_H${ac_dB}HAVE_STDINT_H${ac_dC}1${ac_dD} +${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD} +${ac_dA}HAVE_DLFCN_H${ac_dB}HAVE_DLFCN_H${ac_dC}1${ac_dD} +${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD} +${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD} +CEOF + sed -f $tmp/defines.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in + + fi # grep + + # Handle all the #undef templates + cat >$tmp/undefs.sed <<CEOF +/^[ ]*#[ ]*undef/!b +t clr +: clr +${ac_uA}PACKAGE_NAME${ac_uB}PACKAGE_NAME${ac_uC}"yaml"${ac_uD} +${ac_uA}PACKAGE_TARNAME${ac_uB}PACKAGE_TARNAME${ac_uC}"yaml"${ac_uD} +${ac_uA}PACKAGE_VERSION${ac_uB}PACKAGE_VERSION${ac_uC}"0.0.1"${ac_uD} +${ac_uA}PACKAGE_STRING${ac_uB}PACKAGE_STRING${ac_uC}"yaml 0.0.1"${ac_uD} +${ac_uA}PACKAGE_BUGREPORT${ac_uB}PACKAGE_BUGREPORT${ac_uC}"http://pyyaml.org/newticket?component=libyaml"${ac_uD} +${ac_uA}PACKAGE${ac_uB}PACKAGE${ac_uC}"yaml"${ac_uD} +${ac_uA}VERSION${ac_uB}VERSION${ac_uC}"0.0.1"${ac_uD} +${ac_uA}YAML_VERSION_MAJOR${ac_uB}YAML_VERSION_MAJOR${ac_uC}0${ac_uD} +${ac_uA}YAML_VERSION_MINOR${ac_uB}YAML_VERSION_MINOR${ac_uC}0${ac_uD} +${ac_uA}YAML_VERSION_PATCH${ac_uB}YAML_VERSION_PATCH${ac_uC}1${ac_uD} +${ac_uA}YAML_VERSION_STRING${ac_uB}YAML_VERSION_STRING${ac_uC}"0.0.1"${ac_uD} +${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD} +${ac_uA}HAVE_SYS_TYPES_H${ac_uB}HAVE_SYS_TYPES_H${ac_uC}1${ac_uD} +${ac_uA}HAVE_SYS_STAT_H${ac_uB}HAVE_SYS_STAT_H${ac_uC}1${ac_uD} +${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD} +${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD} +${ac_uA}HAVE_MEMORY_H${ac_uB}HAVE_MEMORY_H${ac_uC}1${ac_uD} +${ac_uA}HAVE_STRINGS_H${ac_uB}HAVE_STRINGS_H${ac_uC}1${ac_uD} +${ac_uA}HAVE_INTTYPES_H${ac_uB}HAVE_INTTYPES_H${ac_uC}1${ac_uD} +${ac_uA}HAVE_STDINT_H${ac_uB}HAVE_STDINT_H${ac_uC}1${ac_uD} +${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD} +${ac_uA}HAVE_DLFCN_H${ac_uB}HAVE_DLFCN_H${ac_uC}1${ac_uD} +${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD} +${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD} +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +CEOF + sed -f $tmp/undefs.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in + + # 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. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + 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;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$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" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$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" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi +# 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:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || +$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 | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'`/stamp-h$_am_stamp_count +done + +# +# CONFIG_COMMANDS section. +# +for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue + ac_dest=`echo "$ac_file" | sed 's,:.*,,'` + ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_dir=`(dirname "$ac_dest") 2>/dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$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" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in + depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`(dirname "$mf") 2>/dev/null || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`(dirname "$file") 2>/dev/null || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p $dirpart/$fdir + else + as_dir=$dirpart/$fdir + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$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" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 +echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} + { (exit 1); exit 1; }; }; } + + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + esac +done + +{ (exit 0); exit 0; } diff --git a/yaml/config/config.guess b/yaml/config/config.guess new file mode 100755 index 00000000..ad5281e6 --- /dev/null +++ b/yaml/config/config.guess @@ -0,0 +1,1466 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + +timestamp='2005-08-03' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner <per@bothner.com>. +# Please send patches to <config-patches@gnu.org>. Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to <config-patches@gnu.org>." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerppc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include <stdio.h> /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include <sys/systemcfg.h> + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include <stdlib.h> + #include <unistd.h> + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include <unistd.h> + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[34]*) + echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include <features.h> + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #ifdef __INTEL_COMPILER + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` + echo ${UNAME_MACHINE}-pc-isc$UNAME_REL + elif /bin/uname -X 2>/dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says <Richard.M.Bartel@ccMail.Census.GOV> + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes <hewes@openmarket.com>. + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + *86) UNAME_PROCESSOR=i686 ;; + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c <<EOF +#ifdef _SEQUENT_ +# include <sys/types.h> +# include <sys/utsname.h> +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include <sys/param.h> + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include <sys/param.h> +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 <<EOF +$0: unable to guess system type + +This script, last modified $timestamp, has failed to recognize +the operating system you are using. It is advised that you +download the most up to date version of the config scripts from + + http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess +and + http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub + +If the version you run ($0) is already up to date, please +send the following data and any information you think might be +pertinent to <config-patches@gnu.org> in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/yaml/config/config.sub b/yaml/config/config.sub new file mode 100755 index 00000000..1c366dfd --- /dev/null +++ b/yaml/config/config.sub @@ -0,0 +1,1579 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + +timestamp='2005-07-08' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# 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. + + +# Please send patches to <config-patches@gnu.org>. Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to <config-patches@gnu.org>." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ + kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | ms1 \ + | msp430 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b \ + | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m32c) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | ms1-* \ + | msp430-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + m32c-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/yaml/config/depcomp b/yaml/config/depcomp new file mode 100755 index 00000000..04701da5 --- /dev/null +++ b/yaml/config/depcomp @@ -0,0 +1,530 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2005-07-09.11 + +# 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 +# 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. + +# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to <bug-automake@gnu.org>. +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + 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 + # With Tru64 cc, shared objects can also be used to make a + # 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 in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 + tmpdepfile2=$dir$base.o.d # libtool 1.5 + tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 + tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.o.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + tmpdepfile4=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/yaml/config/install-sh b/yaml/config/install-sh new file mode 100755 index 00000000..4d4a9519 --- /dev/null +++ b/yaml/config/install-sh @@ -0,0 +1,323 @@ +#!/bin/sh +# install - install a program, script, or datafile + +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 +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. 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-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= +dstarg= +no_target_directory= + +usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: +-c (ignored) +-d create directories instead of installing files. +-g GROUP $chgrpprog installed files to GROUP. +-m MODE $chmodprog installed files to MODE. +-o USER $chownprog installed files to USER. +-s $stripprog installed files. +-t DIRECTORY install into DIRECTORY. +-T report an error if DSTFILE is a directory. +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -c) shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit $?;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t) dstarg=$2 + shift + shift + continue;; + + -T) no_target_directory=true + shift + continue;; + + --version) echo "$0 $scriptversion"; exit $?;; + + *) # 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;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + 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 '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $dstarg: Is a directory" >&2 + exit 1 + fi + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` + + # 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}" + + 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 + 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 + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $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.$$_ + rmtmp=$dstdir/_rm.$$_ + + # 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. + $doit $cpprog "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $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 + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + 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 $dstdir/$dstfile" >&2 + (exit 1); exit 1 + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + 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=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/yaml/config/ltmain.sh b/yaml/config/ltmain.sh new file mode 100644 index 00000000..8fc56db8 --- /dev/null +++ b/yaml/config/ltmain.sh @@ -0,0 +1,6871 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-2" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<EOF +$* +EOF + exit $EXIT_SUCCESS +fi + +default_mode= +help="Try \`$progname --help' for more information." +magic="%%%MAGIC variable%%%" +mkdir="mkdir" +mv="mv -f" +rm="rm -f" + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed="${SED}"' -e 1s/^X//' +sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + SP2NL='tr \040 \012' + NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + SP2NL='tr \100 \n' + NL2SP='tr \r\n \100\100' + ;; +esac + +# NLS nuisances. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +# We save the old values to restore during execute mode. +if test "${LC_ALL+set}" = set; then + save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL +fi +if test "${LANG+set}" = set; then + save_LANG="$LANG"; LANG=C; export LANG +fi + +# Make sure IFS has a sensible default +lt_nl=' +' +IFS=" $lt_nl" + +if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then + $echo "$modename: not configured to build any kind of library" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T <<EOF +# $libobj - a libtool object file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +EOF + + # Only build a PIC object if we are building libtool libraries. + if test "$build_libtool_libs" = yes; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test "$pic_mode" != no; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi + + if test ! -d "${xdir}$objdir"; then + $show "$mkdir ${xdir}$objdir" + $run $mkdir ${xdir}$objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then + exit $exit_status + fi + fi + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + command="$command -o $lobj" + fi + + $run $rm "$lobj" "$output_obj" + + $show "$command" + if $run eval "$command"; then : + else + test -n "$output_obj" && $run $rm $removelist + exit $EXIT_FAILURE + fi + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <<EOF +pic_object='$objdir/$objname' + +EOF + + # Allow error messages only from the first compilation. + if test "$suppress_opt" = yes; then + suppress_output=' >/dev/null 2>&1' + fi + else + # No PIC object so indicate it doesn't exist in the libtool + # object file. + test -z "$run" && cat >> ${libobj}T <<EOF +pic_object=none + +EOF + fi + + # Only build a position-dependent object if we build old libraries. + if test "$build_old_libs" = yes; then + if test "$pic_mode" != yes; then + # Don't build PIC code + command="$base_compile $qsrcfile" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test "$compiler_c_o" = yes; then + command="$command -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + command="$command$suppress_output" + $run $rm "$obj" "$output_obj" + $show "$command" + if $run eval "$command"; then : + else + $run $rm $removelist + exit $EXIT_FAILURE + fi + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <<EOF +# Name of the non-PIC object. +non_pic_object='$objname' + +EOF + else + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <<EOF +# Name of the non-PIC object. +non_pic_object=none + +EOF + fi + + $run $mv "${libobj}T" "${libobj}" + + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + $run $rm "$lockfile" + fi + + exit $EXIT_SUCCESS + ;; + + # libtool link mode + link | relink) + modename="$modename: link" + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args="$nonopt" + base_compile="$nonopt $@" + compile_command="$nonopt" + finalize_command="$nonopt" + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + + avoid_version=no + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + non_pic_objects= + notinst_path= # paths that contain not-installed libtool libraries + precious_files_regex= + prefer_static_libs=no + preload=no + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -all-static | -static) + if test "X$arg" = "X-all-static"; then + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c <<EOF + int main() { return 0; } +EOF + $rm conftest + $LTCC $LTCFLAGS -o conftest conftest.c $deplibs + if test "$?" -eq 0 ; then + ldd_output=`ldd conftest` + for i in $deplibs; do + name=`expr $i : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test "$name" != "" && test "$name" -ne "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $i "*) + newdeplibs="$newdeplibs $i" + i="" + ;; + esac + fi + if test -n "$i" ; then + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` + set dummy $deplib_matches + deplib_match=$2 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + newdeplibs="$newdeplibs $i" + else + droppeddeps=yes + $echo + $echo "*** Warning: dynamic linker does not accept needed library $i." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which I believe you do not have" + $echo "*** because a test_compile did reveal that the linker did not use it for" + $echo "*** its dynamic dependency list that programs get resolved with at runtime." + fi + fi + else + newdeplibs="$newdeplibs $i" + fi + done + else + # Error occurred in the first compile. Let's try to salvage + # the situation: Compile a separate program for each library. + for i in $deplibs; do + name=`expr $i : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test "$name" != "" && test "$name" != "0"; then + $rm conftest + $LTCC $LTCFLAGS -o conftest conftest.c $i + # Did it work? + if test "$?" -eq 0 ; then + ldd_output=`ldd conftest` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $i "*) + newdeplibs="$newdeplibs $i" + i="" + ;; + esac + fi + if test -n "$i" ; then + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` + set dummy $deplib_matches + deplib_match=$2 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + newdeplibs="$newdeplibs $i" + else + droppeddeps=yes + $echo + $echo "*** Warning: dynamic linker does not accept needed library $i." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because a test_compile did reveal that the linker did not use this one" + $echo "*** as a dynamic dependency that programs can get resolved with at runtime." + fi + fi + else + droppeddeps=yes + $echo + $echo "*** Warning! Library $i is needed by this library but I was not able to" + $echo "*** make it link in! You will probably need to install it or some" + $echo "*** library that it depends on before this library will be fully" + $echo "*** functional. Installing it before continuing would be even better." + fi + else + newdeplibs="$newdeplibs $i" + fi + done + fi + ;; + file_magic*) + set dummy $deplibs_check_method + file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test "$name" != "" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 </dev/null >/dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <<EOF + +/* $cwrappersource - temporary wrapper executable for $objdir/$outputname + Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP + + The $output program cannot be directly executed until all the libtool + libraries that it depends on are installed. + + This wrapper executable should never be moved out of the build directory. + If it is, it will not operate correctly. + + Currently, it simply execs the wrapper *script* "/bin/sh $output", + but could eventually absorb all of the scripts functionality and + exec $objdir/$outputname directly. +*/ +EOF + cat >> $cwrappersource<<"EOF" +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <malloc.h> +#include <stdarg.h> +#include <assert.h> +#include <string.h> +#include <ctype.h> +#include <sys/stat.h> + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <<EOF + newargz[0] = (char *) xstrdup("$SHELL"); +EOF + + cat >> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i<argc+1; i++) + { + DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]); + ; + } + +EOF + + case $host_os in + mingw*) + cat >> $cwrappersource <<EOF + execv("$SHELL",(char const **)newargz); +EOF + ;; + *) + cat >> $cwrappersource <<EOF + execv("$SHELL",newargz); +EOF + ;; + esac + + cat >> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to <bug-libtool@gnu.org>." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/yaml/config/missing b/yaml/config/missing new file mode 100755 index 00000000..894e786e --- /dev/null +++ b/yaml/config/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2005-06-08.21 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, 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. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + 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 + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to <bug-automake@gnu.org>." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + +esac + +# 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 + lex|yacc) + # Not GNU programs, they don't have --version. + ;; + + tar) + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + exit 1 + fi + ;; + + *) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + # Could not run --version or --help. This is probably someone + # running `$TOOL --version' or `$TOOL --help' to check whether + # $TOOL exists and not knowing $TOOL uses missing. + exit 1 + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + aclocal*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + 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 + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + 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 [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + 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 + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + 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 '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` + # ... 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 + # If the file does not exist, the user really needs makeinfo; + # let's fail without touching anything. + test -f $file || exit 1 + touch $file + ;; + + tar) + shift + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/yaml/configure b/yaml/configure new file mode 100755 index 00000000..6c00cb2c --- /dev/null +++ b/yaml/configure @@ -0,0 +1,20695 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.59 for yaml 0.0.1. +# +# Report bugs to <http://pyyaml.org/newticket?component=libyaml>. +# +# Copyright (C) 2003 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +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 + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# 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=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { 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 + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<EOF +$* +EOF + exit 0 +fi + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +exec 6>&1 + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_config_libobj_dir=. +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME='yaml' +PACKAGE_TARNAME='yaml' +PACKAGE_VERSION='0.0.1' +PACKAGE_STRING='yaml 0.0.1' +PACKAGE_BUGREPORT='http://pyyaml.org/newticket?component=libyaml' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include <stdio.h> +#if HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#if HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif +#if STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#else +# if HAVE_STDLIB_H +# include <stdlib.h> +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include <memory.h> +# endif +# include <string.h> +#endif +#if HAVE_STRINGS_H +# include <strings.h> +#endif +#if HAVE_INTTYPES_H +# include <inttypes.h> +#else +# if HAVE_STDINT_H +# include <stdint.h> +# endif +#endif +#if HAVE_UNISTD_H +# include <unistd.h> +#endif" + +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 datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar YAML_LT_RELEASE YAML_LT_CURRENT YAML_LT_REVISION YAML_LT_AGE 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 LN_S build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL DOXYGEN DOXYGEN_TRUE DOXYGEN_FALSE LIBOBJS LTLIBOBJS' +ac_subst_files='' + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +ac_prev= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_option in + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`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 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + eval "enable_$ac_feature=no" ;; + + -enable-* | --enable-*) + ac_feature=`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 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "enable_$ac_feature='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`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 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package| sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "with_$ac_package='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`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 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/-/_/g'` + eval "with_$ac_package=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + 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 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + 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 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + 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 + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi +fi +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP +ac_env_CXX_set=${CXX+set} +ac_env_CXX_value=$CXX +ac_cv_env_CXX_set=${CXX+set} +ac_cv_env_CXX_value=$CXX +ac_env_CXXFLAGS_set=${CXXFLAGS+set} +ac_env_CXXFLAGS_value=$CXXFLAGS +ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} +ac_cv_env_CXXFLAGS_value=$CXXFLAGS +ac_env_CXXCPP_set=${CXXCPP+set} +ac_env_CXXCPP_value=$CXXCPP +ac_cv_env_CXXCPP_set=${CXXCPP+set} +ac_cv_env_CXXCPP_value=$CXXCPP +ac_env_F77_set=${F77+set} +ac_env_F77_value=$F77 +ac_cv_env_F77_set=${F77+set} +ac_cv_env_F77_value=$F77 +ac_env_FFLAGS_set=${FFLAGS+set} +ac_env_FFLAGS_value=$FFLAGS +ac_cv_env_FFLAGS_set=${FFLAGS+set} +ac_cv_env_FFLAGS_value=$FFLAGS + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures yaml 0.0.1 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +_ACEOF + + cat <<_ACEOF +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --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] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of yaml 0.0.1:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] + build shared libraries [default=yes] + --enable-static[=PKGS] + build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] + include additional configurations [automatic] + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a + nonstandard directory <lib dir> + CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have + headers in a nonstandard directory <include dir> + CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CXXCPP C++ preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to <http://pyyaml.org/newticket?component=libyaml>. +_ACEOF +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + echo + $SHELL $ac_srcdir/configure.gnu --help=recursive + elif test -f $ac_srcdir/configure; then + echo + $SHELL $ac_srcdir/configure --help=recursive + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd "$ac_popdir" + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF +yaml configure 0.0.1 +generated by GNU Autoconf 2.59 + +Copyright (C) 2003 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by yaml $as_me 0.0.1, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_sep= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------- ## +## Output files. ## +## ------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" confdefs.h | sort + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core && + rm -rf conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status + ' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + 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;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +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;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val="\$ac_cv_env_${ac_var}_value" + eval ac_new_val="\$ac_env_${ac_var}_value" + case $ac_old_set,$ac_new_set in + set,) + { 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;} + 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;} + 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=: + 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=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + 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;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + + + + + + + + + + + + +ac_aux_dir= +for ac_dir in config $srcdir/config; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f $ac_dir/shtool; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config $srcdir/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config $srcdir/config" >&2;} + { (exit 1); exit 1; }; } +fi +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + + ac_config_headers="$ac_config_headers config.h" + +am__api_version="1.9" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + INSTALL=$ac_install_sh + fi +fi +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { 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 +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { 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! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}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. +# 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 conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +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 + +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 + +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 +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$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 + break 2 + fi +done +done + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}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 dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +all: + @echo 'ac_maketemp="$(MAKE)"' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes +else + eval ac_cv_prog_make_${ac_make}_set=no +fi +rm -f conftest.make +fi +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + SET_MAKE= +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + 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;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='yaml' + VERSION='0.0.1' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +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 +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$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 + break 2 + fi +done +done + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$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 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" +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 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + STRIP=$ac_ct_STRIP +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + + +# Define macro variables for the package version numbers. + +cat >>confdefs.h <<\_ACEOF +#define YAML_VERSION_MAJOR 0 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define YAML_VERSION_MINOR 0 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define YAML_VERSION_PATCH 1 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define YAML_VERSION_STRING "0.0.1" +_ACEOF + + +# Define substitutions for the libtool version numbers. +YAML_LT_RELEASE=0 +YAML_LT_CURRENT=0 +YAML_LT_REVISION=0 +YAML_LT_AGE=0 + + + + + +# Note: in order to update checks, run `autoscan` and look through "configure.scan". + +# Checks for programs. +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$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 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$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 + break 2 + fi +done +done + +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 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$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 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # 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 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +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 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl + 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 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$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 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl +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 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$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 + break 2 + fi +done +done + +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 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CC" && break +done + + CC=$ac_ct_CC +fi + +fi + + +test -z "$CC" && { { 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 +See \`config.log' for more details." >&2;} + { (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` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 + (eval $ac_compiler --version </dev/null >&5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5 + (eval $ac_compiler -v </dev/null >&5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5 + (eval $ac_compiler -V </dev/null >&5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out 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[^ ]*//'` +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Find the output, starting from the most likely. This scheme is +# not robust to junk in `.', hence go to wildcards (a.*) only as a last +# resort. + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +# b.out is created by i960 compilers. +for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) + ;; + conftest.$ac_ext ) + # This is the source file. + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; + * ) + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { 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 +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6 + +# Check 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 +# 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 + if { ac_try='./$ac_file' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + 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. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +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; }; } + fi + fi +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check 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 + +echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + 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 +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext + break;; + * ) break;; + esac +done +else + { { 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 +See \`config.log' for more details." >&2;} + { (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 + +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 +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + 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 +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (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 +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 +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f 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` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cc_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdarg.h> +#include <stdio.h> +#include <sys/types.h> +#include <sys/stat.h> +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac + +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include <stdlib.h> +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.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 +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6 +rm -f confinc confmf + +# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval="$enable_dependency_tracking" + +fi; +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +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 +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + 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/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 + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +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 +# 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 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6 +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { 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 +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + INSTALL=$ac_install_sh + fi +fi +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6 +fi + +echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +all: + @echo 'ac_maketemp="$(MAKE)"' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes +else + eval ac_cv_prog_make_${ac_make}_set=no +fi +rm -f conftest.make +fi +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + SET_MAKE= +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + SET_MAKE="MAKE=${MAKE-make}" +fi + +# Check whether --enable-shared or --disable-shared was given. +if test "${enable_shared+set}" = set; then + enableval="$enable_shared" + p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi; + +# Check whether --enable-static or --disable-static was given. +if test "${enable_static+set}" = set; then + enableval="$enable_static" + p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi; + +# Check whether --enable-fast-install or --disable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval="$enable_fast_install" + p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi; + +# Make sure we can run config.sub. +$ac_config_sub sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 +echo "$as_me: error: cannot run $ac_config_sub" >&2;} + { (exit 1); exit 1; }; } + +echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6 +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_build_alias=$build_alias +test -z "$ac_cv_build_alias" && + ac_cv_build_alias=`$ac_config_guess` +test -z "$ac_cv_build_alias" && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6 +build=$ac_cv_build +build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6 +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_host_alias=$host_alias +test -z "$ac_cv_host_alias" && + ac_cv_host_alias=$ac_cv_build_alias +ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6 +host=$ac_cv_host +host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6 +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6 + +echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + + + +# Check whether --with-gnu-ld or --without-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval="$with_gnu_ld" + test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi; +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6 + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 +else + echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$lt_save_ifs" +else + lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi +fi + +LD="$lt_cv_path_LD" +if test -n "$LD"; then + echo "$as_me:$LINENO: result: $LD" >&5 +echo "${ECHO_T}$LD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + lt_cv_prog_gnu_ld=yes + ;; +*) + lt_cv_prog_gnu_ld=no + ;; +esac +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 +with_gnu_ld=$lt_cv_prog_gnu_ld + + +echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6 +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6 +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6 +NM="$lt_cv_path_NM" + +echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6 +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | kfreebsd*-gnu | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6 +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock or --disable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval="$enable_libtool_lock" + +fi; +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 4046 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6 +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +lt_cv_cc_needs_belf=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6 + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ctype.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + 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 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core 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 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------------------------ ## +## Report this to http://pyyaml.org/newticket?component=libyaml ## +## ------------------------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC + 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 +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC +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 +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CXX" && break +done +test -n "$ac_ct_CXX" || ac_ct_CXX="g++" + + CXX=$ac_ct_CXX +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 + (eval $ac_compiler --version </dev/null >&5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5 + (eval $ac_compiler -v </dev/null >&5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5 + (eval $ac_compiler -V </dev/null >&5) 2>&5 + ac_status=$? + 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 +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +CXXFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cxx_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include <stdlib.h> +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +depcc="$CXX" am_compiler_list= + +echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + 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/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 + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_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 +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6 +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran + 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 +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran +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 +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_F77" && break +done + + F77=$ac_ct_F77 +fi + + +# Provide some information about the compiler. +echo "$as_me:5403:" \ + "checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 + (eval $ac_compiler --version </dev/null >&5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5 + (eval $ac_compiler -v </dev/null >&5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5 + (eval $ac_compiler -V </dev/null >&5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6 +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6 +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_f77_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6 +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6 +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6 +else + echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6 +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6 +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux*) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +EOF + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat <<EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <<EOF >> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6 +else + echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6 +fi + +echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6 +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6 +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false" +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + AR=$ac_ct_AR +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + RANLIB=$ac_ct_RANLIB +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$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 + break 2 + fi +done +done + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$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 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" +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 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + STRIP=$ac_ct_STRIP +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6 +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6 +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock or --disable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval="$enable_libtool_lock" + +fi; +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic or --without-pic was given. +if test "${with_pic+set}" = set; then + withval="$with_pic" + pic_mode="$withval" +else + pic_mode=default +fi; +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:6464: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:6468: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6 + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux*) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6 + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6 +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:6732: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:6736: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6 + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6 +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6 + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:6836: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:6840: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6 + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6 + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <<EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix3*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # GNU/kFreeBSD uses gcc -shared to do shared libraries. + kfreebsd*-gnu) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + link_all_deplibs=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6 +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6 + ;; + esac + fi + ;; +esac + +echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +kfreebsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +knetbsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6 +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6 + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6 +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + ;; + *) + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dl_dlopen=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6 +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef shl_load + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_shl_load) || defined (__stub___shl_load) +choke me +#else +char (*f) () = shl_load; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != shl_load; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_shl_load=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6 +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6 +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shl_load (); +int +main () +{ +shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dld_shl_load=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6 +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6 +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef dlopen + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_dlopen) || defined (__stub___dlopen) +choke me +#else +char (*f) () = dlopen; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != dlopen; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_dlopen=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6 +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dl_dlopen=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6 +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_svld_dlopen=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6 +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6 +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dld_link (); +int +main () +{ +dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dld_dld_link=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6 +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6 +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<EOF +#line 9194 "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif + +#include <stdio.h> + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6 + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6 +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<EOF +#line 9294 "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif + +#include <stdio.h> + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6 + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6 + +echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6 + +echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6 + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags or --without-tags was given. +if test "${with_tags+set}" = set; then + withval="$with_tags" + tagnames="$withval" +fi; + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld or --without-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval="$with_gnu_ld" + test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi; +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6 + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 +else + echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$lt_save_ifs" +else + lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi +fi + +LD="$lt_cv_path_LD" +if test -n "$LD"; then + echo "$as_me:$LINENO: result: $LD" >&5 +echo "${ECHO_T}$LD" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + lt_cv_prog_gnu_ld=yes + ;; +*) + lt_cv_prog_gnu_ld=no + ;; +esac +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6 +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | kfreebsd*-gnu | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix3*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6 +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <<EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +EOF + +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | kfreebsd*-gnu | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6 + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6 +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:11632: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:11636: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6 + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6 +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6 + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:11736: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:11740: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6 + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6 + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + kfreebsd*-gnu) + link_all_deplibs_CXX=no + ;; + linux*) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6 +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6 + ;; + esac + fi + ;; +esac + +echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +kfreebsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +knetbsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6 +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6 + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6 + +echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6 +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6 + +echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6 +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6 + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux*) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6 + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6 +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:13324: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:13328: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6 + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6 +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6 + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:13428: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:13432: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6 + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6 + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <<EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix3*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <<EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # GNU/kFreeBSD uses gcc -shared to do shared libraries. + kfreebsd*-gnu) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + link_all_deplibs_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6 +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6 + ;; + esac + fi + ;; +esac + +echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +kfreebsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +knetbsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6 +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6 + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6 +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:15651: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:15655: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6 + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6 + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux*) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6 + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6 +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:15919: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:15923: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6 + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6 +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6 + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6 +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16023: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:16027: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6 + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6 + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6 + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6 + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <<EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix3*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <<EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # GNU/kFreeBSD uses gcc -shared to do shared libraries. + kfreebsd*-gnu) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + link_all_deplibs_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu | knetbsd*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6 +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6 + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6 + ;; + esac + fi + ;; +esac + +echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6 +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +kfreebsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +knetbsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6 +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6 +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6 + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +# Extract the first word of "doxygen", so it can be a program name with args. +set dummy doxygen; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_DOXYGEN+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$DOXYGEN"; then + ac_cv_prog_DOXYGEN="$DOXYGEN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DOXYGEN="true" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_DOXYGEN" && ac_cv_prog_DOXYGEN="false" +fi +fi +DOXYGEN=$ac_cv_prog_DOXYGEN +if test -n "$DOXYGEN"; then + echo "$as_me:$LINENO: result: $DOXYGEN" >&5 +echo "${ECHO_T}$DOXYGEN" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + + +if test "$DOXYGEN" = true; then + DOXYGEN_TRUE= + DOXYGEN_FALSE='#' +else + DOXYGEN_TRUE='#' + DOXYGEN_FALSE= +fi + + +# Checks for header files. +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <ctype.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + 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 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core 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 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +for ac_header in stdlib.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------------------------ ## +## Report this to http://pyyaml.org/newticket?component=libyaml ## +## ------------------------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +# Checks for typedefs, structures, and compiler characteristics. +echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset x; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *ccp; + char **p; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + ccp = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++ccp; + p = (char**) ccp; + ccp = (char const *const *) p; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + } +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_c_const=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6 +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +#define const +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for size_t" >&5 +echo $ECHO_N "checking for size_t... $ECHO_C" >&6 +if test "${ac_cv_type_size_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if ((size_t *) 0) + return 0; +if (sizeof (size_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_type_size_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_type_size_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +echo "${ECHO_T}$ac_cv_type_size_t" >&6 +if test $ac_cv_type_size_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned +_ACEOF + +fi + + +# Define Makefiles. + ac_config_files="$ac_config_files include/Makefile src/Makefile Makefile tests/Makefile" + + +# Generate the "configure" script. +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +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 "updating cache $cache_file" + cat confcache >$cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# 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 +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +}' +fi + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { 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. +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. +Usually this means the macro was only invoked conditionally." >&5 +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__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${DOXYGEN_TRUE}" && test -z "${DOXYGEN_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"DOXYGEN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"DOXYGEN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +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 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +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 + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# 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=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +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 + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by yaml $as_me 0.0.1, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +cat >>$CONFIG_STATUS <<\_ACEOF + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to <bug-autoconf@gnu.org>." +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +yaml config.status 0.0.1 +configured by $0, generated by GNU Autoconf 2.59, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +INSTALL="$INSTALL" +_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. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +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 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS section. +# + +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + + + +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; + "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "\$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@CYGPATH_W@,$CYGPATH_W,;t t +s,@PACKAGE@,$PACKAGE,;t t +s,@VERSION@,$VERSION,;t t +s,@ACLOCAL@,$ACLOCAL,;t t +s,@AUTOCONF@,$AUTOCONF,;t t +s,@AUTOMAKE@,$AUTOMAKE,;t t +s,@AUTOHEADER@,$AUTOHEADER,;t t +s,@MAKEINFO@,$MAKEINFO,;t t +s,@install_sh@,$install_sh,;t t +s,@STRIP@,$STRIP,;t t +s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t +s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t +s,@mkdir_p@,$mkdir_p,;t t +s,@AWK@,$AWK,;t t +s,@SET_MAKE@,$SET_MAKE,;t t +s,@am__leading_dot@,$am__leading_dot,;t t +s,@AMTAR@,$AMTAR,;t t +s,@am__tar@,$am__tar,;t t +s,@am__untar@,$am__untar,;t t +s,@YAML_LT_RELEASE@,$YAML_LT_RELEASE,;t t +s,@YAML_LT_CURRENT@,$YAML_LT_CURRENT,;t t +s,@YAML_LT_REVISION@,$YAML_LT_REVISION,;t t +s,@YAML_LT_AGE@,$YAML_LT_AGE,;t t +s,@CC@,$CC,;t t +s,@CFLAGS@,$CFLAGS,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@CPPFLAGS@,$CPPFLAGS,;t t +s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@DEPDIR@,$DEPDIR,;t t +s,@am__include@,$am__include,;t t +s,@am__quote@,$am__quote,;t t +s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t +s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t +s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t +s,@CCDEPMODE@,$CCDEPMODE,;t t +s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t +s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t +s,@CPP@,$CPP,;t t +s,@LN_S@,$LN_S,;t t +s,@build@,$build,;t t +s,@build_cpu@,$build_cpu,;t t +s,@build_vendor@,$build_vendor,;t t +s,@build_os@,$build_os,;t t +s,@host@,$host,;t t +s,@host_cpu@,$host_cpu,;t t +s,@host_vendor@,$host_vendor,;t t +s,@host_os@,$host_os,;t t +s,@EGREP@,$EGREP,;t t +s,@ECHO@,$ECHO,;t t +s,@AR@,$AR,;t t +s,@ac_ct_AR@,$ac_ct_AR,;t t +s,@RANLIB@,$RANLIB,;t t +s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +s,@CXX@,$CXX,;t t +s,@CXXFLAGS@,$CXXFLAGS,;t t +s,@ac_ct_CXX@,$ac_ct_CXX,;t t +s,@CXXDEPMODE@,$CXXDEPMODE,;t t +s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t +s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t +s,@CXXCPP@,$CXXCPP,;t t +s,@F77@,$F77,;t t +s,@FFLAGS@,$FFLAGS,;t t +s,@ac_ct_F77@,$ac_ct_F77,;t t +s,@LIBTOOL@,$LIBTOOL,;t t +s,@DOXYGEN@,$DOXYGEN,;t t +s,@DOXYGEN_TRUE@,$DOXYGEN_TRUE,;t t +s,@DOXYGEN_FALSE@,$DOXYGEN_FALSE,;t t +s,@LIBOBJS@,$LIBOBJS,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$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" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$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" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + # 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. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + +_ACEOF + +# Transform confdefs.h into two sed scripts, `conftest.defines' and +# `conftest.undefs', that substitutes the proper values into +# config.h.in to produce config.h. The first handles `#define' +# templates, and the second `#undef' templates. +# And first: Protect against being on the right side of a sed subst in +# config.status. Protect against being in an unquoted here document +# in config.status. +rm -f conftest.defines conftest.undefs +# Using a here document instead of a string reduces the quoting nightmare. +# Putting comments in sed scripts is not portable. +# +# `end' is used to avoid that the second main sed command (meant for +# 0-ary CPP macros) applies to n-ary macro definitions. +# See the Autoconf documentation for `clear'. +cat >confdef2sed.sed <<\_ACEOF +s/[\\&,]/\\&/g +s,[\\$`],\\&,g +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +t end +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +: end +_ACEOF +# If some macros were called several times there might be several times +# the same #defines, which is useless. Nevertheless, we may not want to +# sort them, since we want the *last* AC-DEFINE to be honored. +uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines +sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs +rm -f confdef2sed.sed + +# This sed command replaces #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. +cat >>conftest.undefs <<\_ACEOF +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +_ACEOF + +# Break up conftest.defines because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS +echo ' :' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.defines >/dev/null +do + # Write a limited-size here document to $tmp/defines.sed. + echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS + # Speed up: don't consider the non `#define' lines. + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/defines.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines +echo ' fi # grep' >>$CONFIG_STATUS +echo >>$CONFIG_STATUS + +# Break up conftest.undefs because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #undef templates' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.undefs >/dev/null +do + # Write a limited-size here document to $tmp/undefs.sed. + echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS + # Speed up: don't consider the non `#undef' + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/undefs.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail + rm -f conftest.undefs + mv conftest.tail conftest.undefs +done +rm -f conftest.undefs + +cat >>$CONFIG_STATUS <<\_ACEOF + # 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. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + 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;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$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" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$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" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi +# 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:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || +$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 | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'`/stamp-h$_am_stamp_count +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_COMMANDS section. +# +for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue + ac_dest=`echo "$ac_file" | sed 's,:.*,,'` + ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_dir=`(dirname "$ac_dest") 2>/dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$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" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in + depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`(dirname "$mf") 2>/dev/null || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`(dirname "$file") 2>/dev/null || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p $dirpart/$fdir + else + as_dir=$dirpart/$fdir + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$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" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 +echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} + { (exit 1); exit 1; }; }; } + + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + esac +done +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/yaml/configure.ac b/yaml/configure.ac new file mode 100644 index 00000000..95ec3832 --- /dev/null +++ b/yaml/configure.ac @@ -0,0 +1,73 @@ +# Run `./bootstrap` to generate the "configure" script. + +# Define the package version numbers and the bug reporting link. +m4_define([YAML_MAJOR], 0) +m4_define([YAML_MINOR], 0) +m4_define([YAML_PATCH], 1) +m4_define([YAML_BUGS], [http://pyyaml.org/newticket?component=libyaml]) + +# Define the libtool version numbers; check the Autobook, Section 11.4. +# Bump the libtool version numbers using the following algorithm: +# if (the current interface has not been changed): +# YAML_REVISION += 1 +# else: +# YAML_REVISION = 0 +# YAML_CURRENT += 1 +# if (this release is backward compatible with the previous release): +# YAML_AGE += 1 +# else: +# YAML_AGE = 0 +m4_define([YAML_RELEASE], 0) +m4_define([YAML_CURRENT], 0) +m4_define([YAML_REVISION], 0) +m4_define([YAML_AGE], 0) + +# Initialize autoconf & automake. +AC_PREREQ(2.59) +AC_INIT([yaml], [YAML_MAJOR.YAML_MINOR.YAML_PATCH], [YAML_BUGS]) +AC_CONFIG_AUX_DIR([config]) +AC_CONFIG_HEADERS([config.h]) +AM_INIT_AUTOMAKE([1.9 foreign]) + +# Define macro variables for the package version numbers. +AC_DEFINE(YAML_VERSION_MAJOR, YAML_MAJOR, [Define the major version number.]) +AC_DEFINE(YAML_VERSION_MINOR, YAML_MINOR, [Define the minor version number.]) +AC_DEFINE(YAML_VERSION_PATCH, YAML_PATCH, [Define the patch version number.]) +AC_DEFINE(YAML_VERSION_STRING, "YAML_MAJOR.YAML_MINOR.YAML_PATCH", [Define the version string.]) + +# Define substitutions for the libtool version numbers. +YAML_LT_RELEASE=YAML_RELEASE +YAML_LT_CURRENT=YAML_CURRENT +YAML_LT_REVISION=YAML_REVISION +YAML_LT_AGE=YAML_AGE +AC_SUBST(YAML_LT_RELEASE) +AC_SUBST(YAML_LT_CURRENT) +AC_SUBST(YAML_LT_REVISION) +AC_SUBST(YAML_LT_AGE) + +# Note: in order to update checks, run `autoscan` and look through "configure.scan". + +# Checks for programs. +AC_PROG_CC +AC_PROG_CPP +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_MAKE_SET +AC_PROG_LIBTOOL + +AC_CHECK_PROG(DOXYGEN, [doxygen], [true], [false]) +AM_CONDITIONAL(DOXYGEN, [test "$DOXYGEN" = true]) + +# Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS([stdlib.h]) + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_SIZE_T + +# Define Makefiles. +AC_CONFIG_FILES([include/Makefile src/Makefile Makefile tests/Makefile]) + +# Generate the "configure" script. +AC_OUTPUT diff --git a/yaml/doc/doxygen.cfg b/yaml/doc/doxygen.cfg new file mode 100644 index 00000000..a58bb177 --- /dev/null +++ b/yaml/doc/doxygen.cfg @@ -0,0 +1,222 @@ +# Doxyfile 1.4.4 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = $(PACKAGE) +PROJECT_NUMBER = $(VERSION) +OUTPUT_DIRECTORY = $(top_builddir)/doc/ +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = YES +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = NO +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = NO +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = $(top_srcdir)/include/ +FILE_PATTERNS = *.h +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = NO +REFERENCES_RELATION = NO +USE_HTAGS = NO +VERBATIM_HEADERS = NO +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 1 +GENERATE_TREEVIEW = NO +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = "YAML_DECLARE(type)=type" +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = NO +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff --git a/yaml/doc/html/annotated.html b/yaml/doc/html/annotated.html new file mode 100644 index 00000000..ae799a71 --- /dev/null +++ b/yaml/doc/html/annotated.html @@ -0,0 +1,35 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Data Structures</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li id="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li id="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul></div> +<h1>yaml Data Structures</h1>Here are the data structures with brief descriptions:<table> + <tr><td class="indexkey"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a></td><td class="indexvalue">The emitter structure </td></tr> + <tr><td class="indexkey"><a class="el" href="structyaml__event__t.html">yaml_event_t</a></td><td class="indexvalue">The event structure </td></tr> + <tr><td class="indexkey"><a class="el" href="structyaml__mark__t.html">yaml_mark_t</a></td><td class="indexvalue">The pointer position </td></tr> + <tr><td class="indexkey"><a class="el" href="structyaml__parser__t.html">yaml_parser_t</a></td><td class="indexvalue">The parser structure </td></tr> + <tr><td class="indexkey"><a class="el" href="structyaml__simple__key__t.html">yaml_simple_key_t</a></td><td class="indexvalue">This structure holds information about a potential simple key </td></tr> + <tr><td class="indexkey"><a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a></td><td class="indexvalue">The tag directive data </td></tr> + <tr><td class="indexkey"><a class="el" href="structyaml__token__t.html">yaml_token_t</a></td><td class="indexvalue">The token structure </td></tr> + <tr><td class="indexkey"><a class="el" href="structyaml__version__directive__t.html">yaml_version_directive_t</a></td><td class="indexvalue">The version directive data </td></tr> +</table> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:24 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/doxygen.css b/yaml/doc/html/doxygen.css new file mode 100644 index 00000000..05615b2e --- /dev/null +++ b/yaml/doc/html/doxygen.css @@ -0,0 +1,310 @@ +BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { + font-family: Geneva, Arial, Helvetica, sans-serif; +} +BODY,TD { + font-size: 90%; +} +H1 { + text-align: center; + font-size: 160%; +} +H2 { + font-size: 120%; +} +H3 { + font-size: 100%; +} +CAPTION { font-weight: bold } +DIV.qindex { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.nav { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.navtab { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +TD.navtab { + font-size: 70%; +} +A.qindex { + text-decoration: none; + font-weight: bold; + color: #1A419D; +} +A.qindex:visited { + text-decoration: none; + font-weight: bold; + color: #1A419D +} +A.qindex:hover { + text-decoration: none; + background-color: #ddddff; +} +A.qindexHL { + text-decoration: none; + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} +A.qindexHL:hover { + text-decoration: none; + background-color: #6666cc; + color: #ffffff; +} +A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } +A.el { text-decoration: none; font-weight: bold } +A.elRef { font-weight: bold } +A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} +A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} +A.codeRef:link { font-weight: normal; color: #0000FF} +A.codeRef:visited { font-weight: normal; color: #0000FF} +A:hover { text-decoration: none; background-color: #f2f2ff } +DL.el { margin-left: -1cm } +.fragment { + font-family: Fixed, monospace; + font-size: 95%; +} +PRE.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + margin-top: 4px; + margin-bottom: 4px; + margin-left: 2px; + margin-right: 8px; + padding-left: 6px; + padding-right: 6px; + padding-top: 4px; + padding-bottom: 4px; +} +DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } +TD.md { background-color: #F4F4FB; font-weight: bold; } +TD.mdPrefix { + background-color: #F4F4FB; + color: #606060; + font-size: 80%; +} +TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; } +TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; } +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} +DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } +BODY { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} +TD.indexkey { + background-color: #e8eef2; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TD.indexvalue { + background-color: #e8eef2; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TR.memlist { + background-color: #f0f0f0; +} +P.formulaDsp { text-align: center; } +IMG.formulaDsp { } +IMG.formulaInl { vertical-align: middle; } +SPAN.keyword { color: #008000 } +SPAN.keywordtype { color: #604020 } +SPAN.keywordflow { color: #e08000 } +SPAN.comment { color: #800000 } +SPAN.preprocessor { color: #806020 } +SPAN.stringliteral { color: #002080 } +SPAN.charliteral { color: #008080 } +.mdTable { + border: 1px solid #868686; + background-color: #F4F4FB; +} +.mdRow { + padding: 8px 10px; +} +.mdescLeft { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.mdescRight { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.memItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplParams { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + color: #606060; + background-color: #FAFAFA; + font-size: 80%; +} +.search { color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +TD.tiny { font-size: 75%; +} +a { + color: #1A41A8; +} +a:visited { + color: #2A3798; +} +.dirtab { padding: 4px; + border-collapse: collapse; + border: 1px solid #84b0c7; +} +TH.dirtab { background: #e8eef2; + font-weight: bold; +} +HR { height: 1px; + border: none; + border-top: 1px solid black; +} + diff --git a/yaml/doc/html/doxygen.png b/yaml/doc/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..f0a274bbaffdd67f6d784c894d9cf28729db0e14 GIT binary patch literal 1281 zcmeAS@N?(olHy`uVBq!ia0y~yU`SzLV9@1YW?*2*&$c_nz`($g?&#~tz;Nxx75@k$ z1_lPn64!{5;QX|b^2DN42FH~Aq*MjZ+{E<Mpwz^a%EFVWHVh05u>n3It_%ze$M>CA zQd@cA-1}|2uU)?NYx1Id3)Vc?cIaz;`|_(dU!6R4?%|_n)qPib7ryS8d40jAAIsP5 zJaAy+-Mi<0{(SlM>+{#IpSrqOUcYuaBRy7LRyaPw#=%NCHzV}_|NnOn)EhD|Fvyn# z`33*S3mDEymI*L0F#q>-aSW-rl{CSbfsJFrVk-s?g%oAUmX_Am){F#B2Zn_aN;+Cv zT0YF)3``w*(->F;Vs#if6m~^02{@E&WKn2%k;Li1aPg>61B266mliXSidm{kN?SIt zC^Se+;1-#o%EQwk#5U7O#L8n)$0m-0X%15vI21a90xFqUlmxsJVgdx2lbkgaJ=r`J zGgdMSw!UuGX#ChR;fUfZMy3wNHO?%IEs{rCALJ++L`TGU#Ym_yhj8%uvUO-ovP)!B z32u>?z{7HrNx*^U!U~5VJ(Z?4EIwXNOhFQhIvoYh2)G+^t>G4vIHcirf{{g_S>{SW zM#jOA1I+x3BwJJ!<q{gy1PV8(3X~q=31C;)$+n1l4WmMXgu+he5Dp0yr$rBHnhvq< z3KwB&St4;DXTf4cA*X~OHWdvXG3HjuBODzQCmj-)C*#22cvSU>q{NaVst!7A8q*n1 zi8kG06k^(_s&eqrqadMxTqlLl1Vhh`NGBc+Q3XrO28NhkLna0V4yH<HXCdeR^=V4c zehbtY?%0O7pP2L`ht*<6ocC|jew$Z9!Hv&?PA-|E`cBxvfl*H30o&|Tyh(-&3XeL9 z@b?QucyzEc?PyeMyx}w{NTHIGEpG-(KnvrU$J3ak8B84c6dD?`b~ZFf%h=sf5M!Rf zU7|QcTSM=}QPyzAKqeu!jgCfl?g;n_gx+bIG^wfS5l@2Q0@VaVHp>PECN~>yV*w7P z<S2n735=gvQx#*xIuu-3PiPD1aa$O7Z$9v3hhmOcWTc~lE{9o@t5+B6qA)&%28WgN zm{}qsA{0zo_@8o}a<C9EyO1EsAsm##;k2c}#FJA=gy}A)QsXp-iXsL^mQy`VG9C?c z9i>hQ2?!)iPh;mid18Ze4;!0O1Vfm?NsdjMoq3WRj9TY1uJPbnBX(jkGlxQfrlJM| z`<o_(xdweE%pIB<s;of=&v9;JQE3QaIMuN9z`vw+X~v{R9mZnGCk#v%9N5em4k&Q^ zxwxU}(mVUKrPrp%1b9{`dT!xgrZlDZM8_oK6<mRlGyaz}#>L&fkzS^&P-_>?(CFpw z7{-#o!mOgEJcV@`i=@TRA3rQ48)Dqt6lMpzd9kS+I@WOESl0#qg%VE~m^vC8J4Fs0 z;5HFj)yjC{$x~KN2Hk_p+d-+xV^eG6^!fAWi>Gng%Y1lb+5!@skZpK~A*EBN=P>8y z=E)6u4Gc<a-PmWIKHc!(W7FP)o+ktv7?d{NWH1pw>9HWaqOqnaje$jAWv;NMrl#c< zJ>EoL21b`=HUTvT?AdWqw<-gpi#Wb~+rY?>lF)Q=Z}3)s1_lNOPgg&ebxsLQ0N#Mr Aa{vGU literal 0 HcmV?d00001 diff --git a/yaml/doc/html/files.html b/yaml/doc/html/files.html new file mode 100644 index 00000000..f0face65 --- /dev/null +++ b/yaml/doc/html/files.html @@ -0,0 +1,27 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: File Index</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li id="current"><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li id="current"><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>Globals</span></a></li> + </ul></div> +<h1>yaml File List</h1>Here is a list of all documented files with brief descriptions:<table> + <tr><td class="indexkey"><a class="el" href="yaml_8h.html">yaml.h</a></td><td class="indexvalue">Public interface for libyaml </td></tr> +</table> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:24 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/functions.html b/yaml/doc/html/functions.html new file mode 100644 index 00000000..33968009 --- /dev/null +++ b/yaml/doc/html/functions.html @@ -0,0 +1,195 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Data Fields</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li id="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li id="current"><a href="functions.html"><span>Data Fields</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li id="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + </ul> +</div> +<div class="tabs"> + <ul> + <li><a href="#index_a"><span>a</span></a></li> + <li><a href="#index_b"><span>b</span></a></li> + <li><a href="#index_c"><span>c</span></a></li> + <li><a href="#index_d"><span>d</span></a></li> + <li><a href="#index_e"><span>e</span></a></li> + <li><a href="#index_f"><span>f</span></a></li> + <li><a href="#index_h"><span>h</span></a></li> + <li><a href="#index_i"><span>i</span></a></li> + <li><a href="#index_l"><span>l</span></a></li> + <li><a href="#index_m"><span>m</span></a></li> + <li><a href="#index_o"><span>o</span></a></li> + <li><a href="#index_p"><span>p</span></a></li> + <li><a href="#index_q"><span>q</span></a></li> + <li><a href="#index_r"><span>r</span></a></li> + <li><a href="#index_s"><span>s</span></a></li> + <li><a href="#index_t"><span>t</span></a></li> + <li><a href="#index_u"><span>u</span></a></li> + <li><a href="#index_v"><span>v</span></a></li> + <li><a href="#index_w"><span>w</span></a></li> + </ul> +</div> + +<p> +Here is a list of all documented struct and union fields with links to the struct/union documentation for each field: +<p> +<h3><a class="anchor" name="index_a">- a -</a></h3><ul> +<li>alias +: <a class="el" href="structyaml__emitter__t.html#ec1c5d1bcda6da6aaab9d4ca6309270a">yaml_emitter_t</a>, <a class="el" href="structyaml__event__t.html#db67eb78a75a914aec9c3461e1403694">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#899518a6ae62f254b26d5246ba34ebe9">yaml_token_t</a><li>anchor +: <a class="el" href="structyaml__emitter__t.html#959adf8786178600f7141b712037d8d0">yaml_emitter_t</a>, <a class="el" href="structyaml__event__t.html#97fb46eb324c3cbb08e8f51279101fb4">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#4a2b59896df5a52b98f41fb070bdbdae">yaml_token_t</a><li>anchor_data +: <a class="el" href="structyaml__emitter__t.html#229857eafe31bfdafa617fd24a6efe4c">yaml_emitter_t</a><li>anchor_length +: <a class="el" href="structyaml__emitter__t.html#39ee45ef6d3256faccbb982cf6411295">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_b">- b -</a></h3><ul> +<li>best_indent +: <a class="el" href="structyaml__emitter__t.html#cc941eafd7de25b8e8f80ca623f73851">yaml_emitter_t</a><li>best_width +: <a class="el" href="structyaml__emitter__t.html#e3fb4f8cd1e2790351053bf38666c9ad">yaml_emitter_t</a><li>block_allowed +: <a class="el" href="structyaml__emitter__t.html#29b23637a500bd14603d2dc284aa1876">yaml_emitter_t</a><li>block_plain_allowed +: <a class="el" href="structyaml__emitter__t.html#411aa4c824a5495acab6e08ca81cb5bd">yaml_emitter_t</a><li>buffer +: <a class="el" href="structyaml__emitter__t.html#0363f2700135da2694377f92a60fb64b">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#ae020932a45ee17d561781eb90e5f3b6">yaml_parser_t</a></ul> +<h3><a class="anchor" name="index_c">- c -</a></h3><ul> +<li>canonical +: <a class="el" href="structyaml__emitter__t.html#186271bc1667100f329989f5cd7321bc">yaml_emitter_t</a><li>column +: <a class="el" href="structyaml__emitter__t.html#1e1d917b832e5fcf967cd679bc70d350">yaml_emitter_t</a>, <a class="el" href="structyaml__mark__t.html#9fe74c913ea93847949ff5b3555dbbcf">yaml_mark_t</a><li>context +: <a class="el" href="structyaml__parser__t.html#1868c083ec443f924e10872d7ff4ceaf">yaml_parser_t</a><li>context_mark +: <a class="el" href="structyaml__parser__t.html#de92b0438da8b0f43dc9bdc2596a0f8e">yaml_parser_t</a><li>current +: <a class="el" href="structyaml__parser__t.html#e6da8bd561ad2497a6e5f9d6d7d45893">yaml_parser_t</a></ul> +<h3><a class="anchor" name="index_d">- d -</a></h3><ul> +<li>data +: <a class="el" href="structyaml__event__t.html#7b642f274b11cf6c103676653cc03ba9">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#2bd16327d2b845fc1c7439e55c8fa079">yaml_token_t</a><li>document_end +: <a class="el" href="structyaml__event__t.html#74ad81b0bba6778da81aca010c4f16fa">yaml_event_t</a><li>document_start +: <a class="el" href="structyaml__event__t.html#c79fcca50b664c5df1b952acdc1bca05">yaml_event_t</a></ul> +<h3><a class="anchor" name="index_e">- e -</a></h3><ul> +<li>encoding +: <a class="el" href="structyaml__emitter__t.html#14a60495f5c692e42b66e53c5ba0d745">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#7733d004132d28698cf0db546f9bf33c">yaml_parser_t</a>, <a class="el" href="structyaml__event__t.html#37c82583e52a6f4f7b6f7978d5640fda">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#397ca251d393e85d40b8c4bcee7ffd53">yaml_token_t</a><li>end +: <a class="el" href="structyaml__emitter__t.html#8a764c8f0b1df177cfc28871df146fb0">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#04948f3623b3b950ffc3d7ba6dcb2f59">yaml_parser_t</a>, <a class="el" href="structyaml__event__t.html#77f285e96cdb60ae3a92289b7dfdc0cf">yaml_event_t</a><li>end_mark +: <a class="el" href="structyaml__event__t.html#dae995b181b6efa452790326f8e25546">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#765f94c06b32664123d546aeb5c4f2c5">yaml_token_t</a><li>eof +: <a class="el" href="structyaml__parser__t.html#3e0fd58f2720f1fa49b101a9615094f1">yaml_parser_t</a><li>error +: <a class="el" href="structyaml__emitter__t.html#15aa6c0fd750cbaaf619946733e9f370">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#ee9497ef8fec47f6fec68ffada3fdb7f">yaml_parser_t</a><li>events +: <a class="el" href="structyaml__emitter__t.html#6152b979b75bf73a292db0bff83be649">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_f">- f -</a></h3><ul> +<li>file +: <a class="el" href="structyaml__emitter__t.html#584f034eb537f04efc850bf2016e714e">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#3f755ce75be1ff051d47bdba1e948e47">yaml_parser_t</a><li>flow_level +: <a class="el" href="structyaml__emitter__t.html#e0f932b23053610d36178dcc30e08404">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#70cbc299bab2fe99937beef6e7941712">yaml_parser_t</a><li>flow_plain_allowed +: <a class="el" href="structyaml__emitter__t.html#f2fdc4266c36d430c5e070c1622831e8">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_h">- h -</a></h3><ul> +<li>handle +: <a class="el" href="structyaml__emitter__t.html#8d4f582e30b82b213ebd1db405bf6eed">yaml_emitter_t</a>, <a class="el" href="structyaml__token__t.html#c24d46a632072b8d61ff3af5ad62345a">yaml_token_t</a>, <a class="el" href="structyaml__tag__directive__t.html#ac806ae5765aae2df7a28b423f89b65a">yaml_tag_directive_t</a><li>handle_length +: <a class="el" href="structyaml__emitter__t.html#7da2554eec00096c94b50a0af5a162d2">yaml_emitter_t</a><li>head +: <a class="el" href="structyaml__emitter__t.html#fa4007bf0267b287af9066f008e6f06f">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#9a65a62074f351b7771e5cb6b9ebf943">yaml_parser_t</a></ul> +<h3><a class="anchor" name="index_i">- i -</a></h3><ul> +<li>implicit +: <a class="el" href="structyaml__event__t.html#cec307e476596ed48b60eedac9f87bee">yaml_event_t</a><li>indent +: <a class="el" href="structyaml__emitter__t.html#6cbfeabc529180e0328bd28e7283cab9">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#4aee3622a5d9be376a4020428f44e863">yaml_parser_t</a><li>indention +: <a class="el" href="structyaml__emitter__t.html#b94db5a4e99544c35acc4522b7e646c3">yaml_emitter_t</a><li>indents +: <a class="el" href="structyaml__emitter__t.html#247c9d84244d9fff5a79d9b742968ae4">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#f40c335c5523c1c3bf080a7fb183f944">yaml_parser_t</a><li>index +: <a class="el" href="structyaml__mark__t.html#41b5adaf3ef5dd13666704f61484b67a">yaml_mark_t</a><li>input +: <a class="el" href="structyaml__parser__t.html#a347278d02bd0a3d241bf83543942bef">yaml_parser_t</a></ul> +<h3><a class="anchor" name="index_l">- l -</a></h3><ul> +<li>last +: <a class="el" href="structyaml__emitter__t.html#a9423c6ee471dc3b0811ec134c289020">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#2e2b7be04a8bdd3e873f436f1802f902">yaml_parser_t</a><li>length +: <a class="el" href="structyaml__emitter__t.html#f5c939d92010fc696fa7bdd9bed43204">yaml_emitter_t</a>, <a class="el" href="structyaml__event__t.html#16d50471f65fb608f4323dcd8aa60015">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#ba7b1ad4a642d792527ba1dc33b81dca">yaml_token_t</a><li>line +: <a class="el" href="structyaml__emitter__t.html#6382d1e7f25ab6cd363c41b262c87dba">yaml_emitter_t</a>, <a class="el" href="structyaml__mark__t.html#5eb8eadc39fe4b908e884782302d36f3">yaml_mark_t</a><li>line_break +: <a class="el" href="structyaml__emitter__t.html#cab6708f887bc9a0ac5c0bb5dd85b89e">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_m">- m -</a></h3><ul> +<li>major +: <a class="el" href="structyaml__token__t.html#115e41bf7377e9ec53b91c01c727e0ec">yaml_token_t</a>, <a class="el" href="structyaml__version__directive__t.html#47f1c000f6909c03643a60c319b9344e">yaml_version_directive_t</a><li>mapping_context +: <a class="el" href="structyaml__emitter__t.html#4774e84cc9ffae368da711ca380b7dd8">yaml_emitter_t</a><li>mapping_start +: <a class="el" href="structyaml__event__t.html#499ac2f8dccc52b237d77349b438938c">yaml_event_t</a><li>mark +: <a class="el" href="structyaml__parser__t.html#96cd421db39f89baa1bc38a99c8e6882">yaml_parser_t</a>, <a class="el" href="structyaml__simple__key__t.html#58e34cff446ae3ebafc82eda248461b8">yaml_simple_key_t</a><li>marks +: <a class="el" href="structyaml__parser__t.html#bf541d436f5cfb9c126857377ba68cc6">yaml_parser_t</a><li>minor +: <a class="el" href="structyaml__token__t.html#229f697148b46de3802ed94bf39034e3">yaml_token_t</a>, <a class="el" href="structyaml__version__directive__t.html#1e0f71ecabd536352be1f2e8f922e678">yaml_version_directive_t</a><li>multiline +: <a class="el" href="structyaml__emitter__t.html#cbc0860115e4e42b0b9f05740d4bb527">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_o">- o -</a></h3><ul> +<li>offset +: <a class="el" href="structyaml__parser__t.html#30e6ad0588136403ee0fbbe80a34eb43">yaml_parser_t</a><li>output +: <a class="el" href="structyaml__emitter__t.html#0b8ecb0d377d0efa25d491efe4d11213">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_p">- p -</a></h3><ul> +<li>plain_implicit +: <a class="el" href="structyaml__event__t.html#ffaf27dc0518af48a24bb6a9e797e69c">yaml_event_t</a><li>pointer +: <a class="el" href="structyaml__emitter__t.html#359a34aa8a9b643daf8c017a550b6f4d">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#915ea54ff800f87c5cf6cdcfc904e9d1">yaml_parser_t</a><li>possible +: <a class="el" href="structyaml__simple__key__t.html#b6dd09414928d3d2d2dd940172e17b13">yaml_simple_key_t</a><li>prefix +: <a class="el" href="structyaml__token__t.html#d8712a6e1b711494713b4dde7a20583d">yaml_token_t</a>, <a class="el" href="structyaml__tag__directive__t.html#e0adfd6caac102dc9449bb902866dea4">yaml_tag_directive_t</a><li>problem +: <a class="el" href="structyaml__emitter__t.html#0c78a44f8c27e3b7f22cd1633a5237be">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#037f744a04b80f19a2e9ef58d1630309">yaml_parser_t</a><li>problem_mark +: <a class="el" href="structyaml__parser__t.html#034175a53067b791bf3ae235d6ba905c">yaml_parser_t</a><li>problem_offset +: <a class="el" href="structyaml__parser__t.html#724e2062a691633dc25642095af8857d">yaml_parser_t</a><li>problem_value +: <a class="el" href="structyaml__parser__t.html#68540bea36d78f95e3038285cd348dc9">yaml_parser_t</a></ul> +<h3><a class="anchor" name="index_q">- q -</a></h3><ul> +<li>quoted_implicit +: <a class="el" href="structyaml__event__t.html#526ac8185d90114b396d65b6ecd82c2d">yaml_event_t</a></ul> +<h3><a class="anchor" name="index_r">- r -</a></h3><ul> +<li>raw_buffer +: <a class="el" href="structyaml__emitter__t.html#54d429122259819ef6ab94f612a64469">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#f5e48e5b91c34514a5d47819e3e28c70">yaml_parser_t</a><li>read_handler +: <a class="el" href="structyaml__parser__t.html#7b057c77542d0723465a424b2502b85d">yaml_parser_t</a><li>read_handler_data +: <a class="el" href="structyaml__parser__t.html#e4157dbd91ce20caa5b4b4a69dca3d1f">yaml_parser_t</a><li>required +: <a class="el" href="structyaml__simple__key__t.html#372362f91d38bc37d0d7f440fa706e38">yaml_simple_key_t</a><li>root_context +: <a class="el" href="structyaml__emitter__t.html#c6cd35aed5160dd90d0b128387f5742e">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_s">- s -</a></h3><ul> +<li>scalar +: <a class="el" href="structyaml__event__t.html#96de5707a686f89780bc2bf698d379c1">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#a9dfb02260e2bf99e1fbd315dc584614">yaml_token_t</a><li>scalar_data +: <a class="el" href="structyaml__emitter__t.html#3c644a3f2e50ce59f8de2c40df09fee1">yaml_emitter_t</a><li>sequence_context +: <a class="el" href="structyaml__emitter__t.html#1bc1826c90e8281c35fd9e058eec3cf9">yaml_emitter_t</a><li>sequence_start +: <a class="el" href="structyaml__event__t.html#f365d13747f94026ca799a63df2d0214">yaml_event_t</a><li>simple_key_allowed +: <a class="el" href="structyaml__parser__t.html#7ca490b12aefefe24569cc002435f182">yaml_parser_t</a><li>simple_key_context +: <a class="el" href="structyaml__emitter__t.html#5309af877ce8274a7ad8841913971e71">yaml_emitter_t</a><li>simple_keys +: <a class="el" href="structyaml__parser__t.html#21caa3227bacc2abff7c4b3a0eccb0eb">yaml_parser_t</a><li>single_quoted_allowed +: <a class="el" href="structyaml__emitter__t.html#b6908319bdd51a2dbe88da19bfe534c9">yaml_emitter_t</a><li>size +: <a class="el" href="structyaml__emitter__t.html#9b8c5c43bcdd7511912254c924c8be7e">yaml_emitter_t</a><li>size_written +: <a class="el" href="structyaml__emitter__t.html#3a98588aa51dd43390307979d7591ad9">yaml_emitter_t</a><li>start +: <a class="el" href="structyaml__emitter__t.html#2d3e4952f722cf831147c5707f4f43eb">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#e5f69d2f5e1db476c4ab3efcd256b6fb">yaml_parser_t</a>, <a class="el" href="structyaml__event__t.html#37cdb999a3cd6cd9c70b101afec975b5">yaml_event_t</a><li>start_mark +: <a class="el" href="structyaml__event__t.html#7fc3a6d11948666f3d2a1cb0c80be169">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#5e6261e8dcafe5d5ab362de13de4b5cc">yaml_token_t</a><li>state +: <a class="el" href="structyaml__emitter__t.html#b5dca9e0a49a0f8ba7fb8dc5218ea4ff">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#6e95475ec5152d1a2a6f03a460691e51">yaml_parser_t</a><li>states +: <a class="el" href="structyaml__emitter__t.html#fb9eda967d74d9b64b14965a29fae67d">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#f93784917a65d936274e630fb323173e">yaml_parser_t</a><li>stream_end_produced +: <a class="el" href="structyaml__parser__t.html#63ecfc3f8478962265ea8cd1b6958966">yaml_parser_t</a><li>stream_start +: <a class="el" href="structyaml__event__t.html#3f3ad749d9159d2034a0986bab36aa61">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#1519088fd2b7dc1b630a817e5b4d2a8b">yaml_token_t</a><li>stream_start_produced +: <a class="el" href="structyaml__parser__t.html#19ef5b98fd13c5cb11f1123df5a97112">yaml_parser_t</a><li>string +: <a class="el" href="structyaml__emitter__t.html#be46332619652f6721ae87cf1c0b7060">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#17f87e16549463046a9ccb22a365f795">yaml_parser_t</a><li>style +: <a class="el" href="structyaml__emitter__t.html#9235d1771561db6ac74ee41c60e39d74">yaml_emitter_t</a>, <a class="el" href="structyaml__event__t.html#7d41e52a862cf44de6555048e7987824">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#36632f17e13df01a6fc37dc7055f6293">yaml_token_t</a><li>suffix +: <a class="el" href="structyaml__emitter__t.html#34071e3dd4839c7807bf3b210bdf6417">yaml_emitter_t</a>, <a class="el" href="structyaml__token__t.html#088e922840e8e2a895cc0fd70e865241">yaml_token_t</a><li>suffix_length +: <a class="el" href="structyaml__emitter__t.html#7f377fda83d6b2538744b3c94416f9a5">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_t">- t -</a></h3><ul> +<li>tag +: <a class="el" href="structyaml__event__t.html#93e316ff042eaeb6450da1b9f4053e20">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#ccf70a72fb7799f7c03c6fa1561c0ce3">yaml_token_t</a><li>tag_data +: <a class="el" href="structyaml__emitter__t.html#f5922f1e93ff9c0c9c5d9512b52c8391">yaml_emitter_t</a><li>tag_directive +: <a class="el" href="structyaml__token__t.html#a7ae6a52d3541a9f04abbee5752ff9f7">yaml_token_t</a><li>tag_directives +: <a class="el" href="structyaml__emitter__t.html#653012b610601b1fb3c9918648919a52">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#9850d55d9cf6471ebaf0fd84ad9b1b9b">yaml_parser_t</a>, <a class="el" href="structyaml__event__t.html#c28a12e27c28780e6019893067035191">yaml_event_t</a><li>tail +: <a class="el" href="structyaml__emitter__t.html#5be85e6f862f2bc865f8659695dede38">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#063b8f1fad219dba02df7b3f629b99c8">yaml_parser_t</a><li>token_number +: <a class="el" href="structyaml__simple__key__t.html#d421f7aa43b989a78341269bb0c9b298">yaml_simple_key_t</a><li>tokens +: <a class="el" href="structyaml__parser__t.html#dc1a7b98e008e2b8a631fa56918f4ea8">yaml_parser_t</a><li>tokens_parsed +: <a class="el" href="structyaml__parser__t.html#ebe804b3eba29202c24b39987233ff83">yaml_parser_t</a><li>top +: <a class="el" href="structyaml__emitter__t.html#40584b55360b6a264ca84cf54448706c">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#c8c586bff934647a271b10df8d446deb">yaml_parser_t</a><li>type +: <a class="el" href="structyaml__event__t.html#f6d4329f69f507cd9632c0cc96db0b22">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#d4200f2a88000349f98fcc7961e414bd">yaml_token_t</a></ul> +<h3><a class="anchor" name="index_u">- u -</a></h3><ul> +<li>unicode +: <a class="el" href="structyaml__emitter__t.html#31edf22328409ebdc766ef898b4c6f58">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_v">- v -</a></h3><ul> +<li>value +: <a class="el" href="structyaml__emitter__t.html#3095efa7aad118b681d9bede68111181">yaml_emitter_t</a>, <a class="el" href="structyaml__event__t.html#9eef8b3ef9341625271da9a3c9a3c085">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#324f075137d3200b72493f81c7818e8c">yaml_token_t</a><li>version_directive +: <a class="el" href="structyaml__event__t.html#2385c6fd83c6080efd04698c18fd7404">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#27d7f2f5bcdea493222a31b47a3f4899">yaml_token_t</a></ul> +<h3><a class="anchor" name="index_w">- w -</a></h3><ul> +<li>whitespace +: <a class="el" href="structyaml__emitter__t.html#59175a9f05ff9527ce0a9c51b3ca264a">yaml_emitter_t</a><li>write_handler +: <a class="el" href="structyaml__emitter__t.html#08e4f4a787de3c31f5da937d7e1bc149">yaml_emitter_t</a><li>write_handler_data +: <a class="el" href="structyaml__emitter__t.html#f636bee0c744969e756fec5545d23865">yaml_emitter_t</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:24 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/functions_vars.html b/yaml/doc/html/functions_vars.html new file mode 100644 index 00000000..14915515 --- /dev/null +++ b/yaml/doc/html/functions_vars.html @@ -0,0 +1,195 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Data Fields - Variables</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li id="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li id="current"><a href="functions.html"><span>Data Fields</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="functions.html"><span>All</span></a></li> + <li id="current"><a href="functions_vars.html"><span>Variables</span></a></li> + </ul> +</div> +<div class="tabs"> + <ul> + <li><a href="#index_a"><span>a</span></a></li> + <li><a href="#index_b"><span>b</span></a></li> + <li><a href="#index_c"><span>c</span></a></li> + <li><a href="#index_d"><span>d</span></a></li> + <li><a href="#index_e"><span>e</span></a></li> + <li><a href="#index_f"><span>f</span></a></li> + <li><a href="#index_h"><span>h</span></a></li> + <li><a href="#index_i"><span>i</span></a></li> + <li><a href="#index_l"><span>l</span></a></li> + <li><a href="#index_m"><span>m</span></a></li> + <li><a href="#index_o"><span>o</span></a></li> + <li><a href="#index_p"><span>p</span></a></li> + <li><a href="#index_q"><span>q</span></a></li> + <li><a href="#index_r"><span>r</span></a></li> + <li><a href="#index_s"><span>s</span></a></li> + <li><a href="#index_t"><span>t</span></a></li> + <li><a href="#index_u"><span>u</span></a></li> + <li><a href="#index_v"><span>v</span></a></li> + <li><a href="#index_w"><span>w</span></a></li> + </ul> +</div> + +<p> + +<p> +<h3><a class="anchor" name="index_a">- a -</a></h3><ul> +<li>alias +: <a class="el" href="structyaml__emitter__t.html#ec1c5d1bcda6da6aaab9d4ca6309270a">yaml_emitter_t</a>, <a class="el" href="structyaml__event__t.html#db67eb78a75a914aec9c3461e1403694">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#899518a6ae62f254b26d5246ba34ebe9">yaml_token_t</a><li>anchor +: <a class="el" href="structyaml__emitter__t.html#959adf8786178600f7141b712037d8d0">yaml_emitter_t</a>, <a class="el" href="structyaml__event__t.html#97fb46eb324c3cbb08e8f51279101fb4">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#4a2b59896df5a52b98f41fb070bdbdae">yaml_token_t</a><li>anchor_data +: <a class="el" href="structyaml__emitter__t.html#229857eafe31bfdafa617fd24a6efe4c">yaml_emitter_t</a><li>anchor_length +: <a class="el" href="structyaml__emitter__t.html#39ee45ef6d3256faccbb982cf6411295">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_b">- b -</a></h3><ul> +<li>best_indent +: <a class="el" href="structyaml__emitter__t.html#cc941eafd7de25b8e8f80ca623f73851">yaml_emitter_t</a><li>best_width +: <a class="el" href="structyaml__emitter__t.html#e3fb4f8cd1e2790351053bf38666c9ad">yaml_emitter_t</a><li>block_allowed +: <a class="el" href="structyaml__emitter__t.html#29b23637a500bd14603d2dc284aa1876">yaml_emitter_t</a><li>block_plain_allowed +: <a class="el" href="structyaml__emitter__t.html#411aa4c824a5495acab6e08ca81cb5bd">yaml_emitter_t</a><li>buffer +: <a class="el" href="structyaml__emitter__t.html#0363f2700135da2694377f92a60fb64b">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#ae020932a45ee17d561781eb90e5f3b6">yaml_parser_t</a></ul> +<h3><a class="anchor" name="index_c">- c -</a></h3><ul> +<li>canonical +: <a class="el" href="structyaml__emitter__t.html#186271bc1667100f329989f5cd7321bc">yaml_emitter_t</a><li>column +: <a class="el" href="structyaml__emitter__t.html#1e1d917b832e5fcf967cd679bc70d350">yaml_emitter_t</a>, <a class="el" href="structyaml__mark__t.html#9fe74c913ea93847949ff5b3555dbbcf">yaml_mark_t</a><li>context +: <a class="el" href="structyaml__parser__t.html#1868c083ec443f924e10872d7ff4ceaf">yaml_parser_t</a><li>context_mark +: <a class="el" href="structyaml__parser__t.html#de92b0438da8b0f43dc9bdc2596a0f8e">yaml_parser_t</a><li>current +: <a class="el" href="structyaml__parser__t.html#e6da8bd561ad2497a6e5f9d6d7d45893">yaml_parser_t</a></ul> +<h3><a class="anchor" name="index_d">- d -</a></h3><ul> +<li>data +: <a class="el" href="structyaml__event__t.html#7b642f274b11cf6c103676653cc03ba9">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#2bd16327d2b845fc1c7439e55c8fa079">yaml_token_t</a><li>document_end +: <a class="el" href="structyaml__event__t.html#74ad81b0bba6778da81aca010c4f16fa">yaml_event_t</a><li>document_start +: <a class="el" href="structyaml__event__t.html#c79fcca50b664c5df1b952acdc1bca05">yaml_event_t</a></ul> +<h3><a class="anchor" name="index_e">- e -</a></h3><ul> +<li>encoding +: <a class="el" href="structyaml__emitter__t.html#14a60495f5c692e42b66e53c5ba0d745">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#7733d004132d28698cf0db546f9bf33c">yaml_parser_t</a>, <a class="el" href="structyaml__event__t.html#37c82583e52a6f4f7b6f7978d5640fda">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#397ca251d393e85d40b8c4bcee7ffd53">yaml_token_t</a><li>end +: <a class="el" href="structyaml__emitter__t.html#8a764c8f0b1df177cfc28871df146fb0">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#04948f3623b3b950ffc3d7ba6dcb2f59">yaml_parser_t</a>, <a class="el" href="structyaml__event__t.html#77f285e96cdb60ae3a92289b7dfdc0cf">yaml_event_t</a><li>end_mark +: <a class="el" href="structyaml__event__t.html#dae995b181b6efa452790326f8e25546">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#765f94c06b32664123d546aeb5c4f2c5">yaml_token_t</a><li>eof +: <a class="el" href="structyaml__parser__t.html#3e0fd58f2720f1fa49b101a9615094f1">yaml_parser_t</a><li>error +: <a class="el" href="structyaml__emitter__t.html#15aa6c0fd750cbaaf619946733e9f370">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#ee9497ef8fec47f6fec68ffada3fdb7f">yaml_parser_t</a><li>events +: <a class="el" href="structyaml__emitter__t.html#6152b979b75bf73a292db0bff83be649">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_f">- f -</a></h3><ul> +<li>file +: <a class="el" href="structyaml__emitter__t.html#584f034eb537f04efc850bf2016e714e">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#3f755ce75be1ff051d47bdba1e948e47">yaml_parser_t</a><li>flow_level +: <a class="el" href="structyaml__emitter__t.html#e0f932b23053610d36178dcc30e08404">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#70cbc299bab2fe99937beef6e7941712">yaml_parser_t</a><li>flow_plain_allowed +: <a class="el" href="structyaml__emitter__t.html#f2fdc4266c36d430c5e070c1622831e8">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_h">- h -</a></h3><ul> +<li>handle +: <a class="el" href="structyaml__emitter__t.html#8d4f582e30b82b213ebd1db405bf6eed">yaml_emitter_t</a>, <a class="el" href="structyaml__token__t.html#c24d46a632072b8d61ff3af5ad62345a">yaml_token_t</a>, <a class="el" href="structyaml__tag__directive__t.html#ac806ae5765aae2df7a28b423f89b65a">yaml_tag_directive_t</a><li>handle_length +: <a class="el" href="structyaml__emitter__t.html#7da2554eec00096c94b50a0af5a162d2">yaml_emitter_t</a><li>head +: <a class="el" href="structyaml__emitter__t.html#fa4007bf0267b287af9066f008e6f06f">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#9a65a62074f351b7771e5cb6b9ebf943">yaml_parser_t</a></ul> +<h3><a class="anchor" name="index_i">- i -</a></h3><ul> +<li>implicit +: <a class="el" href="structyaml__event__t.html#cec307e476596ed48b60eedac9f87bee">yaml_event_t</a><li>indent +: <a class="el" href="structyaml__emitter__t.html#6cbfeabc529180e0328bd28e7283cab9">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#4aee3622a5d9be376a4020428f44e863">yaml_parser_t</a><li>indention +: <a class="el" href="structyaml__emitter__t.html#b94db5a4e99544c35acc4522b7e646c3">yaml_emitter_t</a><li>indents +: <a class="el" href="structyaml__emitter__t.html#247c9d84244d9fff5a79d9b742968ae4">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#f40c335c5523c1c3bf080a7fb183f944">yaml_parser_t</a><li>index +: <a class="el" href="structyaml__mark__t.html#41b5adaf3ef5dd13666704f61484b67a">yaml_mark_t</a><li>input +: <a class="el" href="structyaml__parser__t.html#a347278d02bd0a3d241bf83543942bef">yaml_parser_t</a></ul> +<h3><a class="anchor" name="index_l">- l -</a></h3><ul> +<li>last +: <a class="el" href="structyaml__emitter__t.html#a9423c6ee471dc3b0811ec134c289020">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#2e2b7be04a8bdd3e873f436f1802f902">yaml_parser_t</a><li>length +: <a class="el" href="structyaml__emitter__t.html#f5c939d92010fc696fa7bdd9bed43204">yaml_emitter_t</a>, <a class="el" href="structyaml__event__t.html#16d50471f65fb608f4323dcd8aa60015">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#ba7b1ad4a642d792527ba1dc33b81dca">yaml_token_t</a><li>line +: <a class="el" href="structyaml__emitter__t.html#6382d1e7f25ab6cd363c41b262c87dba">yaml_emitter_t</a>, <a class="el" href="structyaml__mark__t.html#5eb8eadc39fe4b908e884782302d36f3">yaml_mark_t</a><li>line_break +: <a class="el" href="structyaml__emitter__t.html#cab6708f887bc9a0ac5c0bb5dd85b89e">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_m">- m -</a></h3><ul> +<li>major +: <a class="el" href="structyaml__token__t.html#115e41bf7377e9ec53b91c01c727e0ec">yaml_token_t</a>, <a class="el" href="structyaml__version__directive__t.html#47f1c000f6909c03643a60c319b9344e">yaml_version_directive_t</a><li>mapping_context +: <a class="el" href="structyaml__emitter__t.html#4774e84cc9ffae368da711ca380b7dd8">yaml_emitter_t</a><li>mapping_start +: <a class="el" href="structyaml__event__t.html#499ac2f8dccc52b237d77349b438938c">yaml_event_t</a><li>mark +: <a class="el" href="structyaml__parser__t.html#96cd421db39f89baa1bc38a99c8e6882">yaml_parser_t</a>, <a class="el" href="structyaml__simple__key__t.html#58e34cff446ae3ebafc82eda248461b8">yaml_simple_key_t</a><li>marks +: <a class="el" href="structyaml__parser__t.html#bf541d436f5cfb9c126857377ba68cc6">yaml_parser_t</a><li>minor +: <a class="el" href="structyaml__token__t.html#229f697148b46de3802ed94bf39034e3">yaml_token_t</a>, <a class="el" href="structyaml__version__directive__t.html#1e0f71ecabd536352be1f2e8f922e678">yaml_version_directive_t</a><li>multiline +: <a class="el" href="structyaml__emitter__t.html#cbc0860115e4e42b0b9f05740d4bb527">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_o">- o -</a></h3><ul> +<li>offset +: <a class="el" href="structyaml__parser__t.html#30e6ad0588136403ee0fbbe80a34eb43">yaml_parser_t</a><li>output +: <a class="el" href="structyaml__emitter__t.html#0b8ecb0d377d0efa25d491efe4d11213">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_p">- p -</a></h3><ul> +<li>plain_implicit +: <a class="el" href="structyaml__event__t.html#ffaf27dc0518af48a24bb6a9e797e69c">yaml_event_t</a><li>pointer +: <a class="el" href="structyaml__emitter__t.html#359a34aa8a9b643daf8c017a550b6f4d">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#915ea54ff800f87c5cf6cdcfc904e9d1">yaml_parser_t</a><li>possible +: <a class="el" href="structyaml__simple__key__t.html#b6dd09414928d3d2d2dd940172e17b13">yaml_simple_key_t</a><li>prefix +: <a class="el" href="structyaml__token__t.html#d8712a6e1b711494713b4dde7a20583d">yaml_token_t</a>, <a class="el" href="structyaml__tag__directive__t.html#e0adfd6caac102dc9449bb902866dea4">yaml_tag_directive_t</a><li>problem +: <a class="el" href="structyaml__emitter__t.html#0c78a44f8c27e3b7f22cd1633a5237be">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#037f744a04b80f19a2e9ef58d1630309">yaml_parser_t</a><li>problem_mark +: <a class="el" href="structyaml__parser__t.html#034175a53067b791bf3ae235d6ba905c">yaml_parser_t</a><li>problem_offset +: <a class="el" href="structyaml__parser__t.html#724e2062a691633dc25642095af8857d">yaml_parser_t</a><li>problem_value +: <a class="el" href="structyaml__parser__t.html#68540bea36d78f95e3038285cd348dc9">yaml_parser_t</a></ul> +<h3><a class="anchor" name="index_q">- q -</a></h3><ul> +<li>quoted_implicit +: <a class="el" href="structyaml__event__t.html#526ac8185d90114b396d65b6ecd82c2d">yaml_event_t</a></ul> +<h3><a class="anchor" name="index_r">- r -</a></h3><ul> +<li>raw_buffer +: <a class="el" href="structyaml__emitter__t.html#54d429122259819ef6ab94f612a64469">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#f5e48e5b91c34514a5d47819e3e28c70">yaml_parser_t</a><li>read_handler +: <a class="el" href="structyaml__parser__t.html#7b057c77542d0723465a424b2502b85d">yaml_parser_t</a><li>read_handler_data +: <a class="el" href="structyaml__parser__t.html#e4157dbd91ce20caa5b4b4a69dca3d1f">yaml_parser_t</a><li>required +: <a class="el" href="structyaml__simple__key__t.html#372362f91d38bc37d0d7f440fa706e38">yaml_simple_key_t</a><li>root_context +: <a class="el" href="structyaml__emitter__t.html#c6cd35aed5160dd90d0b128387f5742e">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_s">- s -</a></h3><ul> +<li>scalar +: <a class="el" href="structyaml__event__t.html#96de5707a686f89780bc2bf698d379c1">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#a9dfb02260e2bf99e1fbd315dc584614">yaml_token_t</a><li>scalar_data +: <a class="el" href="structyaml__emitter__t.html#3c644a3f2e50ce59f8de2c40df09fee1">yaml_emitter_t</a><li>sequence_context +: <a class="el" href="structyaml__emitter__t.html#1bc1826c90e8281c35fd9e058eec3cf9">yaml_emitter_t</a><li>sequence_start +: <a class="el" href="structyaml__event__t.html#f365d13747f94026ca799a63df2d0214">yaml_event_t</a><li>simple_key_allowed +: <a class="el" href="structyaml__parser__t.html#7ca490b12aefefe24569cc002435f182">yaml_parser_t</a><li>simple_key_context +: <a class="el" href="structyaml__emitter__t.html#5309af877ce8274a7ad8841913971e71">yaml_emitter_t</a><li>simple_keys +: <a class="el" href="structyaml__parser__t.html#21caa3227bacc2abff7c4b3a0eccb0eb">yaml_parser_t</a><li>single_quoted_allowed +: <a class="el" href="structyaml__emitter__t.html#b6908319bdd51a2dbe88da19bfe534c9">yaml_emitter_t</a><li>size +: <a class="el" href="structyaml__emitter__t.html#9b8c5c43bcdd7511912254c924c8be7e">yaml_emitter_t</a><li>size_written +: <a class="el" href="structyaml__emitter__t.html#3a98588aa51dd43390307979d7591ad9">yaml_emitter_t</a><li>start +: <a class="el" href="structyaml__emitter__t.html#2d3e4952f722cf831147c5707f4f43eb">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#e5f69d2f5e1db476c4ab3efcd256b6fb">yaml_parser_t</a>, <a class="el" href="structyaml__event__t.html#37cdb999a3cd6cd9c70b101afec975b5">yaml_event_t</a><li>start_mark +: <a class="el" href="structyaml__event__t.html#7fc3a6d11948666f3d2a1cb0c80be169">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#5e6261e8dcafe5d5ab362de13de4b5cc">yaml_token_t</a><li>state +: <a class="el" href="structyaml__emitter__t.html#b5dca9e0a49a0f8ba7fb8dc5218ea4ff">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#6e95475ec5152d1a2a6f03a460691e51">yaml_parser_t</a><li>states +: <a class="el" href="structyaml__emitter__t.html#fb9eda967d74d9b64b14965a29fae67d">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#f93784917a65d936274e630fb323173e">yaml_parser_t</a><li>stream_end_produced +: <a class="el" href="structyaml__parser__t.html#63ecfc3f8478962265ea8cd1b6958966">yaml_parser_t</a><li>stream_start +: <a class="el" href="structyaml__event__t.html#3f3ad749d9159d2034a0986bab36aa61">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#1519088fd2b7dc1b630a817e5b4d2a8b">yaml_token_t</a><li>stream_start_produced +: <a class="el" href="structyaml__parser__t.html#19ef5b98fd13c5cb11f1123df5a97112">yaml_parser_t</a><li>string +: <a class="el" href="structyaml__emitter__t.html#be46332619652f6721ae87cf1c0b7060">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#17f87e16549463046a9ccb22a365f795">yaml_parser_t</a><li>style +: <a class="el" href="structyaml__emitter__t.html#9235d1771561db6ac74ee41c60e39d74">yaml_emitter_t</a>, <a class="el" href="structyaml__event__t.html#7d41e52a862cf44de6555048e7987824">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#36632f17e13df01a6fc37dc7055f6293">yaml_token_t</a><li>suffix +: <a class="el" href="structyaml__emitter__t.html#34071e3dd4839c7807bf3b210bdf6417">yaml_emitter_t</a>, <a class="el" href="structyaml__token__t.html#088e922840e8e2a895cc0fd70e865241">yaml_token_t</a><li>suffix_length +: <a class="el" href="structyaml__emitter__t.html#7f377fda83d6b2538744b3c94416f9a5">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_t">- t -</a></h3><ul> +<li>tag +: <a class="el" href="structyaml__event__t.html#93e316ff042eaeb6450da1b9f4053e20">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#ccf70a72fb7799f7c03c6fa1561c0ce3">yaml_token_t</a><li>tag_data +: <a class="el" href="structyaml__emitter__t.html#f5922f1e93ff9c0c9c5d9512b52c8391">yaml_emitter_t</a><li>tag_directive +: <a class="el" href="structyaml__token__t.html#a7ae6a52d3541a9f04abbee5752ff9f7">yaml_token_t</a><li>tag_directives +: <a class="el" href="structyaml__emitter__t.html#653012b610601b1fb3c9918648919a52">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#9850d55d9cf6471ebaf0fd84ad9b1b9b">yaml_parser_t</a>, <a class="el" href="structyaml__event__t.html#c28a12e27c28780e6019893067035191">yaml_event_t</a><li>tail +: <a class="el" href="structyaml__emitter__t.html#5be85e6f862f2bc865f8659695dede38">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#063b8f1fad219dba02df7b3f629b99c8">yaml_parser_t</a><li>token_number +: <a class="el" href="structyaml__simple__key__t.html#d421f7aa43b989a78341269bb0c9b298">yaml_simple_key_t</a><li>tokens +: <a class="el" href="structyaml__parser__t.html#dc1a7b98e008e2b8a631fa56918f4ea8">yaml_parser_t</a><li>tokens_parsed +: <a class="el" href="structyaml__parser__t.html#ebe804b3eba29202c24b39987233ff83">yaml_parser_t</a><li>top +: <a class="el" href="structyaml__emitter__t.html#40584b55360b6a264ca84cf54448706c">yaml_emitter_t</a>, <a class="el" href="structyaml__parser__t.html#c8c586bff934647a271b10df8d446deb">yaml_parser_t</a><li>type +: <a class="el" href="structyaml__event__t.html#f6d4329f69f507cd9632c0cc96db0b22">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#d4200f2a88000349f98fcc7961e414bd">yaml_token_t</a></ul> +<h3><a class="anchor" name="index_u">- u -</a></h3><ul> +<li>unicode +: <a class="el" href="structyaml__emitter__t.html#31edf22328409ebdc766ef898b4c6f58">yaml_emitter_t</a></ul> +<h3><a class="anchor" name="index_v">- v -</a></h3><ul> +<li>value +: <a class="el" href="structyaml__emitter__t.html#3095efa7aad118b681d9bede68111181">yaml_emitter_t</a>, <a class="el" href="structyaml__event__t.html#9eef8b3ef9341625271da9a3c9a3c085">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#324f075137d3200b72493f81c7818e8c">yaml_token_t</a><li>version_directive +: <a class="el" href="structyaml__event__t.html#2385c6fd83c6080efd04698c18fd7404">yaml_event_t</a>, <a class="el" href="structyaml__token__t.html#27d7f2f5bcdea493222a31b47a3f4899">yaml_token_t</a></ul> +<h3><a class="anchor" name="index_w">- w -</a></h3><ul> +<li>whitespace +: <a class="el" href="structyaml__emitter__t.html#59175a9f05ff9527ce0a9c51b3ca264a">yaml_emitter_t</a><li>write_handler +: <a class="el" href="structyaml__emitter__t.html#08e4f4a787de3c31f5da937d7e1bc149">yaml_emitter_t</a><li>write_handler_data +: <a class="el" href="structyaml__emitter__t.html#f636bee0c744969e756fec5545d23865">yaml_emitter_t</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:24 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/globals.html b/yaml/doc/html/globals.html new file mode 100644 index 00000000..9f317cd9 --- /dev/null +++ b/yaml/doc/html/globals.html @@ -0,0 +1,93 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Data Fields</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li id="current"><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + <li id="current"><a href="globals.html"><span>Globals</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li id="current"><a href="globals.html"><span>All</span></a></li> + <li><a href="globals_func.html"><span>Functions</span></a></li> + <li><a href="globals_type.html"><span>Typedefs</span></a></li> + <li><a href="globals_enum.html"><span>Enumerations</span></a></li> + <li><a href="globals_defs.html"><span>Defines</span></a></li> + </ul> +</div> +<div class="tabs"> + <ul> + <li><a href="#index_y"><span>y</span></a></li> + </ul> +</div> + +<p> +Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation: +<p> +<h3><a class="anchor" name="index_y">- y -</a></h3><ul> +<li>yaml_alias_event_initialize() +: <a class="el" href="group__events.html#gde4c15b75eb9a8035e04d4f0dd23f005">yaml.h</a><li>yaml_break_t +: <a class="el" href="group__basic.html#g84f95658c2bc81371ea5b83ecec39f68">yaml.h</a><li>yaml_char_t +: <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml.h</a><li>YAML_DECLARE +: <a class="el" href="group__export.html#g0791fd3e1d85ed53711b1feaae131f93">yaml.h</a><li>yaml_document_end_event_initialize() +: <a class="el" href="group__events.html#g8bae16548ee88f8a5ca15204f8c30344">yaml.h</a><li>yaml_document_start_event_initialize() +: <a class="el" href="group__events.html#g527e89302e1c969fbea5aa45664bf51c">yaml.h</a><li>yaml_emitter_delete() +: <a class="el" href="group__emitter.html#gd705212f3a5150e3f00075fd90bc8c3d">yaml.h</a><li>yaml_emitter_emit() +: <a class="el" href="group__emitter.html#g4d6c0f8e712797e2660e69479fdae433">yaml.h</a><li>yaml_emitter_flush() +: <a class="el" href="group__emitter.html#gcaf24456e2bf85bc5654cbd7d828055f">yaml.h</a><li>yaml_emitter_initialize() +: <a class="el" href="group__emitter.html#g83649205374285802fc27aa293ecd111">yaml.h</a><li>yaml_emitter_set_break() +: <a class="el" href="group__emitter.html#g04b5494f0b8244eec359579c31d5e20c">yaml.h</a><li>yaml_emitter_set_canonical() +: <a class="el" href="group__emitter.html#g62713a8130e11d95cbefa95a2eb3ac4b">yaml.h</a><li>yaml_emitter_set_encoding() +: <a class="el" href="group__emitter.html#gbc22888ec8bf942199acbf38f7a0b9bb">yaml.h</a><li>yaml_emitter_set_indent() +: <a class="el" href="group__emitter.html#g07eca3c344053a9028b4a84291cdf4d7">yaml.h</a><li>yaml_emitter_set_output() +: <a class="el" href="group__emitter.html#gc85a6a212ed7b469fb426a3451d15922">yaml.h</a><li>yaml_emitter_set_output_file() +: <a class="el" href="group__emitter.html#gf7610c61b303bde9c701024c10ece024">yaml.h</a><li>yaml_emitter_set_output_string() +: <a class="el" href="group__emitter.html#g62725c0f616f634588374d1a4c0ed35a">yaml.h</a><li>yaml_emitter_set_unicode() +: <a class="el" href="group__emitter.html#ga59e7dcf24cb9b614c32af6c3e949fc3">yaml.h</a><li>yaml_emitter_set_width() +: <a class="el" href="group__emitter.html#ga91ae0fa8af5ab67e64567e08f4458c2">yaml.h</a><li>yaml_emitter_state_t +: <a class="el" href="group__emitter.html#geb3e54c6d786621f007693b2b25f8c6e">yaml.h</a><li>yaml_encoding_t +: <a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml.h</a><li>yaml_error_type_t +: <a class="el" href="group__basic.html#g57118d795c00ef9a12df13c46a2483c4">yaml.h</a><li>yaml_event_delete() +: <a class="el" href="group__events.html#g5330d62ef52856aa53188137cb93a6a1">yaml.h</a><li>yaml_event_type_t +: <a class="el" href="group__events.html#g73dcc1597e8d66c7e38ee2024c6c2330">yaml.h</a><li>yaml_get_version() +: <a class="el" href="group__version.html#gec764c91f3e181ae63d3d59b7980fe78">yaml.h</a><li>yaml_get_version_string() +: <a class="el" href="group__version.html#gf1ba5c1c34e809db5047d79a9fa85a73">yaml.h</a><li>yaml_mapping_end_event_initialize() +: <a class="el" href="group__events.html#g3afaf8b3aca2ec902a4e268f12adb0c2">yaml.h</a><li>yaml_mapping_start_event_initialize() +: <a class="el" href="group__events.html#g0603cf8d20f0b6dfc3be04b6360134aa">yaml.h</a><li>yaml_mapping_style_t +: <a class="el" href="group__styles.html#g827938389268be54b0a468f2ab7a892b">yaml.h</a><li>yaml_parser_delete() +: <a class="el" href="group__parser.html#ga27150107c4667c1024ec0651e2ac26b">yaml.h</a><li>yaml_parser_initialize() +: <a class="el" href="group__parser.html#gcc37ceeb5847e38a3fe24eb0c9b53965">yaml.h</a><li>yaml_parser_parse() +: <a class="el" href="group__parser.html#g559312fb137533d8b7e07f224fe0ec8f">yaml.h</a><li>yaml_parser_scan() +: <a class="el" href="group__parser.html#g6c2144f131ebd600a075d4ba654540f7">yaml.h</a><li>yaml_parser_set_encoding() +: <a class="el" href="group__parser.html#g9565b64975570ed34612a19adf02ae6a">yaml.h</a><li>yaml_parser_set_input() +: <a class="el" href="group__parser.html#gbc67581bfa771a3e787d907d6914b8d9">yaml.h</a><li>yaml_parser_set_input_file() +: <a class="el" href="group__parser.html#gc3f00f8beb2365b1e4569692d64696b6">yaml.h</a><li>yaml_parser_set_input_string() +: <a class="el" href="group__parser.html#g23cc4d870bb24dd770a26c2212dc0e3c">yaml.h</a><li>yaml_parser_state_t +: <a class="el" href="group__parser.html#g56a71944417c2a34bbf183c279960265">yaml.h</a><li>yaml_read_handler_t +: <a class="el" href="group__parser.html#g4982f7e4e001ddb47d2819f38f0cd9d6">yaml.h</a><li>yaml_scalar_event_initialize() +: <a class="el" href="group__events.html#gfc60a1a437385e19e6fb3be075958c8c">yaml.h</a><li>yaml_scalar_style_t +: <a class="el" href="group__styles.html#g9acbe60304872c11b646d865e175161b">yaml.h</a><li>yaml_sequence_end_event_initialize() +: <a class="el" href="group__events.html#g99fdfa4b9d42b64d8171c9b22f334b1c">yaml.h</a><li>yaml_sequence_start_event_initialize() +: <a class="el" href="group__events.html#g53aea428c768d7b131923d08c904b4eb">yaml.h</a><li>yaml_sequence_style_t +: <a class="el" href="group__styles.html#g367e05614b94d225b6218f29d6220432">yaml.h</a><li>yaml_stream_end_event_initialize() +: <a class="el" href="group__events.html#g84cf0c3ff01251c852c71624e64df9fe">yaml.h</a><li>yaml_stream_start_event_initialize() +: <a class="el" href="group__events.html#g0650d255b23d9aae13c839f4ab3ec2ab">yaml.h</a><li>yaml_token_delete() +: <a class="el" href="group__tokens.html#g3140131870e38e27f92a8fd286e5c004">yaml.h</a><li>yaml_token_type_t +: <a class="el" href="group__tokens.html#g7fdf8961586dfc2c447561c5c35ca9fc">yaml.h</a><li>yaml_write_handler_t +: <a class="el" href="group__emitter.html#g1669659aacbe631ad406c78fce1f5379">yaml.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/globals_defs.html b/yaml/doc/html/globals_defs.html new file mode 100644 index 00000000..6a6494f7 --- /dev/null +++ b/yaml/doc/html/globals_defs.html @@ -0,0 +1,38 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Data Fields</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li id="current"><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + <li id="current"><a href="globals.html"><span>Globals</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="globals.html"><span>All</span></a></li> + <li><a href="globals_func.html"><span>Functions</span></a></li> + <li><a href="globals_type.html"><span>Typedefs</span></a></li> + <li><a href="globals_enum.html"><span>Enumerations</span></a></li> + <li id="current"><a href="globals_defs.html"><span>Defines</span></a></li> + </ul> +</div> + +<p> +<ul> +<li>YAML_DECLARE +: <a class="el" href="group__export.html#g0791fd3e1d85ed53711b1feaae131f93">yaml.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/globals_enum.html b/yaml/doc/html/globals_enum.html new file mode 100644 index 00000000..50d6ada2 --- /dev/null +++ b/yaml/doc/html/globals_enum.html @@ -0,0 +1,47 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Data Fields</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li id="current"><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + <li id="current"><a href="globals.html"><span>Globals</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="globals.html"><span>All</span></a></li> + <li><a href="globals_func.html"><span>Functions</span></a></li> + <li><a href="globals_type.html"><span>Typedefs</span></a></li> + <li id="current"><a href="globals_enum.html"><span>Enumerations</span></a></li> + <li><a href="globals_defs.html"><span>Defines</span></a></li> + </ul> +</div> + +<p> +<ul> +<li>yaml_break_t +: <a class="el" href="group__basic.html#g84f95658c2bc81371ea5b83ecec39f68">yaml.h</a><li>yaml_emitter_state_t +: <a class="el" href="group__emitter.html#geb3e54c6d786621f007693b2b25f8c6e">yaml.h</a><li>yaml_encoding_t +: <a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml.h</a><li>yaml_error_type_t +: <a class="el" href="group__basic.html#g57118d795c00ef9a12df13c46a2483c4">yaml.h</a><li>yaml_event_type_t +: <a class="el" href="group__events.html#g73dcc1597e8d66c7e38ee2024c6c2330">yaml.h</a><li>yaml_mapping_style_t +: <a class="el" href="group__styles.html#g827938389268be54b0a468f2ab7a892b">yaml.h</a><li>yaml_parser_state_t +: <a class="el" href="group__parser.html#g56a71944417c2a34bbf183c279960265">yaml.h</a><li>yaml_scalar_style_t +: <a class="el" href="group__styles.html#g9acbe60304872c11b646d865e175161b">yaml.h</a><li>yaml_sequence_style_t +: <a class="el" href="group__styles.html#g367e05614b94d225b6218f29d6220432">yaml.h</a><li>yaml_token_type_t +: <a class="el" href="group__tokens.html#g7fdf8961586dfc2c447561c5c35ca9fc">yaml.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/globals_func.html b/yaml/doc/html/globals_func.html new file mode 100644 index 00000000..ff038e31 --- /dev/null +++ b/yaml/doc/html/globals_func.html @@ -0,0 +1,79 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Data Fields</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li id="current"><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + <li id="current"><a href="globals.html"><span>Globals</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="globals.html"><span>All</span></a></li> + <li id="current"><a href="globals_func.html"><span>Functions</span></a></li> + <li><a href="globals_type.html"><span>Typedefs</span></a></li> + <li><a href="globals_enum.html"><span>Enumerations</span></a></li> + <li><a href="globals_defs.html"><span>Defines</span></a></li> + </ul> +</div> +<div class="tabs"> + <ul> + <li><a href="#index_y"><span>y</span></a></li> + </ul> +</div> + +<p> + +<p> +<h3><a class="anchor" name="index_y">- y -</a></h3><ul> +<li>yaml_alias_event_initialize() +: <a class="el" href="group__events.html#gde4c15b75eb9a8035e04d4f0dd23f005">yaml.h</a><li>yaml_document_end_event_initialize() +: <a class="el" href="group__events.html#g8bae16548ee88f8a5ca15204f8c30344">yaml.h</a><li>yaml_document_start_event_initialize() +: <a class="el" href="group__events.html#g527e89302e1c969fbea5aa45664bf51c">yaml.h</a><li>yaml_emitter_delete() +: <a class="el" href="group__emitter.html#gd705212f3a5150e3f00075fd90bc8c3d">yaml.h</a><li>yaml_emitter_emit() +: <a class="el" href="group__emitter.html#g4d6c0f8e712797e2660e69479fdae433">yaml.h</a><li>yaml_emitter_flush() +: <a class="el" href="group__emitter.html#gcaf24456e2bf85bc5654cbd7d828055f">yaml.h</a><li>yaml_emitter_initialize() +: <a class="el" href="group__emitter.html#g83649205374285802fc27aa293ecd111">yaml.h</a><li>yaml_emitter_set_break() +: <a class="el" href="group__emitter.html#g04b5494f0b8244eec359579c31d5e20c">yaml.h</a><li>yaml_emitter_set_canonical() +: <a class="el" href="group__emitter.html#g62713a8130e11d95cbefa95a2eb3ac4b">yaml.h</a><li>yaml_emitter_set_encoding() +: <a class="el" href="group__emitter.html#gbc22888ec8bf942199acbf38f7a0b9bb">yaml.h</a><li>yaml_emitter_set_indent() +: <a class="el" href="group__emitter.html#g07eca3c344053a9028b4a84291cdf4d7">yaml.h</a><li>yaml_emitter_set_output() +: <a class="el" href="group__emitter.html#gc85a6a212ed7b469fb426a3451d15922">yaml.h</a><li>yaml_emitter_set_output_file() +: <a class="el" href="group__emitter.html#gf7610c61b303bde9c701024c10ece024">yaml.h</a><li>yaml_emitter_set_output_string() +: <a class="el" href="group__emitter.html#g62725c0f616f634588374d1a4c0ed35a">yaml.h</a><li>yaml_emitter_set_unicode() +: <a class="el" href="group__emitter.html#ga59e7dcf24cb9b614c32af6c3e949fc3">yaml.h</a><li>yaml_emitter_set_width() +: <a class="el" href="group__emitter.html#ga91ae0fa8af5ab67e64567e08f4458c2">yaml.h</a><li>yaml_event_delete() +: <a class="el" href="group__events.html#g5330d62ef52856aa53188137cb93a6a1">yaml.h</a><li>yaml_get_version() +: <a class="el" href="group__version.html#gec764c91f3e181ae63d3d59b7980fe78">yaml.h</a><li>yaml_get_version_string() +: <a class="el" href="group__version.html#gf1ba5c1c34e809db5047d79a9fa85a73">yaml.h</a><li>yaml_mapping_end_event_initialize() +: <a class="el" href="group__events.html#g3afaf8b3aca2ec902a4e268f12adb0c2">yaml.h</a><li>yaml_mapping_start_event_initialize() +: <a class="el" href="group__events.html#g0603cf8d20f0b6dfc3be04b6360134aa">yaml.h</a><li>yaml_parser_delete() +: <a class="el" href="group__parser.html#ga27150107c4667c1024ec0651e2ac26b">yaml.h</a><li>yaml_parser_initialize() +: <a class="el" href="group__parser.html#gcc37ceeb5847e38a3fe24eb0c9b53965">yaml.h</a><li>yaml_parser_parse() +: <a class="el" href="group__parser.html#g559312fb137533d8b7e07f224fe0ec8f">yaml.h</a><li>yaml_parser_scan() +: <a class="el" href="group__parser.html#g6c2144f131ebd600a075d4ba654540f7">yaml.h</a><li>yaml_parser_set_encoding() +: <a class="el" href="group__parser.html#g9565b64975570ed34612a19adf02ae6a">yaml.h</a><li>yaml_parser_set_input() +: <a class="el" href="group__parser.html#gbc67581bfa771a3e787d907d6914b8d9">yaml.h</a><li>yaml_parser_set_input_file() +: <a class="el" href="group__parser.html#gc3f00f8beb2365b1e4569692d64696b6">yaml.h</a><li>yaml_parser_set_input_string() +: <a class="el" href="group__parser.html#g23cc4d870bb24dd770a26c2212dc0e3c">yaml.h</a><li>yaml_scalar_event_initialize() +: <a class="el" href="group__events.html#gfc60a1a437385e19e6fb3be075958c8c">yaml.h</a><li>yaml_sequence_end_event_initialize() +: <a class="el" href="group__events.html#g99fdfa4b9d42b64d8171c9b22f334b1c">yaml.h</a><li>yaml_sequence_start_event_initialize() +: <a class="el" href="group__events.html#g53aea428c768d7b131923d08c904b4eb">yaml.h</a><li>yaml_stream_end_event_initialize() +: <a class="el" href="group__events.html#g84cf0c3ff01251c852c71624e64df9fe">yaml.h</a><li>yaml_stream_start_event_initialize() +: <a class="el" href="group__events.html#g0650d255b23d9aae13c839f4ab3ec2ab">yaml.h</a><li>yaml_token_delete() +: <a class="el" href="group__tokens.html#g3140131870e38e27f92a8fd286e5c004">yaml.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/globals_type.html b/yaml/doc/html/globals_type.html new file mode 100644 index 00000000..2ca35306 --- /dev/null +++ b/yaml/doc/html/globals_type.html @@ -0,0 +1,40 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Data Fields</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li id="current"><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + <li id="current"><a href="globals.html"><span>Globals</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="globals.html"><span>All</span></a></li> + <li><a href="globals_func.html"><span>Functions</span></a></li> + <li id="current"><a href="globals_type.html"><span>Typedefs</span></a></li> + <li><a href="globals_enum.html"><span>Enumerations</span></a></li> + <li><a href="globals_defs.html"><span>Defines</span></a></li> + </ul> +</div> + +<p> +<ul> +<li>yaml_char_t +: <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml.h</a><li>yaml_read_handler_t +: <a class="el" href="group__parser.html#g4982f7e4e001ddb47d2819f38f0cd9d6">yaml.h</a><li>yaml_write_handler_t +: <a class="el" href="group__emitter.html#g1669659aacbe631ad406c78fce1f5379">yaml.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/group__basic.html b/yaml/doc/html/group__basic.html new file mode 100644 index 00000000..ffbfb9bb --- /dev/null +++ b/yaml/doc/html/group__basic.html @@ -0,0 +1,80 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Basic Types</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<h1>Basic Types</h1><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__version__directive__t.html">yaml_version_directive_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The version directive data. <a href="structyaml__version__directive__t.html#_details">More...</a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag directive data. <a href="structyaml__tag__directive__t.html#_details">More...</a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__mark__t.html">yaml_mark_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The pointer position. <a href="structyaml__mark__t.html#_details">More...</a><br></td></tr> +<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf8657e81f0b8b05d1a081001fc6cb8bd"></a><!-- doxytag: member="basic::yaml_char_t" ref="gf8657e81f0b8b05d1a081001fc6cb8bd" args="" --> +typedef unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The character type (UTF-8 octet). <br></td></tr> +<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> { <br> + <b>YAML_ANY_ENCODING</b>, +<br> + <b>YAML_UTF8_ENCODING</b>, +<br> + <b>YAML_UTF16LE_ENCODING</b>, +<br> + <b>YAML_UTF16BE_ENCODING</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The stream encoding. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#g84f95658c2bc81371ea5b83ecec39f68">yaml_break_t</a> { <br> + <b>YAML_ANY_BREAK</b>, +<br> + <b>YAML_CR_BREAK</b>, +<br> + <b>YAML_LN_BREAK</b>, +<br> + <b>YAML_CRLN_BREAK</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Line break types. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#g57118d795c00ef9a12df13c46a2483c4">yaml_error_type_t</a> { <br> + <b>YAML_NO_ERROR</b>, +<br> + <b>YAML_MEMORY_ERROR</b>, +<br> + <b>YAML_READER_ERROR</b>, +<br> + <b>YAML_SCANNER_ERROR</b>, +<br> + <b>YAML_PARSER_ERROR</b>, +<br> + <b>YAML_WRITER_ERROR</b>, +<br> + <b>YAML_EMITTER_ERROR</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Many bad things could happen with the parser and emitter. <br></td></tr> +</table> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/group__emitter.html b/yaml/doc/html/group__emitter.html new file mode 100644 index 00000000..87cbd76b --- /dev/null +++ b/yaml/doc/html/group__emitter.html @@ -0,0 +1,731 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Emitter Definitions</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<h1>Emitter Definitions</h1><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The emitter structure. <a href="structyaml__emitter__t.html#_details">More...</a><br></td></tr> +<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g1669659aacbe631ad406c78fce1f5379">yaml_write_handler_t</a> (void *data, unsigned char *buffer, size_t size)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The prototype of a write handler. <a href="#g1669659aacbe631ad406c78fce1f5379"></a><br></td></tr> +<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#geb3e54c6d786621f007693b2b25f8c6e">yaml_emitter_state_t</a> { <br> + <b>YAML_EMIT_STREAM_START_STATE</b>, +<br> + <b>YAML_EMIT_FIRST_DOCUMENT_START_STATE</b>, +<br> + <b>YAML_EMIT_DOCUMENT_START_STATE</b>, +<br> + <b>YAML_EMIT_DOCUMENT_CONTENT_STATE</b>, +<br> + <b>YAML_EMIT_DOCUMENT_END_STATE</b>, +<br> + <b>YAML_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE</b>, +<br> + <b>YAML_EMIT_FLOW_SEQUENCE_ITEM_STATE</b>, +<br> + <b>YAML_EMIT_FLOW_MAPPING_FIRST_KEY_STATE</b>, +<br> + <b>YAML_EMIT_FLOW_MAPPING_KEY_STATE</b>, +<br> + <b>YAML_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE</b>, +<br> + <b>YAML_EMIT_FLOW_MAPPING_VALUE_STATE</b>, +<br> + <b>YAML_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE</b>, +<br> + <b>YAML_EMIT_BLOCK_SEQUENCE_ITEM_STATE</b>, +<br> + <b>YAML_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE</b>, +<br> + <b>YAML_EMIT_BLOCK_MAPPING_KEY_STATE</b>, +<br> + <b>YAML_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE</b>, +<br> + <b>YAML_EMIT_BLOCK_MAPPING_VALUE_STATE</b>, +<br> + <b>YAML_EMIT_END_STATE</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The emitter states. <br></td></tr> +<tr><td colspan="2"><br><h2>Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g83649205374285802fc27aa293ecd111">yaml_emitter_initialize</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize an emitter. <a href="#g83649205374285802fc27aa293ecd111"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#gd705212f3a5150e3f00075fd90bc8c3d">yaml_emitter_delete</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy an emitter. <a href="#gd705212f3a5150e3f00075fd90bc8c3d"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g62725c0f616f634588374d1a4c0ed35a">yaml_emitter_set_output_string</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, unsigned char *output, size_t size, size_t *size_written)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a string output. <a href="#g62725c0f616f634588374d1a4c0ed35a"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#gf7610c61b303bde9c701024c10ece024">yaml_emitter_set_output_file</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, FILE *file)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a file output. <a href="#gf7610c61b303bde9c701024c10ece024"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#gc85a6a212ed7b469fb426a3451d15922">yaml_emitter_set_output</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, <a class="el" href="group__emitter.html#g1669659aacbe631ad406c78fce1f5379">yaml_write_handler_t</a> *handler, void *data)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a generic output handler. <a href="#gc85a6a212ed7b469fb426a3451d15922"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#gbc22888ec8bf942199acbf38f7a0b9bb">yaml_emitter_set_encoding</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, <a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> encoding)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the output encoding. <a href="#gbc22888ec8bf942199acbf38f7a0b9bb"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g62713a8130e11d95cbefa95a2eb3ac4b">yaml_emitter_set_canonical</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, int canonical)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set if the output should be in the "canonical" format as in the YAML specification. <a href="#g62713a8130e11d95cbefa95a2eb3ac4b"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g07eca3c344053a9028b4a84291cdf4d7">yaml_emitter_set_indent</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, int indent)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the intendation increment. <a href="#g07eca3c344053a9028b4a84291cdf4d7"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#ga91ae0fa8af5ab67e64567e08f4458c2">yaml_emitter_set_width</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, int width)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the preferred line width. <a href="#ga91ae0fa8af5ab67e64567e08f4458c2"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#ga59e7dcf24cb9b614c32af6c3e949fc3">yaml_emitter_set_unicode</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, int unicode)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set if unescaped non-ASCII characters are allowed. <a href="#ga59e7dcf24cb9b614c32af6c3e949fc3"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g04b5494f0b8244eec359579c31d5e20c">yaml_emitter_set_break</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, <a class="el" href="group__basic.html#g84f95658c2bc81371ea5b83ecec39f68">yaml_break_t</a> line_break)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the preferred line break. <a href="#g04b5494f0b8244eec359579c31d5e20c"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g4d6c0f8e712797e2660e69479fdae433">yaml_emitter_emit</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, <a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Emit an event. <a href="#g4d6c0f8e712797e2660e69479fdae433"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#gcaf24456e2bf85bc5654cbd7d828055f">yaml_emitter_flush</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Flush the accumulated characters to the output. <a href="#gcaf24456e2bf85bc5654cbd7d828055f"></a><br></td></tr> +</table> +<hr><h2>Typedef Documentation</h2> +<a class="anchor" name="g1669659aacbe631ad406c78fce1f5379"></a><!-- doxytag: member="yaml.h::yaml_write_handler_t" ref="g1669659aacbe631ad406c78fce1f5379" args="(void *data, unsigned char *buffer, size_t size)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">typedef int <a class="el" href="group__emitter.html#g1669659aacbe631ad406c78fce1f5379">yaml_write_handler_t</a>(void *data, unsigned char *buffer, size_t size) </td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +The prototype of a write handler. +<p> +The write handler is called when the emitter needs to flush the accumulated characters to the output. The handler should write <em>size</em> bytes of the <em>buffer</em> to the output.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>data</em> </td><td>A pointer to an application data specified by <a class="el" href="group__emitter.html#gc85a6a212ed7b469fb426a3451d15922">yaml_emitter_set_output()</a>. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>buffer</em> </td><td>The buffer with bytes to be written. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>size</em> </td><td>The size of the buffer.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd>On success, the handler should return <code>1</code>. If the handler failed, the returned value should be <code>0</code>. </dd></dl> + </td> + </tr> +</table> +<hr><h2>Function Documentation</h2> +<a class="anchor" name="g83649205374285802fc27aa293ecd111"></a><!-- doxytag: member="yaml.h::yaml_emitter_initialize" ref="g83649205374285802fc27aa293ecd111" args="(yaml_emitter_t *emitter)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_emitter_initialize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>emitter</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Initialize an emitter. +<p> +This function creates a new emitter object. An application is responsible for destroying the object using the <a class="el" href="group__emitter.html#gd705212f3a5150e3f00075fd90bc8c3d">yaml_emitter_delete()</a> function.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>emitter</em> </td><td>An empty parser object.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="gd705212f3a5150e3f00075fd90bc8c3d"></a><!-- doxytag: member="yaml.h::yaml_emitter_delete" ref="gd705212f3a5150e3f00075fd90bc8c3d" args="(yaml_emitter_t *emitter)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_emitter_delete </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>emitter</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Destroy an emitter. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>emitter</em> </td><td>An emitter object. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="g62725c0f616f634588374d1a4c0ed35a"></a><!-- doxytag: member="yaml.h::yaml_emitter_set_output_string" ref="g62725c0f616f634588374d1a4c0ed35a" args="(yaml_emitter_t *emitter, unsigned char *output, size_t size, size_t *size_written)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_emitter_set_output_string </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> * </td> + <td class="mdname" nowrap> <em>emitter</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>unsigned char * </td> + <td class="mdname" nowrap> <em>output</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>size_t </td> + <td class="mdname" nowrap> <em>size</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>size_t * </td> + <td class="mdname" nowrap> <em>size_written</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Set a string output. +<p> +The emitter will write the output characters to the <em>output</em> buffer of the size <em>size</em>. The emitter will set <em>size_written</em> to the number of written bytes. If the buffer is smaller than required, the emitter produces the YAML_WRITE_ERROR error.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>emitter</em> </td><td>An emitter object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>output</em> </td><td>An output buffer. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>size</em> </td><td>The buffer size. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>size_written</em> </td><td>The pointer to save the number of written bytes. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="gf7610c61b303bde9c701024c10ece024"></a><!-- doxytag: member="yaml.h::yaml_emitter_set_output_file" ref="gf7610c61b303bde9c701024c10ece024" args="(yaml_emitter_t *emitter, FILE *file)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_emitter_set_output_file </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> * </td> + <td class="mdname" nowrap> <em>emitter</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>FILE * </td> + <td class="mdname" nowrap> <em>file</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Set a file output. +<p> +<em>file</em> should be a file object open for writing. The application is responsible for closing the <em>file</em>.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>emitter</em> </td><td>An emitter object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>file</em> </td><td>An open file. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="gc85a6a212ed7b469fb426a3451d15922"></a><!-- doxytag: member="yaml.h::yaml_emitter_set_output" ref="gc85a6a212ed7b469fb426a3451d15922" args="(yaml_emitter_t *emitter, yaml_write_handler_t *handler, void *data)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_emitter_set_output </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> * </td> + <td class="mdname" nowrap> <em>emitter</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__emitter.html#g1669659aacbe631ad406c78fce1f5379">yaml_write_handler_t</a> * </td> + <td class="mdname" nowrap> <em>handler</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>data</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Set a generic output handler. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>emitter</em> </td><td>An emitter object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>handler</em> </td><td>A write handler. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>data</em> </td><td>Any application data for passing to the write handler. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="gbc22888ec8bf942199acbf38f7a0b9bb"></a><!-- doxytag: member="yaml.h::yaml_emitter_set_encoding" ref="gbc22888ec8bf942199acbf38f7a0b9bb" args="(yaml_emitter_t *emitter, yaml_encoding_t encoding)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_emitter_set_encoding </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> * </td> + <td class="mdname" nowrap> <em>emitter</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> </td> + <td class="mdname" nowrap> <em>encoding</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Set the output encoding. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>emitter</em> </td><td>An emitter object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>encoding</em> </td><td>The output encoding. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="g62713a8130e11d95cbefa95a2eb3ac4b"></a><!-- doxytag: member="yaml.h::yaml_emitter_set_canonical" ref="g62713a8130e11d95cbefa95a2eb3ac4b" args="(yaml_emitter_t *emitter, int canonical)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_emitter_set_canonical </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> * </td> + <td class="mdname" nowrap> <em>emitter</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>int </td> + <td class="mdname" nowrap> <em>canonical</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Set if the output should be in the "canonical" format as in the YAML specification. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>emitter</em> </td><td>An emitter object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>canonical</em> </td><td>If the output is canonical. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="g07eca3c344053a9028b4a84291cdf4d7"></a><!-- doxytag: member="yaml.h::yaml_emitter_set_indent" ref="g07eca3c344053a9028b4a84291cdf4d7" args="(yaml_emitter_t *emitter, int indent)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_emitter_set_indent </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> * </td> + <td class="mdname" nowrap> <em>emitter</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>int </td> + <td class="mdname" nowrap> <em>indent</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Set the intendation increment. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>emitter</em> </td><td>An emitter object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>indent</em> </td><td>The indentation increment (1 < . < 10). </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="ga91ae0fa8af5ab67e64567e08f4458c2"></a><!-- doxytag: member="yaml.h::yaml_emitter_set_width" ref="ga91ae0fa8af5ab67e64567e08f4458c2" args="(yaml_emitter_t *emitter, int width)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_emitter_set_width </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> * </td> + <td class="mdname" nowrap> <em>emitter</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>int </td> + <td class="mdname" nowrap> <em>width</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Set the preferred line width. +<p> +<code>-1</code> means unlimited.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>emitter</em> </td><td>An emitter object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>width</em> </td><td>The preferred line width. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="ga59e7dcf24cb9b614c32af6c3e949fc3"></a><!-- doxytag: member="yaml.h::yaml_emitter_set_unicode" ref="ga59e7dcf24cb9b614c32af6c3e949fc3" args="(yaml_emitter_t *emitter, int unicode)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_emitter_set_unicode </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> * </td> + <td class="mdname" nowrap> <em>emitter</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>int </td> + <td class="mdname" nowrap> <em>unicode</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Set if unescaped non-ASCII characters are allowed. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>emitter</em> </td><td>An emitter object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>unicode</em> </td><td>If unescaped Unicode characters are allowed. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="g04b5494f0b8244eec359579c31d5e20c"></a><!-- doxytag: member="yaml.h::yaml_emitter_set_break" ref="g04b5494f0b8244eec359579c31d5e20c" args="(yaml_emitter_t *emitter, yaml_break_t line_break)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_emitter_set_break </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> * </td> + <td class="mdname" nowrap> <em>emitter</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__basic.html#g84f95658c2bc81371ea5b83ecec39f68">yaml_break_t</a> </td> + <td class="mdname" nowrap> <em>line_break</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Set the preferred line break. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>emitter</em> </td><td>An emitter object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>line_break</em> </td><td>The preferred line break. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="g4d6c0f8e712797e2660e69479fdae433"></a><!-- doxytag: member="yaml.h::yaml_emitter_emit" ref="g4d6c0f8e712797e2660e69479fdae433" args="(yaml_emitter_t *emitter, yaml_event_t *event)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_emitter_emit </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> * </td> + <td class="mdname" nowrap> <em>emitter</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td> + <td class="mdname" nowrap> <em>event</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Emit an event. +<p> +The event object may be generated using the <a class="el" href="group__parser.html#g559312fb137533d8b7e07f224fe0ec8f">yaml_parser_parse()</a> function. The emitter takes the responsibility for the event object and destroys its content after it is emitted. The event object is destroyed even if the function fails.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>emitter</em> </td><td>An emitter object. </td></tr> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>event</em> </td><td>An event object.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="gcaf24456e2bf85bc5654cbd7d828055f"></a><!-- doxytag: member="yaml.h::yaml_emitter_flush" ref="gcaf24456e2bf85bc5654cbd7d828055f" args="(yaml_emitter_t *emitter)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_emitter_flush </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>emitter</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Flush the accumulated characters to the output. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>emitter</em> </td><td>An emitter object.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/group__events.html b/yaml/doc/html/group__events.html new file mode 100644 index 00000000..a148baa3 --- /dev/null +++ b/yaml/doc/html/group__events.html @@ -0,0 +1,666 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Events</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<h1>Events</h1><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__event__t.html">yaml_event_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The event structure. <a href="structyaml__event__t.html#_details">More...</a><br></td></tr> +<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g73dcc1597e8d66c7e38ee2024c6c2330">yaml_event_type_t</a> { <br> + <b>YAML_NO_EVENT</b>, +<br> + <b>YAML_STREAM_START_EVENT</b>, +<br> + <b>YAML_STREAM_END_EVENT</b>, +<br> + <b>YAML_DOCUMENT_START_EVENT</b>, +<br> + <b>YAML_DOCUMENT_END_EVENT</b>, +<br> + <b>YAML_ALIAS_EVENT</b>, +<br> + <b>YAML_SCALAR_EVENT</b>, +<br> + <b>YAML_SEQUENCE_START_EVENT</b>, +<br> + <b>YAML_SEQUENCE_END_EVENT</b>, +<br> + <b>YAML_MAPPING_START_EVENT</b>, +<br> + <b>YAML_MAPPING_END_EVENT</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Event types. <br></td></tr> +<tr><td colspan="2"><br><h2>Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g0650d255b23d9aae13c839f4ab3ec2ab">yaml_stream_start_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, <a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> encoding)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create the STREAM-START event. <a href="#g0650d255b23d9aae13c839f4ab3ec2ab"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g84cf0c3ff01251c852c71624e64df9fe">yaml_stream_end_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create the STREAM-END event. <a href="#g84cf0c3ff01251c852c71624e64df9fe"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g527e89302e1c969fbea5aa45664bf51c">yaml_document_start_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, <a class="el" href="structyaml__version__directive__t.html">yaml_version_directive_t</a> *version_directive, <a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> *tag_directives_start, <a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> *tag_directives_end, int implicit)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create the DOCUMENT-START event. <a href="#g527e89302e1c969fbea5aa45664bf51c"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g8bae16548ee88f8a5ca15204f8c30344">yaml_document_end_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, int implicit)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create the DOCUMENT-END event. <a href="#g8bae16548ee88f8a5ca15204f8c30344"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#gde4c15b75eb9a8035e04d4f0dd23f005">yaml_alias_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *anchor)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create an ALIAS event. <a href="#gde4c15b75eb9a8035e04d4f0dd23f005"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#gfc60a1a437385e19e6fb3be075958c8c">yaml_scalar_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *anchor, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *tag, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *value, int length, int plain_implicit, int quoted_implicit, <a class="el" href="group__styles.html#g9acbe60304872c11b646d865e175161b">yaml_scalar_style_t</a> style)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a SCALAR event. <a href="#gfc60a1a437385e19e6fb3be075958c8c"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g53aea428c768d7b131923d08c904b4eb">yaml_sequence_start_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *anchor, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *tag, int implicit, <a class="el" href="group__styles.html#g367e05614b94d225b6218f29d6220432">yaml_sequence_style_t</a> style)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a SEQUENCE-START event. <a href="#g53aea428c768d7b131923d08c904b4eb"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g99fdfa4b9d42b64d8171c9b22f334b1c">yaml_sequence_end_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a SEQUENCE-END event. <a href="#g99fdfa4b9d42b64d8171c9b22f334b1c"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g0603cf8d20f0b6dfc3be04b6360134aa">yaml_mapping_start_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *anchor, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *tag, int implicit, <a class="el" href="group__styles.html#g827938389268be54b0a468f2ab7a892b">yaml_mapping_style_t</a> style)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a MAPPING-START event. <a href="#g0603cf8d20f0b6dfc3be04b6360134aa"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g3afaf8b3aca2ec902a4e268f12adb0c2">yaml_mapping_end_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a MAPPING-END event. <a href="#g3afaf8b3aca2ec902a4e268f12adb0c2"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g5330d62ef52856aa53188137cb93a6a1">yaml_event_delete</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Free any memory allocated for an event object. <a href="#g5330d62ef52856aa53188137cb93a6a1"></a><br></td></tr> +</table> +<hr><h2>Function Documentation</h2> +<a class="anchor" name="g0650d255b23d9aae13c839f4ab3ec2ab"></a><!-- doxytag: member="yaml.h::yaml_stream_start_event_initialize" ref="g0650d255b23d9aae13c839f4ab3ec2ab" args="(yaml_event_t *event, yaml_encoding_t encoding)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_stream_start_event_initialize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td> + <td class="mdname" nowrap> <em>event</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> </td> + <td class="mdname" nowrap> <em>encoding</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Create the STREAM-START event. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>event</em> </td><td>An empty event object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>encoding</em> </td><td>The stream encoding.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="g84cf0c3ff01251c852c71624e64df9fe"></a><!-- doxytag: member="yaml.h::yaml_stream_end_event_initialize" ref="g84cf0c3ff01251c852c71624e64df9fe" args="(yaml_event_t *event)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_stream_end_event_initialize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>event</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Create the STREAM-END event. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>event</em> </td><td>An empty event object.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="g527e89302e1c969fbea5aa45664bf51c"></a><!-- doxytag: member="yaml.h::yaml_document_start_event_initialize" ref="g527e89302e1c969fbea5aa45664bf51c" args="(yaml_event_t *event, yaml_version_directive_t *version_directive, yaml_tag_directive_t *tag_directives_start, yaml_tag_directive_t *tag_directives_end, int implicit)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_document_start_event_initialize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td> + <td class="mdname" nowrap> <em>event</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="structyaml__version__directive__t.html">yaml_version_directive_t</a> * </td> + <td class="mdname" nowrap> <em>version_directive</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * </td> + <td class="mdname" nowrap> <em>tag_directives_start</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * </td> + <td class="mdname" nowrap> <em>tag_directives_end</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>int </td> + <td class="mdname" nowrap> <em>implicit</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Create the DOCUMENT-START event. +<p> +The <em>implicit</em> argument is considered as a stylistic parameter and may be ignored by the emitter.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>event</em> </td><td>An empty event object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>version_directive</em> </td><td>The YAML directive value or <code>NULL</code>. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>tag_directives_start</em> </td><td>The beginning of the TAG directives list. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>tag_directives_end</em> </td><td>The end of the TAG directives list. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>implicit</em> </td><td>If the document start indicator is implicit.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="g8bae16548ee88f8a5ca15204f8c30344"></a><!-- doxytag: member="yaml.h::yaml_document_end_event_initialize" ref="g8bae16548ee88f8a5ca15204f8c30344" args="(yaml_event_t *event, int implicit)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_document_end_event_initialize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td> + <td class="mdname" nowrap> <em>event</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>int </td> + <td class="mdname" nowrap> <em>implicit</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Create the DOCUMENT-END event. +<p> +The <em>implicit</em> argument is considered as a stylistic parameter and may be ignored by the emitter.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>event</em> </td><td>An empty event object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>implicit</em> </td><td>If the document end indicator is implicit.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="gde4c15b75eb9a8035e04d4f0dd23f005"></a><!-- doxytag: member="yaml.h::yaml_alias_event_initialize" ref="gde4c15b75eb9a8035e04d4f0dd23f005" args="(yaml_event_t *event, yaml_char_t *anchor)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_alias_event_initialize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td> + <td class="mdname" nowrap> <em>event</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td> + <td class="mdname" nowrap> <em>anchor</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Create an ALIAS event. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>event</em> </td><td>An empty event object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>anchor</em> </td><td>The anchor value.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="gfc60a1a437385e19e6fb3be075958c8c"></a><!-- doxytag: member="yaml.h::yaml_scalar_event_initialize" ref="gfc60a1a437385e19e6fb3be075958c8c" args="(yaml_event_t *event, yaml_char_t *anchor, yaml_char_t *tag, yaml_char_t *value, int length, int plain_implicit, int quoted_implicit, yaml_scalar_style_t style)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_scalar_event_initialize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td> + <td class="mdname" nowrap> <em>event</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td> + <td class="mdname" nowrap> <em>anchor</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td> + <td class="mdname" nowrap> <em>tag</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td> + <td class="mdname" nowrap> <em>value</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>int </td> + <td class="mdname" nowrap> <em>length</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>int </td> + <td class="mdname" nowrap> <em>plain_implicit</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>int </td> + <td class="mdname" nowrap> <em>quoted_implicit</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__styles.html#g9acbe60304872c11b646d865e175161b">yaml_scalar_style_t</a> </td> + <td class="mdname" nowrap> <em>style</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Create a SCALAR event. +<p> +The <em>style</em> argument may be ignored by the emitter.<p> +Either the <em>tag</em> attribute or one of the <em>plain_implicit</em> and <em>quoted_implicit</em> flags must be set.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>event</em> </td><td>An empty event object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>anchor</em> </td><td>The scalar anchor or <code>NULL</code>. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>tag</em> </td><td>The scalar tag or <code>NULL</code>. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>value</em> </td><td>The scalar value. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>length</em> </td><td>The length of the scalar value. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>plain_implicit</em> </td><td>If the tag may be omitted for the plain style. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>quoted_implicit</em> </td><td>If the tag may be omitted for any non-plain style. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>style</em> </td><td>The scalar style.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="g53aea428c768d7b131923d08c904b4eb"></a><!-- doxytag: member="yaml.h::yaml_sequence_start_event_initialize" ref="g53aea428c768d7b131923d08c904b4eb" args="(yaml_event_t *event, yaml_char_t *anchor, yaml_char_t *tag, int implicit, yaml_sequence_style_t style)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_sequence_start_event_initialize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td> + <td class="mdname" nowrap> <em>event</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td> + <td class="mdname" nowrap> <em>anchor</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td> + <td class="mdname" nowrap> <em>tag</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>int </td> + <td class="mdname" nowrap> <em>implicit</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__styles.html#g367e05614b94d225b6218f29d6220432">yaml_sequence_style_t</a> </td> + <td class="mdname" nowrap> <em>style</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Create a SEQUENCE-START event. +<p> +The <em>style</em> argument may be ignored by the emitter.<p> +Either the <em>tag</em> attribute or the <em>implicit</em> flag must be set.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>event</em> </td><td>An empty event object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>anchor</em> </td><td>The sequence anchor or <code>NULL</code>. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>tag</em> </td><td>The sequence tag or <code>NULL</code>. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>implicit</em> </td><td>If the tag may be omitted. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>style</em> </td><td>The sequence style.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="g99fdfa4b9d42b64d8171c9b22f334b1c"></a><!-- doxytag: member="yaml.h::yaml_sequence_end_event_initialize" ref="g99fdfa4b9d42b64d8171c9b22f334b1c" args="(yaml_event_t *event)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_sequence_end_event_initialize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>event</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Create a SEQUENCE-END event. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>event</em> </td><td>An empty event object.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="g0603cf8d20f0b6dfc3be04b6360134aa"></a><!-- doxytag: member="yaml.h::yaml_mapping_start_event_initialize" ref="g0603cf8d20f0b6dfc3be04b6360134aa" args="(yaml_event_t *event, yaml_char_t *anchor, yaml_char_t *tag, int implicit, yaml_mapping_style_t style)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_mapping_start_event_initialize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td> + <td class="mdname" nowrap> <em>event</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td> + <td class="mdname" nowrap> <em>anchor</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td> + <td class="mdname" nowrap> <em>tag</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>int </td> + <td class="mdname" nowrap> <em>implicit</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__styles.html#g827938389268be54b0a468f2ab7a892b">yaml_mapping_style_t</a> </td> + <td class="mdname" nowrap> <em>style</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Create a MAPPING-START event. +<p> +The <em>style</em> argument may be ignored by the emitter.<p> +Either the <em>tag</em> attribute or the <em>implicit</em> flag must be set.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>event</em> </td><td>An empty event object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>anchor</em> </td><td>The mapping anchor or <code>NULL</code>. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>tag</em> </td><td>The mapping tag or <code>NULL</code>. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>implicit</em> </td><td>If the tag may be omitted. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>style</em> </td><td>The mapping style.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="g3afaf8b3aca2ec902a4e268f12adb0c2"></a><!-- doxytag: member="yaml.h::yaml_mapping_end_event_initialize" ref="g3afaf8b3aca2ec902a4e268f12adb0c2" args="(yaml_event_t *event)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_mapping_end_event_initialize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>event</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Create a MAPPING-END event. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>event</em> </td><td>An empty event object.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="g5330d62ef52856aa53188137cb93a6a1"></a><!-- doxytag: member="yaml.h::yaml_event_delete" ref="g5330d62ef52856aa53188137cb93a6a1" args="(yaml_event_t *event)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_event_delete </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>event</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Free any memory allocated for an event object. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>event</em> </td><td>An event object. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/group__export.html b/yaml/doc/html/group__export.html new file mode 100644 index 00000000..30d74245 --- /dev/null +++ b/yaml/doc/html/group__export.html @@ -0,0 +1,27 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Export Definitions</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<h1>Export Definitions</h1><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Defines</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0791fd3e1d85ed53711b1feaae131f93"></a><!-- doxytag: member="export::YAML_DECLARE" ref="g0791fd3e1d85ed53711b1feaae131f93" args="(type)" --> +#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__export.html#g0791fd3e1d85ed53711b1feaae131f93">YAML_DECLARE</a>(type) type</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The public API declaration. <br></td></tr> +</table> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/group__parser.html b/yaml/doc/html/group__parser.html new file mode 100644 index 00000000..9587618d --- /dev/null +++ b/yaml/doc/html/group__parser.html @@ -0,0 +1,514 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Parser Definitions</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<h1>Parser Definitions</h1><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__simple__key__t.html">yaml_simple_key_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">This structure holds information about a potential simple key. <a href="structyaml__simple__key__t.html#_details">More...</a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html">yaml_parser_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The parser structure. <a href="structyaml__parser__t.html#_details">More...</a><br></td></tr> +<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#g4982f7e4e001ddb47d2819f38f0cd9d6">yaml_read_handler_t</a> (void *data, unsigned char *buffer, size_t size, size_t *size_read)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The prototype of a read handler. <a href="#g4982f7e4e001ddb47d2819f38f0cd9d6"></a><br></td></tr> +<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#g56a71944417c2a34bbf183c279960265">yaml_parser_state_t</a> { <br> + <b>YAML_PARSE_STREAM_START_STATE</b>, +<br> + <b>YAML_PARSE_IMPLICIT_DOCUMENT_START_STATE</b>, +<br> + <b>YAML_PARSE_DOCUMENT_START_STATE</b>, +<br> + <b>YAML_PARSE_DOCUMENT_CONTENT_STATE</b>, +<br> + <b>YAML_PARSE_DOCUMENT_END_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_NODE_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_NODE_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_SEQUENCE_ENTRY_STATE</b>, +<br> + <b>YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_MAPPING_KEY_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_MAPPING_VALUE_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_SEQUENCE_ENTRY_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_MAPPING_FIRST_KEY_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_MAPPING_KEY_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_MAPPING_VALUE_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE</b>, +<br> + <b>YAML_PARSE_END_STATE</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The states of the parser. <br></td></tr> +<tr><td colspan="2"><br><h2>Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#gcc37ceeb5847e38a3fe24eb0c9b53965">yaml_parser_initialize</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize a parser. <a href="#gcc37ceeb5847e38a3fe24eb0c9b53965"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#ga27150107c4667c1024ec0651e2ac26b">yaml_parser_delete</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy a parser. <a href="#ga27150107c4667c1024ec0651e2ac26b"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#g23cc4d870bb24dd770a26c2212dc0e3c">yaml_parser_set_input_string</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser, unsigned char *input, size_t size)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a string input. <a href="#g23cc4d870bb24dd770a26c2212dc0e3c"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#gc3f00f8beb2365b1e4569692d64696b6">yaml_parser_set_input_file</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser, FILE *file)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a file input. <a href="#gc3f00f8beb2365b1e4569692d64696b6"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#gbc67581bfa771a3e787d907d6914b8d9">yaml_parser_set_input</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser, <a class="el" href="group__parser.html#g4982f7e4e001ddb47d2819f38f0cd9d6">yaml_read_handler_t</a> *handler, void *data)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a generic input handler. <a href="#gbc67581bfa771a3e787d907d6914b8d9"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#g9565b64975570ed34612a19adf02ae6a">yaml_parser_set_encoding</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser, <a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> encoding)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the source encoding. <a href="#g9565b64975570ed34612a19adf02ae6a"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#g6c2144f131ebd600a075d4ba654540f7">yaml_parser_scan</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser, <a class="el" href="structyaml__token__t.html">yaml_token_t</a> *token)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Scan the input stream and produce the next token. <a href="#g6c2144f131ebd600a075d4ba654540f7"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#g559312fb137533d8b7e07f224fe0ec8f">yaml_parser_parse</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser, <a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Parse the input stream and produce the next parsing event. <a href="#g559312fb137533d8b7e07f224fe0ec8f"></a><br></td></tr> +</table> +<hr><h2>Typedef Documentation</h2> +<a class="anchor" name="g4982f7e4e001ddb47d2819f38f0cd9d6"></a><!-- doxytag: member="yaml.h::yaml_read_handler_t" ref="g4982f7e4e001ddb47d2819f38f0cd9d6" args="(void *data, unsigned char *buffer, size_t size, size_t *size_read)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">typedef int <a class="el" href="group__parser.html#g4982f7e4e001ddb47d2819f38f0cd9d6">yaml_read_handler_t</a>(void *data, unsigned char *buffer, size_t size, size_t *size_read) </td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +The prototype of a read handler. +<p> +The read handler is called when the parser needs to read more bytes from the source. The handler should write not more than <em>size</em> bytes to the <em>buffer</em>. The number of written bytes should be set to the <em>length</em> variable.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>data</em> </td><td>A pointer to an application data specified by <a class="el" href="group__parser.html#gbc67581bfa771a3e787d907d6914b8d9">yaml_parser_set_input()</a>. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>buffer</em> </td><td>The buffer to write the data from the source. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>size</em> </td><td>The size of the buffer. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>size_read</em> </td><td>The actual number of bytes read from the source.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd>On success, the handler should return <code>1</code>. If the handler failed, the returned value should be <code>0</code>. On EOF, the handler should set the <em>size_read</em> to <code>0</code> and return <code>1</code>. </dd></dl> + </td> + </tr> +</table> +<hr><h2>Function Documentation</h2> +<a class="anchor" name="gcc37ceeb5847e38a3fe24eb0c9b53965"></a><!-- doxytag: member="yaml.h::yaml_parser_initialize" ref="gcc37ceeb5847e38a3fe24eb0c9b53965" args="(yaml_parser_t *parser)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_parser_initialize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>parser</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Initialize a parser. +<p> +This function creates a new parser object. An application is responsible for destroying the object using the <a class="el" href="group__parser.html#ga27150107c4667c1024ec0651e2ac26b">yaml_parser_delete()</a> function.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>parser</em> </td><td>An empty parser object.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="ga27150107c4667c1024ec0651e2ac26b"></a><!-- doxytag: member="yaml.h::yaml_parser_delete" ref="ga27150107c4667c1024ec0651e2ac26b" args="(yaml_parser_t *parser)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_parser_delete </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>parser</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Destroy a parser. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>parser</em> </td><td>A parser object. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="g23cc4d870bb24dd770a26c2212dc0e3c"></a><!-- doxytag: member="yaml.h::yaml_parser_set_input_string" ref="g23cc4d870bb24dd770a26c2212dc0e3c" args="(yaml_parser_t *parser, unsigned char *input, size_t size)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_parser_set_input_string </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> * </td> + <td class="mdname" nowrap> <em>parser</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>unsigned char * </td> + <td class="mdname" nowrap> <em>input</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>size_t </td> + <td class="mdname" nowrap> <em>size</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Set a string input. +<p> +Note that the <em>input</em> pointer must be valid while the <em>parser</em> object exists. The application is responsible for destroing <em>input</em> after destroying the <em>parser</em>.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>parser</em> </td><td>A parser object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>input</em> </td><td>A source data. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>size</em> </td><td>The length of the source data in bytes. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="gc3f00f8beb2365b1e4569692d64696b6"></a><!-- doxytag: member="yaml.h::yaml_parser_set_input_file" ref="gc3f00f8beb2365b1e4569692d64696b6" args="(yaml_parser_t *parser, FILE *file)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_parser_set_input_file </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> * </td> + <td class="mdname" nowrap> <em>parser</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>FILE * </td> + <td class="mdname" nowrap> <em>file</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Set a file input. +<p> +<em>file</em> should be a file object open for reading. The application is responsible for closing the <em>file</em>.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>parser</em> </td><td>A parser object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>file</em> </td><td>An open file. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="gbc67581bfa771a3e787d907d6914b8d9"></a><!-- doxytag: member="yaml.h::yaml_parser_set_input" ref="gbc67581bfa771a3e787d907d6914b8d9" args="(yaml_parser_t *parser, yaml_read_handler_t *handler, void *data)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_parser_set_input </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> * </td> + <td class="mdname" nowrap> <em>parser</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__parser.html#g4982f7e4e001ddb47d2819f38f0cd9d6">yaml_read_handler_t</a> * </td> + <td class="mdname" nowrap> <em>handler</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>data</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Set a generic input handler. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>parser</em> </td><td>A parser object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>handler</em> </td><td>A read handler. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>data</em> </td><td>Any application data for passing to the read handler. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="g9565b64975570ed34612a19adf02ae6a"></a><!-- doxytag: member="yaml.h::yaml_parser_set_encoding" ref="g9565b64975570ed34612a19adf02ae6a" args="(yaml_parser_t *parser, yaml_encoding_t encoding)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_parser_set_encoding </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> * </td> + <td class="mdname" nowrap> <em>parser</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> </td> + <td class="mdname" nowrap> <em>encoding</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Set the source encoding. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>parser</em> </td><td>A parser object. </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>encoding</em> </td><td>The source encoding. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="g6c2144f131ebd600a075d4ba654540f7"></a><!-- doxytag: member="yaml.h::yaml_parser_scan" ref="g6c2144f131ebd600a075d4ba654540f7" args="(yaml_parser_t *parser, yaml_token_t *token)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_parser_scan </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> * </td> + <td class="mdname" nowrap> <em>parser</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="structyaml__token__t.html">yaml_token_t</a> * </td> + <td class="mdname" nowrap> <em>token</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Scan the input stream and produce the next token. +<p> +Call the function subsequently to produce a sequence of tokens corresponding to the input stream. The initial token has the type <code>YAML_STREAM_START_TOKEN</code> while the ending token has the type <code>YAML_STREAM_END_TOKEN</code>.<p> +An application is responsible for freeing any buffers associated with the produced token object using the <code>yaml_token_delete</code> function.<p> +An application must not alternate the calls of <a class="el" href="group__parser.html#g6c2144f131ebd600a075d4ba654540f7">yaml_parser_scan()</a> with the calls of <a class="el" href="group__parser.html#g559312fb137533d8b7e07f224fe0ec8f">yaml_parser_parse()</a>. Doing this will break the parser.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>parser</em> </td><td>A parser object. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>token</em> </td><td>An empty token object.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="g559312fb137533d8b7e07f224fe0ec8f"></a><!-- doxytag: member="yaml.h::yaml_parser_parse" ref="g559312fb137533d8b7e07f224fe0ec8f" args="(yaml_parser_t *parser, yaml_event_t *event)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">int yaml_parser_parse </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> * </td> + <td class="mdname" nowrap> <em>parser</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap><a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td> + <td class="mdname" nowrap> <em>event</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Parse the input stream and produce the next parsing event. +<p> +Call the function subsequently to produce a sequence of events corresponding to the input stream. The initial event has the type <code>YAML_STREAM_START_EVENT</code> while the ending event has the type <code>YAML_STREAM_END_EVENT</code>.<p> +An application is responsible for freeing any buffers associated with the produced event object using the <a class="el" href="group__events.html#g5330d62ef52856aa53188137cb93a6a1">yaml_event_delete()</a> function.<p> +An application must not alternate the calls of <a class="el" href="group__parser.html#g6c2144f131ebd600a075d4ba654540f7">yaml_parser_scan()</a> with the calls of <a class="el" href="group__parser.html#g559312fb137533d8b7e07f224fe0ec8f">yaml_parser_parse()</a>. Doing this will break the parser.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>parser</em> </td><td>A parser object. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>event</em> </td><td>An empty event object.</td></tr> + </table> +</dl> +<dl compact><dt><b>Returns:</b></dt><dd><code>1</code> if the function succeeded, <code>0</code> on error. </dd></dl> + </td> + </tr> +</table> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/group__styles.html b/yaml/doc/html/group__styles.html new file mode 100644 index 00000000..2aa518d3 --- /dev/null +++ b/yaml/doc/html/group__styles.html @@ -0,0 +1,59 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Node Styles</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<h1>Node Styles</h1><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__styles.html#g9acbe60304872c11b646d865e175161b">yaml_scalar_style_t</a> { <br> + <b>YAML_ANY_SCALAR_STYLE</b>, +<br> + <b>YAML_PLAIN_SCALAR_STYLE</b>, +<br> + <b>YAML_SINGLE_QUOTED_SCALAR_STYLE</b>, +<br> + <b>YAML_DOUBLE_QUOTED_SCALAR_STYLE</b>, +<br> + <b>YAML_LITERAL_SCALAR_STYLE</b>, +<br> + <b>YAML_FOLDED_SCALAR_STYLE</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Scalar styles. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__styles.html#g367e05614b94d225b6218f29d6220432">yaml_sequence_style_t</a> { <br> + <b>YAML_ANY_SEQUENCE_STYLE</b>, +<br> + <b>YAML_BLOCK_SEQUENCE_STYLE</b>, +<br> + <b>YAML_FLOW_SEQUENCE_STYLE</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sequence styles. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__styles.html#g827938389268be54b0a468f2ab7a892b">yaml_mapping_style_t</a> { <br> + <b>YAML_ANY_MAPPING_STYLE</b>, +<br> + <b>YAML_BLOCK_MAPPING_STYLE</b>, +<br> + <b>YAML_FLOW_MAPPING_STYLE</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Mapping styles. <br></td></tr> +</table> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/group__tokens.html b/yaml/doc/html/group__tokens.html new file mode 100644 index 00000000..5ab21b7c --- /dev/null +++ b/yaml/doc/html/group__tokens.html @@ -0,0 +1,115 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Tokens</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<h1>Tokens</h1><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__token__t.html">yaml_token_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The token structure. <a href="structyaml__token__t.html#_details">More...</a><br></td></tr> +<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokens.html#g7fdf8961586dfc2c447561c5c35ca9fc">yaml_token_type_t</a> { <br> + <b>YAML_NO_TOKEN</b>, +<br> + <b>YAML_STREAM_START_TOKEN</b>, +<br> + <b>YAML_STREAM_END_TOKEN</b>, +<br> + <b>YAML_VERSION_DIRECTIVE_TOKEN</b>, +<br> + <b>YAML_TAG_DIRECTIVE_TOKEN</b>, +<br> + <b>YAML_DOCUMENT_START_TOKEN</b>, +<br> + <b>YAML_DOCUMENT_END_TOKEN</b>, +<br> + <b>YAML_BLOCK_SEQUENCE_START_TOKEN</b>, +<br> + <b>YAML_BLOCK_MAPPING_START_TOKEN</b>, +<br> + <b>YAML_BLOCK_END_TOKEN</b>, +<br> + <b>YAML_FLOW_SEQUENCE_START_TOKEN</b>, +<br> + <b>YAML_FLOW_SEQUENCE_END_TOKEN</b>, +<br> + <b>YAML_FLOW_MAPPING_START_TOKEN</b>, +<br> + <b>YAML_FLOW_MAPPING_END_TOKEN</b>, +<br> + <b>YAML_BLOCK_ENTRY_TOKEN</b>, +<br> + <b>YAML_FLOW_ENTRY_TOKEN</b>, +<br> + <b>YAML_KEY_TOKEN</b>, +<br> + <b>YAML_VALUE_TOKEN</b>, +<br> + <b>YAML_ALIAS_TOKEN</b>, +<br> + <b>YAML_ANCHOR_TOKEN</b>, +<br> + <b>YAML_TAG_TOKEN</b>, +<br> + <b>YAML_SCALAR_TOKEN</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Token types. <br></td></tr> +<tr><td colspan="2"><br><h2>Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokens.html#g3140131870e38e27f92a8fd286e5c004">yaml_token_delete</a> (<a class="el" href="structyaml__token__t.html">yaml_token_t</a> *token)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Free any memory allocated for a token object. <a href="#g3140131870e38e27f92a8fd286e5c004"></a><br></td></tr> +</table> +<hr><h2>Function Documentation</h2> +<a class="anchor" name="g3140131870e38e27f92a8fd286e5c004"></a><!-- doxytag: member="yaml.h::yaml_token_delete" ref="g3140131870e38e27f92a8fd286e5c004" args="(yaml_token_t *token)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_token_delete </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="structyaml__token__t.html">yaml_token_t</a> * </td> + <td class="mdname1" valign="top" nowrap> <em>token</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Free any memory allocated for a token object. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>token</em> </td><td>A token object. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/group__version.html b/yaml/doc/html/group__version.html new file mode 100644 index 00000000..2c9970a9 --- /dev/null +++ b/yaml/doc/html/group__version.html @@ -0,0 +1,113 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Version Information</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<h1>Version Information</h1><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__version.html#gf1ba5c1c34e809db5047d79a9fa85a73">yaml_get_version_string</a> (void)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the library version as a string. <a href="#gf1ba5c1c34e809db5047d79a9fa85a73"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__version.html#gec764c91f3e181ae63d3d59b7980fe78">yaml_get_version</a> (int *major, int *minor, int *patch)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the library version numbers. <a href="#gec764c91f3e181ae63d3d59b7980fe78"></a><br></td></tr> +</table> +<hr><h2>Function Documentation</h2> +<a class="anchor" name="gf1ba5c1c34e809db5047d79a9fa85a73"></a><!-- doxytag: member="yaml.h::yaml_get_version_string" ref="gf1ba5c1c34e809db5047d79a9fa85a73" args="(void)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">const char* yaml_get_version_string </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Get the library version as a string. +<p> +<dl compact><dt><b>Returns:</b></dt><dd>The function returns the pointer to a static string of the form <code>"X.Y.Z"</code>, where <code>X</code> is the major version number, <code>Y</code> is a minor version number, and <code>Z</code> is the patch version number. </dd></dl> + </td> + </tr> +</table> +<a class="anchor" name="gec764c91f3e181ae63d3d59b7980fe78"></a><!-- doxytag: member="yaml.h::yaml_get_version" ref="gec764c91f3e181ae63d3d59b7980fe78" args="(int *major, int *minor, int *patch)" --><p> +<table class="mdTable" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top">void yaml_get_version </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">int * </td> + <td class="mdname" nowrap> <em>major</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>int * </td> + <td class="mdname" nowrap> <em>minor</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td class="md"></td> + <td class="md" nowrap>int * </td> + <td class="mdname" nowrap> <em>patch</em></td> + </tr> + <tr> + <td class="md"></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + </table> + </td> + </tr> +</table> +<table cellspacing="5" cellpadding="0" border="0"> + <tr> + <td> + + </td> + <td> + +<p> +Get the library version numbers. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>major</em> </td><td>Major version number. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>minor</em> </td><td>Minor version number. </td></tr> + <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>patch</em> </td><td>Patch version number. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/hierarchy.html b/yaml/doc/html/hierarchy.html new file mode 100644 index 00000000..e0928928 --- /dev/null +++ b/yaml/doc/html/hierarchy.html @@ -0,0 +1,35 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Hierarchical Index</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li id="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li id="current"><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul></div> +<h1>yaml Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul> +<li><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> +<li><a class="el" href="structyaml__event__t.html">yaml_event_t</a> +<li><a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> +<li><a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> +<li><a class="el" href="structyaml__simple__key__t.html">yaml_simple_key_t</a> +<li><a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> +<li><a class="el" href="structyaml__token__t.html">yaml_token_t</a> +<li><a class="el" href="structyaml__version__directive__t.html">yaml_version_directive_t</a> +</ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:24 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/index.html b/yaml/doc/html/index.html new file mode 100644 index 00000000..23d4377d --- /dev/null +++ b/yaml/doc/html/index.html @@ -0,0 +1,21 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Main Page</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li id="current"><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<h1>yaml Documentation</h1> +<p> +<h3 align="center">0.0.1 </h3><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:24 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/modules.html b/yaml/doc/html/modules.html new file mode 100644 index 00000000..1889627a --- /dev/null +++ b/yaml/doc/html/modules.html @@ -0,0 +1,29 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: Module Index</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li id="current"><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<h1>yaml Modules</h1>Here is a list of all modules:<ul> +<li><a class="el" href="group__export.html">Export Definitions</a> +<li><a class="el" href="group__version.html">Version Information</a> +<li><a class="el" href="group__basic.html">Basic Types</a> +<li><a class="el" href="group__styles.html">Node Styles</a> +<li><a class="el" href="group__tokens.html">Tokens</a> +<li><a class="el" href="group__events.html">Events</a> +<li><a class="el" href="group__parser.html">Parser Definitions</a> +<li><a class="el" href="group__emitter.html">Emitter Definitions</a> +</ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/structyaml__emitter__t.html b/yaml/doc/html/structyaml__emitter__t.html new file mode 100644 index 00000000..a64317c6 --- /dev/null +++ b/yaml/doc/html/structyaml__emitter__t.html @@ -0,0 +1,491 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: yaml_emitter_t Struct Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li id="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul></div> +<h1>yaml_emitter_t Struct Reference<br> +<small> +[<a class="el" href="group__emitter.html">Emitter Definitions</a>]</small> +</h1><!-- doxytag: class="yaml_emitter_t" -->The emitter structure. +<a href="#_details">More...</a> +<p> +<code>#include <yaml.h></code> +<p> +<table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="836048c817fec18d4e7890ef7a9c9a94"></a><!-- doxytag: member="yaml_emitter_t::buffer" ref="836048c817fec18d4e7890ef7a9c9a94" args="" --> +unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#836048c817fec18d4e7890ef7a9c9a94">buffer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The buffer pointer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b8c5c43bcdd7511912254c924c8be7e"></a><!-- doxytag: member="yaml_emitter_t::size" ref="9b8c5c43bcdd7511912254c924c8be7e" args="" --> +size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#9b8c5c43bcdd7511912254c924c8be7e">size</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The buffer size. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3a98588aa51dd43390307979d7591ad9"></a><!-- doxytag: member="yaml_emitter_t::size_written" ref="3a98588aa51dd43390307979d7591ad9" args="" --> +size_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#3a98588aa51dd43390307979d7591ad9">size_written</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The number of written bytes. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="be46332619652f6721ae87cf1c0b7060"></a><!-- doxytag: member="yaml_emitter_t::string" ref="be46332619652f6721ae87cf1c0b7060" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__emitter__t.html#836048c817fec18d4e7890ef7a9c9a94">buffer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The buffer pointer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> size_t <a class="el" href="structyaml__emitter__t.html#9b8c5c43bcdd7511912254c924c8be7e">size</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The buffer size. <br></td></tr> +<tr><td class="memItemLeft" nowrap> size_t * <a class="el" href="structyaml__emitter__t.html#3a98588aa51dd43390307979d7591ad9">size_written</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The number of written bytes. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#be46332619652f6721ae87cf1c0b7060">string</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">String output data. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="584f034eb537f04efc850bf2016e714e"></a><!-- doxytag: member="yaml_emitter_t::file" ref="584f034eb537f04efc850bf2016e714e" args="" --> +FILE * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#584f034eb537f04efc850bf2016e714e">file</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">File output data. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8b8d0f2b87c9c8678da83af6a0183547"></a><!-- doxytag: member="yaml_emitter_t::start" ref="8b8d0f2b87c9c8678da83af6a0183547" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#8b8d0f2b87c9c8678da83af6a0183547">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="493af0cff13d472152702b37804f76c0"></a><!-- doxytag: member="yaml_emitter_t::end" ref="493af0cff13d472152702b37804f76c0" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#493af0cff13d472152702b37804f76c0">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="84c113b1313dca0eb2f18d8578a2acc6"></a><!-- doxytag: member="yaml_emitter_t::pointer" ref="84c113b1313dca0eb2f18d8578a2acc6" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#84c113b1313dca0eb2f18d8578a2acc6">pointer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="559469dd3dc9bb79e293602fb769a973"></a><!-- doxytag: member="yaml_emitter_t::last" ref="559469dd3dc9bb79e293602fb769a973" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#559469dd3dc9bb79e293602fb769a973">last</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The last filled position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f56265226c6e825d7ade739e8dc033b2"></a><!-- doxytag: member="yaml_emitter_t::start" ref="f56265226c6e825d7ade739e8dc033b2" args="" --> +unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#f56265226c6e825d7ade739e8dc033b2">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a38318b91284736867d1edbe1ad6fab"></a><!-- doxytag: member="yaml_emitter_t::end" ref="9a38318b91284736867d1edbe1ad6fab" args="" --> +unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#9a38318b91284736867d1edbe1ad6fab">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="359a34aa8a9b643daf8c017a550b6f4d"></a><!-- doxytag: member="yaml_emitter_t::pointer" ref="359a34aa8a9b643daf8c017a550b6f4d" args="" --> +unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#359a34aa8a9b643daf8c017a550b6f4d">pointer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9423c6ee471dc3b0811ec134c289020"></a><!-- doxytag: member="yaml_emitter_t::last" ref="a9423c6ee471dc3b0811ec134c289020" args="" --> +unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#a9423c6ee471dc3b0811ec134c289020">last</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The last filled position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="329481dc71cd2b929bc94a1dd0e68327"></a><!-- doxytag: member="yaml_emitter_t::start" ref="329481dc71cd2b929bc94a1dd0e68327" args="" --> +<a class="el" href="group__emitter.html#geb3e54c6d786621f007693b2b25f8c6e">yaml_emitter_state_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#329481dc71cd2b929bc94a1dd0e68327">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fe61c2ebd2bf13c99ce1c329b56b0965"></a><!-- doxytag: member="yaml_emitter_t::end" ref="fe61c2ebd2bf13c99ce1c329b56b0965" args="" --> +<a class="el" href="group__emitter.html#geb3e54c6d786621f007693b2b25f8c6e">yaml_emitter_state_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#fe61c2ebd2bf13c99ce1c329b56b0965">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="80438d155b7479531f798b2f3b59112d"></a><!-- doxytag: member="yaml_emitter_t::top" ref="80438d155b7479531f798b2f3b59112d" args="" --> +<a class="el" href="group__emitter.html#geb3e54c6d786621f007693b2b25f8c6e">yaml_emitter_state_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#80438d155b7479531f798b2f3b59112d">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1f8e50776f25a7ef8d5a82872103ef21"></a><!-- doxytag: member="yaml_emitter_t::start" ref="1f8e50776f25a7ef8d5a82872103ef21" args="" --> +<a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#1f8e50776f25a7ef8d5a82872103ef21">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the event queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1d72f2a6361d62f5cf08f0883d417236"></a><!-- doxytag: member="yaml_emitter_t::end" ref="1d72f2a6361d62f5cf08f0883d417236" args="" --> +<a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#1d72f2a6361d62f5cf08f0883d417236">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the event queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa4007bf0267b287af9066f008e6f06f"></a><!-- doxytag: member="yaml_emitter_t::head" ref="fa4007bf0267b287af9066f008e6f06f" args="" --> +<a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#fa4007bf0267b287af9066f008e6f06f">head</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The head of the event queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5be85e6f862f2bc865f8659695dede38"></a><!-- doxytag: member="yaml_emitter_t::tail" ref="5be85e6f862f2bc865f8659695dede38" args="" --> +<a class="el" href="structyaml__event__t.html">yaml_event_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#5be85e6f862f2bc865f8659695dede38">tail</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tail of the event queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="effbde527e58272c37a6e8959801b123"></a><!-- doxytag: member="yaml_emitter_t::start" ref="effbde527e58272c37a6e8959801b123" args="" --> +int * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#effbde527e58272c37a6e8959801b123">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="163bab5138fae869607e3a8c644a7877"></a><!-- doxytag: member="yaml_emitter_t::end" ref="163bab5138fae869607e3a8c644a7877" args="" --> +int * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#163bab5138fae869607e3a8c644a7877">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="92e9953bd29e1aaa7e45b95cf3a56467"></a><!-- doxytag: member="yaml_emitter_t::top" ref="92e9953bd29e1aaa7e45b95cf3a56467" args="" --> +int * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#92e9953bd29e1aaa7e45b95cf3a56467">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2d3e4952f722cf831147c5707f4f43eb"></a><!-- doxytag: member="yaml_emitter_t::start" ref="2d3e4952f722cf831147c5707f4f43eb" args="" --> +<a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#2d3e4952f722cf831147c5707f4f43eb">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the list. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a764c8f0b1df177cfc28871df146fb0"></a><!-- doxytag: member="yaml_emitter_t::end" ref="8a764c8f0b1df177cfc28871df146fb0" args="" --> +<a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#8a764c8f0b1df177cfc28871df146fb0">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the list. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="40584b55360b6a264ca84cf54448706c"></a><!-- doxytag: member="yaml_emitter_t::top" ref="40584b55360b6a264ca84cf54448706c" args="" --> +<a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#40584b55360b6a264ca84cf54448706c">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the list. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="959adf8786178600f7141b712037d8d0"></a><!-- doxytag: member="yaml_emitter_t::anchor" ref="959adf8786178600f7141b712037d8d0" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#959adf8786178600f7141b712037d8d0">anchor</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The anchor value. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39ee45ef6d3256faccbb982cf6411295"></a><!-- doxytag: member="yaml_emitter_t::anchor_length" ref="39ee45ef6d3256faccbb982cf6411295" args="" --> +size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#39ee45ef6d3256faccbb982cf6411295">anchor_length</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The anchor length. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec1c5d1bcda6da6aaab9d4ca6309270a"></a><!-- doxytag: member="yaml_emitter_t::alias" ref="ec1c5d1bcda6da6aaab9d4ca6309270a" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#ec1c5d1bcda6da6aaab9d4ca6309270a">alias</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is it an alias? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d4f582e30b82b213ebd1db405bf6eed"></a><!-- doxytag: member="yaml_emitter_t::handle" ref="8d4f582e30b82b213ebd1db405bf6eed" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#8d4f582e30b82b213ebd1db405bf6eed">handle</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag handle. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7da2554eec00096c94b50a0af5a162d2"></a><!-- doxytag: member="yaml_emitter_t::handle_length" ref="7da2554eec00096c94b50a0af5a162d2" args="" --> +size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#7da2554eec00096c94b50a0af5a162d2">handle_length</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag handle length. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="34071e3dd4839c7807bf3b210bdf6417"></a><!-- doxytag: member="yaml_emitter_t::suffix" ref="34071e3dd4839c7807bf3b210bdf6417" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#34071e3dd4839c7807bf3b210bdf6417">suffix</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag suffix. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7f377fda83d6b2538744b3c94416f9a5"></a><!-- doxytag: member="yaml_emitter_t::suffix_length" ref="7f377fda83d6b2538744b3c94416f9a5" args="" --> +size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#7f377fda83d6b2538744b3c94416f9a5">suffix_length</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag suffix length. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3095efa7aad118b681d9bede68111181"></a><!-- doxytag: member="yaml_emitter_t::value" ref="3095efa7aad118b681d9bede68111181" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#3095efa7aad118b681d9bede68111181">value</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The scalar value. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f5c939d92010fc696fa7bdd9bed43204"></a><!-- doxytag: member="yaml_emitter_t::length" ref="f5c939d92010fc696fa7bdd9bed43204" args="" --> +size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#f5c939d92010fc696fa7bdd9bed43204">length</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The scalar length. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cbc0860115e4e42b0b9f05740d4bb527"></a><!-- doxytag: member="yaml_emitter_t::multiline" ref="cbc0860115e4e42b0b9f05740d4bb527" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#cbc0860115e4e42b0b9f05740d4bb527">multiline</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Does the scalar contain line breaks? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f2fdc4266c36d430c5e070c1622831e8"></a><!-- doxytag: member="yaml_emitter_t::flow_plain_allowed" ref="f2fdc4266c36d430c5e070c1622831e8" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#f2fdc4266c36d430c5e070c1622831e8">flow_plain_allowed</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Can the scalar be expessed in the flow plain style? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="411aa4c824a5495acab6e08ca81cb5bd"></a><!-- doxytag: member="yaml_emitter_t::block_plain_allowed" ref="411aa4c824a5495acab6e08ca81cb5bd" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#411aa4c824a5495acab6e08ca81cb5bd">block_plain_allowed</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Can the scalar be expressed in the block plain style? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6908319bdd51a2dbe88da19bfe534c9"></a><!-- doxytag: member="yaml_emitter_t::single_quoted_allowed" ref="b6908319bdd51a2dbe88da19bfe534c9" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#b6908319bdd51a2dbe88da19bfe534c9">single_quoted_allowed</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Can the scalar be expressed in the single quoted style? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="29b23637a500bd14603d2dc284aa1876"></a><!-- doxytag: member="yaml_emitter_t::block_allowed" ref="29b23637a500bd14603d2dc284aa1876" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#29b23637a500bd14603d2dc284aa1876">block_allowed</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Can the scalar be expressed in the literal or folded styles? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9235d1771561db6ac74ee41c60e39d74"></a><!-- doxytag: member="yaml_emitter_t::style" ref="9235d1771561db6ac74ee41c60e39d74" args="" --> +<a class="el" href="group__styles.html#g9acbe60304872c11b646d865e175161b">yaml_scalar_style_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#9235d1771561db6ac74ee41c60e39d74">style</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The output style. <br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Error handling</div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15aa6c0fd750cbaaf619946733e9f370"></a><!-- doxytag: member="yaml_emitter_t::error" ref="15aa6c0fd750cbaaf619946733e9f370" args="" --> +<a class="el" href="group__basic.html#g57118d795c00ef9a12df13c46a2483c4">yaml_error_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#15aa6c0fd750cbaaf619946733e9f370">error</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Error type. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c78a44f8c27e3b7f22cd1633a5237be"></a><!-- doxytag: member="yaml_emitter_t::problem" ref="0c78a44f8c27e3b7f22cd1633a5237be" args="" --> +const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#0c78a44f8c27e3b7f22cd1633a5237be">problem</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Error description. <br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Writer stuff</div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="08e4f4a787de3c31f5da937d7e1bc149"></a><!-- doxytag: member="yaml_emitter_t::write_handler" ref="08e4f4a787de3c31f5da937d7e1bc149" args="" --> +<a class="el" href="group__emitter.html#g1669659aacbe631ad406c78fce1f5379">yaml_write_handler_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#08e4f4a787de3c31f5da937d7e1bc149">write_handler</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Write handler. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f636bee0c744969e756fec5545d23865"></a><!-- doxytag: member="yaml_emitter_t::write_handler_data" ref="f636bee0c744969e756fec5545d23865" args="" --> +void * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#f636bee0c744969e756fec5545d23865">write_handler_data</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">A pointer for passing to the white handler. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="0b8ecb0d377d0efa25d491efe4d11213"></a><!-- doxytag: member="yaml_emitter_t::output" ref="0b8ecb0d377d0efa25d491efe4d11213" args="" --> +union {</td></tr> + +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__emitter__t.html#836048c817fec18d4e7890ef7a9c9a94">buffer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The buffer pointer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> size_t <a class="el" href="structyaml__emitter__t.html#9b8c5c43bcdd7511912254c924c8be7e">size</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The buffer size. <br></td></tr> +<tr><td class="memItemLeft" nowrap> size_t * <a class="el" href="structyaml__emitter__t.html#3a98588aa51dd43390307979d7591ad9">size_written</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The number of written bytes. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__emitter__t.html#be46332619652f6721ae87cf1c0b7060">string</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">String output data. <br></td></tr> +<tr><td class="memItemLeft" nowrap> FILE * <a class="el" href="structyaml__emitter__t.html#584f034eb537f04efc850bf2016e714e">file</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">File output data. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#0b8ecb0d377d0efa25d491efe4d11213">output</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Standard (string or file) output data. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="0363f2700135da2694377f92a60fb64b"></a><!-- doxytag: member="yaml_emitter_t::buffer" ref="0363f2700135da2694377f92a60fb64b" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__emitter__t.html#8b8d0f2b87c9c8678da83af6a0183547">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__emitter__t.html#493af0cff13d472152702b37804f76c0">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__emitter__t.html#84c113b1313dca0eb2f18d8578a2acc6">pointer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__emitter__t.html#559469dd3dc9bb79e293602fb769a973">last</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The last filled position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#0363f2700135da2694377f92a60fb64b">buffer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The working buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="54d429122259819ef6ab94f612a64469"></a><!-- doxytag: member="yaml_emitter_t::raw_buffer" ref="54d429122259819ef6ab94f612a64469" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__emitter__t.html#f56265226c6e825d7ade739e8dc033b2">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__emitter__t.html#9a38318b91284736867d1edbe1ad6fab">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__emitter__t.html#359a34aa8a9b643daf8c017a550b6f4d">pointer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__emitter__t.html#a9423c6ee471dc3b0811ec134c289020">last</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The last filled position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#54d429122259819ef6ab94f612a64469">raw_buffer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The raw buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="14a60495f5c692e42b66e53c5ba0d745"></a><!-- doxytag: member="yaml_emitter_t::encoding" ref="14a60495f5c692e42b66e53c5ba0d745" args="" --> +<a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#14a60495f5c692e42b66e53c5ba0d745">encoding</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The stream encoding. <br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Emitter stuff</div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="186271bc1667100f329989f5cd7321bc"></a><!-- doxytag: member="yaml_emitter_t::canonical" ref="186271bc1667100f329989f5cd7321bc" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#186271bc1667100f329989f5cd7321bc">canonical</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">If the output is in the canonical style? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cc941eafd7de25b8e8f80ca623f73851"></a><!-- doxytag: member="yaml_emitter_t::best_indent" ref="cc941eafd7de25b8e8f80ca623f73851" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#cc941eafd7de25b8e8f80ca623f73851">best_indent</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The number of indentation spaces. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e3fb4f8cd1e2790351053bf38666c9ad"></a><!-- doxytag: member="yaml_emitter_t::best_width" ref="e3fb4f8cd1e2790351053bf38666c9ad" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#e3fb4f8cd1e2790351053bf38666c9ad">best_width</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The preferred width of the output lines. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31edf22328409ebdc766ef898b4c6f58"></a><!-- doxytag: member="yaml_emitter_t::unicode" ref="31edf22328409ebdc766ef898b4c6f58" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#31edf22328409ebdc766ef898b4c6f58">unicode</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Allow unescaped non-ASCII characters? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cab6708f887bc9a0ac5c0bb5dd85b89e"></a><!-- doxytag: member="yaml_emitter_t::line_break" ref="cab6708f887bc9a0ac5c0bb5dd85b89e" args="" --> +<a class="el" href="group__basic.html#g84f95658c2bc81371ea5b83ecec39f68">yaml_break_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#cab6708f887bc9a0ac5c0bb5dd85b89e">line_break</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The preferred line break. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="fb9eda967d74d9b64b14965a29fae67d"></a><!-- doxytag: member="yaml_emitter_t::states" ref="fb9eda967d74d9b64b14965a29fae67d" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__emitter.html#geb3e54c6d786621f007693b2b25f8c6e">yaml_emitter_state_t</a> * <a class="el" href="structyaml__emitter__t.html#329481dc71cd2b929bc94a1dd0e68327">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__emitter.html#geb3e54c6d786621f007693b2b25f8c6e">yaml_emitter_state_t</a> * <a class="el" href="structyaml__emitter__t.html#fe61c2ebd2bf13c99ce1c329b56b0965">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__emitter.html#geb3e54c6d786621f007693b2b25f8c6e">yaml_emitter_state_t</a> * <a class="el" href="structyaml__emitter__t.html#80438d155b7479531f798b2f3b59112d">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#fb9eda967d74d9b64b14965a29fae67d">states</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The stack of states. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b5dca9e0a49a0f8ba7fb8dc5218ea4ff"></a><!-- doxytag: member="yaml_emitter_t::state" ref="b5dca9e0a49a0f8ba7fb8dc5218ea4ff" args="" --> +<a class="el" href="group__emitter.html#geb3e54c6d786621f007693b2b25f8c6e">yaml_emitter_state_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#b5dca9e0a49a0f8ba7fb8dc5218ea4ff">state</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current emitter state. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="6152b979b75bf73a292db0bff83be649"></a><!-- doxytag: member="yaml_emitter_t::events" ref="6152b979b75bf73a292db0bff83be649" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__event__t.html">yaml_event_t</a> * <a class="el" href="structyaml__emitter__t.html#1f8e50776f25a7ef8d5a82872103ef21">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the event queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__event__t.html">yaml_event_t</a> * <a class="el" href="structyaml__emitter__t.html#1d72f2a6361d62f5cf08f0883d417236">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the event queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__event__t.html">yaml_event_t</a> * <a class="el" href="structyaml__emitter__t.html#fa4007bf0267b287af9066f008e6f06f">head</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The head of the event queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__event__t.html">yaml_event_t</a> * <a class="el" href="structyaml__emitter__t.html#5be85e6f862f2bc865f8659695dede38">tail</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tail of the event queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#6152b979b75bf73a292db0bff83be649">events</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The event queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="247c9d84244d9fff5a79d9b742968ae4"></a><!-- doxytag: member="yaml_emitter_t::indents" ref="247c9d84244d9fff5a79d9b742968ae4" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> int * <a class="el" href="structyaml__emitter__t.html#effbde527e58272c37a6e8959801b123">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap> int * <a class="el" href="structyaml__emitter__t.html#163bab5138fae869607e3a8c644a7877">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap> int * <a class="el" href="structyaml__emitter__t.html#92e9953bd29e1aaa7e45b95cf3a56467">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#247c9d84244d9fff5a79d9b742968ae4">indents</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The stack of indentation levels. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="653012b610601b1fb3c9918648919a52"></a><!-- doxytag: member="yaml_emitter_t::tag_directives" ref="653012b610601b1fb3c9918648919a52" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * <a class="el" href="structyaml__emitter__t.html#2d3e4952f722cf831147c5707f4f43eb">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the list. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * <a class="el" href="structyaml__emitter__t.html#8a764c8f0b1df177cfc28871df146fb0">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the list. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * <a class="el" href="structyaml__emitter__t.html#40584b55360b6a264ca84cf54448706c">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the list. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#653012b610601b1fb3c9918648919a52">tag_directives</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The list of tag directives. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6cbfeabc529180e0328bd28e7283cab9"></a><!-- doxytag: member="yaml_emitter_t::indent" ref="6cbfeabc529180e0328bd28e7283cab9" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#6cbfeabc529180e0328bd28e7283cab9">indent</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current indentation level. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e0f932b23053610d36178dcc30e08404"></a><!-- doxytag: member="yaml_emitter_t::flow_level" ref="e0f932b23053610d36178dcc30e08404" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#e0f932b23053610d36178dcc30e08404">flow_level</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current flow level. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6cd35aed5160dd90d0b128387f5742e"></a><!-- doxytag: member="yaml_emitter_t::root_context" ref="c6cd35aed5160dd90d0b128387f5742e" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#c6cd35aed5160dd90d0b128387f5742e">root_context</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is it the document root context? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1bc1826c90e8281c35fd9e058eec3cf9"></a><!-- doxytag: member="yaml_emitter_t::sequence_context" ref="1bc1826c90e8281c35fd9e058eec3cf9" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#1bc1826c90e8281c35fd9e058eec3cf9">sequence_context</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is it a sequence context? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4774e84cc9ffae368da711ca380b7dd8"></a><!-- doxytag: member="yaml_emitter_t::mapping_context" ref="4774e84cc9ffae368da711ca380b7dd8" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#4774e84cc9ffae368da711ca380b7dd8">mapping_context</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is it a mapping context? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5309af877ce8274a7ad8841913971e71"></a><!-- doxytag: member="yaml_emitter_t::simple_key_context" ref="5309af877ce8274a7ad8841913971e71" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#5309af877ce8274a7ad8841913971e71">simple_key_context</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is it a simple mapping key context? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6382d1e7f25ab6cd363c41b262c87dba"></a><!-- doxytag: member="yaml_emitter_t::line" ref="6382d1e7f25ab6cd363c41b262c87dba" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#6382d1e7f25ab6cd363c41b262c87dba">line</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current line. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e1d917b832e5fcf967cd679bc70d350"></a><!-- doxytag: member="yaml_emitter_t::column" ref="1e1d917b832e5fcf967cd679bc70d350" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#1e1d917b832e5fcf967cd679bc70d350">column</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current column. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="59175a9f05ff9527ce0a9c51b3ca264a"></a><!-- doxytag: member="yaml_emitter_t::whitespace" ref="59175a9f05ff9527ce0a9c51b3ca264a" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#59175a9f05ff9527ce0a9c51b3ca264a">whitespace</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">If the last character was a whitespace? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b94db5a4e99544c35acc4522b7e646c3"></a><!-- doxytag: member="yaml_emitter_t::indention" ref="b94db5a4e99544c35acc4522b7e646c3" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#b94db5a4e99544c35acc4522b7e646c3">indention</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">If the last character was an indentation character (' ', '-', '?', ':')? <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="229857eafe31bfdafa617fd24a6efe4c"></a><!-- doxytag: member="yaml_emitter_t::anchor_data" ref="229857eafe31bfdafa617fd24a6efe4c" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__emitter__t.html#959adf8786178600f7141b712037d8d0">anchor</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The anchor value. <br></td></tr> +<tr><td class="memItemLeft" nowrap> size_t <a class="el" href="structyaml__emitter__t.html#39ee45ef6d3256faccbb982cf6411295">anchor_length</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The anchor length. <br></td></tr> +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__emitter__t.html#ec1c5d1bcda6da6aaab9d4ca6309270a">alias</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is it an alias? <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#229857eafe31bfdafa617fd24a6efe4c">anchor_data</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Anchor analysis. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="f5922f1e93ff9c0c9c5d9512b52c8391"></a><!-- doxytag: member="yaml_emitter_t::tag_data" ref="f5922f1e93ff9c0c9c5d9512b52c8391" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__emitter__t.html#8d4f582e30b82b213ebd1db405bf6eed">handle</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag handle. <br></td></tr> +<tr><td class="memItemLeft" nowrap> size_t <a class="el" href="structyaml__emitter__t.html#7da2554eec00096c94b50a0af5a162d2">handle_length</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag handle length. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__emitter__t.html#34071e3dd4839c7807bf3b210bdf6417">suffix</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag suffix. <br></td></tr> +<tr><td class="memItemLeft" nowrap> size_t <a class="el" href="structyaml__emitter__t.html#7f377fda83d6b2538744b3c94416f9a5">suffix_length</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag suffix length. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#f5922f1e93ff9c0c9c5d9512b52c8391">tag_data</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Tag analysis. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="3c644a3f2e50ce59f8de2c40df09fee1"></a><!-- doxytag: member="yaml_emitter_t::scalar_data" ref="3c644a3f2e50ce59f8de2c40df09fee1" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__emitter__t.html#3095efa7aad118b681d9bede68111181">value</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The scalar value. <br></td></tr> +<tr><td class="memItemLeft" nowrap> size_t <a class="el" href="structyaml__emitter__t.html#f5c939d92010fc696fa7bdd9bed43204">length</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The scalar length. <br></td></tr> +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__emitter__t.html#cbc0860115e4e42b0b9f05740d4bb527">multiline</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Does the scalar contain line breaks? <br></td></tr> +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__emitter__t.html#f2fdc4266c36d430c5e070c1622831e8">flow_plain_allowed</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Can the scalar be expessed in the flow plain style? <br></td></tr> +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__emitter__t.html#411aa4c824a5495acab6e08ca81cb5bd">block_plain_allowed</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Can the scalar be expressed in the block plain style? <br></td></tr> +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__emitter__t.html#b6908319bdd51a2dbe88da19bfe534c9">single_quoted_allowed</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Can the scalar be expressed in the single quoted style? <br></td></tr> +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__emitter__t.html#29b23637a500bd14603d2dc284aa1876">block_allowed</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Can the scalar be expressed in the literal or folded styles? <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__styles.html#g9acbe60304872c11b646d865e175161b">yaml_scalar_style_t</a> <a class="el" href="structyaml__emitter__t.html#9235d1771561db6ac74ee41c60e39d74">style</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The output style. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html#3c644a3f2e50ce59f8de2c40df09fee1">scalar_data</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Scalar analysis. <br></td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +The emitter structure. +<p> +All members are internal. Manage the structure using the <code>yaml_emitter_</code> family of functions. +<p> +<hr>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="yaml_8h.html">yaml.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/structyaml__event__t.html b/yaml/doc/html/structyaml__event__t.html new file mode 100644 index 00000000..ae979c65 --- /dev/null +++ b/yaml/doc/html/structyaml__event__t.html @@ -0,0 +1,166 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: yaml_event_t Struct Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li id="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul></div> +<h1>yaml_event_t Struct Reference<br> +<small> +[<a class="el" href="group__events.html">Events</a>]</small> +</h1><!-- doxytag: class="yaml_event_t" -->The event structure. +<a href="#_details">More...</a> +<p> +<code>#include <yaml.h></code> +<p> +<table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f6d4329f69f507cd9632c0cc96db0b22"></a><!-- doxytag: member="yaml_event_t::type" ref="f6d4329f69f507cd9632c0cc96db0b22" args="" --> +<a class="el" href="group__events.html#g73dcc1597e8d66c7e38ee2024c6c2330">yaml_event_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__event__t.html#f6d4329f69f507cd9632c0cc96db0b22">type</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The event type. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="7b642f274b11cf6c103676653cc03ba9"></a><!-- doxytag: member="yaml_event_t::data" ref="7b642f274b11cf6c103676653cc03ba9" args="" --> +union {</td></tr> + +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> <a class="el" href="structyaml__event__t.html#37c82583e52a6f4f7b6f7978d5640fda">encoding</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The document encoding. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__event__t.html#3f3ad749d9159d2034a0986bab36aa61">stream_start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The stream parameters (for <code>YAML_STREAM_START_EVENT</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__version__directive__t.html">yaml_version_directive_t</a> * <a class="el" href="structyaml__event__t.html#2385c6fd83c6080efd04698c18fd7404">version_directive</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The version directive. <br></td></tr> +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * <a class="el" href="structyaml__event__t.html#37cdb999a3cd6cd9c70b101afec975b5">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the tag directives list. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * <a class="el" href="structyaml__event__t.html#77f285e96cdb60ae3a92289b7dfdc0cf">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the tag directives list. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__event__t.html#c28a12e27c28780e6019893067035191">tag_directives</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The list of tag directives. <br></td></tr> +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__event__t.html#cec307e476596ed48b60eedac9f87bee">implicit</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is the document indicator implicit? <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__event__t.html#c79fcca50b664c5df1b952acdc1bca05">document_start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The document parameters (for <code>YAML_DOCUMENT_START_EVENT</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__event__t.html#cec307e476596ed48b60eedac9f87bee">implicit</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is the document end indicator implicit? <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__event__t.html#74ad81b0bba6778da81aca010c4f16fa">document_end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The document end parameters (for <code>YAML_DOCUMENT_END_EVENT</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__event__t.html#97fb46eb324c3cbb08e8f51279101fb4">anchor</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The anchor. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__event__t.html#db67eb78a75a914aec9c3461e1403694">alias</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The alias parameters (for <code>YAML_ALIAS_EVENT</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__event__t.html#97fb46eb324c3cbb08e8f51279101fb4">anchor</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The anchor. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__event__t.html#93e316ff042eaeb6450da1b9f4053e20">tag</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__event__t.html#9eef8b3ef9341625271da9a3c9a3c085">value</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The scalar value. <br></td></tr> +<tr><td class="memItemLeft" nowrap> size_t <a class="el" href="structyaml__event__t.html#16d50471f65fb608f4323dcd8aa60015">length</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The length of the scalar value. <br></td></tr> +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__event__t.html#ffaf27dc0518af48a24bb6a9e797e69c">plain_implicit</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is the tag optional for the plain style? <br></td></tr> +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__event__t.html#526ac8185d90114b396d65b6ecd82c2d">quoted_implicit</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is the tag optional for any non-plain style? <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__styles.html#g9acbe60304872c11b646d865e175161b">yaml_scalar_style_t</a> <a class="el" href="structyaml__event__t.html#cda1a534b5f65e005c98175402c899f2">style</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The scalar style. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__event__t.html#96de5707a686f89780bc2bf698d379c1">scalar</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The scalar parameters (for <code>YAML_SCALAR_EVENT</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__event__t.html#97fb46eb324c3cbb08e8f51279101fb4">anchor</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The anchor. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__event__t.html#93e316ff042eaeb6450da1b9f4053e20">tag</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag. <br></td></tr> +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__event__t.html#cec307e476596ed48b60eedac9f87bee">implicit</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is the tag optional? <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__styles.html#g367e05614b94d225b6218f29d6220432">yaml_sequence_style_t</a> <a class="el" href="structyaml__event__t.html#47ae4661626411b40d32f214b5e5c173">style</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The sequence style. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__event__t.html#f365d13747f94026ca799a63df2d0214">sequence_start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The sequence parameters (for <code>YAML_SEQUENCE_START_EVENT</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__event__t.html#97fb46eb324c3cbb08e8f51279101fb4">anchor</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The anchor. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__event__t.html#93e316ff042eaeb6450da1b9f4053e20">tag</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag. <br></td></tr> +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__event__t.html#cec307e476596ed48b60eedac9f87bee">implicit</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is the tag optional? <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__styles.html#g827938389268be54b0a468f2ab7a892b">yaml_mapping_style_t</a> <a class="el" href="structyaml__event__t.html#7d41e52a862cf44de6555048e7987824">style</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The mapping style. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__event__t.html#499ac2f8dccc52b237d77349b438938c">mapping_start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The mapping parameters (for <code>YAML_MAPPING_START_EVENT</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__event__t.html#7b642f274b11cf6c103676653cc03ba9">data</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The event data. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fc3a6d11948666f3d2a1cb0c80be169"></a><!-- doxytag: member="yaml_event_t::start_mark" ref="7fc3a6d11948666f3d2a1cb0c80be169" args="" --> +<a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__event__t.html#7fc3a6d11948666f3d2a1cb0c80be169">start_mark</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the token. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dae995b181b6efa452790326f8e25546"></a><!-- doxytag: member="yaml_event_t::end_mark" ref="dae995b181b6efa452790326f8e25546" args="" --> +<a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__event__t.html#dae995b181b6efa452790326f8e25546">end_mark</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the token. <br></td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +The event structure. +<p> +<hr>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="yaml_8h.html">yaml.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/structyaml__mark__t.html b/yaml/doc/html/structyaml__mark__t.html new file mode 100644 index 00000000..0603afb2 --- /dev/null +++ b/yaml/doc/html/structyaml__mark__t.html @@ -0,0 +1,54 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: yaml_mark_t Struct Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li id="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul></div> +<h1>yaml_mark_t Struct Reference<br> +<small> +[<a class="el" href="group__basic.html">Basic Types</a>]</small> +</h1><!-- doxytag: class="yaml_mark_t" -->The pointer position. +<a href="#_details">More...</a> +<p> +<code>#include <yaml.h></code> +<p> +<table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="41b5adaf3ef5dd13666704f61484b67a"></a><!-- doxytag: member="yaml_mark_t::index" ref="41b5adaf3ef5dd13666704f61484b67a" args="" --> +size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__mark__t.html#41b5adaf3ef5dd13666704f61484b67a">index</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The position index. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5eb8eadc39fe4b908e884782302d36f3"></a><!-- doxytag: member="yaml_mark_t::line" ref="5eb8eadc39fe4b908e884782302d36f3" args="" --> +size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__mark__t.html#5eb8eadc39fe4b908e884782302d36f3">line</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The position line. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9fe74c913ea93847949ff5b3555dbbcf"></a><!-- doxytag: member="yaml_mark_t::column" ref="9fe74c913ea93847949ff5b3555dbbcf" args="" --> +size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__mark__t.html#9fe74c913ea93847949ff5b3555dbbcf">column</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The position column. <br></td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +The pointer position. +<p> +<hr>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="yaml_8h.html">yaml.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/structyaml__parser__t.html b/yaml/doc/html/structyaml__parser__t.html new file mode 100644 index 00000000..612945d1 --- /dev/null +++ b/yaml/doc/html/structyaml__parser__t.html @@ -0,0 +1,425 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: yaml_parser_t Struct Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li id="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul></div> +<h1>yaml_parser_t Struct Reference<br> +<small> +[<a class="el" href="group__parser.html">Parser Definitions</a>]</small> +</h1><!-- doxytag: class="yaml_parser_t" -->The parser structure. +<a href="#_details">More...</a> +<p> +<code>#include <yaml.h></code> +<p> +<table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83d0ffa6cf217c12292494bfe6279981"></a><!-- doxytag: member="yaml_parser_t::start" ref="83d0ffa6cf217c12292494bfe6279981" args="" --> +unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#83d0ffa6cf217c12292494bfe6279981">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The string start pointer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1da05518021638ec9239d63f465ead0f"></a><!-- doxytag: member="yaml_parser_t::end" ref="1da05518021638ec9239d63f465ead0f" args="" --> +unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#1da05518021638ec9239d63f465ead0f">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The string end pointer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e6da8bd561ad2497a6e5f9d6d7d45893"></a><!-- doxytag: member="yaml_parser_t::current" ref="e6da8bd561ad2497a6e5f9d6d7d45893" args="" --> +unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#e6da8bd561ad2497a6e5f9d6d7d45893">current</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The string current position. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="17f87e16549463046a9ccb22a365f795"></a><!-- doxytag: member="yaml_parser_t::string" ref="17f87e16549463046a9ccb22a365f795" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__parser__t.html#83d0ffa6cf217c12292494bfe6279981">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The string start pointer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__parser__t.html#1da05518021638ec9239d63f465ead0f">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The string end pointer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__parser__t.html#e6da8bd561ad2497a6e5f9d6d7d45893">current</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The string current position. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#17f87e16549463046a9ccb22a365f795">string</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">String input data. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3f755ce75be1ff051d47bdba1e948e47"></a><!-- doxytag: member="yaml_parser_t::file" ref="3f755ce75be1ff051d47bdba1e948e47" args="" --> +FILE * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#3f755ce75be1ff051d47bdba1e948e47">file</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">File input data. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b65bf24b271c0b36e944c69c15a6794"></a><!-- doxytag: member="yaml_parser_t::start" ref="4b65bf24b271c0b36e944c69c15a6794" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#4b65bf24b271c0b36e944c69c15a6794">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dcd03bfc74c90efba0309d3a55b28de2"></a><!-- doxytag: member="yaml_parser_t::end" ref="dcd03bfc74c90efba0309d3a55b28de2" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#dcd03bfc74c90efba0309d3a55b28de2">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec89aca1b3ebee8bda5bb0e2c9409f7b"></a><!-- doxytag: member="yaml_parser_t::pointer" ref="ec89aca1b3ebee8bda5bb0e2c9409f7b" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#ec89aca1b3ebee8bda5bb0e2c9409f7b">pointer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c1e6b22e5c29c50bfb81c4e5c30d064c"></a><!-- doxytag: member="yaml_parser_t::last" ref="c1e6b22e5c29c50bfb81c4e5c30d064c" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#c1e6b22e5c29c50bfb81c4e5c30d064c">last</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The last filled position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83d0ffa6cf217c12292494bfe6279981"></a><!-- doxytag: member="yaml_parser_t::start" ref="83d0ffa6cf217c12292494bfe6279981" args="" --> +unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#83d0ffa6cf217c12292494bfe6279981">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1da05518021638ec9239d63f465ead0f"></a><!-- doxytag: member="yaml_parser_t::end" ref="1da05518021638ec9239d63f465ead0f" args="" --> +unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#1da05518021638ec9239d63f465ead0f">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="915ea54ff800f87c5cf6cdcfc904e9d1"></a><!-- doxytag: member="yaml_parser_t::pointer" ref="915ea54ff800f87c5cf6cdcfc904e9d1" args="" --> +unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#915ea54ff800f87c5cf6cdcfc904e9d1">pointer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e2b7be04a8bdd3e873f436f1802f902"></a><!-- doxytag: member="yaml_parser_t::last" ref="2e2b7be04a8bdd3e873f436f1802f902" args="" --> +unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#2e2b7be04a8bdd3e873f436f1802f902">last</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The last filled position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5251b8afda856d7da8213163b1d788b"></a><!-- doxytag: member="yaml_parser_t::start" ref="a5251b8afda856d7da8213163b1d788b" args="" --> +<a class="el" href="structyaml__token__t.html">yaml_token_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#a5251b8afda856d7da8213163b1d788b">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the tokens queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f7232abb25cd2caf9721408804751078"></a><!-- doxytag: member="yaml_parser_t::end" ref="f7232abb25cd2caf9721408804751078" args="" --> +<a class="el" href="structyaml__token__t.html">yaml_token_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#f7232abb25cd2caf9721408804751078">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the tokens queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a65a62074f351b7771e5cb6b9ebf943"></a><!-- doxytag: member="yaml_parser_t::head" ref="9a65a62074f351b7771e5cb6b9ebf943" args="" --> +<a class="el" href="structyaml__token__t.html">yaml_token_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#9a65a62074f351b7771e5cb6b9ebf943">head</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The head of the tokens queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="063b8f1fad219dba02df7b3f629b99c8"></a><!-- doxytag: member="yaml_parser_t::tail" ref="063b8f1fad219dba02df7b3f629b99c8" args="" --> +<a class="el" href="structyaml__token__t.html">yaml_token_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#063b8f1fad219dba02df7b3f629b99c8">tail</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tail of the tokens queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="11a25a58e144664230602e14df142cd1"></a><!-- doxytag: member="yaml_parser_t::start" ref="11a25a58e144664230602e14df142cd1" args="" --> +int * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#11a25a58e144664230602e14df142cd1">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="df31b2c378da9da18aeee912595e5698"></a><!-- doxytag: member="yaml_parser_t::end" ref="df31b2c378da9da18aeee912595e5698" args="" --> +int * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#df31b2c378da9da18aeee912595e5698">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="be42188520cfcd71c9a5aa2cf9700721"></a><!-- doxytag: member="yaml_parser_t::top" ref="be42188520cfcd71c9a5aa2cf9700721" args="" --> +int * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#be42188520cfcd71c9a5aa2cf9700721">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="da5af05142038de69b6d0f1b32206fa2"></a><!-- doxytag: member="yaml_parser_t::start" ref="da5af05142038de69b6d0f1b32206fa2" args="" --> +<a class="el" href="structyaml__simple__key__t.html">yaml_simple_key_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#da5af05142038de69b6d0f1b32206fa2">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2314283a7a6e999105479df22c24659b"></a><!-- doxytag: member="yaml_parser_t::end" ref="2314283a7a6e999105479df22c24659b" args="" --> +<a class="el" href="structyaml__simple__key__t.html">yaml_simple_key_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#2314283a7a6e999105479df22c24659b">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="76becbe07801feea81e0a03471f879a5"></a><!-- doxytag: member="yaml_parser_t::top" ref="76becbe07801feea81e0a03471f879a5" args="" --> +<a class="el" href="structyaml__simple__key__t.html">yaml_simple_key_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#76becbe07801feea81e0a03471f879a5">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2f540374923878eac08c375ed20bb0d"></a><!-- doxytag: member="yaml_parser_t::start" ref="a2f540374923878eac08c375ed20bb0d" args="" --> +<a class="el" href="group__parser.html#g56a71944417c2a34bbf183c279960265">yaml_parser_state_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#a2f540374923878eac08c375ed20bb0d">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b474f0cbfd6f4263c4bdb61e31b7675"></a><!-- doxytag: member="yaml_parser_t::end" ref="6b474f0cbfd6f4263c4bdb61e31b7675" args="" --> +<a class="el" href="group__parser.html#g56a71944417c2a34bbf183c279960265">yaml_parser_state_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#6b474f0cbfd6f4263c4bdb61e31b7675">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5cdb21e8e48a5b0b9c2d5ac772071704"></a><!-- doxytag: member="yaml_parser_t::top" ref="5cdb21e8e48a5b0b9c2d5ac772071704" args="" --> +<a class="el" href="group__parser.html#g56a71944417c2a34bbf183c279960265">yaml_parser_state_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#5cdb21e8e48a5b0b9c2d5ac772071704">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8547b360e68899dbb7de1e59f21dd75d"></a><!-- doxytag: member="yaml_parser_t::start" ref="8547b360e68899dbb7de1e59f21dd75d" args="" --> +<a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#8547b360e68899dbb7de1e59f21dd75d">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74fc946b2f9cda5e5d021b8eaa818f5c"></a><!-- doxytag: member="yaml_parser_t::end" ref="74fc946b2f9cda5e5d021b8eaa818f5c" args="" --> +<a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#74fc946b2f9cda5e5d021b8eaa818f5c">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="359919b6b5a30eda9829c675e3d308ad"></a><!-- doxytag: member="yaml_parser_t::top" ref="359919b6b5a30eda9829c675e3d308ad" args="" --> +<a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#359919b6b5a30eda9829c675e3d308ad">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e5f69d2f5e1db476c4ab3efcd256b6fb"></a><!-- doxytag: member="yaml_parser_t::start" ref="e5f69d2f5e1db476c4ab3efcd256b6fb" args="" --> +<a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#e5f69d2f5e1db476c4ab3efcd256b6fb">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the list. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="04948f3623b3b950ffc3d7ba6dcb2f59"></a><!-- doxytag: member="yaml_parser_t::end" ref="04948f3623b3b950ffc3d7ba6dcb2f59" args="" --> +<a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#04948f3623b3b950ffc3d7ba6dcb2f59">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the list. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c8c586bff934647a271b10df8d446deb"></a><!-- doxytag: member="yaml_parser_t::top" ref="c8c586bff934647a271b10df8d446deb" args="" --> +<a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#c8c586bff934647a271b10df8d446deb">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the list. <br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Error handling</div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ee9497ef8fec47f6fec68ffada3fdb7f"></a><!-- doxytag: member="yaml_parser_t::error" ref="ee9497ef8fec47f6fec68ffada3fdb7f" args="" --> +<a class="el" href="group__basic.html#g57118d795c00ef9a12df13c46a2483c4">yaml_error_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#ee9497ef8fec47f6fec68ffada3fdb7f">error</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Error type. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="037f744a04b80f19a2e9ef58d1630309"></a><!-- doxytag: member="yaml_parser_t::problem" ref="037f744a04b80f19a2e9ef58d1630309" args="" --> +const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#037f744a04b80f19a2e9ef58d1630309">problem</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Error description. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="724e2062a691633dc25642095af8857d"></a><!-- doxytag: member="yaml_parser_t::problem_offset" ref="724e2062a691633dc25642095af8857d" args="" --> +size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#724e2062a691633dc25642095af8857d">problem_offset</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The byte about which the problem occured. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68540bea36d78f95e3038285cd348dc9"></a><!-- doxytag: member="yaml_parser_t::problem_value" ref="68540bea36d78f95e3038285cd348dc9" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#68540bea36d78f95e3038285cd348dc9">problem_value</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The problematic value (<code>-1</code> is none). <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="034175a53067b791bf3ae235d6ba905c"></a><!-- doxytag: member="yaml_parser_t::problem_mark" ref="034175a53067b791bf3ae235d6ba905c" args="" --> +<a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#034175a53067b791bf3ae235d6ba905c">problem_mark</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The problem position. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1868c083ec443f924e10872d7ff4ceaf"></a><!-- doxytag: member="yaml_parser_t::context" ref="1868c083ec443f924e10872d7ff4ceaf" args="" --> +const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#1868c083ec443f924e10872d7ff4ceaf">context</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The error context. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="de92b0438da8b0f43dc9bdc2596a0f8e"></a><!-- doxytag: member="yaml_parser_t::context_mark" ref="de92b0438da8b0f43dc9bdc2596a0f8e" args="" --> +<a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#de92b0438da8b0f43dc9bdc2596a0f8e">context_mark</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The context position. <br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Reader stuff</div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7b057c77542d0723465a424b2502b85d"></a><!-- doxytag: member="yaml_parser_t::read_handler" ref="7b057c77542d0723465a424b2502b85d" args="" --> +<a class="el" href="group__parser.html#g4982f7e4e001ddb47d2819f38f0cd9d6">yaml_read_handler_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#7b057c77542d0723465a424b2502b85d">read_handler</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Read handler. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4157dbd91ce20caa5b4b4a69dca3d1f"></a><!-- doxytag: member="yaml_parser_t::read_handler_data" ref="e4157dbd91ce20caa5b4b4a69dca3d1f" args="" --> +void * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#e4157dbd91ce20caa5b4b4a69dca3d1f">read_handler_data</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">A pointer for passing to the read handler. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="a347278d02bd0a3d241bf83543942bef"></a><!-- doxytag: member="yaml_parser_t::input" ref="a347278d02bd0a3d241bf83543942bef" args="" --> +union {</td></tr> + +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__parser__t.html#83d0ffa6cf217c12292494bfe6279981">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The string start pointer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__parser__t.html#1da05518021638ec9239d63f465ead0f">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The string end pointer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__parser__t.html#e6da8bd561ad2497a6e5f9d6d7d45893">current</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The string current position. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__parser__t.html#17f87e16549463046a9ccb22a365f795">string</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">String input data. <br></td></tr> +<tr><td class="memItemLeft" nowrap> FILE * <a class="el" href="structyaml__parser__t.html#3f755ce75be1ff051d47bdba1e948e47">file</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">File input data. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#a347278d02bd0a3d241bf83543942bef">input</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Standard (string or file) input data. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e0fd58f2720f1fa49b101a9615094f1"></a><!-- doxytag: member="yaml_parser_t::eof" ref="3e0fd58f2720f1fa49b101a9615094f1" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#3e0fd58f2720f1fa49b101a9615094f1">eof</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">EOF flag. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="ae020932a45ee17d561781eb90e5f3b6"></a><!-- doxytag: member="yaml_parser_t::buffer" ref="ae020932a45ee17d561781eb90e5f3b6" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__parser__t.html#4b65bf24b271c0b36e944c69c15a6794">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__parser__t.html#dcd03bfc74c90efba0309d3a55b28de2">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__parser__t.html#ec89aca1b3ebee8bda5bb0e2c9409f7b">pointer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__parser__t.html#c1e6b22e5c29c50bfb81c4e5c30d064c">last</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The last filled position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#ae020932a45ee17d561781eb90e5f3b6">buffer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The working buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="591b357d1a24d86fde2b7ffb9c56da9c"></a><!-- doxytag: member="yaml_parser_t::unread" ref="591b357d1a24d86fde2b7ffb9c56da9c" args="" --> +size_t </td><td class="memItemRight" valign="bottom"><b>unread</b></td></tr> + +<tr><td class="memItemLeft" nowrap><a class="anchor" name="f5e48e5b91c34514a5d47819e3e28c70"></a><!-- doxytag: member="yaml_parser_t::raw_buffer" ref="f5e48e5b91c34514a5d47819e3e28c70" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__parser__t.html#83d0ffa6cf217c12292494bfe6279981">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__parser__t.html#1da05518021638ec9239d63f465ead0f">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__parser__t.html#915ea54ff800f87c5cf6cdcfc904e9d1">pointer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap> unsigned char * <a class="el" href="structyaml__parser__t.html#2e2b7be04a8bdd3e873f436f1802f902">last</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The last filled position of the buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#f5e48e5b91c34514a5d47819e3e28c70">raw_buffer</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The raw buffer. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7733d004132d28698cf0db546f9bf33c"></a><!-- doxytag: member="yaml_parser_t::encoding" ref="7733d004132d28698cf0db546f9bf33c" args="" --> +<a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#7733d004132d28698cf0db546f9bf33c">encoding</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The input encoding. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="30e6ad0588136403ee0fbbe80a34eb43"></a><!-- doxytag: member="yaml_parser_t::offset" ref="30e6ad0588136403ee0fbbe80a34eb43" args="" --> +size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#30e6ad0588136403ee0fbbe80a34eb43">offset</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The offset of the current position (in bytes). <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96cd421db39f89baa1bc38a99c8e6882"></a><!-- doxytag: member="yaml_parser_t::mark" ref="96cd421db39f89baa1bc38a99c8e6882" args="" --> +<a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#96cd421db39f89baa1bc38a99c8e6882">mark</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The mark of the current position. <br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Scanner stuff</div></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="19ef5b98fd13c5cb11f1123df5a97112"></a><!-- doxytag: member="yaml_parser_t::stream_start_produced" ref="19ef5b98fd13c5cb11f1123df5a97112" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#19ef5b98fd13c5cb11f1123df5a97112">stream_start_produced</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Have we started to scan the input stream? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="63ecfc3f8478962265ea8cd1b6958966"></a><!-- doxytag: member="yaml_parser_t::stream_end_produced" ref="63ecfc3f8478962265ea8cd1b6958966" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#63ecfc3f8478962265ea8cd1b6958966">stream_end_produced</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Have we reached the end of the input stream? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="70cbc299bab2fe99937beef6e7941712"></a><!-- doxytag: member="yaml_parser_t::flow_level" ref="70cbc299bab2fe99937beef6e7941712" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#70cbc299bab2fe99937beef6e7941712">flow_level</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The number of unclosed '[' and '{' indicators. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="dc1a7b98e008e2b8a631fa56918f4ea8"></a><!-- doxytag: member="yaml_parser_t::tokens" ref="dc1a7b98e008e2b8a631fa56918f4ea8" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__token__t.html">yaml_token_t</a> * <a class="el" href="structyaml__parser__t.html#a5251b8afda856d7da8213163b1d788b">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the tokens queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__token__t.html">yaml_token_t</a> * <a class="el" href="structyaml__parser__t.html#f7232abb25cd2caf9721408804751078">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the tokens queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__token__t.html">yaml_token_t</a> * <a class="el" href="structyaml__parser__t.html#9a65a62074f351b7771e5cb6b9ebf943">head</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The head of the tokens queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__token__t.html">yaml_token_t</a> * <a class="el" href="structyaml__parser__t.html#063b8f1fad219dba02df7b3f629b99c8">tail</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tail of the tokens queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#dc1a7b98e008e2b8a631fa56918f4ea8">tokens</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tokens queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ebe804b3eba29202c24b39987233ff83"></a><!-- doxytag: member="yaml_parser_t::tokens_parsed" ref="ebe804b3eba29202c24b39987233ff83" args="" --> +size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#ebe804b3eba29202c24b39987233ff83">tokens_parsed</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The number of tokens fetched from the queue. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="20d8334df3355eda880e95cda1bbe2d9"></a><!-- doxytag: member="yaml_parser_t::token_available" ref="20d8334df3355eda880e95cda1bbe2d9" args="" --> +int </td><td class="memItemRight" valign="bottom"><b>token_available</b></td></tr> + +<tr><td class="memItemLeft" nowrap><a class="anchor" name="f40c335c5523c1c3bf080a7fb183f944"></a><!-- doxytag: member="yaml_parser_t::indents" ref="f40c335c5523c1c3bf080a7fb183f944" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> int * <a class="el" href="structyaml__parser__t.html#11a25a58e144664230602e14df142cd1">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap> int * <a class="el" href="structyaml__parser__t.html#df31b2c378da9da18aeee912595e5698">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap> int * <a class="el" href="structyaml__parser__t.html#be42188520cfcd71c9a5aa2cf9700721">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#f40c335c5523c1c3bf080a7fb183f944">indents</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The indentation levels stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4aee3622a5d9be376a4020428f44e863"></a><!-- doxytag: member="yaml_parser_t::indent" ref="4aee3622a5d9be376a4020428f44e863" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#4aee3622a5d9be376a4020428f44e863">indent</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current indentation level. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7ca490b12aefefe24569cc002435f182"></a><!-- doxytag: member="yaml_parser_t::simple_key_allowed" ref="7ca490b12aefefe24569cc002435f182" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#7ca490b12aefefe24569cc002435f182">simple_key_allowed</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">May a simple key occur at the current position? <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="21caa3227bacc2abff7c4b3a0eccb0eb"></a><!-- doxytag: member="yaml_parser_t::simple_keys" ref="21caa3227bacc2abff7c4b3a0eccb0eb" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__simple__key__t.html">yaml_simple_key_t</a> * <a class="el" href="structyaml__parser__t.html#da5af05142038de69b6d0f1b32206fa2">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__simple__key__t.html">yaml_simple_key_t</a> * <a class="el" href="structyaml__parser__t.html#2314283a7a6e999105479df22c24659b">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__simple__key__t.html">yaml_simple_key_t</a> * <a class="el" href="structyaml__parser__t.html#76becbe07801feea81e0a03471f879a5">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#21caa3227bacc2abff7c4b3a0eccb0eb">simple_keys</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The stack of simple keys. <br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Parser stuff</div></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="f93784917a65d936274e630fb323173e"></a><!-- doxytag: member="yaml_parser_t::states" ref="f93784917a65d936274e630fb323173e" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__parser.html#g56a71944417c2a34bbf183c279960265">yaml_parser_state_t</a> * <a class="el" href="structyaml__parser__t.html#a2f540374923878eac08c375ed20bb0d">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__parser.html#g56a71944417c2a34bbf183c279960265">yaml_parser_state_t</a> * <a class="el" href="structyaml__parser__t.html#6b474f0cbfd6f4263c4bdb61e31b7675">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__parser.html#g56a71944417c2a34bbf183c279960265">yaml_parser_state_t</a> * <a class="el" href="structyaml__parser__t.html#5cdb21e8e48a5b0b9c2d5ac772071704">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#f93784917a65d936274e630fb323173e">states</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The parser states stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e95475ec5152d1a2a6f03a460691e51"></a><!-- doxytag: member="yaml_parser_t::state" ref="6e95475ec5152d1a2a6f03a460691e51" args="" --> +<a class="el" href="group__parser.html#g56a71944417c2a34bbf183c279960265">yaml_parser_state_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#6e95475ec5152d1a2a6f03a460691e51">state</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The current parser state. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="bf541d436f5cfb9c126857377ba68cc6"></a><!-- doxytag: member="yaml_parser_t::marks" ref="bf541d436f5cfb9c126857377ba68cc6" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> * <a class="el" href="structyaml__parser__t.html#8547b360e68899dbb7de1e59f21dd75d">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> * <a class="el" href="structyaml__parser__t.html#74fc946b2f9cda5e5d021b8eaa818f5c">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> * <a class="el" href="structyaml__parser__t.html#359919b6b5a30eda9829c675e3d308ad">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the stack. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#bf541d436f5cfb9c126857377ba68cc6">marks</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The stack of marks. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="9850d55d9cf6471ebaf0fd84ad9b1b9b"></a><!-- doxytag: member="yaml_parser_t::tag_directives" ref="9850d55d9cf6471ebaf0fd84ad9b1b9b" args="" --> +struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * <a class="el" href="structyaml__parser__t.html#e5f69d2f5e1db476c4ab3efcd256b6fb">start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the list. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * <a class="el" href="structyaml__parser__t.html#04948f3623b3b950ffc3d7ba6dcb2f59">end</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the list. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> * <a class="el" href="structyaml__parser__t.html#c8c586bff934647a271b10df8d446deb">top</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The top of the list. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html#9850d55d9cf6471ebaf0fd84ad9b1b9b">tag_directives</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The list of TAG directives. <br></td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +The parser structure. +<p> +All members are internal. Manage the structure using the <code>yaml_parser_</code> family of functions. +<p> +<hr>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="yaml_8h.html">yaml.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/structyaml__simple__key__t.html b/yaml/doc/html/structyaml__simple__key__t.html new file mode 100644 index 00000000..205a1cb1 --- /dev/null +++ b/yaml/doc/html/structyaml__simple__key__t.html @@ -0,0 +1,58 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: yaml_simple_key_t Struct Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li id="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul></div> +<h1>yaml_simple_key_t Struct Reference<br> +<small> +[<a class="el" href="group__parser.html">Parser Definitions</a>]</small> +</h1><!-- doxytag: class="yaml_simple_key_t" -->This structure holds information about a potential simple key. +<a href="#_details">More...</a> +<p> +<code>#include <yaml.h></code> +<p> +<table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6dd09414928d3d2d2dd940172e17b13"></a><!-- doxytag: member="yaml_simple_key_t::possible" ref="b6dd09414928d3d2d2dd940172e17b13" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__simple__key__t.html#b6dd09414928d3d2d2dd940172e17b13">possible</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is a simple key possible? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="372362f91d38bc37d0d7f440fa706e38"></a><!-- doxytag: member="yaml_simple_key_t::required" ref="372362f91d38bc37d0d7f440fa706e38" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__simple__key__t.html#372362f91d38bc37d0d7f440fa706e38">required</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Is a simple key required? <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d421f7aa43b989a78341269bb0c9b298"></a><!-- doxytag: member="yaml_simple_key_t::token_number" ref="d421f7aa43b989a78341269bb0c9b298" args="" --> +size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__simple__key__t.html#d421f7aa43b989a78341269bb0c9b298">token_number</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The number of the token. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="58e34cff446ae3ebafc82eda248461b8"></a><!-- doxytag: member="yaml_simple_key_t::mark" ref="58e34cff446ae3ebafc82eda248461b8" args="" --> +<a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__simple__key__t.html#58e34cff446ae3ebafc82eda248461b8">mark</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The position mark. <br></td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +This structure holds information about a potential simple key. +<p> +<hr>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="yaml_8h.html">yaml.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/structyaml__tag__directive__t.html b/yaml/doc/html/structyaml__tag__directive__t.html new file mode 100644 index 00000000..8f3511d2 --- /dev/null +++ b/yaml/doc/html/structyaml__tag__directive__t.html @@ -0,0 +1,50 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: yaml_tag_directive_t Struct Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li id="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul></div> +<h1>yaml_tag_directive_t Struct Reference<br> +<small> +[<a class="el" href="group__basic.html">Basic Types</a>]</small> +</h1><!-- doxytag: class="yaml_tag_directive_t" -->The tag directive data. +<a href="#_details">More...</a> +<p> +<code>#include <yaml.h></code> +<p> +<table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ac806ae5765aae2df7a28b423f89b65a"></a><!-- doxytag: member="yaml_tag_directive_t::handle" ref="ac806ae5765aae2df7a28b423f89b65a" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__tag__directive__t.html#ac806ae5765aae2df7a28b423f89b65a">handle</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag handle. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e0adfd6caac102dc9449bb902866dea4"></a><!-- doxytag: member="yaml_tag_directive_t::prefix" ref="e0adfd6caac102dc9449bb902866dea4" args="" --> +<a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__tag__directive__t.html#e0adfd6caac102dc9449bb902866dea4">prefix</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag prefix. <br></td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +The tag directive data. +<p> +<hr>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="yaml_8h.html">yaml.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/structyaml__token__t.html b/yaml/doc/html/structyaml__token__t.html new file mode 100644 index 00000000..825659fb --- /dev/null +++ b/yaml/doc/html/structyaml__token__t.html @@ -0,0 +1,131 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: yaml_token_t Struct Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li id="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul></div> +<h1>yaml_token_t Struct Reference<br> +<small> +[<a class="el" href="group__tokens.html">Tokens</a>]</small> +</h1><!-- doxytag: class="yaml_token_t" -->The token structure. +<a href="#_details">More...</a> +<p> +<code>#include <yaml.h></code> +<p> +<table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4200f2a88000349f98fcc7961e414bd"></a><!-- doxytag: member="yaml_token_t::type" ref="d4200f2a88000349f98fcc7961e414bd" args="" --> +<a class="el" href="group__tokens.html#g7fdf8961586dfc2c447561c5c35ca9fc">yaml_token_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__token__t.html#d4200f2a88000349f98fcc7961e414bd">type</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The token type. <br></td></tr> +<tr><td class="memItemLeft" nowrap><a class="anchor" name="2bd16327d2b845fc1c7439e55c8fa079"></a><!-- doxytag: member="yaml_token_t::data" ref="2bd16327d2b845fc1c7439e55c8fa079" args="" --> +union {</td></tr> + +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> <a class="el" href="structyaml__token__t.html#397ca251d393e85d40b8c4bcee7ffd53">encoding</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The stream encoding. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__token__t.html#1519088fd2b7dc1b630a817e5b4d2a8b">stream_start</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The stream start (for <code>YAML_STREAM_START_TOKEN</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__token__t.html#324f075137d3200b72493f81c7818e8c">value</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The alias value. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__token__t.html#899518a6ae62f254b26d5246ba34ebe9">alias</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The alias (for <code>YAML_ALIAS_TOKEN</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__token__t.html#324f075137d3200b72493f81c7818e8c">value</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The anchor value. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__token__t.html#4a2b59896df5a52b98f41fb070bdbdae">anchor</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The anchor (for <code>YAML_ANCHOR_TOKEN</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__token__t.html#c24d46a632072b8d61ff3af5ad62345a">handle</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag handle. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__token__t.html#088e922840e8e2a895cc0fd70e865241">suffix</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag suffix. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__token__t.html#ccf70a72fb7799f7c03c6fa1561c0ce3">tag</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag (for <code>YAML_TAG_TOKEN</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__token__t.html#324f075137d3200b72493f81c7818e8c">value</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The scalar value. <br></td></tr> +<tr><td class="memItemLeft" nowrap> size_t <a class="el" href="structyaml__token__t.html#ba7b1ad4a642d792527ba1dc33b81dca">length</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The length of the scalar value. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__styles.html#g9acbe60304872c11b646d865e175161b">yaml_scalar_style_t</a> <a class="el" href="structyaml__token__t.html#36632f17e13df01a6fc37dc7055f6293">style</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The scalar style. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__token__t.html#a9dfb02260e2bf99e1fbd315dc584614">scalar</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The scalar value (for <code>YAML_SCALAR_TOKEN</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__token__t.html#115e41bf7377e9ec53b91c01c727e0ec">major</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The major version number. <br></td></tr> +<tr><td class="memItemLeft" nowrap> int <a class="el" href="structyaml__token__t.html#229f697148b46de3802ed94bf39034e3">minor</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The minor version number. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__token__t.html#27d7f2f5bcdea493222a31b47a3f4899">version_directive</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The version directive (for <code>YAML_VERSION_DIRECTIVE_TOKEN</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap> struct {</td></tr> + +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__token__t.html#c24d46a632072b8d61ff3af5ad62345a">handle</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag handle. <br></td></tr> +<tr><td class="memItemLeft" nowrap> <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> * <a class="el" href="structyaml__token__t.html#d8712a6e1b711494713b4dde7a20583d">prefix</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag prefix. <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top"> } <a class="el" href="structyaml__token__t.html#a7ae6a52d3541a9f04abbee5752ff9f7">tag_directive</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag directive (for <code>YAML_TAG_DIRECTIVE_TOKEN</code>). <br></td></tr> +<tr><td class="memItemLeft" nowrap valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__token__t.html#2bd16327d2b845fc1c7439e55c8fa079">data</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The token data. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e6261e8dcafe5d5ab362de13de4b5cc"></a><!-- doxytag: member="yaml_token_t::start_mark" ref="5e6261e8dcafe5d5ab362de13de4b5cc" args="" --> +<a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__token__t.html#5e6261e8dcafe5d5ab362de13de4b5cc">start_mark</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The beginning of the token. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="765f94c06b32664123d546aeb5c4f2c5"></a><!-- doxytag: member="yaml_token_t::end_mark" ref="765f94c06b32664123d546aeb5c4f2c5" args="" --> +<a class="el" href="structyaml__mark__t.html">yaml_mark_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__token__t.html#765f94c06b32664123d546aeb5c4f2c5">end_mark</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The end of the token. <br></td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +The token structure. +<p> +<hr>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="yaml_8h.html">yaml.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/structyaml__version__directive__t.html b/yaml/doc/html/structyaml__version__directive__t.html new file mode 100644 index 00000000..63c53295 --- /dev/null +++ b/yaml/doc/html/structyaml__version__directive__t.html @@ -0,0 +1,50 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: yaml_version_directive_t Struct Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li id="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul></div> +<h1>yaml_version_directive_t Struct Reference<br> +<small> +[<a class="el" href="group__basic.html">Basic Types</a>]</small> +</h1><!-- doxytag: class="yaml_version_directive_t" -->The version directive data. +<a href="#_details">More...</a> +<p> +<code>#include <yaml.h></code> +<p> +<table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="47f1c000f6909c03643a60c319b9344e"></a><!-- doxytag: member="yaml_version_directive_t::major" ref="47f1c000f6909c03643a60c319b9344e" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__version__directive__t.html#47f1c000f6909c03643a60c319b9344e">major</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The major version number. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e0f71ecabd536352be1f2e8f922e678"></a><!-- doxytag: member="yaml_version_directive_t::minor" ref="1e0f71ecabd536352be1f2e8f922e678" args="" --> +int </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__version__directive__t.html#1e0f71ecabd536352be1f2e8f922e678">minor</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The minor version number. <br></td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +The version directive data. +<p> +<hr>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="yaml_8h.html">yaml.h</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:25 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/doc/html/tab_b.gif b/yaml/doc/html/tab_b.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d623483ffdf5f9f96900108042a7ab0643fe2a3 GIT binary patch literal 35 ocmZ?wbhEHbWMp7uXkcJy*>IeJfkB6Xfq?-e!obAj!pL9^0B{)u*Z=?k literal 0 HcmV?d00001 diff --git a/yaml/doc/html/tab_l.gif b/yaml/doc/html/tab_l.gif new file mode 100644 index 0000000000000000000000000000000000000000..9b1e6337c9299a700401a2a78a2c6ffced475216 GIT binary patch literal 706 zcmZ?wbhEHb<Ydrcyvo4v?fcJ<U%r3)@$1juf4_eJ`T6VjkDtF@z5o3F^S5JH?_aw2 z?8c*)_nyDK`|QorHy>ZT`}F1e&(Gg}Y(8=I;HA5#Z$3JI=gGB)FQ#odI(O&E^@q;x zK6mr*m3xOS-#u~t!I@i+u0DKm^U160k6t`|^WpV}&n+8{U%dD9&a>B#U%!9-@yol< zU%&tQ{rk_K|NsC0`}dE5ET99@1@a36+kb~?0UJ*yc&I3<Iu|m8F^i=dNky#fI>X_m z!ND^5$O7$#8OFRuDhG}!?8z?cdZK&!`PWjdR;Aj<HMRAOHSFwlg&O=yJSu4|>^wZ` zeK{IEYHBJ)6K8VIp1`BVt++swf6<cJ)hiY+En2&3!^-t78`rPdvTXbAU7OdfUcPVJ z;X?=ZZ`yhM$mwI7&YV2A_0rz6ds?oXxP1M>j+=L{p1*nO(VhE`pFexG@5$|>uaCcd z`0m=9m+yak{QmXN#Sc$^{$X9h9&q2jiKAI|&T)a;PPx2K9p`YIdw8HtR5k2Q$2-O2 z*;3y{MQ-RnJTgJfI&R5|O)AHxDf_00XbPvDZPy4t=hHd)nfLPvms&O`Ok(sD()5v$ z5U@&h;a=#xbxVbo2~X&Xj0Ie(f{v>vERH+qC+nTG=B8Nca=wU-O$?1&vUgV~9=!H; zx>3p9Yn%*<>t~sk+<x{_disG_MwK;NRGTB-KGMsKUK1-5xpwNQwElUnufJxeizRGr zYqP3){ru8A>&0xfyS8RsPfYBd<~wWK%j-LmpU>O7yX^h#UCp1x-p#i7@bE;py8XI6 zmY<)m>~)W~yIWcMVoiPg{duuf<*)9qZ9l$m*Ph&W&$jlv*Vpa+{pH@n=IQ$L?0$ax ec60Ul|8o2P|NVbd{6P)#weSbE3}s?04AuZvx_~SI literal 0 HcmV?d00001 diff --git a/yaml/doc/html/tab_r.gif b/yaml/doc/html/tab_r.gif new file mode 100644 index 0000000000000000000000000000000000000000..ce9dd9f533cb5486d6941844f442b59d4a9e9175 GIT binary patch literal 2585 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 G!5RRb;EWmo literal 0 HcmV?d00001 diff --git a/yaml/doc/html/tabs.css b/yaml/doc/html/tabs.css new file mode 100644 index 00000000..a61552a6 --- /dev/null +++ b/yaml/doc/html/tabs.css @@ -0,0 +1,102 @@ +/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ + +DIV.tabs +{ + float : left; + width : 100%; + background : url("tab_b.gif") repeat-x bottom; + margin-bottom : 4px; +} + +DIV.tabs UL +{ + margin : 0px; + padding-left : 10px; + list-style : none; +} + +DIV.tabs LI, DIV.tabs FORM +{ + display : inline; + margin : 0px; + padding : 0px; +} + +DIV.tabs FORM +{ + float : right; +} + +DIV.tabs A +{ + float : left; + background : url("tab_r.gif") no-repeat right top; + border-bottom : 1px solid #84B0C7; + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + +DIV.tabs A:hover +{ + background-position: 100% -150px; +} + +DIV.tabs A:link, DIV.tabs A:visited, +DIV.tabs A:active, DIV.tabs A:hover +{ + color: #1A419D; +} + +DIV.tabs SPAN +{ + float : left; + display : block; + background : url("tab_l.gif") no-repeat left top; + padding : 5px 9px; + white-space : nowrap; +} + +DIV.tabs INPUT +{ + float : right; + display : inline; + font-size : 1em; +} + +DIV.tabs TD +{ + font-size : x-small; + font-weight : bold; + text-decoration : none; +} + + + +/* Commented Backslash Hack hides rule from IE5-Mac \*/ +DIV.tabs SPAN {float : none;} +/* End IE5-Mac hack */ + +DIV.tabs A:hover SPAN +{ + background-position: 0% -150px; +} + +DIV.tabs LI#current A +{ + background-position: 100% -150px; + border-width : 0px; +} + +DIV.tabs LI#current SPAN +{ + background-position: 0% -150px; + padding-bottom : 6px; +} + +DIV.nav +{ + background : none; + border : none; + border-bottom : 1px solid #84B0C7; +} diff --git a/yaml/doc/html/yaml_8h.html b/yaml/doc/html/yaml_8h.html new file mode 100644 index 00000000..ec402b9e --- /dev/null +++ b/yaml/doc/html/yaml_8h.html @@ -0,0 +1,428 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>yaml: yaml.h File Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.4.6 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li id="current"><a href="files.html"><span>Files</span></a></li> + </ul></div> +<div class="tabs"> + <ul> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>Globals</span></a></li> + </ul></div> +<h1>yaml.h File Reference</h1>Public interface for libyaml. <a href="#_details">More...</a> +<p> +<code>#include <stdlib.h></code><br> +<code>#include <stdio.h></code><br> +<code>#include <string.h></code><br> +<table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__version__directive__t.html">yaml_version_directive_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The version directive data. <a href="structyaml__version__directive__t.html#_details">More...</a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The tag directive data. <a href="structyaml__tag__directive__t.html#_details">More...</a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__mark__t.html">yaml_mark_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The pointer position. <a href="structyaml__mark__t.html#_details">More...</a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__token__t.html">yaml_token_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The token structure. <a href="structyaml__token__t.html#_details">More...</a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__event__t.html">yaml_event_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The event structure. <a href="structyaml__event__t.html#_details">More...</a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__simple__key__t.html">yaml_simple_key_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">This structure holds information about a potential simple key. <a href="structyaml__simple__key__t.html#_details">More...</a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__parser__t.html">yaml_parser_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The parser structure. <a href="structyaml__parser__t.html#_details">More...</a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The emitter structure. <a href="structyaml__emitter__t.html#_details">More...</a><br></td></tr> +<tr><td colspan="2"><br><h2>Defines</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0791fd3e1d85ed53711b1feaae131f93"></a><!-- doxytag: member="yaml.h::YAML_DECLARE" ref="g0791fd3e1d85ed53711b1feaae131f93" args="(type)" --> +#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__export.html#g0791fd3e1d85ed53711b1feaae131f93">YAML_DECLARE</a>(type) type</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The public API declaration. <br></td></tr> +<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf8657e81f0b8b05d1a081001fc6cb8bd"></a><!-- doxytag: member="yaml.h::yaml_char_t" ref="gf8657e81f0b8b05d1a081001fc6cb8bd" args="" --> +typedef unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The character type (UTF-8 octet). <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#g4982f7e4e001ddb47d2819f38f0cd9d6">yaml_read_handler_t</a> (void *data, unsigned char *buffer, size_t size, size_t *size_read)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The prototype of a read handler. <a href="group__parser.html#g4982f7e4e001ddb47d2819f38f0cd9d6"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g1669659aacbe631ad406c78fce1f5379">yaml_write_handler_t</a> (void *data, unsigned char *buffer, size_t size)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The prototype of a write handler. <a href="group__emitter.html#g1669659aacbe631ad406c78fce1f5379"></a><br></td></tr> +<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> { <br> + <b>YAML_ANY_ENCODING</b>, +<br> + <b>YAML_UTF8_ENCODING</b>, +<br> + <b>YAML_UTF16LE_ENCODING</b>, +<br> + <b>YAML_UTF16BE_ENCODING</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The stream encoding. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#g84f95658c2bc81371ea5b83ecec39f68">yaml_break_t</a> { <br> + <b>YAML_ANY_BREAK</b>, +<br> + <b>YAML_CR_BREAK</b>, +<br> + <b>YAML_LN_BREAK</b>, +<br> + <b>YAML_CRLN_BREAK</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Line break types. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#g57118d795c00ef9a12df13c46a2483c4">yaml_error_type_t</a> { <br> + <b>YAML_NO_ERROR</b>, +<br> + <b>YAML_MEMORY_ERROR</b>, +<br> + <b>YAML_READER_ERROR</b>, +<br> + <b>YAML_SCANNER_ERROR</b>, +<br> + <b>YAML_PARSER_ERROR</b>, +<br> + <b>YAML_WRITER_ERROR</b>, +<br> + <b>YAML_EMITTER_ERROR</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Many bad things could happen with the parser and emitter. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__styles.html#g9acbe60304872c11b646d865e175161b">yaml_scalar_style_t</a> { <br> + <b>YAML_ANY_SCALAR_STYLE</b>, +<br> + <b>YAML_PLAIN_SCALAR_STYLE</b>, +<br> + <b>YAML_SINGLE_QUOTED_SCALAR_STYLE</b>, +<br> + <b>YAML_DOUBLE_QUOTED_SCALAR_STYLE</b>, +<br> + <b>YAML_LITERAL_SCALAR_STYLE</b>, +<br> + <b>YAML_FOLDED_SCALAR_STYLE</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Scalar styles. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__styles.html#g367e05614b94d225b6218f29d6220432">yaml_sequence_style_t</a> { <br> + <b>YAML_ANY_SEQUENCE_STYLE</b>, +<br> + <b>YAML_BLOCK_SEQUENCE_STYLE</b>, +<br> + <b>YAML_FLOW_SEQUENCE_STYLE</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sequence styles. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__styles.html#g827938389268be54b0a468f2ab7a892b">yaml_mapping_style_t</a> { <br> + <b>YAML_ANY_MAPPING_STYLE</b>, +<br> + <b>YAML_BLOCK_MAPPING_STYLE</b>, +<br> + <b>YAML_FLOW_MAPPING_STYLE</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Mapping styles. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokens.html#g7fdf8961586dfc2c447561c5c35ca9fc">yaml_token_type_t</a> { <br> + <b>YAML_NO_TOKEN</b>, +<br> + <b>YAML_STREAM_START_TOKEN</b>, +<br> + <b>YAML_STREAM_END_TOKEN</b>, +<br> + <b>YAML_VERSION_DIRECTIVE_TOKEN</b>, +<br> + <b>YAML_TAG_DIRECTIVE_TOKEN</b>, +<br> + <b>YAML_DOCUMENT_START_TOKEN</b>, +<br> + <b>YAML_DOCUMENT_END_TOKEN</b>, +<br> + <b>YAML_BLOCK_SEQUENCE_START_TOKEN</b>, +<br> + <b>YAML_BLOCK_MAPPING_START_TOKEN</b>, +<br> + <b>YAML_BLOCK_END_TOKEN</b>, +<br> + <b>YAML_FLOW_SEQUENCE_START_TOKEN</b>, +<br> + <b>YAML_FLOW_SEQUENCE_END_TOKEN</b>, +<br> + <b>YAML_FLOW_MAPPING_START_TOKEN</b>, +<br> + <b>YAML_FLOW_MAPPING_END_TOKEN</b>, +<br> + <b>YAML_BLOCK_ENTRY_TOKEN</b>, +<br> + <b>YAML_FLOW_ENTRY_TOKEN</b>, +<br> + <b>YAML_KEY_TOKEN</b>, +<br> + <b>YAML_VALUE_TOKEN</b>, +<br> + <b>YAML_ALIAS_TOKEN</b>, +<br> + <b>YAML_ANCHOR_TOKEN</b>, +<br> + <b>YAML_TAG_TOKEN</b>, +<br> + <b>YAML_SCALAR_TOKEN</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Token types. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g73dcc1597e8d66c7e38ee2024c6c2330">yaml_event_type_t</a> { <br> + <b>YAML_NO_EVENT</b>, +<br> + <b>YAML_STREAM_START_EVENT</b>, +<br> + <b>YAML_STREAM_END_EVENT</b>, +<br> + <b>YAML_DOCUMENT_START_EVENT</b>, +<br> + <b>YAML_DOCUMENT_END_EVENT</b>, +<br> + <b>YAML_ALIAS_EVENT</b>, +<br> + <b>YAML_SCALAR_EVENT</b>, +<br> + <b>YAML_SEQUENCE_START_EVENT</b>, +<br> + <b>YAML_SEQUENCE_END_EVENT</b>, +<br> + <b>YAML_MAPPING_START_EVENT</b>, +<br> + <b>YAML_MAPPING_END_EVENT</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Event types. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#g56a71944417c2a34bbf183c279960265">yaml_parser_state_t</a> { <br> + <b>YAML_PARSE_STREAM_START_STATE</b>, +<br> + <b>YAML_PARSE_IMPLICIT_DOCUMENT_START_STATE</b>, +<br> + <b>YAML_PARSE_DOCUMENT_START_STATE</b>, +<br> + <b>YAML_PARSE_DOCUMENT_CONTENT_STATE</b>, +<br> + <b>YAML_PARSE_DOCUMENT_END_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_NODE_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_NODE_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_SEQUENCE_ENTRY_STATE</b>, +<br> + <b>YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_MAPPING_KEY_STATE</b>, +<br> + <b>YAML_PARSE_BLOCK_MAPPING_VALUE_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_SEQUENCE_ENTRY_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_MAPPING_FIRST_KEY_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_MAPPING_KEY_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_MAPPING_VALUE_STATE</b>, +<br> + <b>YAML_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE</b>, +<br> + <b>YAML_PARSE_END_STATE</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The states of the parser. <br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#geb3e54c6d786621f007693b2b25f8c6e">yaml_emitter_state_t</a> { <br> + <b>YAML_EMIT_STREAM_START_STATE</b>, +<br> + <b>YAML_EMIT_FIRST_DOCUMENT_START_STATE</b>, +<br> + <b>YAML_EMIT_DOCUMENT_START_STATE</b>, +<br> + <b>YAML_EMIT_DOCUMENT_CONTENT_STATE</b>, +<br> + <b>YAML_EMIT_DOCUMENT_END_STATE</b>, +<br> + <b>YAML_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE</b>, +<br> + <b>YAML_EMIT_FLOW_SEQUENCE_ITEM_STATE</b>, +<br> + <b>YAML_EMIT_FLOW_MAPPING_FIRST_KEY_STATE</b>, +<br> + <b>YAML_EMIT_FLOW_MAPPING_KEY_STATE</b>, +<br> + <b>YAML_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE</b>, +<br> + <b>YAML_EMIT_FLOW_MAPPING_VALUE_STATE</b>, +<br> + <b>YAML_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE</b>, +<br> + <b>YAML_EMIT_BLOCK_SEQUENCE_ITEM_STATE</b>, +<br> + <b>YAML_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE</b>, +<br> + <b>YAML_EMIT_BLOCK_MAPPING_KEY_STATE</b>, +<br> + <b>YAML_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE</b>, +<br> + <b>YAML_EMIT_BLOCK_MAPPING_VALUE_STATE</b>, +<br> + <b>YAML_EMIT_END_STATE</b> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The emitter states. <br></td></tr> +<tr><td colspan="2"><br><h2>Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__version.html#gf1ba5c1c34e809db5047d79a9fa85a73">yaml_get_version_string</a> (void)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the library version as a string. <a href="group__version.html#gf1ba5c1c34e809db5047d79a9fa85a73"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__version.html#gec764c91f3e181ae63d3d59b7980fe78">yaml_get_version</a> (int *major, int *minor, int *patch)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the library version numbers. <a href="group__version.html#gec764c91f3e181ae63d3d59b7980fe78"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokens.html#g3140131870e38e27f92a8fd286e5c004">yaml_token_delete</a> (<a class="el" href="structyaml__token__t.html">yaml_token_t</a> *token)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Free any memory allocated for a token object. <a href="group__tokens.html#g3140131870e38e27f92a8fd286e5c004"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g0650d255b23d9aae13c839f4ab3ec2ab">yaml_stream_start_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, <a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> encoding)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create the STREAM-START event. <a href="group__events.html#g0650d255b23d9aae13c839f4ab3ec2ab"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g84cf0c3ff01251c852c71624e64df9fe">yaml_stream_end_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create the STREAM-END event. <a href="group__events.html#g84cf0c3ff01251c852c71624e64df9fe"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g527e89302e1c969fbea5aa45664bf51c">yaml_document_start_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, <a class="el" href="structyaml__version__directive__t.html">yaml_version_directive_t</a> *version_directive, <a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> *tag_directives_start, <a class="el" href="structyaml__tag__directive__t.html">yaml_tag_directive_t</a> *tag_directives_end, int implicit)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create the DOCUMENT-START event. <a href="group__events.html#g527e89302e1c969fbea5aa45664bf51c"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g8bae16548ee88f8a5ca15204f8c30344">yaml_document_end_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, int implicit)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create the DOCUMENT-END event. <a href="group__events.html#g8bae16548ee88f8a5ca15204f8c30344"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#gde4c15b75eb9a8035e04d4f0dd23f005">yaml_alias_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *anchor)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create an ALIAS event. <a href="group__events.html#gde4c15b75eb9a8035e04d4f0dd23f005"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#gfc60a1a437385e19e6fb3be075958c8c">yaml_scalar_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *anchor, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *tag, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *value, int length, int plain_implicit, int quoted_implicit, <a class="el" href="group__styles.html#g9acbe60304872c11b646d865e175161b">yaml_scalar_style_t</a> style)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a SCALAR event. <a href="group__events.html#gfc60a1a437385e19e6fb3be075958c8c"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g53aea428c768d7b131923d08c904b4eb">yaml_sequence_start_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *anchor, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *tag, int implicit, <a class="el" href="group__styles.html#g367e05614b94d225b6218f29d6220432">yaml_sequence_style_t</a> style)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a SEQUENCE-START event. <a href="group__events.html#g53aea428c768d7b131923d08c904b4eb"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g99fdfa4b9d42b64d8171c9b22f334b1c">yaml_sequence_end_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a SEQUENCE-END event. <a href="group__events.html#g99fdfa4b9d42b64d8171c9b22f334b1c"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g0603cf8d20f0b6dfc3be04b6360134aa">yaml_mapping_start_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *anchor, <a class="el" href="group__basic.html#gf8657e81f0b8b05d1a081001fc6cb8bd">yaml_char_t</a> *tag, int implicit, <a class="el" href="group__styles.html#g827938389268be54b0a468f2ab7a892b">yaml_mapping_style_t</a> style)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a MAPPING-START event. <a href="group__events.html#g0603cf8d20f0b6dfc3be04b6360134aa"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g3afaf8b3aca2ec902a4e268f12adb0c2">yaml_mapping_end_event_initialize</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a MAPPING-END event. <a href="group__events.html#g3afaf8b3aca2ec902a4e268f12adb0c2"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__events.html#g5330d62ef52856aa53188137cb93a6a1">yaml_event_delete</a> (<a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Free any memory allocated for an event object. <a href="group__events.html#g5330d62ef52856aa53188137cb93a6a1"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#gcc37ceeb5847e38a3fe24eb0c9b53965">yaml_parser_initialize</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize a parser. <a href="group__parser.html#gcc37ceeb5847e38a3fe24eb0c9b53965"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#ga27150107c4667c1024ec0651e2ac26b">yaml_parser_delete</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy a parser. <a href="group__parser.html#ga27150107c4667c1024ec0651e2ac26b"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#g23cc4d870bb24dd770a26c2212dc0e3c">yaml_parser_set_input_string</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser, unsigned char *input, size_t size)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a string input. <a href="group__parser.html#g23cc4d870bb24dd770a26c2212dc0e3c"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#gc3f00f8beb2365b1e4569692d64696b6">yaml_parser_set_input_file</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser, FILE *file)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a file input. <a href="group__parser.html#gc3f00f8beb2365b1e4569692d64696b6"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#gbc67581bfa771a3e787d907d6914b8d9">yaml_parser_set_input</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser, <a class="el" href="group__parser.html#g4982f7e4e001ddb47d2819f38f0cd9d6">yaml_read_handler_t</a> *handler, void *data)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a generic input handler. <a href="group__parser.html#gbc67581bfa771a3e787d907d6914b8d9"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#g9565b64975570ed34612a19adf02ae6a">yaml_parser_set_encoding</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser, <a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> encoding)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the source encoding. <a href="group__parser.html#g9565b64975570ed34612a19adf02ae6a"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#g6c2144f131ebd600a075d4ba654540f7">yaml_parser_scan</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser, <a class="el" href="structyaml__token__t.html">yaml_token_t</a> *token)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Scan the input stream and produce the next token. <a href="group__parser.html#g6c2144f131ebd600a075d4ba654540f7"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__parser.html#g559312fb137533d8b7e07f224fe0ec8f">yaml_parser_parse</a> (<a class="el" href="structyaml__parser__t.html">yaml_parser_t</a> *parser, <a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Parse the input stream and produce the next parsing event. <a href="group__parser.html#g559312fb137533d8b7e07f224fe0ec8f"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g83649205374285802fc27aa293ecd111">yaml_emitter_initialize</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize an emitter. <a href="group__emitter.html#g83649205374285802fc27aa293ecd111"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#gd705212f3a5150e3f00075fd90bc8c3d">yaml_emitter_delete</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy an emitter. <a href="group__emitter.html#gd705212f3a5150e3f00075fd90bc8c3d"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g62725c0f616f634588374d1a4c0ed35a">yaml_emitter_set_output_string</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, unsigned char *output, size_t size, size_t *size_written)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a string output. <a href="group__emitter.html#g62725c0f616f634588374d1a4c0ed35a"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#gf7610c61b303bde9c701024c10ece024">yaml_emitter_set_output_file</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, FILE *file)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a file output. <a href="group__emitter.html#gf7610c61b303bde9c701024c10ece024"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#gc85a6a212ed7b469fb426a3451d15922">yaml_emitter_set_output</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, <a class="el" href="group__emitter.html#g1669659aacbe631ad406c78fce1f5379">yaml_write_handler_t</a> *handler, void *data)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a generic output handler. <a href="group__emitter.html#gc85a6a212ed7b469fb426a3451d15922"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#gbc22888ec8bf942199acbf38f7a0b9bb">yaml_emitter_set_encoding</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, <a class="el" href="group__basic.html#g72d484230417acb57672974cbcd9dcac">yaml_encoding_t</a> encoding)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the output encoding. <a href="group__emitter.html#gbc22888ec8bf942199acbf38f7a0b9bb"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g62713a8130e11d95cbefa95a2eb3ac4b">yaml_emitter_set_canonical</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, int canonical)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set if the output should be in the "canonical" format as in the YAML specification. <a href="group__emitter.html#g62713a8130e11d95cbefa95a2eb3ac4b"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g07eca3c344053a9028b4a84291cdf4d7">yaml_emitter_set_indent</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, int indent)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the intendation increment. <a href="group__emitter.html#g07eca3c344053a9028b4a84291cdf4d7"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#ga91ae0fa8af5ab67e64567e08f4458c2">yaml_emitter_set_width</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, int width)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the preferred line width. <a href="group__emitter.html#ga91ae0fa8af5ab67e64567e08f4458c2"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#ga59e7dcf24cb9b614c32af6c3e949fc3">yaml_emitter_set_unicode</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, int unicode)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set if unescaped non-ASCII characters are allowed. <a href="group__emitter.html#ga59e7dcf24cb9b614c32af6c3e949fc3"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g04b5494f0b8244eec359579c31d5e20c">yaml_emitter_set_break</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, <a class="el" href="group__basic.html#g84f95658c2bc81371ea5b83ecec39f68">yaml_break_t</a> line_break)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the preferred line break. <a href="group__emitter.html#g04b5494f0b8244eec359579c31d5e20c"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#g4d6c0f8e712797e2660e69479fdae433">yaml_emitter_emit</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter, <a class="el" href="structyaml__event__t.html">yaml_event_t</a> *event)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Emit an event. <a href="group__emitter.html#g4d6c0f8e712797e2660e69479fdae433"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__emitter.html#gcaf24456e2bf85bc5654cbd7d828055f">yaml_emitter_flush</a> (<a class="el" href="structyaml__emitter__t.html">yaml_emitter_t</a> *emitter)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Flush the accumulated characters to the output. <a href="group__emitter.html#gcaf24456e2bf85bc5654cbd7d828055f"></a><br></td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Public interface for libyaml. +<p> +Include the header file with the code: <div class="fragment"><pre class="fragment"><span class="preprocessor"> #include <<a class="code" href="yaml_8h.html">yaml.h</a>></span> +</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Tue Aug 1 14:32:24 2006 for yaml by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> +</body> +</html> diff --git a/yaml/include/Makefile b/yaml/include/Makefile new file mode 100644 index 00000000..1b17e2be --- /dev/null +++ b/yaml/include/Makefile @@ -0,0 +1,410 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# include/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/yaml +pkglibdir = $(libdir)/yaml +pkgincludedir = $(includedir)/yaml +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = include +DIST_COMMON = $(nobase_include_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(includedir)" +nobase_includeHEADERS_INSTALL = $(install_sh_DATA) +HEADERS = $(nobase_include_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /usr/local/src/yaml/config/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /usr/local/src/yaml/config/missing --run tar +AR = ar +AUTOCONF = ${SHELL} /usr/local/src/yaml/config/missing --run autoconf +AUTOHEADER = ${SHELL} /usr/local/src/yaml/config/missing --run autoheader +AUTOMAKE = ${SHELL} /usr/local/src/yaml/config/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DOXYGEN = true +DOXYGEN_FALSE = # +DOXYGEN_TRUE = +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +F77 = g77 +FFLAGS = -g -O2 +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LIBOBJS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LN_S = ln -s +LTLIBOBJS = +MAKEINFO = ${SHELL} /usr/local/src/yaml/config/missing --run makeinfo +OBJEXT = o +PACKAGE = yaml +PACKAGE_BUGREPORT = http://pyyaml.org/newticket?component=libyaml +PACKAGE_NAME = yaml +PACKAGE_STRING = yaml 0.0.1 +PACKAGE_TARNAME = yaml +PACKAGE_VERSION = 0.0.1 +PATH_SEPARATOR = : +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = strip +VERSION = 0.0.1 +YAML_LT_AGE = 0 +YAML_LT_CURRENT = 0 +YAML_LT_RELEASE = 0 +YAML_LT_REVISION = 0 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_F77 = g77 +ac_ct_RANLIB = ranlib +ac_ct_STRIP = strip +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /usr/local/src/yaml/config/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +sysconfdir = ${prefix}/etc +target_alias = +INCLUDES = yaml.h +DOXYGEN_CFG = $(top_srcdir)/doc/doxygen.cfg +nobase_include_HEADERS = $(INCLUDES) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign include/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-nobase_includeHEADERS: $(nobase_include_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)" + @$(am__vpath_adj_setup) \ + list='$(nobase_include_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + $(am__vpath_adj) \ + echo " $(nobase_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ + $(nobase_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ + done + +uninstall-nobase_includeHEADERS: + @$(NORMAL_UNINSTALL) + @$(am__vpath_adj_setup) \ + list='$(nobase_include_HEADERS)'; for p in $$list; do \ + $(am__vpath_adj) \ + echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ + rm -f "$(DESTDIR)$(includedir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +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)'; 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 \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(includedir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-local distclean-tags + +dvi: dvi-am + +dvi-am: + +#html: html-am + +info: info-am + +info-am: + +install-data-am: install-nobase_includeHEADERS + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-nobase_includeHEADERS + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool ctags dist-hook distclean distclean-generic \ + distclean-libtool distclean-local distclean-tags distdir 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-man \ + install-nobase_includeHEADERS install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am uninstall-nobase_includeHEADERS + + +html: $(INCLUDES) $(DOXYGEN_CFG) + PACKAGE=$(PACKAGE) VERSION=$(VERSION) top_srcdir=$(top_srcdir) top_builddir=$(top_builddir) doxygen $(DOXYGEN_CFG) + +distclean-local: + -rm -rf $(top_builddir)/doc/html + +dist-hook: html + cp -a $(top_builddir)/doc/html $(top_distdir)/doc +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/yaml/include/Makefile.am b/yaml/include/Makefile.am new file mode 100644 index 00000000..3c7323c4 --- /dev/null +++ b/yaml/include/Makefile.am @@ -0,0 +1,17 @@ +INCLUDES = yaml.h +DOXYGEN_CFG = $(top_srcdir)/doc/doxygen.cfg + +nobase_include_HEADERS = $(INCLUDES) + +if DOXYGEN + +html: $(INCLUDES) $(DOXYGEN_CFG) + PACKAGE=$(PACKAGE) VERSION=$(VERSION) top_srcdir=$(top_srcdir) top_builddir=$(top_builddir) doxygen $(DOXYGEN_CFG) + +endif + +distclean-local: + -rm -rf $(top_builddir)/doc/html + +dist-hook: html + cp -a $(top_builddir)/doc/html $(top_distdir)/doc diff --git a/yaml/include/Makefile.in b/yaml/include/Makefile.in new file mode 100644 index 00000000..e9dcdb09 --- /dev/null +++ b/yaml/include/Makefile.in @@ -0,0 +1,410 @@ +# 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 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +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 +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = include +DIST_COMMON = $(nobase_include_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(includedir)" +nobase_includeHEADERS_INSTALL = $(install_sh_DATA) +HEADERS = $(nobase_include_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DOXYGEN = @DOXYGEN@ +DOXYGEN_FALSE = @DOXYGEN_FALSE@ +DOXYGEN_TRUE = @DOXYGEN_TRUE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +YAML_LT_AGE = @YAML_LT_AGE@ +YAML_LT_CURRENT = @YAML_LT_CURRENT@ +YAML_LT_RELEASE = @YAML_LT_RELEASE@ +YAML_LT_REVISION = @YAML_LT_REVISION@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +INCLUDES = yaml.h +DOXYGEN_CFG = $(top_srcdir)/doc/doxygen.cfg +nobase_include_HEADERS = $(INCLUDES) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign include/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-nobase_includeHEADERS: $(nobase_include_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)" + @$(am__vpath_adj_setup) \ + list='$(nobase_include_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + $(am__vpath_adj) \ + echo " $(nobase_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ + $(nobase_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ + done + +uninstall-nobase_includeHEADERS: + @$(NORMAL_UNINSTALL) + @$(am__vpath_adj_setup) \ + list='$(nobase_include_HEADERS)'; for p in $$list; do \ + $(am__vpath_adj) \ + echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ + rm -f "$(DESTDIR)$(includedir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +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)'; 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 \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(includedir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-local distclean-tags + +dvi: dvi-am + +dvi-am: + +@DOXYGEN_FALSE@html: html-am + +info: info-am + +info-am: + +install-data-am: install-nobase_includeHEADERS + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-nobase_includeHEADERS + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool ctags dist-hook distclean distclean-generic \ + distclean-libtool distclean-local distclean-tags distdir 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-man \ + install-nobase_includeHEADERS install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am uninstall-nobase_includeHEADERS + + +@DOXYGEN_TRUE@html: $(INCLUDES) $(DOXYGEN_CFG) +@DOXYGEN_TRUE@ PACKAGE=$(PACKAGE) VERSION=$(VERSION) top_srcdir=$(top_srcdir) top_builddir=$(top_builddir) doxygen $(DOXYGEN_CFG) + +distclean-local: + -rm -rf $(top_builddir)/doc/html + +dist-hook: html + cp -a $(top_builddir)/doc/html $(top_distdir)/doc +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/yaml/include/yaml.h b/yaml/include/yaml.h new file mode 100644 index 00000000..8aec0be6 --- /dev/null +++ b/yaml/include/yaml.h @@ -0,0 +1,1420 @@ +/** + * @file yaml.h + * @brief Public interface for libyaml. + * + * Include the header file with the code: + * @code + * #include <yaml.h> + * @endcode + */ + +#ifndef YAML_H +#define YAML_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +/** + * @defgroup export Export Definitions + * @{ + */ + +/** The public API declaration. */ + +#ifdef WIN32 +# if defined(YAML_DECLARE_STATIC) +# define YAML_DECLARE(type) type +# elif defined(YAML_DECLARE_EXPORT) +# define YAML_DECLARE(type) __declspec(dllexport) type +# else +# define YAML_DECLARE(type) __declspec(dllimport) type +# endif +#else +# define YAML_DECLARE(type) type +#endif + +/** @} */ + +/** + * @defgroup version Version Information + * @{ + */ + +/** + * Get the library version as a string. + * + * @returns The function returns the pointer to a static string of the form + * @c "X.Y.Z", where @c X is the major version number, @c Y is a minor version + * number, and @c Z is the patch version number. + */ + +YAML_DECLARE(const char *) +yaml_get_version_string(void); + +/** + * Get the library version numbers. + * + * @param[out] major Major version number. + * @param[out] minor Minor version number. + * @param[out] patch Patch version number. + */ + +YAML_DECLARE(void) +yaml_get_version(int *major, int *minor, int *patch); + +/** @} */ + +/** + * @defgroup basic Basic Types + * @{ + */ + +/** The character type (UTF-8 octet). */ +typedef unsigned char yaml_char_t; + +/** The version directive data. */ +typedef struct { + /** The major version number. */ + int major; + /** The minor version number. */ + int minor; +} yaml_version_directive_t; + +/** The tag directive data. */ +typedef struct { + /** The tag handle. */ + yaml_char_t *handle; + /** The tag prefix. */ + yaml_char_t *prefix; +} yaml_tag_directive_t; + +/** The stream encoding. */ +typedef enum { + YAML_ANY_ENCODING, + YAML_UTF8_ENCODING, + YAML_UTF16LE_ENCODING, + YAML_UTF16BE_ENCODING +} yaml_encoding_t; + +/** Line break types. */ + +typedef enum { + YAML_ANY_BREAK, + YAML_CR_BREAK, + YAML_LN_BREAK, + YAML_CRLN_BREAK +} yaml_break_t; + +/** Many bad things could happen with the parser and emitter. */ +typedef enum { + YAML_NO_ERROR, + + YAML_MEMORY_ERROR, + + YAML_READER_ERROR, + YAML_SCANNER_ERROR, + YAML_PARSER_ERROR, + + YAML_WRITER_ERROR, + YAML_EMITTER_ERROR +} yaml_error_type_t; + +/** The pointer position. */ +typedef struct { + /** The position index. */ + size_t index; + + /** The position line. */ + size_t line; + + /** The position column. */ + size_t column; +} yaml_mark_t; + +/** @} */ + +/** + * @defgroup styles Node Styles + * @{ + */ + +/** Scalar styles. */ +typedef enum { + YAML_ANY_SCALAR_STYLE, + + YAML_PLAIN_SCALAR_STYLE, + + YAML_SINGLE_QUOTED_SCALAR_STYLE, + YAML_DOUBLE_QUOTED_SCALAR_STYLE, + + YAML_LITERAL_SCALAR_STYLE, + YAML_FOLDED_SCALAR_STYLE +} yaml_scalar_style_t; + +/** Sequence styles. */ +typedef enum { + YAML_ANY_SEQUENCE_STYLE, + + YAML_BLOCK_SEQUENCE_STYLE, + YAML_FLOW_SEQUENCE_STYLE +} yaml_sequence_style_t; + +/** Mapping styles. */ +typedef enum { + YAML_ANY_MAPPING_STYLE, + + YAML_BLOCK_MAPPING_STYLE, + YAML_FLOW_MAPPING_STYLE +/* YAML_FLOW_SET_MAPPING_STYLE */ +} yaml_mapping_style_t; + +/** @} */ + +/** + * @defgroup tokens Tokens + * @{ + */ + +/** Token types. */ +typedef enum { + YAML_NO_TOKEN, + + YAML_STREAM_START_TOKEN, + YAML_STREAM_END_TOKEN, + + YAML_VERSION_DIRECTIVE_TOKEN, + YAML_TAG_DIRECTIVE_TOKEN, + YAML_DOCUMENT_START_TOKEN, + YAML_DOCUMENT_END_TOKEN, + + YAML_BLOCK_SEQUENCE_START_TOKEN, + YAML_BLOCK_MAPPING_START_TOKEN, + YAML_BLOCK_END_TOKEN, + + YAML_FLOW_SEQUENCE_START_TOKEN, + YAML_FLOW_SEQUENCE_END_TOKEN, + YAML_FLOW_MAPPING_START_TOKEN, + YAML_FLOW_MAPPING_END_TOKEN, + + YAML_BLOCK_ENTRY_TOKEN, + YAML_FLOW_ENTRY_TOKEN, + YAML_KEY_TOKEN, + YAML_VALUE_TOKEN, + + YAML_ALIAS_TOKEN, + YAML_ANCHOR_TOKEN, + YAML_TAG_TOKEN, + YAML_SCALAR_TOKEN +} yaml_token_type_t; + +/** The token structure. */ +typedef struct { + + /** The token type. */ + yaml_token_type_t type; + + /** The token data. */ + union { + + /** The stream start (for @c YAML_STREAM_START_TOKEN). */ + struct { + /** The stream encoding. */ + yaml_encoding_t encoding; + } stream_start; + + /** The alias (for @c YAML_ALIAS_TOKEN). */ + struct { + /** The alias value. */ + yaml_char_t *value; + } alias; + + /** The anchor (for @c YAML_ANCHOR_TOKEN). */ + struct { + /** The anchor value. */ + yaml_char_t *value; + } anchor; + + /** The tag (for @c YAML_TAG_TOKEN). */ + struct { + /** The tag handle. */ + yaml_char_t *handle; + /** The tag suffix. */ + yaml_char_t *suffix; + } tag; + + /** The scalar value (for @c YAML_SCALAR_TOKEN). */ + struct { + /** The scalar value. */ + yaml_char_t *value; + /** The length of the scalar value. */ + size_t length; + /** The scalar style. */ + yaml_scalar_style_t style; + } scalar; + + /** The version directive (for @c YAML_VERSION_DIRECTIVE_TOKEN). */ + struct { + /** The major version number. */ + int major; + /** The minor version number. */ + int minor; + } version_directive; + + /** The tag directive (for @c YAML_TAG_DIRECTIVE_TOKEN). */ + struct { + /** The tag handle. */ + yaml_char_t *handle; + /** The tag prefix. */ + yaml_char_t *prefix; + } tag_directive; + + } data; + + /** The beginning of the token. */ + yaml_mark_t start_mark; + /** The end of the token. */ + yaml_mark_t end_mark; + +} yaml_token_t; + +/** + * Free any memory allocated for a token object. + * + * @param[in,out] token A token object. + */ + +YAML_DECLARE(void) +yaml_token_delete(yaml_token_t *token); + +/** @} */ + +/** + * @defgroup events Events + * @{ + */ + +/** Event types. */ +typedef enum { + YAML_NO_EVENT, + + YAML_STREAM_START_EVENT, + YAML_STREAM_END_EVENT, + + YAML_DOCUMENT_START_EVENT, + YAML_DOCUMENT_END_EVENT, + + YAML_ALIAS_EVENT, + YAML_SCALAR_EVENT, + + YAML_SEQUENCE_START_EVENT, + YAML_SEQUENCE_END_EVENT, + + YAML_MAPPING_START_EVENT, + YAML_MAPPING_END_EVENT +} yaml_event_type_t; + +/** The event structure. */ +typedef struct { + + /** The event type. */ + yaml_event_type_t type; + + /** The event data. */ + union { + + /** The stream parameters (for @c YAML_STREAM_START_EVENT). */ + struct { + /** The document encoding. */ + yaml_encoding_t encoding; + } stream_start; + + /** The document parameters (for @c YAML_DOCUMENT_START_EVENT). */ + struct { + /** The version directive. */ + yaml_version_directive_t *version_directive; + + /** The list of tag directives. */ + struct { + /** The beginning of the tag directives list. */ + yaml_tag_directive_t *start; + /** The end of the tag directives list. */ + yaml_tag_directive_t *end; + } tag_directives; + + /** Is the document indicator implicit? */ + int implicit; + } document_start; + + /** The document end parameters (for @c YAML_DOCUMENT_END_EVENT). */ + struct { + /** Is the document end indicator implicit? */ + int implicit; + } document_end; + + /** The alias parameters (for @c YAML_ALIAS_EVENT). */ + struct { + /** The anchor. */ + yaml_char_t *anchor; + } alias; + + /** The scalar parameters (for @c YAML_SCALAR_EVENT). */ + struct { + /** The anchor. */ + yaml_char_t *anchor; + /** The tag. */ + yaml_char_t *tag; + /** The scalar value. */ + yaml_char_t *value; + /** The length of the scalar value. */ + size_t length; + /** Is the tag optional for the plain style? */ + int plain_implicit; + /** Is the tag optional for any non-plain style? */ + int quoted_implicit; + /** The scalar style. */ + yaml_scalar_style_t style; + } scalar; + + /** The sequence parameters (for @c YAML_SEQUENCE_START_EVENT). */ + struct { + /** The anchor. */ + yaml_char_t *anchor; + /** The tag. */ + yaml_char_t *tag; + /** Is the tag optional? */ + int implicit; + /** The sequence style. */ + yaml_sequence_style_t style; + } sequence_start; + + /** The mapping parameters (for @c YAML_MAPPING_START_EVENT). */ + struct { + /** The anchor. */ + yaml_char_t *anchor; + /** The tag. */ + yaml_char_t *tag; + /** Is the tag optional? */ + int implicit; + /** The mapping style. */ + yaml_mapping_style_t style; + } mapping_start; + + } data; + + /** The beginning of the token. */ + yaml_mark_t start_mark; + /** The end of the token. */ + yaml_mark_t end_mark; + +} yaml_event_t; + +/** + * Create the STREAM-START event. + * + * @param[out] event An empty event object. + * @param[in] encoding The stream encoding. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_stream_start_event_initialize(yaml_event_t *event, + yaml_encoding_t encoding); + +/** + * Create the STREAM-END event. + * + * @param[out] event An empty event object. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_stream_end_event_initialize(yaml_event_t *event); + +/** + * Create the DOCUMENT-START event. + * + * The @a implicit argument is considered as a stylistic parameter and may be + * ignored by the emitter. + * + * @param[out] event An empty event object. + * @param[in] version_directive The %YAML directive value or @c NULL. + * @param[in] tag_directives_start The beginning of the %TAG directives list. + * @param[in] tag_directives_end The end of the %TAG directives list. + * @param[in] implicit If the document start indicator is implicit. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_document_start_event_initialize(yaml_event_t *event, + yaml_version_directive_t *version_directive, + yaml_tag_directive_t *tag_directives_start, + yaml_tag_directive_t *tag_directives_end, + int implicit); + +/** + * Create the DOCUMENT-END event. + * + * The @a implicit argument is considered as a stylistic parameter and may be + * ignored by the emitter. + * + * @param[out] event An empty event object. + * @param[in] implicit If the document end indicator is implicit. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_document_end_event_initialize(yaml_event_t *event, int implicit); + +/** + * Create an ALIAS event. + * + * @param[out] event An empty event object. + * @param[in] anchor The anchor value. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_alias_event_initialize(yaml_event_t *event, yaml_char_t *anchor); + +/** + * Create a SCALAR event. + * + * The @a style argument may be ignored by the emitter. + * + * Either the @a tag attribute or one of the @a plain_implicit and + * @a quoted_implicit flags must be set. + * + * @param[out] event An empty event object. + * @param[in] anchor The scalar anchor or @c NULL. + * @param[in] tag The scalar tag or @c NULL. + * @param[in] value The scalar value. + * @param[in] length The length of the scalar value. + * @param[in] plain_implicit If the tag may be omitted for the plain style. + * @param[in] quoted_implicit If the tag may be omitted for any non-plain style. + * @param[in] style The scalar style. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_scalar_event_initialize(yaml_event_t *event, + yaml_char_t *anchor, yaml_char_t *tag, + yaml_char_t *value, int length, + int plain_implicit, int quoted_implicit, + yaml_scalar_style_t style); + +/** + * Create a SEQUENCE-START event. + * + * The @a style argument may be ignored by the emitter. + * + * Either the @a tag attribute or the @a implicit flag must be set. + * + * @param[out] event An empty event object. + * @param[in] anchor The sequence anchor or @c NULL. + * @param[in] tag The sequence tag or @c NULL. + * @param[in] implicit If the tag may be omitted. + * @param[in] style The sequence style. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_sequence_start_event_initialize(yaml_event_t *event, + yaml_char_t *anchor, yaml_char_t *tag, int implicit, + yaml_sequence_style_t style); + +/** + * Create a SEQUENCE-END event. + * + * @param[out] event An empty event object. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_sequence_end_event_initialize(yaml_event_t *event); + +/** + * Create a MAPPING-START event. + * + * The @a style argument may be ignored by the emitter. + * + * Either the @a tag attribute or the @a implicit flag must be set. + * + * @param[out] event An empty event object. + * @param[in] anchor The mapping anchor or @c NULL. + * @param[in] tag The mapping tag or @c NULL. + * @param[in] implicit If the tag may be omitted. + * @param[in] style The mapping style. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_mapping_start_event_initialize(yaml_event_t *event, + yaml_char_t *anchor, yaml_char_t *tag, int implicit, + yaml_mapping_style_t style); + +/** + * Create a MAPPING-END event. + * + * @param[out] event An empty event object. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_mapping_end_event_initialize(yaml_event_t *event); + +/** + * Free any memory allocated for an event object. + * + * @param[out] event An event object. + */ + +YAML_DECLARE(void) +yaml_event_delete(yaml_event_t *event); + +/** @} */ + +/** + * @defgroup parser Parser Definitions + * @{ + */ + +/** + * The prototype of a read handler. + * + * The read handler is called when the parser needs to read more bytes from the + * source. The handler should write not more than @a size bytes to the @a + * buffer. The number of written bytes should be set to the @a length variable. + * + * @param[in,out] data A pointer to an application data specified by + * yaml_parser_set_input(). + * @param[out] buffer The buffer to write the data from the source. + * @param[in] size The size of the buffer. + * @param[out] size_read The actual number of bytes read from the source. + * + * @returns On success, the handler should return @c 1. If the handler failed, + * the returned value should be @c 0. On EOF, the handler should set the + * @a size_read to @c 0 and return @c 1. + */ + +typedef int yaml_read_handler_t(void *data, unsigned char *buffer, size_t size, + size_t *size_read); + +/** + * This structure holds information about a potential simple key. + */ + +typedef struct { + /** Is a simple key possible? */ + int possible; + + /** Is a simple key required? */ + int required; + + /** The number of the token. */ + size_t token_number; + + /** The position mark. */ + yaml_mark_t mark; +} yaml_simple_key_t; + +/** + * The states of the parser. + */ +typedef enum { + YAML_PARSE_STREAM_START_STATE, + YAML_PARSE_IMPLICIT_DOCUMENT_START_STATE, + YAML_PARSE_DOCUMENT_START_STATE, + YAML_PARSE_DOCUMENT_CONTENT_STATE, + YAML_PARSE_DOCUMENT_END_STATE, + YAML_PARSE_BLOCK_NODE_STATE, + YAML_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE, + YAML_PARSE_FLOW_NODE_STATE, + YAML_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE, + YAML_PARSE_BLOCK_SEQUENCE_ENTRY_STATE, + YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE, + YAML_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE, + YAML_PARSE_BLOCK_MAPPING_KEY_STATE, + YAML_PARSE_BLOCK_MAPPING_VALUE_STATE, + YAML_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE, + YAML_PARSE_FLOW_SEQUENCE_ENTRY_STATE, + YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE, + YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE, + YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE, + YAML_PARSE_FLOW_MAPPING_FIRST_KEY_STATE, + YAML_PARSE_FLOW_MAPPING_KEY_STATE, + YAML_PARSE_FLOW_MAPPING_VALUE_STATE, + YAML_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE, + YAML_PARSE_END_STATE +} yaml_parser_state_t; + +/** + * The parser structure. + * + * All members are internal. Manage the structure using the @c yaml_parser_ + * family of functions. + */ + +typedef struct { + + /** + * @name Error handling + * @{ + */ + + /** Error type. */ + yaml_error_type_t error; + /** Error description. */ + const char *problem; + /** The byte about which the problem occured. */ + size_t problem_offset; + /** The problematic value (@c -1 is none). */ + int problem_value; + /** The problem position. */ + yaml_mark_t problem_mark; + /** The error context. */ + const char *context; + /** The context position. */ + yaml_mark_t context_mark; + + /** + * @} + */ + + /** + * @name Reader stuff + * @{ + */ + + /** Read handler. */ + yaml_read_handler_t *read_handler; + + /** A pointer for passing to the read handler. */ + void *read_handler_data; + + /** Standard (string or file) input data. */ + union { + /** String input data. */ + struct { + /** The string start pointer. */ + unsigned char *start; + /** The string end pointer. */ + unsigned char *end; + /** The string current position. */ + unsigned char *current; + } string; + + /** File input data. */ + FILE *file; + } input; + + /** EOF flag */ + int eof; + + /** The working buffer. */ + struct { + /** The beginning of the buffer. */ + yaml_char_t *start; + /** The end of the buffer. */ + yaml_char_t *end; + /** The current position of the buffer. */ + yaml_char_t *pointer; + /** The last filled position of the buffer. */ + yaml_char_t *last; + } buffer; + + /* The number of unread characters in the buffer. */ + size_t unread; + + /** The raw buffer. */ + struct { + /** The beginning of the buffer. */ + unsigned char *start; + /** The end of the buffer. */ + unsigned char *end; + /** The current position of the buffer. */ + unsigned char *pointer; + /** The last filled position of the buffer. */ + unsigned char *last; + } raw_buffer; + + /** The input encoding. */ + yaml_encoding_t encoding; + + /** The offset of the current position (in bytes). */ + size_t offset; + + /** The mark of the current position. */ + yaml_mark_t mark; + + /** + * @} + */ + + /** + * @name Scanner stuff + * @{ + */ + + /** Have we started to scan the input stream? */ + int stream_start_produced; + + /** Have we reached the end of the input stream? */ + int stream_end_produced; + + /** The number of unclosed '[' and '{' indicators. */ + int flow_level; + + /** The tokens queue. */ + struct { + /** The beginning of the tokens queue. */ + yaml_token_t *start; + /** The end of the tokens queue. */ + yaml_token_t *end; + /** The head of the tokens queue. */ + yaml_token_t *head; + /** The tail of the tokens queue. */ + yaml_token_t *tail; + } tokens; + + /** The number of tokens fetched from the queue. */ + size_t tokens_parsed; + + /* Does the tokens queue contain a token ready for dequeueing. */ + int token_available; + + /** The indentation levels stack. */ + struct { + /** The beginning of the stack. */ + int *start; + /** The end of the stack. */ + int *end; + /** The top of the stack. */ + int *top; + } indents; + + /** The current indentation level. */ + int indent; + + /** May a simple key occur at the current position? */ + int simple_key_allowed; + + /** The stack of simple keys. */ + struct { + /** The beginning of the stack. */ + yaml_simple_key_t *start; + /** The end of the stack. */ + yaml_simple_key_t *end; + /** The top of the stack. */ + yaml_simple_key_t *top; + } simple_keys; + + /** + * @} + */ + + /** + * @name Parser stuff + * @{ + */ + + /** The parser states stack. */ + struct { + /** The beginning of the stack. */ + yaml_parser_state_t *start; + /** The end of the stack. */ + yaml_parser_state_t *end; + /** The top of the stack. */ + yaml_parser_state_t *top; + } states; + + /** The current parser state. */ + yaml_parser_state_t state; + + /** The stack of marks. */ + struct { + /** The beginning of the stack. */ + yaml_mark_t *start; + /** The end of the stack. */ + yaml_mark_t *end; + /** The top of the stack. */ + yaml_mark_t *top; + } marks; + + /** The list of TAG directives. */ + struct { + /** The beginning of the list. */ + yaml_tag_directive_t *start; + /** The end of the list. */ + yaml_tag_directive_t *end; + /** The top of the list. */ + yaml_tag_directive_t *top; + } tag_directives; + + /** + * @} + */ + +} yaml_parser_t; + +/** + * Initialize a parser. + * + * This function creates a new parser object. An application is responsible + * for destroying the object using the yaml_parser_delete() function. + * + * @param[out] parser An empty parser object. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_parser_initialize(yaml_parser_t *parser); + +/** + * Destroy a parser. + * + * @param[in,out] parser A parser object. + */ + +YAML_DECLARE(void) +yaml_parser_delete(yaml_parser_t *parser); + +/** + * Set a string input. + * + * Note that the @a input pointer must be valid while the @a parser object + * exists. The application is responsible for destroing @a input after + * destroying the @a parser. + * + * @param[in,out] parser A parser object. + * @param[in] input A source data. + * @param[in] size The length of the source data in bytes. + */ + +YAML_DECLARE(void) +yaml_parser_set_input_string(yaml_parser_t *parser, + unsigned char *input, size_t size); + +/** + * Set a file input. + * + * @a file should be a file object open for reading. The application is + * responsible for closing the @a file. + * + * @param[in,out] parser A parser object. + * @param[in] file An open file. + */ + +YAML_DECLARE(void) +yaml_parser_set_input_file(yaml_parser_t *parser, FILE *file); + +/** + * Set a generic input handler. + * + * @param[in,out] parser A parser object. + * @param[in] handler A read handler. + * @param[in] data Any application data for passing to the read + * handler. + */ + +YAML_DECLARE(void) +yaml_parser_set_input(yaml_parser_t *parser, + yaml_read_handler_t *handler, void *data); + +/** + * Set the source encoding. + * + * @param[in,out] parser A parser object. + * @param[in] encoding The source encoding. + */ + +YAML_DECLARE(void) +yaml_parser_set_encoding(yaml_parser_t *parser, yaml_encoding_t encoding); + +/** + * Scan the input stream and produce the next token. + * + * Call the function subsequently to produce a sequence of tokens corresponding + * to the input stream. The initial token has the type + * @c YAML_STREAM_START_TOKEN while the ending token has the type + * @c YAML_STREAM_END_TOKEN. + * + * An application is responsible for freeing any buffers associated with the + * produced token object using the @c yaml_token_delete function. + * + * An application must not alternate the calls of yaml_parser_scan() with the + * calls of yaml_parser_parse(). Doing this will break the parser. + * + * @param[in,out] parser A parser object. + * @param[out] token An empty token object. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_parser_scan(yaml_parser_t *parser, yaml_token_t *token); + +/** + * Parse the input stream and produce the next parsing event. + * + * Call the function subsequently to produce a sequence of events corresponding + * to the input stream. The initial event has the type + * @c YAML_STREAM_START_EVENT while the ending event has the type + * @c YAML_STREAM_END_EVENT. + * + * An application is responsible for freeing any buffers associated with the + * produced event object using the yaml_event_delete() function. + * + * An application must not alternate the calls of yaml_parser_scan() with the + * calls of yaml_parser_parse(). Doing this will break the parser. + * + * @param[in,out] parser A parser object. + * @param[out] event An empty event object. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_parser_parse(yaml_parser_t *parser, yaml_event_t *event); + +/** @} */ + +/** + * @defgroup emitter Emitter Definitions + * @{ + */ + +/** + * The prototype of a write handler. + * + * The write handler is called when the emitter needs to flush the accumulated + * characters to the output. The handler should write @a size bytes of the + * @a buffer to the output. + * + * @param[in,out] data A pointer to an application data specified by + * yaml_emitter_set_output(). + * @param[in] buffer The buffer with bytes to be written. + * @param[in] size The size of the buffer. + * + * @returns On success, the handler should return @c 1. If the handler failed, + * the returned value should be @c 0. + */ + +typedef int yaml_write_handler_t(void *data, unsigned char *buffer, size_t size); + +/** The emitter states. */ +typedef enum { + YAML_EMIT_STREAM_START_STATE, + YAML_EMIT_FIRST_DOCUMENT_START_STATE, + YAML_EMIT_DOCUMENT_START_STATE, + YAML_EMIT_DOCUMENT_CONTENT_STATE, + YAML_EMIT_DOCUMENT_END_STATE, + YAML_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE, + YAML_EMIT_FLOW_SEQUENCE_ITEM_STATE, + YAML_EMIT_FLOW_MAPPING_FIRST_KEY_STATE, + YAML_EMIT_FLOW_MAPPING_KEY_STATE, + YAML_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE, + YAML_EMIT_FLOW_MAPPING_VALUE_STATE, + YAML_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE, + YAML_EMIT_BLOCK_SEQUENCE_ITEM_STATE, + YAML_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE, + YAML_EMIT_BLOCK_MAPPING_KEY_STATE, + YAML_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE, + YAML_EMIT_BLOCK_MAPPING_VALUE_STATE, + YAML_EMIT_END_STATE +} yaml_emitter_state_t; + +/** + * The emitter structure. + * + * All members are internal. Manage the structure using the @c yaml_emitter_ + * family of functions. + */ + +typedef struct { + + /** + * @name Error handling + * @{ + */ + + /** Error type. */ + yaml_error_type_t error; + /** Error description. */ + const char *problem; + + /** + * @} + */ + + /** + * @name Writer stuff + * @{ + */ + + /** Write handler. */ + yaml_write_handler_t *write_handler; + + /** A pointer for passing to the white handler. */ + void *write_handler_data; + + /** Standard (string or file) output data. */ + union { + /** String output data. */ + struct { + /** The buffer pointer. */ + unsigned char *buffer; + /** The buffer size. */ + size_t size; + /** The number of written bytes. */ + size_t *size_written; + } string; + + /** File output data. */ + FILE *file; + } output; + + /** The working buffer. */ + struct { + /** The beginning of the buffer. */ + yaml_char_t *start; + /** The end of the buffer. */ + yaml_char_t *end; + /** The current position of the buffer. */ + yaml_char_t *pointer; + /** The last filled position of the buffer. */ + yaml_char_t *last; + } buffer; + + /** The raw buffer. */ + struct { + /** The beginning of the buffer. */ + unsigned char *start; + /** The end of the buffer. */ + unsigned char *end; + /** The current position of the buffer. */ + unsigned char *pointer; + /** The last filled position of the buffer. */ + unsigned char *last; + } raw_buffer; + + /** The stream encoding. */ + yaml_encoding_t encoding; + + /** + * @} + */ + + /** + * @name Emitter stuff + * @{ + */ + + /** If the output is in the canonical style? */ + int canonical; + /** The number of indentation spaces. */ + int best_indent; + /** The preferred width of the output lines. */ + int best_width; + /** Allow unescaped non-ASCII characters? */ + int unicode; + /** The preferred line break. */ + yaml_break_t line_break; + + /** The stack of states. */ + struct { + /** The beginning of the stack. */ + yaml_emitter_state_t *start; + /** The end of the stack. */ + yaml_emitter_state_t *end; + /** The top of the stack. */ + yaml_emitter_state_t *top; + } states; + + /** The current emitter state. */ + yaml_emitter_state_t state; + + /** The event queue. */ + struct { + /** The beginning of the event queue. */ + yaml_event_t *start; + /** The end of the event queue. */ + yaml_event_t *end; + /** The head of the event queue. */ + yaml_event_t *head; + /** The tail of the event queue. */ + yaml_event_t *tail; + } events; + + /** The stack of indentation levels. */ + struct { + /** The beginning of the stack. */ + int *start; + /** The end of the stack. */ + int *end; + /** The top of the stack. */ + int *top; + } indents; + + /** The list of tag directives. */ + struct { + /** The beginning of the list. */ + yaml_tag_directive_t *start; + /** The end of the list. */ + yaml_tag_directive_t *end; + /** The top of the list. */ + yaml_tag_directive_t *top; + } tag_directives; + + /** The current indentation level. */ + int indent; + + /** The current flow level. */ + int flow_level; + + /** Is it the document root context? */ + int root_context; + /** Is it a sequence context? */ + int sequence_context; + /** Is it a mapping context? */ + int mapping_context; + /** Is it a simple mapping key context? */ + int simple_key_context; + + /** The current line. */ + int line; + /** The current column. */ + int column; + /** If the last character was a whitespace? */ + int whitespace; + /** If the last character was an indentation character (' ', '-', '?', ':')? */ + int indention; + + /** Anchor analysis. */ + struct { + /** The anchor value. */ + yaml_char_t *anchor; + /** The anchor length. */ + size_t anchor_length; + /** Is it an alias? */ + int alias; + } anchor_data; + + /** Tag analysis. */ + struct { + /** The tag handle. */ + yaml_char_t *handle; + /** The tag handle length. */ + size_t handle_length; + /** The tag suffix. */ + yaml_char_t *suffix; + /** The tag suffix length. */ + size_t suffix_length; + } tag_data; + + /** Scalar analysis. */ + struct { + /** The scalar value. */ + yaml_char_t *value; + /** The scalar length. */ + size_t length; + /** Does the scalar contain line breaks? */ + int multiline; + /** Can the scalar be expessed in the flow plain style? */ + int flow_plain_allowed; + /** Can the scalar be expressed in the block plain style? */ + int block_plain_allowed; + /** Can the scalar be expressed in the single quoted style? */ + int single_quoted_allowed; + /** Can the scalar be expressed in the literal or folded styles? */ + int block_allowed; + /** The output style. */ + yaml_scalar_style_t style; + } scalar_data; + + /** + * @} + */ + +} yaml_emitter_t; + +/** + * Initialize an emitter. + * + * This function creates a new emitter object. An application is responsible + * for destroying the object using the yaml_emitter_delete() function. + * + * @param[out] emitter An empty parser object. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_emitter_initialize(yaml_emitter_t *emitter); + +/** + * Destroy an emitter. + * + * @param[in,out] emitter An emitter object. + */ + +YAML_DECLARE(void) +yaml_emitter_delete(yaml_emitter_t *emitter); + +/** + * Set a string output. + * + * The emitter will write the output characters to the @a output buffer of the + * size @a size. The emitter will set @a size_written to the number of written + * bytes. If the buffer is smaller than required, the emitter produces the + * YAML_WRITE_ERROR error. + * + * @param[in,out] emitter An emitter object. + * @param[in] output An output buffer. + * @param[in] size The buffer size. + * @param[in] size_written The pointer to save the number of written + * bytes. + */ + +YAML_DECLARE(void) +yaml_emitter_set_output_string(yaml_emitter_t *emitter, + unsigned char *output, size_t size, size_t *size_written); + +/** + * Set a file output. + * + * @a file should be a file object open for writing. The application is + * responsible for closing the @a file. + * + * @param[in,out] emitter An emitter object. + * @param[in] file An open file. + */ + +YAML_DECLARE(void) +yaml_emitter_set_output_file(yaml_emitter_t *emitter, FILE *file); + +/** + * Set a generic output handler. + * + * @param[in,out] emitter An emitter object. + * @param[in] handler A write handler. + * @param[in] data Any application data for passing to the write + * handler. + */ + +YAML_DECLARE(void) +yaml_emitter_set_output(yaml_emitter_t *emitter, + yaml_write_handler_t *handler, void *data); + +/** + * Set the output encoding. + * + * @param[in,out] emitter An emitter object. + * @param[in] encoding The output encoding. + */ + +YAML_DECLARE(void) +yaml_emitter_set_encoding(yaml_emitter_t *emitter, yaml_encoding_t encoding); + +/** + * Set if the output should be in the "canonical" format as in the YAML + * specification. + * + * @param[in,out] emitter An emitter object. + * @param[in] canonical If the output is canonical. + */ + +YAML_DECLARE(void) +yaml_emitter_set_canonical(yaml_emitter_t *emitter, int canonical); + +/** + * Set the intendation increment. + * + * @param[in,out] emitter An emitter object. + * @param[in] indent The indentation increment (1 < . < 10). + */ + +YAML_DECLARE(void) +yaml_emitter_set_indent(yaml_emitter_t *emitter, int indent); + +/** + * Set the preferred line width. @c -1 means unlimited. + * + * @param[in,out] emitter An emitter object. + * @param[in] width The preferred line width. + */ + +YAML_DECLARE(void) +yaml_emitter_set_width(yaml_emitter_t *emitter, int width); + +/** + * Set if unescaped non-ASCII characters are allowed. + * + * @param[in,out] emitter An emitter object. + * @param[in] unicode If unescaped Unicode characters are allowed. + */ + +YAML_DECLARE(void) +yaml_emitter_set_unicode(yaml_emitter_t *emitter, int unicode); + +/** + * Set the preferred line break. + * + * @param[in,out] emitter An emitter object. + * @param[in] line_break The preferred line break. + */ + +YAML_DECLARE(void) +yaml_emitter_set_break(yaml_emitter_t *emitter, yaml_break_t line_break); + +/** + * Emit an event. + * + * The event object may be generated using the yaml_parser_parse() function. + * The emitter takes the responsibility for the event object and destroys its + * content after it is emitted. The event object is destroyed even if the + * function fails. + * + * @param[in,out] emitter An emitter object. + * @param[in,out] event An event object. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_emitter_emit(yaml_emitter_t *emitter, yaml_event_t *event); + +/** + * Flush the accumulated characters to the output. + * + * @param[in,out] emitter An emitter object. + * + * @returns @c 1 if the function succeeded, @c 0 on error. + */ + +YAML_DECLARE(int) +yaml_emitter_flush(yaml_emitter_t *emitter); + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif /* #ifndef YAML_H */ + diff --git a/yaml/libtool b/yaml/libtool new file mode 100755 index 00000000..95d61248 --- /dev/null +++ b/yaml/libtool @@ -0,0 +1,7836 @@ +#! /bin/sh + +# libtoolT - Provide generalized library-building support services. +# Generated automatically by (GNU yaml 0.0.1) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +# A sed program that does not truncate output. +SED="/bin/sed" + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="/bin/sed -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags=" CXX F77" + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host milch.jcns.frm2: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=yes + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias= +host=i686-pc-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=i686-pc-linux-gnu +build_os=linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="gcc" + +# LTCC compiler flags. +LTCFLAGS="-g -O2" + +# A language-specific compiler. +CC="gcc" + +# Is the compiler the GNU C compiler? +with_gcc=yes + +# An ERE matcher. +EGREP="grep -E" + +# The linker used to build libraries. +LD="/usr/bin/ld" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=32768 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ + cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ + \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ + \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects="" + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into +# a binary during linking. This must work even if $libdir does +# not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Compile-time system search path for libraries +sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.2.3/ /usr/lib/gcc/i486-linux-gnu/4.2.3/ /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.2.3/ /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../i486-linux-gnu/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../i486-linux-gnu/4.2.3/ /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/ /lib/i486-linux-gnu/4.2.3/ /lib/../lib/ /usr/lib/i486-linux-gnu/4.2.3/ /usr/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../i486-linux-gnu/lib/ /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../ /lib/ /usr/lib/" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL CONFIG + +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# 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. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-2" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<EOF +$* +EOF + exit $EXIT_SUCCESS +fi + +default_mode= +help="Try \`$progname --help' for more information." +magic="%%%MAGIC variable%%%" +mkdir="mkdir" +mv="mv -f" +rm="rm -f" + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed="${SED}"' -e 1s/^X//' +sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + SP2NL='tr \040 \012' + NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + SP2NL='tr \100 \n' + NL2SP='tr \r\n \100\100' + ;; +esac + +# NLS nuisances. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +# We save the old values to restore during execute mode. +if test "${LC_ALL+set}" = set; then + save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL +fi +if test "${LANG+set}" = set; then + save_LANG="$LANG"; LANG=C; export LANG +fi + +# Make sure IFS has a sensible default +lt_nl=' +' +IFS=" $lt_nl" + +if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then + $echo "$modename: not configured to build any kind of library" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T <<EOF +# $libobj - a libtool object file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +EOF + + # Only build a PIC object if we are building libtool libraries. + if test "$build_libtool_libs" = yes; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test "$pic_mode" != no; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi + + if test ! -d "${xdir}$objdir"; then + $show "$mkdir ${xdir}$objdir" + $run $mkdir ${xdir}$objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then + exit $exit_status + fi + fi + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + command="$command -o $lobj" + fi + + $run $rm "$lobj" "$output_obj" + + $show "$command" + if $run eval "$command"; then : + else + test -n "$output_obj" && $run $rm $removelist + exit $EXIT_FAILURE + fi + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <<EOF +pic_object='$objdir/$objname' + +EOF + + # Allow error messages only from the first compilation. + if test "$suppress_opt" = yes; then + suppress_output=' >/dev/null 2>&1' + fi + else + # No PIC object so indicate it doesn't exist in the libtool + # object file. + test -z "$run" && cat >> ${libobj}T <<EOF +pic_object=none + +EOF + fi + + # Only build a position-dependent object if we build old libraries. + if test "$build_old_libs" = yes; then + if test "$pic_mode" != yes; then + # Don't build PIC code + command="$base_compile $qsrcfile" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test "$compiler_c_o" = yes; then + command="$command -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + command="$command$suppress_output" + $run $rm "$obj" "$output_obj" + $show "$command" + if $run eval "$command"; then : + else + $run $rm $removelist + exit $EXIT_FAILURE + fi + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <<EOF +# Name of the non-PIC object. +non_pic_object='$objname' + +EOF + else + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <<EOF +# Name of the non-PIC object. +non_pic_object=none + +EOF + fi + + $run $mv "${libobj}T" "${libobj}" + + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + $run $rm "$lockfile" + fi + + exit $EXIT_SUCCESS + ;; + + # libtool link mode + link | relink) + modename="$modename: link" + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args="$nonopt" + base_compile="$nonopt $@" + compile_command="$nonopt" + finalize_command="$nonopt" + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + + avoid_version=no + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + non_pic_objects= + notinst_path= # paths that contain not-installed libtool libraries + precious_files_regex= + prefer_static_libs=no + preload=no + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -all-static | -static) + if test "X$arg" = "X-all-static"; then + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c <<EOF + int main() { return 0; } +EOF + $rm conftest + $LTCC $LTCFLAGS -o conftest conftest.c $deplibs + if test "$?" -eq 0 ; then + ldd_output=`ldd conftest` + for i in $deplibs; do + name=`expr $i : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test "$name" != "" && test "$name" -ne "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $i "*) + newdeplibs="$newdeplibs $i" + i="" + ;; + esac + fi + if test -n "$i" ; then + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` + set dummy $deplib_matches + deplib_match=$2 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + newdeplibs="$newdeplibs $i" + else + droppeddeps=yes + $echo + $echo "*** Warning: dynamic linker does not accept needed library $i." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which I believe you do not have" + $echo "*** because a test_compile did reveal that the linker did not use it for" + $echo "*** its dynamic dependency list that programs get resolved with at runtime." + fi + fi + else + newdeplibs="$newdeplibs $i" + fi + done + else + # Error occurred in the first compile. Let's try to salvage + # the situation: Compile a separate program for each library. + for i in $deplibs; do + name=`expr $i : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test "$name" != "" && test "$name" != "0"; then + $rm conftest + $LTCC $LTCFLAGS -o conftest conftest.c $i + # Did it work? + if test "$?" -eq 0 ; then + ldd_output=`ldd conftest` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $i "*) + newdeplibs="$newdeplibs $i" + i="" + ;; + esac + fi + if test -n "$i" ; then + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` + set dummy $deplib_matches + deplib_match=$2 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + newdeplibs="$newdeplibs $i" + else + droppeddeps=yes + $echo + $echo "*** Warning: dynamic linker does not accept needed library $i." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because a test_compile did reveal that the linker did not use this one" + $echo "*** as a dynamic dependency that programs can get resolved with at runtime." + fi + fi + else + droppeddeps=yes + $echo + $echo "*** Warning! Library $i is needed by this library but I was not able to" + $echo "*** make it link in! You will probably need to install it or some" + $echo "*** library that it depends on before this library will be fully" + $echo "*** functional. Installing it before continuing would be even better." + fi + else + newdeplibs="$newdeplibs $i" + fi + done + fi + ;; + file_magic*) + set dummy $deplibs_check_method + file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test "$name" != "" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 </dev/null >/dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <<EOF + +/* $cwrappersource - temporary wrapper executable for $objdir/$outputname + Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP + + The $output program cannot be directly executed until all the libtool + libraries that it depends on are installed. + + This wrapper executable should never be moved out of the build directory. + If it is, it will not operate correctly. + + Currently, it simply execs the wrapper *script* "/bin/sh $output", + but could eventually absorb all of the scripts functionality and + exec $objdir/$outputname directly. +*/ +EOF + cat >> $cwrappersource<<"EOF" +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <malloc.h> +#include <stdarg.h> +#include <assert.h> +#include <string.h> +#include <ctype.h> +#include <sys/stat.h> + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <<EOF + newargz[0] = (char *) xstrdup("$SHELL"); +EOF + + cat >> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i<argc+1; i++) + { + DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]); + ; + } + +EOF + + case $host_os in + mingw*) + cat >> $cwrappersource <<EOF + execv("$SHELL",(char const **)newargz); +EOF + ;; + *) + cat >> $cwrappersource <<EOF + execv("$SHELL",newargz); +EOF + ;; + esac + + cat >> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to <bug-libtool@gnu.org>." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# Libtool was configured on host milch.jcns.frm2: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=yes + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias= +host=i686-pc-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=i686-pc-linux-gnu +build_os=linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="gcc" + +# LTCC compiler flags. +LTCFLAGS="-g -O2" + +# A language-specific compiler. +CC="g++" + +# Is the compiler the GNU C compiler? +with_gcc=yes + +# An ERE matcher. +EGREP="grep -E" + +# The linker used to build libraries. +LD="/usr/bin/ld" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=32768 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects="/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.2.3/crtbeginS.o" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects="/usr/lib/gcc/i486-linux-gnu/4.2.3/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/crtn.o" + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="-L/usr/lib/gcc/i486-linux-gnu/4.2.3 -L/usr/lib/gcc/i486-linux-gnu/4.2.3 -L/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.2.3/../../.." + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into +# a binary during linking. This must work even if $libdir does +# not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Compile-time system search path for libraries +sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.2.3/ /usr/lib/gcc/i486-linux-gnu/4.2.3/ /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.2.3/ /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../i486-linux-gnu/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../i486-linux-gnu/4.2.3/ /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/ /lib/i486-linux-gnu/4.2.3/ /lib/../lib/ /usr/lib/i486-linux-gnu/4.2.3/ /usr/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../i486-linux-gnu/lib/ /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../ /lib/ /usr/lib/" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL TAG CONFIG: CXX + +# ### BEGIN LIBTOOL TAG CONFIG: F77 + +# Libtool was configured on host milch.jcns.frm2: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=yes + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias= +host=i686-pc-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=i686-pc-linux-gnu +build_os=linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="gcc" + +# LTCC compiler flags. +LTCFLAGS="-g -O2" + +# A language-specific compiler. +CC="g77" + +# Is the compiler the GNU C compiler? +with_gcc=yes + +# An ERE matcher. +EGREP="grep -E" + +# The linker used to build libraries. +LD="/usr/bin/ld" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=32768 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Compiler flag to turn off builtin functions. +no_builtin_flag="" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ + cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ + \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ + \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects="" + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into +# a binary during linking. This must work even if $libdir does +# not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Compile-time system search path for libraries +sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/3.4.6/ /usr/lib/gcc/i486-linux-gnu/3.4.6/ /usr/lib/gcc/i486-linux-gnu/3.4.6/../../../../i486-linux-gnu/lib/i486-linux-gnu/3.4.6/ /usr/lib/gcc/i486-linux-gnu/3.4.6/../../../../i486-linux-gnu/lib/ /usr/lib/gcc/i486-linux-gnu/3.4.6/../../../i486-linux-gnu/3.4.6/ /usr/lib/gcc/i486-linux-gnu/3.4.6/../../../ /lib/i486-linux-gnu/3.4.6/ /lib/ /usr/lib/i486-linux-gnu/3.4.6/ /usr/lib/" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL TAG CONFIG: F77 + diff --git a/yaml/src/.deps/api.Plo b/yaml/src/.deps/api.Plo new file mode 100644 index 00000000..f945a975 --- /dev/null +++ b/yaml/src/.deps/api.Plo @@ -0,0 +1,106 @@ +api.lo api.o: api.c yaml_private.h ../config.h ../include/yaml.h \ + /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/assert.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h + +yaml_private.h: + +../config.h: + +../include/yaml.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/assert.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: diff --git a/yaml/src/.deps/emitter.Plo b/yaml/src/.deps/emitter.Plo new file mode 100644 index 00000000..29abe803 --- /dev/null +++ b/yaml/src/.deps/emitter.Plo @@ -0,0 +1,106 @@ +emitter.lo emitter.o: emitter.c yaml_private.h ../config.h \ + ../include/yaml.h /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/assert.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h + +yaml_private.h: + +../config.h: + +../include/yaml.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/assert.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: diff --git a/yaml/src/.deps/parser.Plo b/yaml/src/.deps/parser.Plo new file mode 100644 index 00000000..1a00d711 --- /dev/null +++ b/yaml/src/.deps/parser.Plo @@ -0,0 +1,106 @@ +parser.lo parser.o: parser.c yaml_private.h ../config.h ../include/yaml.h \ + /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/assert.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h + +yaml_private.h: + +../config.h: + +../include/yaml.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/assert.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: diff --git a/yaml/src/.deps/reader.Plo b/yaml/src/.deps/reader.Plo new file mode 100644 index 00000000..341aa6c6 --- /dev/null +++ b/yaml/src/.deps/reader.Plo @@ -0,0 +1,106 @@ +reader.lo reader.o: reader.c yaml_private.h ../config.h ../include/yaml.h \ + /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/assert.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h + +yaml_private.h: + +../config.h: + +../include/yaml.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/assert.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: diff --git a/yaml/src/.deps/scanner.Plo b/yaml/src/.deps/scanner.Plo new file mode 100644 index 00000000..e13d8d54 --- /dev/null +++ b/yaml/src/.deps/scanner.Plo @@ -0,0 +1,106 @@ +scanner.lo scanner.o: scanner.c yaml_private.h ../config.h \ + ../include/yaml.h /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/assert.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h + +yaml_private.h: + +../config.h: + +../include/yaml.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/assert.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: diff --git a/yaml/src/.deps/writer.Plo b/yaml/src/.deps/writer.Plo new file mode 100644 index 00000000..560b2cec --- /dev/null +++ b/yaml/src/.deps/writer.Plo @@ -0,0 +1,106 @@ +writer.lo writer.o: writer.c yaml_private.h ../config.h ../include/yaml.h \ + /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/assert.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h + +yaml_private.h: + +../config.h: + +../include/yaml.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/assert.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: diff --git a/yaml/src/.libs/libyaml-0.so.0 b/yaml/src/.libs/libyaml-0.so.0 new file mode 120000 index 00000000..f02c4c31 --- /dev/null +++ b/yaml/src/.libs/libyaml-0.so.0 @@ -0,0 +1 @@ +libyaml-0.so.0.0.0 \ No newline at end of file diff --git a/yaml/src/.libs/libyaml-0.so.0.0.0 b/yaml/src/.libs/libyaml-0.so.0.0.0 new file mode 100755 index 0000000000000000000000000000000000000000..61cb36852eba65e9f6153da19c8966dd241af4fb GIT binary patch literal 216584 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 XimQ}T6gPqmMfMRSq!{8s{$~IHWxRNV literal 0 HcmV?d00001 diff --git a/yaml/src/.libs/libyaml.a b/yaml/src/.libs/libyaml.a new file mode 100644 index 0000000000000000000000000000000000000000..ba35116760e4d994f4e8daac33c0ece35fbb6fb9 GIT binary patch literal 268800 zcmY$iNi0gvu;bEKKm~?I2IdB)W|rn=3JL~bDP&SX!O+Oe0xYbMz{SA8pv%C(YB6~6 zwHyXUu`OWC<Sf9z^i+j`Swf{UF*heZJ+&mhEVZaOGe0lBxTGjEFP#Bh93qgKn^{tl zS`=TLS`wdBl$w~0DO{SDnVg@JiYZZ^nNpI0DV&*?lA2e7DW05|m!FrJoS1_tm715F zp8|IzvYYZtOA1P{7zPoKPs_}~;xMQrvd0S&i;AJ%M70b_A~O$e6}l*rMHo`Z*5oD@ z6lCV5$EW6{#HW^}=9R=}=4F;-Cgx;TLETxLT3DKzmz;`6NlJclX)Z`F9#cw+QWJCW zm{AN-P+XE&RD#PTB}FNv1(3){%*jkF#-T2)C>82<h>ucIb5cv7A~65rwFl;7e2Pl) zvs3fpk&T9>0%S30*dq%Sr6%U&<R?SCQCON<ni`*4QIeXM0ud=LNlea069HuhY(iQ2 znRyUhxkzRfCnx447U2jRcvRu@8_Xx@Ndf8`9KxjqDTyVi@kym=X{kjJXF)ZjrIsXT z#OLN0rN)DUtr$hNI5`pO3#f811yKTXNm@>6F<Q<ANiifAWa{N36`HW}(##aKyfid0 zFf%bxP%t$%u`~l0m<e3<u0C#zjEoF0z{tSNfZ#DObWDTDn1Cq_1{nrPFbhV6?f|hm zpT-{U-3DTXc0TQP<v0#vGIYE0z!(C@!KTI@4()sz9@Z-&5ZwHR!}3CB=o|j#g$xV~ z{M!UNkF{Ll@0iEHz|eVlKgbEqkL!1UXvPngu5UVBKNQ6_|7R@A;@=j=*m*(q00RR< z^MQs^kDVYjuf=<}sDUiy-zH*+B&*eVqxm3X^CSC%57;b!_R27o-fRBPR8rpjpSeV$ z`9I5qQjW&o|Nk>ElnWUiXg<Ob9Ty*axbgRYb_RyBcipZaoB7-0|Ns9Fc1dp;!|Pl8 z+fH?!P<_C_z+ek<LrF~M3DplE9!RLfw(;Q)1_lPh|Ax04e}aTd<XiujEbjdA()9oT z|INSa%cjGO<@o>q|Ag1eIxp{M0r}-I`|GQnr}s01+5DY9Ub6iE|G)F}ekQPheCLms zpa1>;AKLk}`He)kD@W^r5{~Xrp3Z=PlZTJHsPIf>VqiG#qQYScp;_1%7#NPTsPHf_ zFueHl|Nnnz_(1iCa<pD5;WIqYT+742KlMPTlMlp{H4xn#nh+YplnGG%z973>PnPg> zUO4zep7T&=pa;Z&qY#Z8vJe`>05ttly-xp{f3TNxbOySdJltExunXi}FbCwRI}lSi z1R*qrX=yO`VED%Y;+!uKjU22H8p8mXesFm5cL&(CUMkfA2dfRl0Dfjju>N2K(-;PT zTnSV26IG1}Jm|qWqjx_jeM0^33J$*mC1Twk9IYoyjax631a}5-bcYIb2Jk>^)`Z&p z64g|Ago12_sd<H}Mjd7|vYOYZYV2WZpb4XQ4@egSn){?6?lW(_R1$vNf#U)f14E|+ zPiKGt#Ep(nH(p0I8^w(<H8)VzfNTRNOpqI4YHp&cafiFHi~)=Lx_w1j50q#$S8y<t zy0u;^N$U&{=nfS)?!fVZlYybrLjvqnk>j8Of&t>-1gL`#qgsUGV3?XCsA^Cg3{!Iy zRgDkK!JXgG-P?Mggugo=1D?JzAP!m$bx;7RLBTMCK%oOu6NsuN3Z@29^5RNgI*9b8 z15RHC5Sx!cZFWR86~$(l8YfgWIWU_+u7jy@MpZ*}`U1HRn!a=dxIyX5pfkV(;>KH0 zH|nFBjp9a_8Us`{C~kzQF+^2^JAH+6bi4AjUMf-U_5!)jq4hvXLZ_2Sr;`n{tH5z5 zodQrs2r}q&vVb`BE7YMfs1~3&6sATNRSk+mVQS=1)il8Z98_L~H@^|-1{ZiPe+&=o z<O9{1*FUe`z<8Vq)crZ`qyZ{ujytJ9C<O=wuE38w89;bCAgcL@NPH}~@@N267A`6r z(71$^avd;hdy(@W9{V{!=8$1OsBr+Qym}$QNUZ(7$o@ah1gb`%z6UiuumwP;6AQQ| z#}yC@AmPrzfx{sL!XH$5L0v#n_$xrFCytd6noR$L$~ma*<oZ7W;sB1B5E{cFApbYN zk?4&5(jCjuS^A^9RG_o=Pj@X(x3fgIw@9}@FAJCDhhn|X3z`?1odr65R5&_oR9HG$ zRKR6@x3frhutX=5;eqbhFWsd-x@-S*zKK1|94ydT0#zvjQz^k{0FJ8HS1`-B&eA{K zr5v5HKf1$gy4@@+50zMV#|mg(usmF@*X_#F8Kc6{8G>Z3s|aJ9O{YY6><_S!-KAh_ zdrQ<9IuE}-*X=3-X{Wxv2l8JqD1W(fbjJ#GI|zV`I_{#v0t(ws7Zo0m=}^yD-r%2d zp!tYMH2<~(v4^46XlUnCu>M$%Zf6rzjRKu6DxhKo9vGn_olM=%CNO^M0qo{M8hdQ9 zFG0<?Si=L*mNvY+4-amBBhVeo(Ot{adb^~i^*?{h3{aV10}08_L!Ccfw0`;jzx6;V zXY&yO!voRrv4=aMvaJU?50$+9V|bwRKDZ<Smm|!qpnU8MDMy?k<%lz+9C3z}BhHX= z#2H+UbOy6D9}xhV3aSs9pjk)~M;1a>BZaD_4{LdY>VH^3BkEU}|66bKw}9GM-OSA| zn45pFl?nfWddl#?=haXb{#R)Q6@A^#NNJJ-76Y%(;Sk@3UA)_w2d;H8l9JbLNStnG z4r^zg&f_IBLFuiV9j2q(ou&CW+-l2ep3=uJ3;zHA4+@_YQ24v3a9lwRAME9E^BWD! z{0It+zYGivt^bd^z5)5TBpepy-~>_f=|4>7xGSii!q9r4RJGgn4cvLIA7D(h+zK<N z^+2cVn-YcAZ%_kDj5<x=N$$f7p-<o>#|M>ty?6r1|1c#W%^yno;RX2p&#R9!bAr4L zNp{_?Z;oS2d7aKI-L4;wqozM+j&4_xPG_EOSBXw%0dN+7=?M)=P#+CcwJgLDl&^Uw zAOmpwmyGaK`AF;VJoJI&@MNb!csf9{cNWp%32raca<u+0$>?Tpe!<fGL$FNX&rVQV z1(GpAt&smJtuhP@3=_KD;TaRE;tweAf|P*M50ZShJ3RNGD+T4DW=Ivr;RvB&RoPT{ z83XQ>g?2s-1DBtr9IfB@Tl^Ur7`okLU@5=bP3O29q~LRd6oYOcS27^vLyo&aib6L? z!RQ7l5usH?cUX>fSiy0(2v80@?iK@~LO@iBG}u4AP8OYRIi0Xt53IiQRkvFT!itjP zZW$mQ$K47b6sX0>aNG@4NFZD?4OBQ-P6M~(+$tanYamn!h$=CH+V`V7f~B(!q`KSb z2h5gE8A#6UMlz=KGR#@W+gd<IfKn4!BZzan4P+IF)oG#v%3z>E1XSUHgus<OsKkwf zv@h!+iG>4NH^AZo-t9tZUn0lHWpI2%z?|9b<^m7J1dv70poPm%o4~-pU_EUL$f<4~ z5EY<K8N+cm7Z9&RzSl{kvkjyQ=DBVpJ*5x3!5)O0*R}v;Qd<v5FPH@~8N@jbHUq)} zg(ZlE(6t4ub_qxj%vu3wfy@JO5Ng2%R2z604Xkz#NE*xnnF8V<)LsCK9{~x1StsBu zkSQPzT<x?c3=9mG)9!%PT>(jfSvTM;kXay3iEghGBu#*HU`-Ps35Ze1X#zCf1v21x z8%Q3)0$B%QLDR$wkex0npoTeQ6bdO#2(f@iR5-3f)j$WV;9Vw2s}D4u2=9!6`p})O zJe{E&kj7AN8N&ufWP!8^tp`e(Kw?l8p!OW1y$Wurf?KU3-NM%5C6V2s0^Lm3Y$cN5 zIs>Im3T@AI^LHMyJW(R8d7{%tg$3M#V}^&ZuRynWH>0+&<^@p4nyH()lO1f(>#g0s z0^N+(Y^BRJFEAeH6jAAPQDFgRiq1oZ2U;(cOzCFVX72VC=w)H*WbbCwW(F}ByV*bt zr%tv`;g^Y^F}pJ8cnoI!-YwkC)+wR_HXhAvNs!qf^Vs3$fnC)pjOsyH`3DLgP)nWz z+>#dn*(KJ^j$!y=!vn3iOU%33wb@|VyjO%7;x`Vk-?~G2x|y`udRdq|nLx^VS)8E( z(kX{(b%`3%cuqJd!}D~zigedXbeHmUbAVmjEpB<Sl;^cENYGWJTfCd2yH-H+RJU9= zyXFnc3-wCfuAoi>BuYX#V7a;VK<U}$BRt@7+|Cdcj!qdBP{cvqC(&Ii(#@pJ&d3H* z1GWb=;0tP)Alj3V_9kbiD>MxuB`4^3qeizY2Pl|gdBBMY)CFoiz~9mhDy(WnKn?IE zj0_B|w_#1ML|F0Kd8qToi=QvR6}c@`*6=p8g@oMr3jF}{5KJq2BMe$#gW6FjjWB&! z3#;=`=Z6=)5WBeHmb{(`lLzViP$JbGE75wJzXMe2bcafGyNbMsgy>;6y!|rs|NsBp zt`f}$7-4C?^+4xg{+2+Hcqk||J6Tk~!CV7P-`%bf;C{rPV=T-J-L)K`8onDe+WF=< z11N`g2C#J3e&`OBIPL)HUO0g3)y@iz?phh}_?^OW2S|<U0IpFxD@3|$RgODAYFP(J z^%}v`86eSFAp?%VmyiE}Tqy!`VyCObOG9YuFBRHaF^5z@u!;v%VuO<esG$H;V}Yt> zHflowkv_obRR`p$Sf1`uf#a^AQjVeZ05m?KvB}>ufr)_u)TYP-B@0&(Pzp(gCJS&e zS)y{BMFlis0(J=~I_~hdfE6=$hu#5o4Ou#!SgcD$_*)Kx%19O!P>l;${DQv)G<4VL z`l0znL+AHS*EgVK+$|4k`F{ji>COVO@(?2f11t@JlV8;{Q1at%0d;A+<5^JT;-GRM zA0c`wovsg%nq8g8x?LZDOg;nZUVP(k0aZuct{<#j-|)9+gDehx0P5HjuyhJEAK<X8 z73p;Sz~7n-N;07I07)L7SAzmD^v-bx(1ZslRfKY&CJEGJfSLfhU0-xMadf+W=yU=% z`ke%tkLZ9C132S@!)(ewNMGs!GzpwUZ3lvCDR5XCemm|8uF61x4r_;ney|LEQKFVM z0a`b@e!x~Sf>o8?fo0Wh*9WL+0Gc%52@~2qYCfW4cmV9sUe^!3p>IHyL$B)#a6W=I z96{lm0}3(M4=>lCdE^$VN4CS#DJU(&JbM#W4QPrD>{(<r$5GY5^8}>gMWpv&(0E8J z2Pj=VgoY(@TMw3ij<cvRI6x<xS`TzO%kZ~c1Pwztt8_YRu!5vIofVF=s4z7kDbnF@ zSp!yN(&=o`?X1HJlI?UhIL@Nt0P`2fun_(hP!qJ%Ii}k=r1^kDr*p({7L^8OB%@MF zQahasI-PU6ol{srGM&yD=*E<kICeVMbUT-Tji>+_fn-ZFD1Vj6cQ%89q8rQuWvynA z&EUlK@-_nlL$|Zcac1yv5Hzm3opp}GMn}Mf*>PvoPJ(j?yuS)A(vCxiP2l=djypqo z2+oimf-|^>082LA&Lzj4Aw2+RNDsgn(gSct?E!!teB2q*_IHM~{hh&Wf0#*z2abb1 z14{eH!M=pBK>h}?K!aJ32K!`4S;!F!iEvoC32(3?&u<{5k9UwH#Q`cmV2uP^=_7)_ zB_32ZIVW^Fr$Ez33@8yDK#Eis{uV2+BA-s@fNp0OR)zx%44uv%pqOJqr~~_jzl9&9 zv>DVy?`#G&@w>s|tPM;I44uuOHauE-Xa=>$`CCA3;?8DJ8@(GW0!kdspvF7M7Dgmn zKn-&KmX)9c+YGKSn?WM14Pa|QEqHYEL9OzVn$BiWJH5LZ!~>fRDlw0<sDSw3T-kb{ zvl-MJFA3~y205l1%wq+~cQ%9C?jVOCCsa`VQKHh>3~G3HH-mWKgbFIgAPE%|vf%z+ zw{rw~YIQjdOJ<NR6eR7z(g-BXjypp-PtK6elQX#Ugirzsx8vXt1tpu~;2?*vK*0`S zfie+@h0p~GtmEK-1&JRAhd6`<G7rQ;s0I1`crz$WLE^{3!3|-7OaZYFYC%DFycraz zAo1hi(1x%;rhr%owV<#%4h~b0_;GM>Ls%eFKrEPAP-X!IC`jx$IHVygkO?3bBD1JM zdorMs43z3Y?VRH*D)62RqadRypD;HwpERE!qY$G28v_HA7y~n(6}L6Fr!WHpvkC(@ zw;eY#9|Hpml*z%szzSh9FtG76aC0*-u!AU&at=mDPhm!31_n+=22WvqZUzP}VMb;? zZf=lyAaQP9h~ccB!WLW%3_LKq7#Mh=GTaauJ~alAf&9XZ2+aa4NE|^824+4PUIqps zs1jC?`NHBzN<<JwGBAkpGB9(1oB=Xc3@XD4;)p{X0p>_R?Esr53DpC2trXO7u$;6g zqdE`7vofq;x60}<*z-Vw4kQB#PX{&z201-OgfK)9<WhN7NJwyd3WMgx6!aLuT3HcV zL8=s?s#raRnb;T@luRI=0CBk(7?e#QW`MYC3=AsVjG=4{45~<q*ccep;P$hs^C0Y3 zM>3g<fk6Xgl&7!>56Cf^$XYyw5t_6>s;s!J!9k@Bbuu@qlXaj5gFME@z@Q7&0!~hP zaD&k_>9ayS2GwK$<w8AX$OZMMAR_~V5jP{qL7>nvhA<fzOc0iUg2@z#%f-N82IYcG z<6>Yi2L%&Iy9Lx(ZjiB-P(|FH!uC8ipxWfV8Uq7p){KFHg;7p`fq{{in}OjOXl#&y zfk8zPl+hR%nC`JMFfd&Mbpe=J*b^8T7+6?XGxJIqm|0k#^D{6oGjdph@(~mJG*Jcy zW)^mDA&?+j1&GJQng>$C!8(bHfq|KWJ(7iifys@Bfq~fqRH-rrgB11JF)%PNofl_d zVD2kpU|?WnVP|7uXIaDmHYbULfq?_W-pRngz&V|Pfk7F<KMCWDL-;pgd|?KrvtkSk zEQX*Gnro&I1H%*+-6c#64BTCe3=FISjOHNwlo`0AIT;vOMH%OSxh&iU{0t1NVo)vz zw>29B1FJZc%fk(tb!L@-as{|22{SOTN<z6J+(96drJ!61?nmMb46M>nt_=5SkgsH* zTm|mUTnr4Xa!{@c_jeWs23C0}SA+W)GXn#w0+g%64O%_Js>Jw+iGhJh*?@bg7^rk& zd;#W~aM!akFtDmYePqFX2_&lp<=Su;2{ACR>M%BfJ?Ox#4sw+NBdA(oQg-29&C9^R zYRCv$%D|-T#+?arq!A;i8NsCN&iz-Afq~VG@gLYC4{mvoMfQxKikwN=hnoqc*Mo5u z*yIpyP7v1<%8lR_0CByb+!$_g5Z4>ZP2iRTaeWw7!Fp4;>p|tMAJokm+&4jv3}9qo z2KhIKfd{k(j&%!{A}0d_59=;aF!1JrVrDmp$)wD{n+S@DJ&*ul;avd=y#tUK=3roF zS<S@2z|I0n3E)Ho@(wr=fkZ)R0xT-R3{6_<4D2jY%nS^CpajP>iHCuK&CeCIM2>?k z(4U!sfp;Ps0|Q$y#CQhY9Uujv5FQHyQ;9eO16!CDGXn!Z2U{d)+?98wC<6mqG>8du z>ONKm2DVrTkA;DqMIPkIl_0^mC}su*0T#Bzjm!)Tf(~K~3=D$jco`TN1>cJ^Ffa)! zgR&R{QwApk16$ezh}x{XAhrKM`Bm_`AV}>sVUXGvA`A@73`}=97#P^{_dwJZNwY98 z2yOv2odtPWL26%dfYhq9GB7X;E)rm1U=d6Q1*Bjk9|Hp$1Jf-51_rj;7a+gzur+}4 zEiV@f0|Q$VB-$8wD}@;t*jgbx7T!M~<sA?n2Lsc2Mg|79PBj*=pC(TP*<A$o(?Kqf z-AB1Wb_a=p?Eb(Evil||N*S00xfmGO=B7aOE!Ymy_e2;J7JPgleVc_q1s2mbCI$w! zrE?&vR@?=tG8PA^+9nQCb)FxrsumPE>kdIw?I>ksU=VZ?0I5pn0I3441Yr`41{FYp zq5L2>xP$#~%g?~TCb)xzfq`A{Iv)cAhhVG_0|Td^oCE^{mtZa<0|U39C#Yr@{2{`? zz$<telw1U_@h~v(3vLu-U=R?D=Vf3J6zt_@U=R{~D#*YfEZ8N)z#t+xkDGx(lz}OX zn}LDt>I)VI27VT{htpXZ7<lVIVfh#o^-RiO;pgi>!j+(u@e-0;z`}2j!iC?%g*n(h zzXAz^liF9PFz+`|G=7KhSQz+u*nZ2gF);9gjr<D{X5h63#oB*Jtg&#%iZC#+F*1T; zi%FS-L5PEmmC=ojfq@&G=-Ht;lz|(Z>N%lY7LYn##ypTZunYJZp{8?#Q@bFP%fcYc z!*=gD8v}y~s6)*5q=A)zLBv>yfr0H6C=5hCfWrL)$lszRiRlb%KR|vJGXdovCPt74 z#XtgVT#O)ph%tjS3W1%+z^}n}gPWa!f%g(9ciaZWG?Ov|_itVX1~w6}%b1i|xcfkU z6=wvcWF}<+Zgx<ROG3Fa4C1Yzlqbyya-akYn;v5_I|GB@EYSFfptUF{y$JAt((F@k zewo4qN-xEr0#gvwL1hzs$O}p@(>OutMGsUF3HAvxFmN%5SAg7P&nV8$z#zoJ=FQl_ z&cMJ8j&EN^ScD64u!S*h07-NRGBB`3fZ0sS43eNV*=$izE~vn0WoBRy5?~8td<#+y z4v=6l8|2}MpiCDHwgKefnII3xL8FO>ft>|ZfC;g%B{A}FFfed~rBk5NV8>-Js)8iI z5s?LrHU<VE8MZve8E}aLn1m!amWrTU7H)9LDuHr2xWP%Q3|h$ZaIXNRtqQ1Z0^CiY zqNEDS6@jF@8feOs0Qs<i@gCgDCa9qd5Gz}tTo#BI+MuRzKuqai1eF?0$~+)bdKgtW z85p?1KI(&NgPJk{%7vOT3DuM-jG$5lWQvpwn+IbPCj)~RINAC!=Cd;}h#7$5DV}i~ zh%EpL_Eg5tAT~HXXM+P6l5}gqVJh|zlw3Q(!6-H#<oBsy|1k(zusJcF0J#yIc3r{A z4iuN*#5*1Ad{A716Ynf&YE^(F-Z@aN4uiNNs7RRycBZ%}I|Bn-I@1GA1_o)cr~Y#? zFvx%^Y8fyKl-p%kL6rtO3#e*iX90-_NwDQI1#&SkaK|u%stqPcrN+SB4l09+pj;O2 zNg&6UGJ&)(DRXe&1m&6vCP=2@VG!Q}(p<^J&BeeV!NOL@^qq@=L9iIqClds<CK(0Q zz`3Z49aQpv;s)iSR#5dX_!m@M2|i*3<)Sl8pj@;?095LVih)X9e;!b&`-zQ#fk!Zd z8&v8FaWF9O3I5>#mAVDIpi<WgRKN>f2IVtBJ#J8`3tC|)B52OZz#uB<CC<PgCb)r{ zfkB)>+z8}}=}fU)3=Bd%Y$uqkxEUC@!CCJV(|=A-y91i_&Oo^=+@C?^&^aiVgF%Xi z?HE%GHv@y%bx`=6XJQ7iYeD8-0*f=Svw+&8LIP|znO4A!zs&?K8zDLSE|kl{tpQ3; z_n}-4ZcPRT2DXP#E;uE>V0s5P<rUN!P)ELja-pWYgL0v!e1LMnrtmYHfI<@NRY5Qt zUdjkVxh&jkLB0@$ayhvFfC@@+C>K<WfQnin9yUehLbzGVU^d(=RVbH5vLwHNflVFC z1vSS&$x4Wa&5(H=T(dEl4cBZ6<w7-^L%AT$p!6xk!{);L8m`$5%!X_BfO4Uly`Wr> zW>8WT;$aJ9*5HN3b}*O?*BlDvLN$j&xggD;1TMtG7R{Ur*Br|XDzV|3<Dp!r=0qr$ zgF)y8+X5zEeg+0^cTlrs1rw+x2Fl{`pr+(1CQ#cGl*Jc=a=;pR&f)_pUI)#0Jluak z)yM{DMibz^2g-Mwpn7Gvzk}+|El^nn?x&#Q-~iZCCS@J&08m5lFcYW<0QDf&ffCnc zaH3~YHjzxtPh()a2DQk6n-f%;Jz`1%wa}DZxNnIuFt9y^x+;WQ2jq;8;1tcI9094v zzA!=Ru?%i?kdMAY73V+-hhI=v6>xikWZ9TODS%12h8r|6$i@lgGAlPQa+iRz01uSk z!pOZARFp_CgOWY7at9+f3&<DJ%%GBoS$PH{_Zv|4CI?kNhmkuKq+WyB3e>q&Uckt` z22|u~L*>^natnacu^yDafswloByYi74pzT~k=qtzzBlt0F#iA}cQUBP@?!=i8)oG* zjNI&?j2^-K5iEa!ksDmwCNb;rGB7YJ-(h56XSu@3z#x7S6pb0+bRzBxio;*b+5E7g zxRoEHC<c|2f0=*tGcX8hf|d*kGJ{+4H$WX_!8PC(vIb~uO0XByFA`h;@`d0Uc2GH~ zA_6KWRe3?>WCcH{oLmoTg$b?$b(I7ca)8Ro|E!>LGM*h&PJ%in0)n7bwt@`e@}L4u zfCc0tAs#k!7CQk321w*vvOvo~?g~%~+8SIxfKq4ys9>;V0o5I#_MsFHn<-0z0IUqO zV_^re!DXN$3#e=a)xfSS%RmN$OB{C=l+w==%7vC&-cT;I-13ET!R1yU3n;cBMRYLC zd5|(R6v~B~5)S1;O^JkZc|Zky35&8IEbEtn+3?(30p&t-Zxxga%KD(F5fWf)WXXqX zZU(dAnp>e<XwlgY<wA?jPAC^tbb@MnAs)6~mNjs*`dL85DBP@xP%hLVlc8J=ko%{z zJcetV$%0b)%!YEI+U7#JU~M~Dq=aCNpxw|=W#D!NCGWlPxCJ*{_On1TCkH6z4znbH zw1M07N8#H1K)LKVTpPHTaS|%a!OZ|l{HLL^JPbk#Z0A`XflL864lhF0F+duJm!axd zxPw7%xeBwK+Y?k0T!(UbxKDyI=1nM9fV&rD$89KAg!?xr9p8m=B_M6U`z(+?j0}U& z2R2ET(;~3KSCIv!@Kt7k6~4lt5>p?n64b151Eq8$7D$Q7!>tD@xtzdR1k`l^7m<G8 zq|c-*11S@u!08-R+Jf8mu`G}>(S{qesf#TW>OKc<7m#PNp<Ea4c2IWCg>pT(7l4ZO zd??q4dj*JF$O7u-Gbsl^N~mgZR$x*NffP`6ETHtsq@2Kg8&q(2v1kf{+Ak@P;&2K} zDVSRVDXr##(;c|91(%Ks!8S1~_drYEB~bnZMsCo|HQRD1e+nb_Y)}oe63U;!$UOrT zWvik5IgH%)AluhM`3o4i!J`8kp!_9_+<!o&^(H8P1tYfzDB89_`D+-tH9#T04a(oZ z$ju3=cMgCPJhSo^M(%o0nm7Ya$;`?J7`bynrSSuB5@lAt04jas`573*KZCSA1E)Dz z#u!jZ%EbtZV^HH0)Z_)xa*Vmm3=E7SjG(~)(6A<GS%Z}*1A{!MpUWr=&W{rr<U!qB z7>`B19yD+PmE&Mg@CS{}WHEso*dQ|s7#SEq(}=f485k5nr5$4?xcLU^9V&wQLX4T< zdT}iS1A`K%TgR9UmS-x>Q3f^s7<0f}(42`1$dSsRm6MG5OrRFJH6sIqvLYJ;17iUb z$gbHSJ}5^q7J~VpO_-|L42+OgI%qo>1A`jlCeVn92@@m8Wh)sO7``$xFsO<#Feq|@ zd}7Q5W-~D`sDn}&qcIaWl}%*PxG&1UpsvQiz{tuB+SbUx&T>%%WFD&o0|TQ56XOO( z28Q>H3=BR@3=E}k^VGrSRe;O`C1OT(NP_}uo)W}7P+nkAWBee*z`!WO#Q1@cfx&=@ zfnhNd1H%EhNz!1G&NDGED1!Yg4L0c)69WU-X|fQbKwBLd)EEU=7#J7@m>5CE)G;wI zs4_D!aErq{$qzOvkePu&5tQB;`N2ljFhh-!fEWeZ=g6SOxB=A5XJKLlwM#(zK9@5y zFoeR5Vg?%p8tYL9`GS!dY!nmJf5H%xKpP$z)EHSnL+Rfc84oZqFsLvyF#Ka?V3-d# z=^G;`<h58B7}P;U1>-l!FaXpfK8Q)6U5yNCjMG7p{(_OwfSG~e5HkZq4hsXrPq<0X zz$VRLVPH`F%gDgM_?!_`(tQM(4C+2IK8K9BPUHXw+)q_-oPu^OGN>^!fkw)%F*06Y zW?)ETVPHsPWngfTfCb!Du*tow3=E2(`ke79Bd9)q#tIF%FA$?Z8wVNG7(r_Y84ocs zf|>{7tPBkHYzz$R;6@z)8<ow*z@P{!Mi~z>f?5|x*ccepLCp)sgODMDi5!X`{fq}0 zLCp&jcBoD7AvS?_{4uC8y0J4bF#0nxDzGvzw6HQT^s+NB`~cbH3QFsKj3D+-c38mr zp#<y&h)JOBd<^U?!Tg{k{f38ufzg4HaRMs?gAyA9!*6y5h6qUp21T%Wc3|_=IbgwS z&j@P8H*hd8sDp#o9wm5pL(B(l;$l!^3;-noJw`?YHU@@cYzzz^I2aff!%fx&n=Hc# z3tnAt@Ro8yJ-rNK6lmWZgBoMC2m=G7G$Z2$HU<XJ*uyza28O?Iqa?vb{Q?;UYS%ML zfrB@g3l_Xmu;2x!fr${4K^xr|G#Ld!`S2h!xC|>`XJB~7&cJY(i-EyIih)7#6{w6n zzzk~iyys$I&;s@J84odoIznKh_CXRVc=duNBO}O>T@a%_urn~EaWF7QaWgPXh8xuh zHp-0~W>h!As3j1iK>N@bG#Rr&LB|R)s(^!m;XMZfLm@W<!&|sfEMTMNax*Zfg9fn} zS-_2Yrim;NN3tPIZh)8!YVtB@GX7v<U|?JZDYHQllE%rvaDtnG!9p75-=$0-|9*ix zayhv30`_kj#3;~aF$PV>HT(<=jME@S6>u^zyys+Kkmq4wm;^U!3fL%b9$0Fe3h5=m z9623fav;QH(C#k=g?XSPIfoG(C!meADO?N;WjqWFZ$Jivlih4^vRlLh%B!GUKN}q5 zH$Z%FhMEnIaXwxK1}$(&KNp+<8MHx(obe0TV9-?7c`gP97hVPie;Eb_9k9WlK+PS{ zSc*KTfy4L-luwx^vgm+K{RHZFE#qZi(6I;As-Ho*^aU>igDyC$d<Eq^289!#RIm-= zc+hTTPHqMU5k3ZnWiqflvlZ-kril#dU^}*g-Oe<T1yUAl1v{N-A_v6f+aWGjH~_Md z7h)`ElWHV41A_w}0|SpN%vf$zW4Td{<%Sun4t6^axQJnz$fE^zJ0Ca)G3YTa1zBSU z9u`dCW?(4cW?;zSV_>k9Wnj=RE-7MQv;{F|fVO<Hv)IcrFz|t<Z!{U}KsiMel3*LS z85qKN7#MExF)*x`g(WKyaDrvyXJAkS4Mj4FFoQZmLHw}1AO=pc%3Yic42<Gnx%vFi zvS2DCae&tDGsrP60_9i}#snS)h9VvYh7<e@3^zc|D*!pq7!-eB_!&SYn<Yr$MP|kZ z9tMUoP*M<JU{IEWx#t4dJz*d*&^S8dCGcQHw*b`6!w@^c3!F3=RYA>#IZ*HMGB6zE zV_*P{&E0?-Hxq2!0|A)#W`Vt+BgnvD02(7^gzzf`Vfl3yG{5qwgJv8UXETGxS|<uX zvhQ4^z?cU%X}ur=gK|2^8S}yX!-5P9hM>U|#x2ZBd{9TPgg6@1fMU>OybcP=REVQ5 z@G&q53NSE$rpS8b8K6a564=oo??d7w8Emw_5X{jK{v08gqmxk`ox%(rW`;RB4aw2z zV3RHh!5p0d=06jHIl7j)2o}5ZA&v%Z>tRr1%mig02PQ@Z0S1O$0t^hlgcul3fE>ID z)XK4E0*&3N2}AvB1JMfFXv3h!cpB7rX=G$PAi%)jCd9yyCd|Mfs{kq@K*81k&Pbpc zYoiT<3=HQ585npJ7#OrbzGv)Z1WhVH8dtX<^#dq%GRQH0V_;xlyv7(H#J~_G!oYAs zn1LZ*fq_8>oNcaxviuie1_q-e!VC<Lg&7#)6c`wE!A3qom{<cb5wzccL66Y~R8MPx zGi!nf1H*g~1_mt=28PuN3=I0<G^`0q!(k!}43JVs6IAM~2c6}h$Jhe$Vkfx#S|Gx} z5G%^Sz#+=OAg9Q{paX7jcYv6n`63<A2qq(#n<dJ?paUAggm4##GBD_aTi;;W8=?#h z#tNbk!%RS#ov|0>06x%EB?CLS|EI_JP>g|ru^eo1f+z#SE>Q*sb1?>n8o0$}Ad8d5 z7#Q?H!<~#^ZXbvXwh7GLDaOEH3bvpEWC3FkgC1iNs5<fin|nZ%fx%Raf#Hc51H)Cg zxn3ZqfH(t#Jh+G84dOCQWPx}9%(E6}V1T&W7i4T2XcCki+{@Nu1Z@FjOadDZnod3{ z#=uZ1&cG0)#K52<4{H4-fXrJe&cL9v5Y(9gb1#Cprl3|Qm@6#7z@YO0lq?fLijzUy z?Qm|h1OtQocTlMbmSvhK!l1`!462h9z)^fbjDg{u7z4v%2?mCGkhS2NL>?5U=Oq{z z7&I9>KtXE=$)+E~7#JQ)Ffa&8GB6Y?!?LLkIGfsn+B@K)Qx}|>VkKeO6v96Uk_Y#Q z^uY4pL40tp3o_uRF9qu7fE=z5&Bh|?peZOu7*_&P6d5ps2M#96K#C$Gq+D$bHn>;{ zma9#`{B{t(6cmxBVE%F`SS}A`UM>#Js<R+j6|~fyL6cDiq<R;m>F_~<f#I?=1H&^Z z28JUlFh6evHywmPH9lyDk8v9lXtvK2#6JTn*S9l)#(t)O_=klV7#Mee`M;!LMb%Dd z-$X!&g>g62Pi5%n2jd>t&@+P;X#ALQFVh2MSQWGn+#XRb17*<tVEgQ3K(ix^2bdyM zpo3<N2f-G>#;O<(LAj7YC&t52E(e3zE>MCx!lbCez`!&yK?@u+N0~sS0;Jsj$aF}G zfx#TqnVqS^z@Q8+HLig5$AOmb8a<F=VE7}&z_3|`fdQiZ3s^e?xGh!<2~f~_YX(im zeV`^&3?n$DKagf%_%6%9&@RKkz^@7`|DwU=-)0$D+~hNUl7Ys}RY>^+T5`*v#|T>9 z$haD85`!FM3Dip&28M7|SgE%PRO*S!GB8+x>z_jl<e}!IL(BoKMue<J0ttW@nusy* zf%JpdnSe?|u%HkFUydqtT@$EL4i=PQ;A?~lg8BepK`92lX)r-h9|J5X%D}f8CJ5@- zfCVKO_ztKtFz|uaN%4UeM}e&b^`OAgatwU;LDC>Az-qwKp#COUT9Se9A4nQx8CV+Z zYKVz&_k$`OuxddDJ{>iv`$6qju%HqHpCe2V)LaG&DlqVc!306^1{PFd;LBEHKvE8B z=743S8TeX3GGJH2)$oCq{es;K>UMw?Dl+h`11SVK!!n(Xfq`WrXbBJ_qvb&n1_qW% z5DtSeXz?1ua!^gi_?wTHfe~`v7O0TYFD)+8&&f>EPft$P&or?x)6L1uE3ME?&nwk8 z(KFIB*3ZmK&M8evWdN&$a`cljONvoM81(euD#6ErC4&ZVic3;bQq%M@K)srh%7WBl zy$sM=yW*0R%zV8J(8i0L%p@2SbkLw)1_OAj9%#K60|PTBqf(ebm+i!f6PYiu=tWxl zY1`*8SJ{}hy__HE&C&0@TiZU_(9)PWi=%{DUXQuFi8-r@Bc4fB%&luPb5;a1_Y<v{ z7X^!$x7U}X+4`hwGZ!;yGp5=4>;|z^8Pn2z=7U%&AlBOOW)NEqDqqB;%9v*BU6!uJ zq$13m&t$-umhN5ZW1G%grN^Wq3=+&{GJ*(}+SxK!z(g~d^cd47dZ+u_T2xxt+ody? z!eqMYnRLlBGYe#9x_7C+t*v>fgDrCz%*e&8Osb3}_C9;HnG8e|ncbN5ka$1pAY3LB z(a@WT%=79|)aIf{HrFw!GIDs?KjX+=c7(%#`9vK@$@2x%ISj0A4VX(g^gNmOG43k2 zv}aNl_OxZbTsNV_o=Hvkv!^Zdnz{)#wtn)F%$Ha{HD!6XFmrNvS?e=bdNu3n8!|bH zGMAKq0&7+klOCgut+#w6^KAA{P4+F!s`GX;N0l(kmaJv2I<c0y^2AyYgSqs?T3c)V zjQLh}^~{y?m_3;E7&*KgTh=o3aR@ONU1JvXT6>x~=R~uvt>Ic`E)Fl|@@pVAa}iS< zBeM&WF$t=#)iN0~me~3*%gme4oSeoi+O&B-bMczB%-n0{Gbg4oAE;x}Vr;T)S!>PV z-3-F19Nwi@Ti051tZm-O;a$3WZT)Q~H4%<d=DZT-E1=MZDc;H9t^fb#^;9Me;pSA1 zlW@F~<D@=9S567@Wsns%>DT2y%YT+<zQ>Tp;bqUvn>ICuxq`!{nPb63=Dal%Ig~QI zts^H+WKN#P;bqGal`(N*IkPv19)~waR0hX_-4n~1xj0HDrrN%k`;=ow-RHgT(aam` zpV-)z%FmZ)p1@WD$~3Q<*R5ri;PCpocI`suL}>VlaCkB2t^tML24?Oj%w;9lb@kIZ zBJEOqn9G^68JP<>Kq-y6sh-J@k(qY_bFmFGS6aFD&2$c<wYzm~(@QfaF{z2oU(3<T zvHs*q4t?g5C(JxH%q2}=(uP?$jai5(nvprrhFK_r**k(+lS!9x;@bHW*Vea#L$uY> zkU2eqxr|AZkx506Igd$&k$Gw@lObb?Z3{;!ld1@lh6t0g2$PBk#|<V^N#;tMT(CY+ zY(VhZ=2Q-ECJj;Mlr-jZbxgV_I?Y9x^hKBqMVPcjm~=&$tPlpIa(FjmL{BQmNsvi# zX-p~%jEn|)26~3j!VGlGVM%HcgCdlnYX?6L6d_bzlv$D*pOKiCl9O7*0HeWYjY5tV zWdNV4Sj3<Rp^*)Ni4>(KrofGWoGc1HK9eCaFF7N>hyi?ZBSTqYPH8GbNn(0@N@h`N za!F=cs;(WxLUhrBqSUlZ@Rl4<iHwOs>r&_PFfefOGB7;nVPH7V!@vOIZ|7lPC=g&^ zupk42M*ct;q#s0sigxHpn9wsg5$*uX!OjE4dU7d3EjAX4ejLYXV$%l`1M4q_oi$3j z15owjZ~#ORz7s)loTSPCIe-&>UMQLFgX_oPK3HI2p&?F(91Baj?NIj<ajYyjVPieX zwRi}hF%0!TwA26}mkcQiP>xrINkcOSILKjQIF5M*1q!?f0&9SjAYdyX<px$!VoxN7 znuhEms1TBaG*C*Q;&^cCQczP<Kod{ROVL!QsZqeL-qseIdQegXO-}y*|NlQD17i&b z4+~2NBLf3yAOs`_!l2nqM?Q{LCU;&|m^ereX!|x;+=-VJ)Rh9M1@*H)V@xn{&t}#( zmUd>id7vpmO9lo8m^{op&{QAjC_!{_(8L{RhbX!@Xco>7i#ebvHEia9Cdfdej2PxH zGcZiTVh(7s3bY*nT|H>#2-L(!7YEG~VKW~z6pqb&&}<Dh^FdQD^O4*G8oU67D`?UL zv|$BiuS+{K156Gy3xZ1yG_6sOWFCq>4h9CC`ZyUF(Di}h8{`(yWC3WuDa<Wy&8%*1 zEN<<f70j@702=p?N3z$gjoGc4g#qqn(3m}PI&f)5_y;ub?un!qBnL|;py6^58)i4m zKG10RH6%T*&7f3=NXH303=Bd@@^F1T3=E*bN0@mqeK5Z^@G>wsG9uC|vR`3pK%>66 z)WG5hG|&nfH-p&&iU*h*KqIMbNOrh3v$P?HC1_NXiwWTdm^>&PK=A<@-$YLHFn58* zF83n&8RYhMX16v_-w&n+G|ULvl>>7ZNDVA5VQN4_hNZ~nfEBnkgHDfw`2jTU2Rd;L z$sCk?4;rA8Lox$qHfSjBGm_suv7{x?(A8rk|GPoU6j<1TMq<Q~<U#2LCI=o{VMc@< zNDdTcpxr4<3?-n$5g0&cGcYlfaDZq~S;xds3SxqkF@VZB(0XE!S`ZD|Ap%khqCsUH zvRV+|5VX^Xp@aoQ8$;L}AR1Kep{oUT-WeGJK%1!Ff<_G(0zNS?FnotF!L~CnFn|oT z01E}dgg}dp!5ga>N((@AHds0gM1c+vWnw5T0MVdb`HT!<APTg%7$gj$LHk-68Nxsm z$U2ZPhz6~yVPpscQJ_;`LBb#!<ZecWFl4Ji97cv9kn2GWUPgu>&`xYnVaCW11lnB< z!i)?-rx+L*Ko&AG1c5Bm0}X^Q1c3~7fiV3T85khuqj>ES*gN4Mtq|F8WZOa8cNrOi z5wf7|w_pXJVEGEx8wj!sWDz4nAXth4Vo@O@Xtz!Y3y3a;usJ|9Xw3?8<bbTL1<Oxl z0MQ_MMuq?o1;WTmLG{)~u+kD15WN|~<^a*4r7P%a_k!goGJt51JR?I8hyr0`rJ!o> zBUot(3y20~5m2%N(V(giT`g$5hlyb#$a~;*E{qI;AY~woLn#YL3rL=kAqYf)FcU*5 zXs;$X$UuBU(1tuvVrF7sFov)>Ks0Fi3$n2wwGLqUi3}hbB+tkY2%<n3hf)@V(jbsB z5Jq+Zs48y+n_9vGqCxXdpfCW@pj9)-#)8!Lg4IrB0MQ_MMus2|1;WTmK`nuUV5KE2 zAo?(b%>kl8OK8y5o(0QKWB}2iu{1`801ySjV5Q8El{btG0U+HV3>F3lA_D_xIgKG` z>m4W<nHd<2A#4s14O(V{uGRr8Kal}MSAk}G83I5Q2!oV@=y?!f5Cy^@VGs>6jgcV$ zM1e3!80rSFBR~c+F-&9u(V%5Yj0`~_DhzC2DG!JS8P3QM1foC~6c->GWH=*35QqX{ zkT8e_S;EK=1foC~Bn-0;)OflGHn@ZZM1$5cfnp9sgH`|`yA7oF0a)!s1`sU=nt)^o z08t<eQVOD-Ai^LDgh9d}8e|$HLjZ^ZVURGgBR~d%JPo2jrZ6%DfhZ6Lxfeu(OkrdQ z0#P6g5(d#A(-;|oKokgrgkc7Qnt+9%HPZ|wEFiiV!sY<cphZc@jsU3zHG4pL6GWef zcmqU%Fi0tg{tOWYQ6LNw2GJnX7#RXU6bOTaksSdt5ac@$JsE655Qth0c26k}hz1$X z$PfggKp5l=5DhY%ks$~~fiOrIM1w40WC#LLAPf@5VjmC4K9DJl41pjDgqavhML;yj z6h?+X5Cy^@VGs>6jgcV`M1e3!7-lf2;j9QAIWJ)W(aI1u2Z#nOyh8RgNUbhdej)>i zP5|vLWe5OKAPiCpqCwgi83I5Q2!n)Swt<@C6Tv2wuz={v5H<&h1})1%SGxc#Kal}M z--6f%qCgm=6h!}n2!kjP1_^^`kZFtz0U!#5LBhz602v61I}p7QY(fx-+6K0-lm|qE z3}<8r0#P6giVYAAGMtei2t<J}NEk$eEMa5_0#P6g5{B6a>T4K+4x<2-L2L{R#t=3K zhz6|~Lv|ZTE$E;HP=W=~b)X4ah5!%+!XTv}dJ#kzM1e3!7(|0iV`K;bQ6LNwMs@_q zK#-?FG{_W2h9D3H!XWp8Xpkw43_&0Ygh9d}8e|$HLlB4pVURG)U{H_gBE&~5Ao?<d z%>kl8i`bAI0aE(_EI*L}M5}{V`7s26C=doI1<~FRVGsqvAYl*<GL4ZT2t<J}NEq1> zAOk_Z1JPd~;RB+W*+I2(DG!JS8P3QM0HQz`<P8uFGMtei07QW>NEk$eEMa5_08t<e z5{B6a>JAoy4K85;(Zvup2Z#o(twVMjNNpWhej)>i2FWur1c4|JMpg>yNqz(?EnxxC zppAy0f*VAG*4d$}{RdV%kpV=5<Uu7S2V_YevQkhdv=Foh98_X*FfbHD*c>1lwB`<7 zZ5>#CA_Is9$%7h6(B*l^N<j<jK7y5&uz={#5H<&h1}(TlSNjhvKal}MgXBT3<z!$0 zF_D#m7TFbYf+DSi1w<D^*c>1lwD=BPZ5>#CA_Is9$%9-AU8jev6x3_}2v%Cc0-`@d z*c>1lwDb;LtvDCR2@@GWv^8jH4MQ-9as>;Qa)4-%Hbw?`0~lljNHr)Cf@nvuu5b_q zQVmK!AR3|z-l#^>#R1Y~2i6q^qCl#d7)k{|G(;Du?GH|ap#FU!*eN9}Ai5aB<^a*4 z^?t~{0jcc-%THtg(K{eEfT%rS;ZhC|4bq0x)d1-N9p%BqFp&d9uLbK022mi@AYl-F z1R@NgKn8$>!43p9`MDSvK+2gICh~x2kaAGf1EQg7;muvpc*I4pV@g;+^koQ}14M(? z79#rxG(I5++O)<{!UCc}J32tQ1Vn=t3?i!qjaMW>)q?0`2%7^$gO>fFtIYz-Ph<em z1>6h_j0^!F3WPyQL3A-h7(}6)02&2p1e;L80-~ECYz`0&S}O=L0v0+TwUfZ|6B$7C zR<N<bAZiC#xRe7#UxEmOC?3%22ZnGy9>~H&q?Ctb77NI%ZD38|APQs#DCL3Z(-2`0 z1u_IA45C3UV`P9Q$o1R|3?S8@#w9lc!x6Bi01yRI%*X)mEP}>#5<#1M8A@0{bTWj^ z0ir=`7Lk1mQkw;qpU42B3&4H}08t<eQVOC$+CU9_Xdr>sG&X{Dm9T*5W(b=DM1$5k zg0w-EGJw=h2Fp)m0MRSKHUxtx&<0dShVTv06_Q8+2buy}09F`&2s$go$Pli@%fJu> zTGxUI6wo+SBQK~#C}9E7%@8&Rhz2c_L~#i(1H%Ha{6sMQ5^Pj3i24i`F698x-k=3I z48b63E|?h(qCkcrIS^zo)GQVd{S0hYIEVt70g6Hp?FlgeM1c$e34>^eVeptmGK>Rc z*c-56VIT@*2&kw5(GXqmqGly80|Uq~CWcb*d3c}zKZOtjAC(6Z0}aDn<bwneh`tPA zbAV{jqD<r<0;&A~mY>J~qAfv-tQmqqlr#89k5Ud04cdyt$Pf&o-hx$xgD8+;NI`^T z77NHMGl)tM1u_E^79e^iL>NSY3;_v)Xoz9(AVM;X17w&DSXUT`0vQ4dA`lJH1rMU1 zd<+aA!;phWiXScp4<gVgq@n;Mh(NS5gv|k>LCZjqg9xNn4=g{C0Ytlj7Rxh)dk8Qv zWI~vr<?~Y@%xTbdq)6EqG^%+JtiOZ>L?4E*IY2aM-6*nMAhnml@)H?Av;t`D8ABL| zQUagDQpy3MLE4aN2++7_AXvJD1w;o!*c>1lw2Bnj29Vlhu>3>@5N!flp~nygqRd1< z0aD5VqCwh_Yygd{CW56)SU@yrqb{hV2hpGvrN}mb)aHWKPGkVlwO|{9Kokgrl!E9! zh%kr(VURG02ARgl5Coz?7$giz(;$pwFbl%q0FYrI3`$5Kx(RG>0Ehw^2oeU-(;&hi z3TiOC&I64PF9f@|gat$|hOjw6G-%B$vLirh_kranGJxpwU}J+p)J?E(DF=uKX+z2y zNV-@+x~_tCg@Y)NYLFX2G(;CX4}f$X2OBz(14N69f+I)(M1z*lg6en>4ble65THN; zVURwMEui`yL|+2i76zg~wt%XB5Dn6X6vrTypmkh~3_)i^7#Kh*7#V_$L?KIck*ga~ z28KkiQ%YDsbTWj^0ir=Gb&-P$G^{=aEI*L}M1yyHF$9AsJW5$WO1FU)A2Wo5D5z3+ zgdv&A0aCgdtTYTnL6w4rt3g4*02;GD2zEdT3y3}pVRL|J(DGko$AZ*;1j|ok0MUA& zrLqiRAPSFC4v<nqu+nf41yu@n!D~?l25qo3ynzauBybc1MP>;Lh<1jsIY2aM(J->3 zKxz}g@)H?AbT*h>$^oJwYA1p{3L-#i<H7P1SwQqmu(e?zY7SVqlm|o~f(U~shzW?% zPLK&8TR=$*M1yPrB`pwL1vX+L2Z){mW|s<pXpoU0^&lE*9^CUF^FS^EB}EVom50sP zFd)ebAj!jLEkM&H7r}Owuz={x5H<&h2CZ{O4k?gY(Af!~E<1>R4EAOKhyr1dQV{(V zA`GI?O#n^8e1zD*0-`}%TS3Jfhz6~b1{nbgXAlOd1uYZ@*#@HV$g_atT|n!<8G=Dn zg*YhcOL;)_N{BFs+5{B_(MKS{AZoS*L^X&8S%OroAi049WJe)bR~U!_nGK3K5Dn1< zuOvabq``Jg<N?tjgF$5ih~5vjY$6Yc25AF{gM16ZAbn>b`UF7qZ7{o30z`uj-(zB! zC;*~C<}fjoN`PpH857~@K}DQ_0VIxGL3@icFo2v1nrfMVkcU^+pdiZw`z#n1OpFY{ zcf}bPK(;Y51b-4|VE6)75CEb&BtYE-cxD65ntcR&tAqtae}=F*Ks0C}I7*~~me)&y z!h0fvyd(pIl@y3w$^oK5`|21O!a)=sZ7d*dJ(6G-fT*bu6L>&0XaP1OLokS1FAX-B z2SkHRLylC08#oY#g@Fv41$J7g0Eqqqwj&Hgfy@TQHHbbU1+qE}M5ROQ5CG8-I}k}g zf`P#ZY}iB|5Dn4^ifRx&5A5QJJRln6Jdiku1{nd$#-OAC!q$=u3?TJP45cwhUIL%! z43h5zZ5RN%CLAPfBMov`xSccu1IRR_1`=r6@*&u*B`hHNF@((lqCpGGks}DC_7hls zA_IuNC<`(*7(`u`1qUeyhz4mx3R2MIC!-ulx`YKpGeg)MAR2V$CbA76wL)O|i3}k6 zp90th5XGPfGNP0NM1!;;*#H?E2YLIk8Uw>!5$Hmkbj%CRzhRMM0BvChub+V}!vU?g zfn0PBsyZ;FV3(bPHiKhGmV+-m2kq|0kb+)%4%)7bA&0p59JB=+LmIyN2ehpkLl&~i z2)t1mha6-j5NN+ME(OpV%0c^>!AhVDfIvY3xBQ<3G-Qz^A<K_In~2f1fn^{TgLVRA zmxfvk+TROSfOl~qXrC@v75*iBph5zy489UB728$op#8OAWzYp{SQUY`$|5TQuX=(m zZ$w%g1=^VjQwF*)-9;7}QaG0SfwoG5)q^ii2W@Et^T4Y=Ve8^R+ZVy2urR@4H)vlX zSRFi6a3}=r1q3TZS$+rFa0eEJrGDr#Fwkx~usAfbp~9dIabRKCrRt!)Y+!*x<crlo zITS34a=AKa3mH@t`GWP^iqO!4q=tC#CF`JlTVS=&i`GFKs=$0)m#u^LP=OV|qa8;$ zfHoe16~cUs6p^4kG+;TXuaTrc<qK$`3G@JA5EqO=UIjB47#Kja|6U9X44`R$(EL4U zO#^6y7-*pYX!!wXp#*3}0!)3DBm;x46axdSV1|iDI{Ny=2RH@=yT*I^2Kab7dxpfj z_&bOCy84C02ZuNYfyoe8hMdIW5(cnpU&nv|Pd|64tZSI7UkF43VvL)Qe|S7hjkjwg zNL`34Lws>Yeo;wMX&OYWqmQR!a6FRcU}r}k#~`Rkyr+MBPJVKBd<g?I&wxXi0i4qz zi&rs&4WuclG%X&qHxL}MuuumTEs&B6Wql;n1ZZ-DUTqJLQjjTN?*@kixjOpByZX7r zhxmKD`a!IRrj_E%+=86c`0Uim_~iV&lGKV429Pr#Yqmi~l;#y@rst)mD1gp&2Ac;C zpJ3O(P**=^S0rQO({d8ii%}O^7efNe)z>owtTH&nF~k)j=I0;p8WiLo#88x<Ujnxr z?C;#fB2dVI^ElK5q^R-pcX5Tr31n?|5kovkM`}?qLqSn~Qch}aJY*#}*f4m2fMWo& zK*~=pNiAVWEh@?{f`kmj?@*)TOCW;K{FYi#0tytc@$t#|1(mSq1r><}MfoYE$*Cz2 z|G^U>DBvOK1W|Q?U4~Q&Rpz9|LsKWjr%pcp&ff9xP<HbS3I>H>NDwSJLQKH302!tr zGcO%dOn@T~91{@3VM#p9(I*r&K;v^#^U_N)7z*->i!+mQQW+riaWNz)kQxgR0URYa z*gjA!gELrsL4Gl0nLgAQq?89qbH#~eso=B^)(CN<s~^b6kYo!^4v?_*@eFYda`cIZ z=DFaINFP_QBP$>-Le4l4w}WN#N;32FAS$4Fr?@1s1Qhb9ah{S`lE{#gpO>xxCQ!0K zab{I&JV<#-Y90f46GLHXeo1OdJSZb&CTEsFJQ<%?nwykb#DG#GF=V7Bra<H&{(yKA z9?Ov83gTOEAb?{Fo{%8YkSqksq)Ca%*`)>XNr}a&44@1E%__dGzWzax(99K|pO#jf z3QbzU&W?V5u0c>KunmyZhMuKCfsQSCKr0k*_<-{O1Gv?am(Ng?T3DJ{l$rtwU1)AW z*|h;qk0>jk<4YKz+c3&fi;6Sz^AOuMK-nrYFP#A#+ECY{g##o@fjt2ZCP-MqT#YEV zA<ax^FhELChD2~W1BD^jiQo`KE~n$+Ss7ZOFn~7a<uSzPfeJ{losfWomaWJ!lbe_Y zD@l-(A=GBDUL^Oz;~tX3Jwsf5p=BFbrJKKxi>nK2ItNQYtjFbNa9D%AhA76s+Q2qr zaWq&1EKj7C#KRl12wkXl1%oPE*LdWz1FRI{E_hTq`}>7JD`Hr=4|W1L!NKAR;&nuf zAsGZ#2M;4iX#mp(Dpw(y0o+O}jt9FRTKYoVfvO#155y3NMsW5oW=KjcE{TVh6DXku zPUy)QiA9j?iV|>;Y#N`NpOOlZg;)s*CZswF>>IGBAyP2sLtKOKbrQI}P>_?DnHQg! zlapT#%S_<@6|8m$a&>eeHU~re2ukIk(jm2op(wFD9@<O*y9(lBa3H~4g&d(Eo#5aA zoxcE1A+Tfts};dTay)1cYkUcGD;A_y1RIYOZ!XYw5m+24FyKm%5<bW{XfXoYe}tpz zhGtH1?au(sY*3w$O-02ekct)Tc$A_TvmF3-8cJ9|ay2BLK?N7Mz6S*gsQ6EXl)D9q zCCM2OJHe?iz67b_05zFlUErL|ywrGbRDv5=;K~kM?ttwL@Nx9?L(S%(IAegd$-vu; zbMliDbM%XglJ!CU0Wly6&(SY3-YLk{(VHQ$AX6`y0pdJp&WE@S8c`7SSfU+0F@h|J zhkB^808~RloC$7cqo!lz6a!WSX&FO;4J-hyrIAD+E<j{ph%!$<cOTdIz)=4X^db+O z3Sk}sD~6Z=FK5t=LNs}istGhbkm!YGlK8^X#1vR2gD6DxCVB{gY9>h7BGMI7VgnT# zuv`MI4N;>dH!}~tnn3D7f&B<hjF93A5_aHN0he+`NE@2s;|mf~3>m<b5ri^^P$m${ z6cX*=YzH<Imf5is;$SP1Gg6bY<4a4@EFd}|Q4Dbd*kzCa0-FWT!4QYSj7F4eiSY&b znR%dHqVZ)ViAg!BuqFv8OTqVP79*7#p&@P-@veT({w|(=?hqHiZGl7@BvQepb8%@} zT4n{T#R_&EB;t^?fLe!O8E_C_Ni>i!g+wQ;w+`130xxg#Qp+Kmxfn1SED+}xXXd5n zq{c&Ags@T^R!l+LAmAW|mR8_sgp>+kVTeOu=@8-(Sdc=z4v7VbuOVRri42HZaJ}On z6z}Qh;_4UT;~E@{=tDqLx~G3UI6Hy*F<?KUga^cUuy}~0d%TNhkgIcuXP7Ir>j>@x zBf5g%@B}9Vm?I%c1!5Jve*-JUz+OaYXF<v(tO*}xBBXH-Zis`*Q|N|YsF9GOA8ami zh{EbA26w+u1!o2DkqrtOE~!bGiFpv7u8}4Kw3h?+te-#BhhVdy(E#dqgL~}YRxTuY zz`K*69v_DDAr%$4=!W+Pz~+M^2}{cx5^eCb3dux}-~+n^+%JXIu#f^du`Dq&2b7T* zlJj#)bMqjn01_48ZX!HFAt?r88Y~mS-4Avuq=5}e4-9EJ`Q`Cgnjc8rJ=o|2SZPjb zS!xcXw-4$rL5u_Y6&7=#LK%`%!ComYDFO}nft7%Y2S`!_OM&`PkW`6M$U6r?>ou?* zM?Yr|{~%~IB|%#7pf(f44X_R0kXVA1$yg%^++T&LgG3;71O=SNP&#{Hdm&K-@(jeq z@%cF^urdtMiG_B)K$!-r%+o*K&C|yfVi9=s657NBn+nb~@OXzLa<mc=5~T241mS|i z3puSr`Zpktf|DJ>MetT6*uKyZH$yWg(0C2BT!niSR8>LJ5L&{4`lA>=<`o_U>UTrC zkDvw(13aUFo6r!aAX-SEb|ctwNa6&ItHFJY+~7mruwM+0Sg<Z1Kh)@tL@vufWqL_s zW)38H;eiAS2S}u%7b*xhz|tou5kfKtq)>rXBDtkGC7EFFf!mJ^;9dg69!L&^rWbHj zU=$UQ+8*BVhZa-}kemfC6q4YzVsS}IekpX637ij5+X+d~8V4LA&OxYQ0!~CQ?;uiW zc}8YQYH>kgaw^2t@Z<s=?SORSA#sk<r-9_wcu?ww)j?sdLBXE>ewZ}@WK<BGc)$UH zGN=uyC*Vm8RB%IbHkyM{OXAT6#b9oQhH-p+K#*%lNMyWQsGoBP$RY6z$)!a_sd*&~ zkRB7PmW9S4xKRKOEO3#FwI)O^Wx+~8EojsRhl_ux6OP6xTnDsW3(33SFn|OsX5S({ zIU_L>xuAyUG}I0<xV(UjqZ%=k=7Gy)h`}X^$=UJH(MPZdES#Vz2gU_eS&*RyNS&1k zO+N9-rA6_`^##bwu#^Mw0oY%VKtoMez5yYTC_R0!12CIF&~X|>MuTT|NaGnP%Y*HL z6s)L@0H-}OllT&b_|m-6;?xu)aCZqbERN_cfy*)<q_Pa`Amku`^}4|JfPDjZ3#3wn zlx+;|&dyc}8t#6fnviAzW+Q<?uedU|Br%CWuehWLLTA8OMX5P@;30E8aH`WwDlTTw zOG!;CO^;7ZN-9b%W6%RBfrw=0rR5{@!3B(7Q9ej3$ZSJBLx?m)hyg{)1R@17DXl0m zHx*`4PJS}7TtR74USe))F|t@<QDR;?NC=`Gl?OV$R4+L{Hy4zn^z!mcQuW;ZLUqBD zQLs4{B4~N=Mo!T6a1h0yGXRjMdtfUoq(K*8L6m^W3o95H1h^O&q@emid!0d>c|j)u zg7*A^_Em!vra-Tp1hGLFqz*)DGcbVn0~1mQ+LjA452Oc#LFUQ8G(qhKi8~>&LHq_4 z1_sbnIfxCyFf%~+QgVU>p!mTi28IGDh(ADg8iCvg@&{<~GfWRiX|gv1gE?p;Hi&~{ z7wBvRWb*>fLi_~^7mztH^Wva-jG+2w1u!t2g|a~u$Sx2rgsOu~!7(s21Trw#fD8dC zVqjo^?dQ%#i;sx23=Ah2ApYQHU;v*x2C}~rY97qqJ)sN?u~4%>6v$|hy`W1VK{QAV zgk{1Q7(Rd`K^&-gASUP*Vr2g+oMT`B?eqls7j%p+NDIi`nNWK{dO(;bnt{Pv7Q}*J zm|c)P%n&gU8D7D_kOeXX#6dCxbbU0ky$>!R!Wpz*9Ha$gFX$R+nAspB4%Q&T48(`Y zfo?)ZHt)p+2JjwqkUv0s&SB<(uK9%N0qK8O!@vN(${EB#av$hsD3Cf(dId>o)-o{I z!k3wWmUuug=+;V*I*=L=PMZq4{1n83V3-_aqdG(kM0QREkq8V^2l6{oc3=Rh`-@Np zI;sxL1F46lDUiU6SquyfYzz#bd~FJiUr=5Lg$c5G84DR0(m<EkfHWcb7s`cGAoF1y z7KV@iVQdi140i>H2fD}-*#;0F6xt9u5XsDdl+i#p#xj6%CP)T?nZYFogbgB@8Mqig zP6UNL=u8wQ21W+Zv8kZD4nQ;`12=ekKj@TyNw6Qd89W&n7(f>ez~qw{7#Kje27sar zq`sPgfdO>(KPY@ae9+c=&<Xya^a0|7E`0!<yAM-;jDdjxw6_Ix)&|J_dkhQ=pu_Y* zNgkvgblL!D2N38y50E_Q_Fm8t_>l6Kn?Z|_fdO=oJ<NU1j0_B*gXclV)`IlMFfuTJ z_QQbO4bl(VP7gXw9_GFt&>nv-1_sbsARzgrpz9%+85m&p?_*?O03GbE1oc1oN(s=V z6Hq>ABRuF#b!8}@lZk-=bTB%o_y*ap#Kgb=I?fy>Z_UKO06M`Mv|Ior4~hpEW@g}K z2w`Gi0G-nUItv6Op9{JWf`NenbQ1=M-^Rqi0E#O}eZkEzpNWA1wBa14eg_i+1L(|R z&`M5_`io4U`wSTvKzS3yf5pVW06KjY=0BL-Aexzhmw}m?fdO=wD9n6NodG%#6c%5m z%nS^mlRaVa57Gz2%%D4OU>tDz1LX{a05bz9*CF#ku0rOEA~<0Epjbo*F~d)1frv3P zh%<mL;Q{eL=VAykFfycp?s$ck_aJ^bGvsImQ2GM#`;f8_$aQm=85lrkB!JE*0m*M= zW?%rtDX2aN@y{?bfDbGH)mI??6J`bm&}M#^`v1(3avTz8j0}=2kUjOFGj%}f4Oti% zKwHQ`$4`Lxek=?OpiS4HGkQS$Towif(6(Wie$e43piRIq{h*s&L3>_d`awr+gLa96 z&fo#*zXCFk9db?%i2sd+fdRBj5_E13h%d>?zyR9b2s$eV#J6E(0N=m>laB?-L(kFy z$%C#U1%)RFgTe=N=OKs<!XSPhQV|2<PeJ3)W@TUi?I{DLKahFL(d0L<GBAL4V}Z`X z0m+|1lfMko4?PP9B!3r8{t-w&^h_L({1*@(dIk=NFTuvZ0NSGhI`0O=w`F5s0PPe3 zooxf+`?E1HfOd0$&a(mWlaY!@kbkn+7#Ki%F+k_pfaGi07#Khs9ANR?g{FQI8h<7m z0|RKCKj>T=kp9(Z@|!{Ci83&N&a?r^9|gHblz{<sehr9!gN*^a__~z=bRG~R!%L8V z#27%U9~nUMUqLr$h%qpL4%z_mh1eMwKr3lM=g)xn=Ijg%pv9P=^JYMNe^3DrI=>fm zTPmnNflQfzI}k|2-dMVwdd8NfW(+ta3~)%8fQH~Pda!!Nmd3b@GR9?;5iX+)Eg+q0 zEQ1HwU2A9v(Eu5#054`hoX?0|i-9S251Lz;<C1_{0(KRsBMU#i5vvX6<|ZhPB0`55 z_8>GdG6YSAU<SI0p#}CJG%+;99_S_pIHJkK07o>L7#dn&4G<F}L+l}CVrYrOABJX@ zSdB8aG{f#(V+#}PJ~uYA#2$YphQ>IYYk(`Qn_GhBm@q@v*v!}n5`$O<jKSFpNgSdO zxx)^b1Bs7MEG|whDv3{nkL)2Ug7xab#vw~U1|Bhlq2sL>;y8w!Kw~HH0Zj}|kWm#( zmqWxMqb)cz!N$$O(nte_sFoo~fF~UwR-ua`S%e`4$<Ppect^m&4#7WW3RVK2EWkRf z3RVK0&LOA(JbH~eGM1Z~n_N)IkOm&~WJm*LdxkXdqzA+s&`E=MP!NJ<55RVU2k<e? zDlRF?NrkTO0*|+Y39t^xkT7&i5i9}=9~|xitAU3QK1G;A!myMHwJtX`7qkKkY$7zu zpfX?~*nA_5hAzwm%b|>^=BDQ6=9fW-biv~@C<B6!$j2rGUL*`Q57}&7W0hcq@QBCf zbC^GoM%uxep`Jt%2JJ^+U|{56VCV!LC8o&0FcU;`Fff4n3LtS%KZD7Ff#EzzT#<p{ zK8WUEV0Z?lUxN<UvS45k09}!w2<cOR^r?gR91ILPpi`eL7#QL}d_@L^JP^&nzyQ90 zfrEje3MvokA22F1Fsz5lZ-dgiq4Ezvd_@L^4<MR@f#Exp{sWa~0UhR~$iM))IS^#O zG>Ff^z@Pv+63K#rAqvD-WMIew(V*+8pmZ5jz7E7!WMBZbyFvP=g7_Q^44~`eLH=I^ z;wv&RYy#073=BJ=^ggKmcOX6!1Nh=NkU#i9=Lm5yFo;5FDbQg;77PqZAig341L!_$ zkUf?lJ_iGX9aJ84jU`Bb7*sqKN+&_(r-ArP3=Hc*v?2q;eh|&Uz;FyopN6Wt4B{&? zFgym)91IMvp!9pF{C5yvk%0kpMJ~u4e4w*)I2ag&K?mnpFfcfP_=*e+0U(-#fgv19 z$3W#%Kzv08h7u6X!N5=rr9tg-P<ZVE@f8^uPJw6+28N4J`WjUKJrG}!f#Ds9=3rp> z3Z;KR<(WVSzbG;=2!Uu01_nteEeASv#)5&t55#9;V2A_JpmYVILFo!gS3%V^f%u9H z450Qe$e*BgFNmH8m0t#x-v**N7#Q|K=|fQY?;t)C0|PtgC>uov25}J0!N4E~rIkS^ zw^%SRXoL8Q3=GyFnuCGC2}-*|<w5ORP`t)N#X(~(Aa`U#<&S~H6&V<=foKi}hPzPu z5merdgMk60KMX{3FfhbI=_JruETH@e;)C)hhz8|PDE%5L?*_VENs)me3`B$UL+K>Y z=_w%nAU;Sxhz9A0(yyWNTA*`0yciflp!7m04Z3TY2{d*JI_koQfx#U_`!X=h1JQvD z40}MdALv>Vi2Id5hcs|7Fla()J<v%H77Pq#Aig34gBytEU|{ft(m_!9%^<!a0|V&h z5T+mohLa%iAO?nOQ2HU1eg~z0LTMJzK@C9+41!Qv4oaIrY0!OYAoIdNM<^&VFr<NK z4hDu?C|v|nXTiX*9z+K+FkA)EK@1EJp!9bT?Z?0%2s#8Ikb%JjMEfx?ECe0opvb_m z5kzw^FzkTRdqMIR3=IE4bRYwRD(IAiAO;2lDD4iS{TLV$L3AJkLko!ZV_^6QI=?^> zbaN)8yygI%7XZ308noNrf`P#s#8+fs2nX?l7#PZ-bQ6@G1(ja~qB$5CHbUubAbAT0 zhFc&yh=Ji3l$HWrLL0=u;02;X7#LzfbPxkW3zR+#rB6fYhfrD^bT&XF1A`jq<N-wn z1~U-N!N6b(rJX?X77PqoAUcSFp$kgy1JU6O47WgZ5Ca3~>TgiI*a$N)fanY;Jq1c% zhtl_<^j9dY4chM>$-rO*+Ow|6z~BX<IT#oMp)}~CDp2|K1EemVfk6kfUptzCp#w@k zh0+|LZM=~T3_Tz^k%3_ai1uP&&;o5*4P;;l0?|PX46#r;6-w8DXg>yqX&^d~fnghn z_G4gp1EP}|7<eQY7?`{m82UkUAOpjE&}LImy$7N>7#Oxe>D?fC3kHV6Aig34!(|Z7 z!N70}O5cadyMlIMCNnS;LFttsI*@_kD3pExqWu^c-a+X_QjmPO2}FbHF%YfEz_1Ur zYtw>(;Sz`rVqo|HrGG$a4$!8_AO;2vC~W|xgF$ox14A}wd!`}-Lp6xzU|?v1((NF5 z3kHUM5MPmjVLpiFU|?7VrB_4cH-q?!3=D@sGzSC2DJXp&D$gdvz`zvAz#s&olNlJy zp>#ZyZi3RFdkdM885oX2`Ts$55CeleXm@820|V$1Ku~&$hw|H?^hzjw9kd}-k%8ek zh~{8mcn76FgXAq37}P*pJ0lqwj6ifU14B5Ju7}dwp!8EHEhf*v0CJBbl+J_FYe94n z1H)M;{Q*j=DL~SD5R|Ti(yO5KH7LyjDhojE9T3gIz#t8!6+nATEf^SbK;^DK149m| z91Lb)s05|=7zTzeC_NiQ$1*V77h_;xie+GU1*Jj5K#Z&m44|_T7>yXfBcUJ~G~x-O z!Q<CV&~azbg}<QjWOfDyH4tsYzyLa<7o^S+$_LG*fcXAUK4=Ruh!2{h0@0xHL=X)+ zbQeSyLDiK*Y0v?@An{%(e<_r{1*M-t>5otvG;{<~&kt&!8Zj`)L1|qmZ3Csfp>!0K z&V<qxP`VvTPlM8+b}-1?El~bpD18Y^KZMetF<Fqh|4=?3sGVxWz#t2yLG59XJZO9! zM0-KSBcXH#lrD$TpmB7NI?!APh+Ya62hDYW_@Hrg5Pb|Peg#T{+Pxrg(D|q!8Z=h{ zq60wfR3iq4WGGz-r9lT}gXCvI`SYRlQYa0Yy8y|9+rLH(3`e2jr=j#kD19AD--FU0 zq4aks{TE6zgW8`)3=Eu5njcDo+sj4_3^Gu@K9shF(%w)y3QB{<r9tij9U2OvE1}}` zP`VXLcSGq(P<knp1|9AR(zg-H-vOmT?P!qrMJWF|l)eY0L02||<iYJ|BL;@QP;q8Z zI~L?GD9sP0MWM7blm;Eq3DU0)<%5pl1o1(aUx8>#sJK0pc7@X3P&yDwgWKgs3=E+0 zage@bsCXun&WF-vP`VRJgU-tYsoxIepM%nOp!8=b%?N7$8Zj{NLum~tZ4RXapmaQx zE{D?KcDE4&LobxS7)q~)(z~HFXpR8nj(br4TPXbpO7no)!A1-WiclJK%p*v>E|hN! zr7fYfJ(PBZ(xCGnLFxmc{BS583#C(_bS0FY1f>r^>GM$f9+dtIrNuz)Ya<2*eJJe< zrDLFUHk7V{(w$Ix5tKdvrO!j@7f_lF)b2K7U=W4UdQjR5N`u?+Mhpx=P<|Yg&Vtfq zP`U?7&xX>gp!7~CeG*Dvh0>y+<Nu5p7*wFNF_d<K(m_x<9ZKgyY0x=^pzy7P^6Q~= zE0per(i5TdbSOO+N-u`eE1~pyD7_U*?}pL`q4aSmeHKcC&J_gN55DW#h=JigRQxHF zehsBRLg^n+niq5$o)H6sHk5XO(g9E!RDXiZ?Sk@WLg`IV`T~@`52b%VX)#bg#fX7H z6-v86Y0#;6AoD=|7ZCj$DsBPlXBaUs<U{E?DBTOC=RoPzP#SzqqY(qcNhtpYlztAS zzd>ox9nK(oltKLtBL)T|DD4QP1E6#~l+J_FwNSbjN`nrJ1DUfH$_MpdK>V{%{#_{j z7E1qx(!8Ml3aH+L(z;OE7D|Ue=>#a<52dF<>Df?vA(UPYrPo5~%}{zLl->`ek3#9w zQ2HX2z7D1DLg~j)`X!Wp52e3C=|4~!d_bHLWNr@RZ+%d|$%uggbbK3#9|GlPLFo=C zJsnDKfYRrn^j#?Z4N4n>?qW4!U<icL2~fHoN^gVGZ=v)bD9sJ(Pl56)ls1Oap#Bxe zU7&N^Ks2bI1)?jV@*PlmI+R`prME)qBT)J>lzs!He?w_5(Cwv03=EP`S_4X(LuofC z9SWsWpmZ^mZi3Piq4WYMy&g*MgVJZA^c^Vu8cP3$(%hi_oDl<qG?WJQ`#}D*hVs3k zbTpLChSJqgx*JM^+QA@wtD*eeP#SdD8A$v-l>Z7uGcho{gVLWsv>pQks2>SZ_aDS( zVqjnf9VG@DF9Oke3=9Gw8q^Mj(xCn(NWC?b?+&7w7#O^vv_FW}V_=8?(V%u3h}L6Z z$N<qs3=G8}T91LD9Yh;3FiZl`dJGKHL9`(Q!yFK8#K5o|MC&mytO3zR3=G>rv>pS) z9uRHBz;GNy>oG7~h0=FHv=IXXsQ=5z#K7<p#Ajk)cnhNS7#O~RXd?y&M$qY3dJGI~ zAR1IpL1_gLt;oQj3!;r6S0jVWu>|p%7#M6pv>pS48;Ay_cMz?|zz_zajTjhGp>zR= zR%Bo(2hm0h4D}!yv~~naw}WUs28IbB+K7Q+Hi*_^U|0a6jTjhKgJ?Ylh7BOvh=E}@ zh*o4^03B8a3ineWJ`)4OIVgPzMC&my+y>D`3=Gdev>pS)YY=V3!0-)3>oG9=2GK?g z3~Zotq7)ezctJGC{~(%)fk6^V%YtY<1_m_{ZN$J}2%_~E7|cMl5d(uOlnwyVpz#_I zZN$J352BeE7?PoMI*8U|U?>35MhpzqAX<-sp#el2F);K)=~*CJk%3_$h&Ezi0G)6J z3iq`jJ`)4OMi8yXz_1HMgWByNT91L@6o@urV7LmR^%xj#foLNJhL=zpbPyJ3yzw`b z&kP!O0Htdv%?+aU7#KuAv=IY?Jc!m~U{C?kpmq_6)?;8W0ntVb4E7)zG`<I-jTjjG zKr|BrLlBe>1JQa64Dle^h=CysMC&my<b!A<28JpSt;fJn52B4282X^}Oc1Tdz%UO) zgZvMo6&V;dfM_EIh8-Z9iGg7cls*8W^%xjVf@mWKhASXikAdMPh&EzicmbtBr+b0? z&j30m%ZP!214J`1Fz`TW0T8Xnz#s{tLFF)r)?;AM1kpwe3??92kAcAwM1$%JC>;!< z6&V<!K(rA9LlTH)Vqi#v(xBs181)z!ia~rM28KEit;fL745C5)2GM#943j~$5d*_K z5Ut3-uoOfaF)*wJ(V%#T(py2a9s|QZ5DjWKfM`7ihI1g=h=JiIh}L6ZxCf$*7#Q9{ z=^r3kk%8eqh&Ezi;0BEoF)=XkLup|Ut;fJ11EP%>7}P<u9s`38h&Eziuz=FeAR06d z2cnG_7{Wj_69YpOl#T<@dJGKdAlit5p$J6lF));aXd?!OW+>eUq7@-0hJo_&LJ*&c zfnh0>UJ0W07#P6gT1E^Ed!c;L(P1F<7eRa@28O#(`UQwqWMFs?qKz0BeuHQx28RDo zni(|yq{qO(1EP%>7{oy|$iE=k2r>=^GS?WyS7czY0?|ec3~nHriGjfjO8bFmJqCtw z5DkiN5DoG#h&EziD1*}A@iI_<3B*@qV3-V|jiBRYObiT*L3}0#hUFj{RK9^|Q27R; z^%xiqfM_EIhSMNgkAdL=h&EzixDBH9AZu+v?tKg58!<5a0MSeg41b_BgA4-$DBW>_ zXd?y&VGymyz#svljTjizptJ#q)?;8W1<{~<4WjiJ7+gTK5d%X2l#T(>pf!b1It4`Q zF)-wUXd?!O8YtZjrDs9u<xm=Q^Eap*+YaJ0F)-`~(RvIFM?ka@1H)w~{Rm2bgwmh| zksyEafyV7X?Gz9V8n1%ViXa+PE<tHG5Dn^2foLWMhA=1{1)}vB7?MG>5d%XWhz8|L z5Dm(gAR3e}K{Tj5hSIY@v>pS)d=PEKz_1ELgXRH1G^jiR(V+4ON*@5xdJGJpQ|Cb8 ze+$GnVqka#qL~;No<ZqXAX<-s0W=N?^4~uwA9MsAh|ebni9cZw4Qg+IXhjAFRS*rT zhd?wF1A{4)wgl073=B>n+K7R{7ewnZFa&{U(0Brf2E`YYE&|a;3=EA>dIFT51ErUP zXi$3tM1$HJAR5%(0MSMa42MB969dBu5Dkhy5Ut3-a7&JX0p$K?AexDR;T4pA2cq>D z7`}sOBL)U0d5HhmL9`JAgAj<;V_;B%(&`}Eh=IWjO1nboKqwspqV*UU5<#>P149mo z)?;8O1kpwe3>6@niGiUOL>n<Mbbx3@28MnRZN$JZ9YixRFwBP1^Fg#81H%dsZN$K^ z8AR(bFzf))Ape4B(EKNeHez771frQ37_LF-TOeAGf#ETTHez6S2ckjo3!<4A7`{Vk z(1rj|`0#>`5j0|8kO0w&3=Hxh8k8?VG!p}Z7L?Wl(RvIF<{;XLfx!_(gW6pn8dNSp z>0l5IYIi{CED){8z)%RHLHQFzGchnUK<O3`4QgjX={X?Uh=E}lh}L6ZSPP;-=^I3Y z(l?Yo0HQ(lEr<riJBZd}V7LLILFpVs>oG7q2hm0h3?D(X9s>jDj6_g=U<Hk9Gcho5 zLTNq_4GISk4QgkBXi)kF(V+AVr7b};D1C!yBL)T^5Ut0+5DlfXpmaWn2IXfc-3g+Z z7#Mn?^h6M?$G|WPL>n<MECJDa3=Atlv=IZtK@hFSz;Fyi8!<3k0MU9340k~^s67Fq znHU(}K<N)4T91L@Cx|v;U|?2)q-zck4NBJ_T91K297Kc0y+Aa`pCH<Zfx!SogUVkJ z4Jv;@G^qRq(MAjmAy7IVM1$IsP&yq%gW8iI8q}Tw(RvIFjUXCS?|^6~28M}HdMbzp zwW~lhs9go3^%xk|foLNJhMgc96t7VF9Eb+BCqOi)JprOY?MV==$H4FoM1#gjp)`*& zB;QLzX>}-V1foId7epH|FgSr|Jq8AM5DhA)K{Tj71<^(f3~?YD<WCR{DyKoTA_GGy zhz6BcAexDRp%qGZf@nPkhDjjWh=E})h}L6ZSOlU$?I#coYDa)*P&)!d>oG7K0?|ec z3}->K9s|QA5N*W3@Cr)*g3@d%5Pu0lX;~1h$H1TsqKz0BBB68!lrDkN)gT&_-$1k> z14Ac>Hez6y0-{0b4@5IDFwBF}%R#ge1H%?5y&ps?GB6wi(V+4MM1#s3D18e=gUTBa z4JvOyG^o4*(MAjmzd$so{R5(n7#O%zA@hWSAR06t528VP2B5SGh}L6Z&;`*(3=HNV zT91Lj21JA64Ma0BFt~$gP`rU?MFxhGYLM``2Bo)v=53%GS3vbWXr~B>2JQ6$(cpO~ zCdl3$5FfN&8$^TG`7<$qnk@_<K4{+*hz9RJU}9j<fSRiVr9pc~K=LL~KKLp~CI$u@ zC?B+r9whGq<%8#~m>3v9#~p&i1EAs|P&xuigN~~O$tOVhV0Y;v+y%B*mw^FhFW6jN zgt-|YeYy+`pc@%L=79EaFzPZew1C8!7#L=NXk7+|IUt&efnfuP)@5LTg&Sy37)bpY zkT??q!vhel%fJBMhs4Cd@B_;K1EN9U2%4ADWnd5i(V%bw(Yg!_Iv^UlX9Hv&_-aWe z28IZbxGn<&XnzXGeV`*DLGmRaaV7=^&>hDhK4^amNFKayOqYRS2~>U$h}LCbH~^xV z7#MDVXk7+|J0O~gf#C~?)@5M$0ir?f1I=H7+y|nWAnV6K=7X+A1eqTI64zw_?>_<Y z3!wZG5Y5EE&;z1%85kyjXeI`R6(CxdfdM>U2HK+n<sSjjpzs3Gpzs3Gpzs3Gx(p1U zb!8y)B|!64p!fvQp!5Qwbs50-3WDT8dwf9dO96>9F)-ACXk7+|1`y4}zyR8}0g_(; z<?jK}pzr|EObiTHK(sCc!wnD(vL8f)><7`H^bML<(q&*!0MVfM0nxe)3@#uV)V>DM zx(o~{AexDRp#ntfGBDJDXpsFNT9<)g0f+|G%ODzLKZpj!2Z#p62Z&~Z>=Ome`GDtv z*%0{-v;Z`<NH1Ss0Rjw-49pEo%`DAK6%-7>LJ-o>z`)GJL_xvO%-GTlES|ts@9N{m z$cWfM#>jxWV{8d1lQ2N?2q@=DqwSvw?R?r9z|tMcaU68lCPSwOM`r+!;epu0y<0%j z&J3ZQPlG!TH@{Ko_K4^XNU*$ElGN?&(0ZUW&GO=LS5OXMDCX{VPO&`1-&DiEz@T}m z*Y$^Ha7uS@N~d>1r;7?tw{uKqhzg75g-#b0j&5gzP8OB_!8)x6N=&+4e=s_yv>qsx zI_?bG&&1GtL}deGbnM}7hZJk)n9^yzWgwv)Am2sD9-h!!qQ=neozr<^7icHSaTXQO zh2Sr&{{R2qd_*NW_ORv!kVTz5Dj=I){Q3X?f46r;cW}bX^#A|=Bm5H{7To+sr`wgI zJCvu>^-i~gPG{(o)&u-4pp9_dzIVC<9a=B(x8^c3Fm%V>>8^cZSslXPoCV@KXMog! z=Dk5O-Y(t2K9(2xn;lsg7`mMUKw*%>!oXm8h`(hTD+2?_tk@^kks<tTpdz5#_0Eg6 z|Nj368NmiJ&Gk-q=$&qdgihBF-A*Z%t{?bYCNqF7?L4UM`=L8Hqxlyjf6GZm28JTe z=3mVGZ5oUW498tTm+>+jcYOm2g>Kgux(gT>7;NLOGcc41gSen_%J#230|S5iW@ZKk zkR7fcx_#d;yS`!c%4x2BQQzs5z~8<MWR+6@|F+l{9TLq47(1N;x@+%ryC*cehcJSi z<PLUHYc41pL+^BZIkcYSZ_xnpoC1z9Ff<=vY<3C(Y1;vcpw||V_;J0{9RLo$P*9-M z-sz4{=yp%hywUuFsnhiVe}5oI*!9kf#eYE|QF`9+K=Tou=(zaU!`+Sv){ZIst?mCn z5vl_=6)e$M`{F-4$UCi|P^-Pu9r~i%J>cLgw&qt39RmE@LSHmLvTr`r&=J7ce1NIb zJ>aD=C{6ri<nNmbvaR+*^Did;sRs;igXnD^_@^A^-^L=(zfHva-~$fE3!SbnR2lv- zFxWEOVPN2I0Zm)mGTZ<$|9~uXeR16N4X7Gze!<!NgOPvwq2}5by!=xSv|QqEnfLGi z|CR&%Ez|z}|KIKUqWOhF^N%?GHjp10YhQqN@bI@r{QLj^W$C~F|9i_Ax@$l1ZxcW6 z`UVtcEtmK^K#O#(ec$jm39&FRfCNB0D?2YXKdkTcebHR|hLOMJJ}9PQKk#o0X5`=Y zsq=&C0R~X;H}JQDZUx^BGU>G<G<}237qLcDcNt`YD>#@AGj`rQ_<)V^kag^v&d?X7 z=bCHZF!8s{0F49JzG3EX`3YgMlq7*u&Yf<roL!(6z;Ra&P=0#}+Dr?Ik^i6=0d4K< z21R*5x9f|8FL;_?D0DD^nQYAu?3)iXbT~2cZ*zSC<1lsm-f2F>+!+|~vj6Y@|4?(v zrh?P$4F(2VP(+vUg2e?G_}f5LWq0hIU7#zHyIo&^a=$A_=Z)9GJ3+qgcD=I;RQWS| z<aCyDK-1An&ENn3gR-aVi|*ingD-@dUkE_m!~=5%BdQabke$ffe2AqpIN;^`KmY$X z|77Ox;{|7;56y>|__whL^KTOoJNSU3S45!m0#d4J6=r5&XiR+p+6&nD2t*!CeZkcY zPCMXs*M;5*pk2(Y-~Tf(H2+}i41Iw}NG~`2g*e$c;N^ah>s?>yf)v~S|Ig3B-)8j( zEV~QTo<RzPm)!sV|L;7kdAT!2g#%jhK}tPPHg;h=-0AMq86WVn6k;NJ>V0YZ_y2$X zZMQmasDc_cwxC1>P3ZhBS%3fk@4TV<0aUVpWRJVP0d1P(ZwZ7*fC_$FkSu@8FHqX5 zy|e2ei1yFv{LvZ9@v`6_$m~m<7Z7Iiw`^r#VCcMnFqFS#Ggzeg5xXkFz^MoLw;gDH z!KiqsGxWvFU!Yj1eNoTfmiPDn|Cd)l0Tp_uJ1U{uD@F5Wr|*O2myC5*yR;Y>7(mN) z82)tL>%881@bj|L!fw|)%?=4n%?>$C#~naxe;8i6{rdmEyY^0}zfY%sz{?mAFZ9lF zrwmYHda3yfk|4oFP4?ga|3UT5%kLluJd*DWeE}}tUS@*%{2;f*{rUg@xa%8G^uDzG z^Z)-YT})S$qq+hVh%XQP{Qn=6w~8EEzwx(R1M$3ac7axDb-UhyWivgH1IidcnXAH~ z^*?{hI*>Y#97x><&5N9%-~d%4FS<Q)Izu^jwKFg<y!;GuV(kMa{ua6a|Nrj*wE#d% z>cL@i{PQyYR(4P!4h|jWW``W+;|`Dj(D?cP|8W-;P`7~LxQhzM1O^5W%>oiQ&Y}WZ zrUpr0zIVDK9a?Ymw@Cf`|G)Eew`a~SP}{!q2F&q=fBygP-3G3oYVUM|6GbS;F3|e2 z=7UTxga7>h&nU>K$|uat%qPt!$SA}p09q0*#=y*H#cj>)Da^pYtir&}ZO6^b$H2e> zWpXeuutJy&3~c-i+}sQd>>vuHoI{wAnU9+rq?=Kgfq|13Vic>Vumu+b0~gF>1_o}Z z3^zoEhmp}!7^H(&k-<|~pPPY!PmKX&Aippp!Z-mIB#xj412dltF9U-RR0%6czpyxx z5)p(Y3=E>Y49pxLhk=Y0gUYaiIO0%efjJVQjOsiPw@9*rogf9Z6>PpV)D)<XWT4i8 z<z)33Apr+602G=IY#=Aeu|fiY+fx{{;$I$#%f-N;V1gp6h-`)eH%Pw{LIVSXvL2&7 z4>ns=xEVvi)~O;4WMEJ;fqNQcw>pB$z@Q<^Xeb=Y7Qr0}wnmec!BCiiK?|haQ`m%u ziHm_j8^nQxnLUpUDE)yh*aOwU3=Axcpmp_(Jsb=SA)uBt0|P?^s7K4dz`)c4+A(qs zl;D|J*g?%C78X{}IZVtftgf6449tui@3<Hkn3>q`aWgP5v#`g3c#LeIizAttSgk=y zI9P?*7#Ns2*g?B!m=>}#Ffdzy3SOqQAT7P1Gf<c=@-Q$k_kp%gv$C+Wv9Pl&0_{|1 zWCJZ+W9s8!U|=x>^&vUda4|4UVbKNkpEzY185mdv7|lV>RA%4=wGUZE89`l7CS?}R zzo5h|2IX>af_gNp;!rLR=XX{H2383uSAY|Ae<!OXlq<psTCT||1?5U`KH*_tV3me) zWjLoZFfg#nK)DK>ifjxFta4DU3g;;%1_oAnC|83Mw33ol0m{|kj03q@iE$HXACR&E zXFJGb6-H1w%cN|=>Bh{!z^VrIkp(B{K1o(BDA$G)v`C3nhp`dtUkA?FAiV~Rpe{d? zvI}P_$iIe+pdHXm%5I#X5dc;r#(iLm+&Nvi7#LX17|(&Z9-N;*j<jb49karu?86B< z!GhI;5wx3|NjZd*9b}XzlpDdx2jY4`xiOrgAg(u*o4_dp;`%UxPBvgtPT>UY%whF| zx;caMHpr0yjG%R%Ov*V7Tp;JMZsAA=t=VPW1quf4OCV401~HkG8MuwP85mgiKmvq? z8?-K!^#CM>IT+YkszGzQETELY14<wu@9=`6gMopa1(YVhqEDC@7{H?H4D2kRlNtCx zYME}ZGcd6ExiT;?@N=+5$}=-CaDU`xU|@>|F+o=6Ff%Z)#X@*24D2lLL4g$x5{&x= z>g%(xB?dAxFbLX%a*tpMXbGI)572^T!5g4N&%m^pm4SgR%>Z;(0t;JFKS-@6s2&sq zZwC`J0Bsf$1R2FFIG>Y&fkn^~<XOQv9H5RY({)Y;2DaK5W(Ed+9=3+FAooRsy0}e{ zpk?6p2D!Es!ein72~yqx;c+l9nKLpluyum=e+jU#O=e|bU=S<>yHg*uG*QqDv@u68 z5R}UV9hpFO{{aO%1JhBEo9BZ1^8zevJLZD)wSi7u5d<B1z$kbGl-LA8x5F|EDuLZB z33f9V$acY1py&|1&cVRIAqcv-ms60Bmw|yx@GAoY1GnH!P$Uc1b2BjT3TiPiFz^Y! z0yP8#mAM!g1O$~i7#IWv|FJPJ2niZ-F)#=Vf)?3{2=cQtFo-fR9cN=;V7n^7!oa}K z!uAlfZ;TtX*p2NmC<>UA!NSk4u`n=jJAh*7B_!Iw!f)Tgh2O)4IoLi6vBIMKD^!^K z8z|_%LwGEpaR2QFQUo^gFGQGuyB_4%|B#So;RG$UV`F3lg)oyc2ZIm?8!KZTD+2@P zH;_Bnp(&q%^9d-qaYDH)Aa%TqpdyMBoap!&p{8?!Q=K4`%fcYc!*=gID+7Z_Dgy%p z+mjV63=AR>Tnr3suRviS;s<ie2avx-OA^x=*nWWgDmELGGME@a9uzAEIfIK4<PR|~ zkVYY}^BDLw*lvKXe&^l{it*c^m}XLD;A{tlfC$)Spi*-R$b4}|Q0ik+7T^Tknam~$ z<;pOKvw>noni1qcb{17;1_p5p76t~kbf!Qy1_lYRXA9UE7$iX@i6oc>3O30yP_4qw z0?K>rEFcjf3AS7&(55xccc65e&jiWh44j~YN7#y>Toz7HABwG%38aNdnS;|EWPJq_ z#C1Fj;@qJ8QOQ)p#=s!O!dAzW!Op-S2ujP~jQ|Xcf{oy0@592tz$}=|4odbSpn_j8 z2V{^S=u{ha!9$Fo<hzlRfq_#{ga?#-SFwYVFKBHykKj!<Q1V^N0!qG4tPBkNf+ifG z<O}M;2ny!0fRgWgHc;{fO#_Jt7O^rghzc&}VPFsw1g!!VXAn;WxpF$wIZ#sPVLQRJ znw^1xQx+68r<g!t#H7q14LU}b?F^L5!U?)_ne7~u%fTSS!*-16EIR{(SSu)Y&oh;P z*r35fwo71f26mQ}prb7W*lsdOa=?tg%>+$k5aaJcxh$LvAj|JVxg4CDprrN?%H?4Y z5@3756c0D$71S9}N4|k_p{Bfpa-pVtfO5g6@G~!kn<5Bi!@VjD<+5<9fD(Wxl*_@H z4ob@6P%aMxI}0ey3h}ThGCzWwr3_}n%~FMOS)@zy3mDkcp<GaX0ZLXvJZy%{@}TGi zhq*DB4cBZ6<w7-^L%AT$p!6xk!{)*q1J~>ZX2UgmK)F!OUQjMbGbkwv@vsFl&xC6Z z2D9OsL!n%#=5Qz%q#2aJg?QManXkb$$1>Z48uYNF5)b7<H77#391KD)*cLGD<7Qys z>;eVs3MNoB1j^{3<D1x4F@Y*aP)6Sc%J*yFIjan$cpWs~@o??{l@S}D8BKuG2b5hl zLG{XThJp%-El^nn&M;6(cK~cDld=xyeNc&Tm<dz_Few{wg0{%8T?Qw5CS?=p)ciCC zwrfy}95_J-y0ATBx(v#v$}XG}L0RP~)Kwvzi$ICtBREAfDMxUED}XOdkQyL^6SVn* z?K@O)4y17S1$9*c=Q>bMVPgiR04C)c&UGLUa)P<c$_<R1LZB?b1Le0ca<YJImS6@Y zduHVhM$Y*lUq~~9N*-qA8H}7SL4KBls-MHi`5k1Q2J>nT1_oy31&o}a72s^zQ28~C zoJT?C>p}S&7&$>J%GoTKUx3wbVdT64GT)n771TghKETLX1oEmMGbq_GE1zNHyajSk z1T&~%&a8Zakux1+UlKE@-N3AThmnDu#g&bLLHr~r8Z*G@MD`D8vA7Jl5C-)VL3^J- zv>FcsgWOb5Yefpg1Whr?ff56w6eul#PT-LTg(Rai$ghln@}SC(Q5qa>6G81N&=u^m z6F?Il@nEw-BUdjO7{C{@r^C&T1DRb1IwFb#<ctK6VJAS=D^`H!a!kNl8C!T57?i+n zF$Sq;P-a{VlI;h}f(Ac8{SHtsqm~!u=su7_(EN`as2*nQ0~x%D5pr}FgB>peg96yW zdqG_k(Do+Pk30+vj9{+ndXTU8fxM#70`kCqPz~e;nim8ezQuR|q-PHk1A|&N1LHxE zG8JY92KAi$awu07ynhKSqaXw_;1EdBG0>2M2FUB6MmFR8U|t3W%?eOsO9eC^mIHDV zC_ytW2f4KqG?<|UT5u0uB+m-c%)kI{sDcE*4OK}7K9GmCLC0dTOawK485y-JxEUB& zCP6q1AV)JXtO5lV<8MA*21dvX1;|a1OC2(k^wX1*^)pQ@%ye@y^GYjp)ALI8P4tZP zjP*0~l5<K^QW?N1p&b3B%#vah5e7XyxJm}-1WGa}28&BlQc~0OGC-TvK(}fX>t%pu zHb8gT<m+WHFf%aZWF}=onV_Q^^fJH)J~FU^yO+$;jCOXG8MgM!HfyFXsbDVBW9BP4 zYr<S*<7DB$aW>t%!or9-!G>93jYSM|c@r}yM+9?D8nZl;3gd){*0yc8UvB2u-1*`g zGdD+xMGW(KMkZB8W^N`W#&m02N9HOor*vk~C(QqAZI~OGY?%ModNH>#J-I&7)0X*L z&8`%V8_d5Lb}>(9(qleV+r+$$X&3X$S{vr+OcBfp5hpo>nP=B?lrZy5U{VqP$!rEP z`g9$W31d1l-xFq@2|pK9aOhvG;4oz_PGjbcU@nee=CxriwqX|1<Cwxcosnb0Ne<zs z%#Z3g<}q_k;8@F?$>9~re30=P^ZdFJ=Ch0u9KuhZGOvMH!QsfE&b*?I$(E7%1LGPF zW9HsEjuP+B>AJSeUl^L0ojFRF+@+X>IJ}r8nLHVp7uP*u=Dfx+$=2J0`8C6?bmpb? zP0R-wpD?F$L@=ju%wv99w~NCEB-_BW>pJuDdX5R#nO`t)*f4*t<%r<;0+Knzu#5Q` zBa;f_b!GvM6HF2ejEtUn1*Ihlkh4+Xu?#tDL)Q)@06$^r|38L*{~6xz-p}BfSC*KQ znW9iqln6S}I$a?);i0dnUVOfobtGdVvcRRMICb7FEyY7v8HUUEL@UbvD}um(dj zB)QPM)QW=C<dW1Bg`E6yh2qkpqWtv4l2nDnqSQnNS3Ghs`*KnfQ!?|=-GX8x)QJkP z6IkFLft=Z|ke{ZI2zHtULJ1aEBOF(dm<g)S7@YI-N{aGx5dJ9!xmzJGzeE9ckTfVG zK<*MMiZ3ll0bLLVy)=gbGEWH_`e$Tdtl{8cVFArcgVqXwvKt74%5FzKj#efoURKZ? zJxB~x?w$ml;|LXZY-R?pCjiNTip~yp1_qcOw`SHhmUc){1L}b?F_f@?Xpji#if0fF zvIFHRSOy00IhBkIpkfVVDj0)0gGkq*gIobRg%M;Thz6a&2r>~wgK7n26G3XhJ8T&O zKon>uj*%f4G}{4QC%_N@qCo9dMuy<k3=9mQiy9djf<cP|Kt?e#z;88nW?*0d>0@Fj zt(XfMkOg&18A?G_3)qn$|AY3_f?NfnKZE5<I6yS0N<nrNNG%iS92ka)3?O<N=!_AD z(ijj8-cQL80HQ!!DnXb1f@tt|N`?RswHwrlXDE#U(FZ`g4jBSKR4}M<#!wmqqN71Q zZiWC5<p(;?f}u19L`Q)tBZdGFl>rq7(IDp`1v$ud91z#BfM}336GJIz<1yH$pp^~0 zpn(a7(hM~w1_l!-yOD{3p&QDc&cwjb1#xG_R8|HCkOP?*N;96bGBAKn$^)@M-E1FF ztBavDqk^4*0W>-S5(o8epmt_}Eo6YKrU0Gr$;c1{GI|MU(E&pc=q#EUpm~3Wp!LiQ z3@0H>(2m*<5GE)TkAf!Z8G`<^LeD^92m%EQ_!tz1AP05^29O&V8G`1rGcasp2hGrc zjyeWg4DzWr#78+uzRLkQ0qVOPB;VyA`7Q^^cR5JD%R%xTXbB74o+MC3$`Cx6k%0lc zg_<E4v;qWFe=#xygMu665JrYz(3zm^VDATmLIKoBV`K=nVP;^+1^YSpI5PvoGO(Y6 z_p&fBoQE($3Fj7s33BmjaJmTwIT#c$j10j`*dQ^($Pf&2x+*v%;He)J67gUc2F_q) zU;rIr#K;f`vK$irf%D+uANY!yf#ECIErIPU3=H6n!VH0+r~tW#ks(ly6_Pj@83I9W z*#>q?AjmDCK0G5sASi-B?qOsI1i1qeL4lx9>;yY25ENG%A<RSU3=F3sOi<98gOhk5 zD2b;*nBWkGCLw4bA7W)-09l8Wy+LhKa9e?4EiVHDsF8@b^aK}s5cQzO6~qouqJ^*+ z7(np|I^qfBCXhJD@t_0_3R{qWK-PmY0w@4Lnd1@*BuqeY3d--oObiU5qaI=A1u!u% zfRZ4{3;_;Eq6L`=THXLM6J*vW&=?0)11NdI%mL^2}u067~UbnzWAx6DFRgU_Ca z9dVDiZ~}3eEa<ij&@Co}Z;DMxElDlP1zjTsKQ|7f8FVy0Xb=K-z(Z><@LBlK>mCqy zMSzSbFUl-|T)l~MV*^+N*aPsx^AY+$cgaC-D1cm80J+=}tjEtEdPfM@O`vN@V7Eyi z1q%48BFOa{;9Gn^*SDfxfP!|LE2Pl^Y5#x?hO~WPbu`F9P@f{5Ne92k5$rIC^^ki9 z;C_N!PJnzT1jfCmlwV#7ww}<nrBDxn?;D9nzDN!wT0kdi!Y+q^96krVYcwM>Jp+<b z(R_$}<pC(Z>3?x3zRN;UB0ZkyJ3%35K0@!*0{IHu1O{Ic0geCSlEk7C%CGVSM;)~< z;)J9`9M^z=ZG@;m&wj`^vw|`sBm;qy0R<Oef`blnK}%6Q=t2qxP+tI&mY^jDN*W^W z(o2f&szeV1SQ(0Z!5BQ&3re7OH^WNC_!0(ChZkOgfXX1~fs)CIIf+H_;G2D5r4l%h zVHTix)YCs6QaFOs6}Z#^hc!y>1kI{~R8sR!M@Z~L@-eui^v8Fp8?L~D6m5uV2iXHd z@LESmpujT?B&HxaAfAE?96@P4zJvjCBO^E{!3hFVBS0>S0bi~NI$XCP5p*LB=*C5? zcPv6uCqxg}B#4v2=D{l*h{3S*hKL=s`w_wVQSU+oXH8IMO)b((W`I-|kX#D7bO&)! zVJ5u)4$lG5f)bnpAR1w*ACkym&Vd9f#0St@20>{XWGUiiE_f7xiXezuuxmlLpW(hT z5PZKHD6>GWYJy#E3a<UhxTz0Pyn}N#*m7`C2SHmN2$6V*|Ik7ol4`)A0d7$cxMHsW zdW9wE)=%(7b&%`wAa~$_9Ri64P-G&7ha>Wpb@8BP9@=Gf;FD}2H^!pW@nGje9F7QL zQZJr^9)Aovnim{OWL^yi4kT!jDNZc`dq1@(9vo~CU&E6Fa^i_6>fSg|+Jcm@pfVhM zp&PhphF-b`y&Mf39N<g@OQwiWDFzql$afoq?~sC}Zes2)!+l#Bmb1#?*N=f61x|Ey zyJQS{j~L1|VHh`iL7apdS{PS&fx`&TJzL-gn-L^>F|OMJ`y6ZmJXayd{NTG)3+a+A z69(wTTF5tK4Za(-Aosa|mX|=fprCz2pbjyF2N{P1u|fB?fCl<NY!Loq#=rnt0}mP_ z1dSVly4j!=VW0^O5Fa#t2vWBLBnV<aF-RSViGH6JE_I*@7?61&Js=EH2iiLWVuLVD z4*fo@7hDYBp#qQ^5QeD(ttCVD#~gD81_jW0yr3Cw=)FQ9CxZr=V0u9Mr%Es|fX=o9 zu|XIn2fCjG*}OgWkb9m$;Q}%T<X;etexKHTDF%kSAcLS7WF82E?#Tkt@cXZ%85p{u zYCsgoJdiwS-v@|>4013qxXVE9(gLXgVUQe%2Hk%JV}tmhee3XHJE(s_;-LLm$o@ED z&j7xI2;>i5s5+28Kx3@P=ADsYU|0@v6vz<J<P($z-G7Cwu2>Ob9#k4MQv_y$(h#z} zUy#BNbT0_VXpp_2`>&AATMRmz8*BoEfXRVYej%Ip#~zY~LH+>U)dMr{IFegICLC5| z0Pjr$u|XJS-c_hNP&x#OM=LQf=z;<S#DU6z)PfdlgJ`HQLx(>0d$J(I)-Y8J46F4K zY!C}(2I$5fSRMk2gVg;5F`yWx4n)J!07&YN2?GOYDi(C_6X+Hnkbgnp2nrKq^K#4> z82UgOpcrHhl!-zii__ztEYN*IAP0cr3v@3Ohz-M_d$ZI*6UYn<44`=qOnGhw(EKe( zJ;?uz;8Q<AJP2mS;3GvOXf-JVKSUvvWCq``2IYX|K`98Ck31s-x)%(zTpL*)bXyZL zUyK1%4!}e}@sh^CzyKQ22hGiZ?u`M>4<pMX=2`JJkB}vyb4f_!R9IRUdd8-v<_suD z{X?5xQ0>qmF4UVc7#Khc%o#Zu7(fePnZy_v)IfvQ+>kN=Bz_RY=VV}50~$5vW?;Ag znq?4UVDJJ>d2li?9EZ}rpfO=i28J#uy$M8fGcbV9C*)*ccnsomGBAjMMu~YD7*s$s zCj)~vlr{iOkVr5vc!2oa3=BCS8nglflqW&U3PH3m^t@ML(1Jk*2G9a)P`U!`a|GYR zg?`?vF!a1vVFm{9d9T6@;Jfoc`oQPC3NtW(&wCYy+(`%$2Ti+xXwXgq5Dl9A1JU5~ zUWFMLz~{XRGcbV9dlhD2SPFF)c%ojIfdRBX1Ee0blLJIwfXd&8((j=3UntE38s!&e zV33B=pnKRr`YfS*4=5cDrPH8vDU=4Uau9|LfP?fcf{Jg1(x6!lkU02$1Yrh-dr<MW zP#Uy53nUL(SO=n|Kyw|!3=Eo3+5$?uL+LOmoeHH(p>z$D?ts$MpfqTJ9c1nYC?9k$ z8i+3lnz0aOU{Hh7mQdOrO1na7ZzvrErBk7FHk1aR4=c>T0J@(HWNs}~yctS&Lg@)m zdNGvV2&MN!>2px}A(Va&rQbs7&rtd&lm_ii0@=p~${)fE;QPuze0eAzbhjIbuMOpc z?k@xJ&7pkod9lI_49-x#CzSSw(x9DxAobBuej=1khtlA4WrZ0SilKb)xw66x4B&HR zg&7#Y=gJB*FmyxZCqn7zP<kGe22U3WGccTh@<D64K=y(c0}C@Suz>PCD1Aa{O(+ez zixi{|eE)(l14BGiyaGyt?mGj?&xi6?LFuhf`ZScj4y7MM=^s!UwC)t7Uldfn2s1FK zKxq>w?FOaWp!8HI4W7pmhR&@CGcX*6ii7S01DSUZ%6|f-UqR^)Q2HB`{sX0%K;@P& z0|N(?=7Z8AP+AH~D?n*AD6Ipfji9szl(vJ?E>PMFN(Vq`(9$}PJ7b{yBq*H;rR$*d z94NgNN*{#M;CmT_85n*;`COoKRG5JQwD=lit|OEm0HrgbG-y>YNPZfWzZFV<g3|h+ zb6ABL7;>QWN+|sRO23EF|DZH4Xib<f1A`2d)`rqnP}&npgH}3&>`jOATcPw6C=EV; zRhWTc6O<1=XH^(-*Cj|F_&il%1_scc6cGO(R2?7ayi;KY2019L2c_+xv>%j?gVK3W zx(-VBL21xE5g>EdLHS3a^hGFr2SkJR=|kx!Aex_n;Vp<3W?=XZqWKvZ{(xv<1_n0J zS~Y$K25t~7%)lT4rFEgS1&C&1U;u5{0o7{`AU;0>gC~d<W?%>g(fkYy5g=NafguS* z^D{7HfM{U`hDs>i2Bjy0XeI`RsZe?*h~{TtSOlVl85q`pXnqEUjUZZ>fnhg@=4W6y z0HTE;_gH}Ze;LH*XJEJiqJ<e49z$u+eHI{j(6$Iheg=lWP;qw9Ij{T-3?fik1w;!o zFz7>ROAyV^z~Bs`g%}t@pmZ#V7G_{b2hse{doF|-7%D(~UIvEAAX=D#VF8rh4ys3) z7{EL78Tru8wculbpKAfyGy{?ct#ko}D`@T(+c^To$%%P+NCyeP&Ji#-#D0!|xtWEr z5s~KzG(c~q1#Pzlog*LvI=m0oIAmY|ofFU*Ak!Txa2&M6j-fL^1GKw7K&3mBqccFE zJ5&U8%0NItXMjL=KuKqSNOwR*XMhCwpaD=bjv=)3VCU23Hv-)gK)ojG381@(ON_gj zS`U;cbvp@IJC+pjc02K~g4XI;I~El4b~~}O9w?PK4(@O?ACj<~2+~q|_T&ywH{md7 zA0y~~)ov%AP8OAJCxK2E6_#!%5%Bg&(D?wJCti5`|NsBwVaPs3g#936nqNtPt!9VV zA_TDoZ1PFSIRwO*|KcCA`A@^cz$Yolbi0aly1wXk4gnnma2>SA(iOaw|F|ot@y+mB z47BgG^C$ndi`~9&dRaPqU7Rj-y1wZS_Tk@V)$4x2hLgV?>`2!SjLo$lxJqi8oeLPj z8={+?D;S%zLm2tDF|{11(C%ds>~!`4+f=&lxQhySRaK{q3V0W1>w(f)pw0I(;63*I z+dgb$>imG%u3K`b^TS4F#Ae-+O^we$n{*9NHvR*-lYh#=gAbWr&pGZYq5|5Eenh78 zMl?8d<KkmqzWoc{N{VJ7f2-jC|NjjSyzcCF{m^=#M6}!WO?T*vPNwD~GT^`kJLR~m z2<Rl2*J~g#)4Ly(%tAY1;TO{xy61)OzyJRYFM$FOG;q<~3>q?MJ;2`zx=Om+xndV6 z4RjY5bbI^2f~3>+K(}+r@n+B=FCYUuUAOeQF?PD{=yWdN-^SQ-fWHIOukU5y+6n6S zbq81c>2&t#tvzFS;PdLv&<~xZce-8obWaBDc(<Mm+KblddZyd;K&R`IZr3fHt`9&_ z<hrBN^#x>GbGPf6PNr_x3!P3Z-L6+UojAH(Z*)5Gbi3Z^bQ0)xebDJ7((U@B(@CP+ z^+l(XOt<TsPA7$K*AJaeD!on`U=MUQgDh)464QAB95BtRLD4SJ{DQF)?BSO}h;uFY zxBb|})cFGufBY?mpzYy5HX+3!e~aw@|Nk4GgX8g1<9|pz9y<7l=_L!usAjOYTvT{^ z!8U`kNpCY~7ceOE^frUWZ#r3Esi%Y+5*T1t7+yNg3<~p?ejsy7)IjAycv$DL;N~|m z-5sFV=?p#4dXm2tRE$_pSOePE)(cwi);$m8$6nVnp!jG5+wZ!kw+$rN>AK@}a<}W5 z?rETl&O4bwf$0nmOlNRlI)ek#8623-;J|bS2c|PPFrC4H>8#T0tkHS66Kr6w)1S^Z zkXhYMe=J=Obhd$<QCrYmyT$MTIMV-oUVYs43}|?w+pnNItfbqm!g?OqO}=+JLmzay zKI!y*(HZ)t)Aa*?YZ7=9^&apMC$2ldVbul?t2VT-l7RU0r7mbgHYlK)kHmoE)bPM@ z&{-f1uirrraOm9w8dd;>U-O%c&d?pZKr1ghOMi48>x})<S^MY3BJdF+rTm5mx?{g| zm;UIk{nPm-_HgHi7Z$(&|8G4|@~qnpngRTLn%ycGoAW{#L8;%Z<airW>hE?d=ycr! zI{3p4mI1&6N2eeqiCY09TyvNYxIp3WaA#y-=oJyfqv9b014A#1AUHU?!z%uC#}#zC zA!no57u~Kqx~G96*m@c`Y*DjOx9c9zp)8;*^@hJi3VZ+uB{>Na_2AOw<!SJ#1UEJ@ zA)k4`-@*yXC^t|u%GZDY|2IB{W|ZGZ8RZVdjE!h!fX>F~yn$R`^0$0Jm~pZZY6hs# ze0dwY8K9U&H=_@i8Q}9oAQ=XfVZjNUKqBOZ1pCX?pu!WH?p|((oHGC_Upuddb)Ey) zQ99kOBF)EGI(^?jE2YlTC*V4(09;&mJC}fpHRp;>Cyve&%?CI-T_3!*>^5)xR>Ixw zU19l=zqt_<aiAKD$wr}+Pz6;S()z9R0G0}B4XA>GoDM^F1qE`D?}uXMPTvo$-%404 z&y{i7a8BTF0WF)e;Vp@>;R4mSB|$ca_*+1unl_I>{8F}tD#nHqgVt}QO5LR&I?cPA zL8V3W0Y=LYb*!E2paXJZKeXQF?|aI~zyL{Jf&W2=UN|w?tSDizSy_6dxjKZAzilVz zT#V2+-A)|M2UxA0Sc*%!y?yw%G1~B!=-P0V7=!EuRbn=e_*=L@q2`Pk$S-gH`~Sb8 zl97wQ1$4qgcj=pMH;!WrT;SZx0jmC+oqZUaolC&A|8ZyVQsdWK!A%CHmw!QL)095x zEK%VARXie~^O0DfZ2<n(y#N3IznlUxzlyPyzm*$wbPmYj?e6~}bvUSng=jSJx9Wp5 zB!kQZ`wHp|Cy+Cknw@=^pw3`|I^(7Gf3VwI`CAo1MJ9$OMkGy)Fiqb;$K@0<c9z~~ zsAO#5Z+!;NGLB5m2O?}3`P;99tap9W9l+6B#CVM9QD*_9O7P*|=E&IL#MoW>rq_w7 z(~YCok*U)eB+As`#MFF<84^~IaO!nr?hNCA+Suvr^Rn?D=s*vV0??@>H=2*=MDGG! z84qgD$bS9*9~{ZY*+HfE%QR4~0XJL`<u$av(>czf0vb*241IulR1-8SK?A<?P^asQ zlJZX156uSzI$hsDnwZC(K!fBA$DKg)3=GGeK>KtUy4^xr50pfA`}s6jDwbq+yFS<j zD#u$7lsI&|a)4T*pyk1!X09s_sHX0A1+{iLIzPNf`vN|d2v%t$auc-DdAuu}fq~)m zPI%Tcf!FRQUiWvqe%K9KH4jR+u5b98LB)Qz>j%hbQLZ0)9T_{_e7fC2nqhUt3&z$1 zoo*rgEualRy|pj8<9ztHarZi2u;DC|>vi03BUvWi>p0&=vP_`iXM72F!%toQR&&q^ z-4nV&;lOI``li^m<zz)B$Qlk%>URCm>x{#i(gm2#F70{A^Z)<<v<bbgZ@{IY>jzMX zblSlD#ozJ<lytxjYdKjtoqyX!<U?voict@!>0)4DXnX{!1{!~XD}mNxa2o#5>%`c> z)#(a#9sf3GP^tqZIgk)jr<)J|HfK<h>vduVt73)-F?TqD&KK%+W&t%R-F#kx&M@l^ z#co{lA*NnuCaA*SAZO!Hh{fLKL(IL-%uv1iL7B<*O>gK6<S-FIgvkxiIWm4e{M#g3 zZu56afb-gA<Z$6{QDbC4JG{r15j|`^fQ*5-Q3~X1Z~}qmNT?efAz|Z)6gG~KuyKTi zjUy~<79w{d;3<>8MeFbX|1anM{r|t=r(%hFckP4L{}cFIK(iIyt}hxa6ie9}Di|3` zlDl0wcC~@}S1u|%xN?Zg$N&Fd-UJ=6<ocoWCQ5Rj2`aeJlRG@E=Y@a{kpgvWnRbAS zgoR*3Uc7z-jZTaZ07a)GEIN;ZR1+Umpy+gjMQ11IbRB%r$q6zX9-S88Y6&Ge2`6(A zL^8+l2pLg%6p?x{j6(^RId~Leu@@y=68`=FKLOf|2DN7({q2};SAo`(ouNBG0}{Sl zj=O?7Q4F1~7rI?JIz!KNx}GTE?&N{wg-+K!Sj%i^k&aSyhk#PJ1E}ckt;JV*Lwd2@ zr7yZ&-)MfYblp>A+UxoOloxAMIKYJyJR_Fgg!H07T|#I-3shu7dJ4_8dl<_!Kz-2A zEuAJR%`X_64>5xBGwA3qu**PY=nF<>Py_k{xYN(yV#UV5&|U1qzl{%E3iG$E0JY#t z)EK~}F@GEAN@{S4%-`0>$iUF>GoHW25X{i!ZvmY)*znUDeC`#bDc<l?pT9*AEN{=> z0^0G@@Y4z^4>|{|;im(C3usGI!%sE-7SPt%hM%@jdC)9f!%uDgmWvD^i&XeqKs#<5 ze(FHwL1PCEKlS)qHiG39`CC9;wT7Q{P<hZ6?S`LP{4Eo~^6LC8pgvZ^PYtkqNnOKF z&63K7pV1{H4L@Til;k!1RON5k2hPKLKtltd^G-k^bO2P#@Hc}_!RU6~u?sZG)q0?m zbr)!rK)34!P<09#2<UVb0CnMAdAeOsbh>hYYu7WN=mK>^T~s(aZ@l1m`~UyT08rTq zI;ZOcteON}2iS6wzatZLZk+3f4p=?r#@OlX18ILiMrojNBna9JRqWI3x`z=SPwg?F z2H8*5(&gQ*7rH~w9CrmB&&B{AY&Ze#ir#s-9MshcJbCaDOGE8ZR{nNSU#Yk5WOwO- zUJ>!uZ~U#G_ye6Nm;rT&K)1IK=+s8%0>)jSA`3Az@_`>R0<sM>vj*(|Iu|g)6@VM^ zpdk{_0YUH%AXXLIK?#gSusifXr?XG%CH@vMNQ07zzYP?u-N8N$R;v81pkU|U=Ed0S zc%j4fc(3FBhT7wt9j?d9_-$CrxIsyhmA@Ud&5nOt5mRs7h0Y(nVf$@3J3^0^2{ily zDRG-`!^+<dP6M^aSozyNf+E5ZEC`yg><wHA3z;@h<FOZ_{vJqG-AZ^MwSf9!y=9=P z4HUx72O9WWO_>=OnsW~@zB~?63^@lC)YJg2SwLzCw}gU<S%`mH3_#^&Ei^g(hbAXb zS^~8iK!ZLkDxkJEXb{r%2{_l@cyZztsK3tN!V5A7JRI2i<u9lRD^UZVy9SCQB>P&g z|NZ~}<%8egb0qn<g&sfnh~*_C$cZIt4E)<ZY(g2o<8Lwk_y2$A2h?t@{J;PIq2qX$ zVB>h;@gFvDosTvK$lqcFHe(~o7?K>q43x3Jm#o;$I0HH|5M?ZpzhwvL@JB4;i7)4a z8rGol2~<Rans6+=t}i-6R6rRJT*!gO{O<hv{~uDSwVdSdobl)X{|RXAIR2K~phi5( zVS}GA+H(1zfQMAV;I<q%hw^W8Lu$*pLAnoaNbMCjW^j+f4c1<91GiV4eO@a30rme* zb)G<s!X0-7O=2_fx77Uk|G)DDVmS4<>j6-|ioYfK&;S3855X<WpP;nD-vT;h0Hb6A zB_#ny28Nd#Kmk<70BvMoI2%-%x`7)R&OR^uK_@>F?>|sw>IQCPIQzT|{tfB<p(VnW zgrEQazg!7ADbV!*C__N&+n2LJcKJdxz)7SGU;%P9=orUdyiFF6u{of4b$x-<sQUi{ znjb<T<6xjc;Knzgo_J?#!T<mNUrc!o%0s2Rh6fstfP}$=YTXbyjTa!fk|z*u_g0XG zZjX}gh=T5bisKESJ`{K)*te(K&!_VSsAz-@mxWFMmyn&Y9i8yeG0+J@-FrcX^s;bu zy89e=1?~N1IPMB6%NUNkUI7_~*-|*e-vZkF*y(x&+|j#$ucPN50y<+Cv<?C4+A^Qc ztvTTK8(Zh+j@EKeS^C1jhO^9we;btNXd_vs0_P>#NS28;>;)-|FX4qSbopD?g6bHM z3s|jPFYq^?16845MGX8MpwpwfU9a$On+np^A<*3m@*}wObp_P<a`fq*3liye4uRKR z;GUjy2!Cq`bdUfonY7w~%0t&Pu%0JcAi+WoG%(C?+!fSxXE@$k^Z!3+c$lGkDu~qy zZ5DO=Ho%%^-LWmO@(>c+h6lj$-CM@c>wBTs^-6E-nNA;Qs|r5N!QTSzvq7RC)bV46 z1SBMI82CH?gUc<j?@{|aAa|km2SJSl)c)WDaD(*<Gy*!9Afeam#MtQy4L#(};T2Ga z&Jm?^cm>o?0}H_l6j0~zN~fdG%NAnI2IYECPZ6xkk62yc_B5)CKt%wk+XyxYRGx$C zJy6_sPX#3bSe$?gVNf;jG8EL~1LwBm;ANCAIly6wF~oWVRQ#b0v2FmBeAtFqr-O>+ z(lgzm6S{qSx??-6ORsc>p6K*F(iwZ8v$Tc3g`Jau0TO!(B~B0qXNe_*!CPVgVQ`hG zLl}qnTm0b~9`Uz)<bdgB;BRH&WMJqnZP^8Cw1UnNV))YuK0cPewF`7~G}vq10U@A< zj09Yt0)Go=tq;U_PW~1na09EOyL3W#ZBM7`fnL`Souwx_Yma~@2SPhKYgAZ3qi>xe zDv+}1#oNcAqKUsH4WtvC-?}4x8m#sBTds0|4_)Qi0vZZ*JpgJIGk_bPAj4QdjZskJ z^TdnpM-UT0hrmD#?Jb@0r*mrsXfXSGw+E<<>y9WfJkZ&j@&EsS@PIsMdIPixo1rsw zPq!;LbW1zB_k!d*T{nOxpM2MJmagcG-O=ef2Q(v9y9Fb2cDgQr6oTFE;0erfPyj;m z7E)nlqrl(t0JIc<lfUH#h*ky-9x;FmRsI%G56p&_f9gRSF8-;9T2At}m@<M7zi!cG zWMBXdh=NWI0u6{h<YZuIInZ0iz~4HDlYs#w^bBNSZ3}Ej2jchc3E&BZ37`oD{+2f& zC9X3d?gY)k%>fNpyDk9F!Yu*M!mR+$!mR<%!fgQ0!fgT1!tDUh!tH^~!gaQTOx*!W z|1anM{Qn<x;5TRy9ms{C#eyK`JZA^FZ~}h|XumncMzB}Ar-I7uX7>WdX7>ul=6vX+ zEPqE4I|D=aT#zKBjPGTUgbbsBGSx0ne+^v6bl3ZI?ggph-^Pv-R;^{AqO}(y1sX+` zvEeF_usOuv3ToRzOm3(K4dq?~6$D_zn(IL$(cYk70XvI-8<Pz$e+%fsVjHd!1CW10 zAi>+Z5TprQ=QPxT23{wEGqf9MP@BVMC4Vbuj1-4AOTgYd?hYP(hRzrXf$YTa?MrKr zE#O)OoFuxz7Q$;6@C-Iv%Yll7Zg3FvvRFaOA19w~C(vN1ETow2_Vnq5hJ<9tTu}A( zG75AkGi<6GT7|S8C_RsnkY7&y32LsL*u;d~U@PhEJb~I|t^`e)f*WXtml`2Wv?<^w za{?$HAO!?CP@5eJ7@Hj`7@IS|aSiqusLuqtrlK3{N=Q8lYCS+_<@s9=B0CpRWwoyS z^Z)<L&p+Vz7IcTU@NZ)Uo%e3V#NYZ4bX(vyR#3vUa$@9feFx!#T9j5!O#H3)Abe2! z%*u(GzZG=!C?v$-!yBMWOc=Ty!Fd?8a1#;*{M*<-Sr^nku;JuyIR@@N_jHGLbk|Pk zbUgxUi-#WQtUb{wq5}3GxPbHR=>!dB_^7ZzGUJQ)kcL-0#J}C3=^g%-^`ILOuoe`c zH4q@%Ktqh6b}s02vu@V|yPklC96|ji<f0F1MbBN7k!{daI&{PYGosgg|NkG7*C06) zoTiWm^7yy0gCZ&i)JOtHWiN{$B)B?TLHVq^GNjYdr}aO7D=16Bszg|;1e9+JL1_V; zp1Y%cI>G7v<tk7b-wUcXA=ZLT#!?`B1l0kMfB|dlWs&Um3+Z(80ks9UfF!|&pcDuS zB};8MOBVLJJ~2EAjsw>Nkodq6TyNh%YKxN~H$l=Yq*9Xt#R{YX3Ixsa+9;H$*l?C8 z*zlIX%9WOjtdNoyboxfi0shu4AU$9=_4>}}j(ySD3#xRwOP_!%nLpj`1>NBlov{tw z@g?1RK~kNqDd2S<om)W-JJ529J;z;VfMz<7Y9WvkP%Q**{B^rFbi(VR+AW=~b2>v8 zylno7$Pc~~c3lId&e)#r(vD8w2c5BZI!kYWk`HJgs?$WJGe(64)EI;&nCRP}xgAi8 z4ymR2a^hDkWdMJRFQ~bKRt|tpc!zY<(8>W&w-25spotKaCb~d9B5<>*JIJRK9Q*v+ zxH@{l#nk5SAd4?-WI}Cm)`I%V7f}1#nV`Nhcn-qwBy<)6y!Pg007!9&3I{kKKt4|Z zWf&QiPDD;jz4ib9%M#Em5I7+>R4_J_itul9V6s`k-@@|!|9_j6{4IaJfxCJ<pmUu- z`3@AW7)=gnFp7W-R0bIc&P5INjIE`Id&?MJZig5GS@DAytZ&u(`Tze*EszFq5(j4m z)V#+G%6q<`<_;uHu}F5h`}Bh6Z+JipY|xW*=Z_cbZb6c>`mg{0U;g{{|9>~kd#(Jf z<v;%ahg5_7+n8Uj`wks1!3b-Rx=ysPPX6)#Kcsz+7S>*HLmR3=)uPZ3Q2aTAs>R8m zYLV&3|NlE4{r~^}rS5mo{1ZGuAO(d9s7!Z<jo)Cn=g05=|Iyv^<TnoYoJQ`RBh79d z`1Jq(%baf@$6;6i8e2!VpaV3RgDr98gXThE^(dlZYH0@rxe2JF4z9Bs>KI%3Tc&|Z zSl0>Np*`Kc9iX*Pp?5lcZ*+#Ju)x!11QP=T^lBbxQaXA4|NoZ)pZ@=cRPqh=j18r` z__w)(!W1-rz7A3)L7E|4U@w81A^a^GkaXMn?d$*lFQq|NgG)44P~#6=7(%$9wi{@q z4PqTDY;6vd3mQ0t^-e*#^*g9A0Vh%DDv8}+!MOsGppmk58z@1a`~{H&)wr;hD99AY zkN^L7yZb<@jhFqPlnE}=Aq_HDkc0PweS#4=*S}%L{^4&pVt>`Q|Nk4R7`gac3qe+Z z%kO5#0;Xoi62|7t5T<5FAEx7u;C9%{3tzx$8%oSTMT7?E{_*)gz(TF1Z(o9A5*%K= zp)(+TI9Mmo@W9Iz??4F&w4#B(h3glnv?$&6lJVF7{}VzxpEkd-04+&63|gF2`=`4B z)R}KRP|Dv8UMXSiT*2Q0zGG-JXrQI_TdBw{P<y32_Dkml#ImL1khPE9;00&h-Jmnp zx{E8it4lgvA9O?3p7}oM_AcmjebITN)Az%R;A@bTe<j<xCxiMC-L4<HeV;VHlIV2e z>1FBc_I=P<B+^+Wa2#}68bdG3L2cI;2Y)bU9yojE%o%V8;7z9!3)m?yL3J~9{Hl95 z$d%B0c|bLN7Gz+92Q+>Mx(p+d1>7%V5d&Sp#G(QkqXCacLiHo&n{qls=e)QJT4Hml z^*||C^N}3r@;$`b!{e@Zz+*+OpaoY9$6di~G0c&pJNzwnpj_knq!%>L^Z?(;5p2yP z@`A?|pmjQ~OS+v4I$all#&h5+9YH76BR4}^K*h4*x7Vhic?;0|O1JA1=)A>~UU$&E z1-8MTmiM5ApT`)xt9|&l@q;Ir%4ES4OJ!o95q!xqe$X^OSHn-;3H+^~<4(I>pMYmc z9u!UMb$tNJoV~7~(QuYt*E`6WaUCc#f=vYt@aBUDz)<Gt`CCAz<fD$wfEL<7%5G>a z*$P_0(jEE)I#&<%3I8^C`1tOVUU$g&t~-2u_erliGkAR09X1@}&e9qB1hhQl2lgVd z^(UxNh46skB}AO#vK=&F<IV&%cL7L0@y-N|(YP~1^`>BVQwyls`ceyIu<ISjq#`VQ z4KKZn0SD-ZUEtCSY0WQx%X3hZ0&ULVGN}Cl8LLN~GuQ<h{BbU6{ni~^0cyE{(%BmR z76b77phAgJ!%xl<-G-mMp!HNGDh)rmO5_`U9^!Ag09NpbzhyC~*MAZ`f5+bnn$Bvj zog>WOVg{N*D%}EUO&T8P{0<to*aF(`*zLNaGxP>{;q8)6*Av~Y3p!nobh~cobiLB; zx&}O_d#BTNM>o<cUH%qOK>%8!%hc_<13V6}2V4vs0FMJ40gnTm0FMKl0gnS*0FMJ) z0gnURfQ$oxOAE+q+?P6kK<f_d`C9@&%bI>#@wb3dS;J2q{uVp1NG!xZ;2EKYpSAog z>R@42$Zb3gKOLa*0$||;{ua<}JRpznQeb3YC}G_N+CB&JsOyJr*CpUp#S1!JUw{hl z4WQBh)Ers@nTT8g%0ZnsUesUs|NmtbXkq{()PzCjPl9IOdr4c|>jDYGmxn>~koBMz zPb4_efNE#{mXLp-x`4mc_5c6>FWo`Y?x2Psf2%2I^)Gl?)JsE9!UV4g?le(Jn*c5= z4KKZX`wMcf5~92WujgL-6H=-}rkT5&K_$C&Gibt)za<h>;yQpAM0HpD>;hFH#~nbO z2L{l_X$FSl4&be?$3fdoK(pNi#~ncHuNaySNOXb?>UOSZ1}~UKOlTr41_zl3T6~OH z3=ZxLf^KH%Ww8P$LW&lHp9Ym>)L#tFzwHDh|02yc@wa$^M*q+{E@rp}FhGmJd%=MW zN=LomumUBl-e%Aq3|M*5dZ5G_5+N_kK$DFmrK3___{wlcP!}1TF<-v@_y7NE-U-M6 z+@8n)H6@OL_D95i>Ac)o`=`@)3uxuCt3apgo^DqjP}XjPG&A^HjTjjiET@6yeE54o zBL|RW;?~nZL-hPDouK{%c!76s?HO<+{^?}ubz*@m05?3)IS-`s^XhI_j^^4e|G`BH zWG(+5P|E|fkpB*-^8w0)d%&3xva}yG$pcx-4Otn^-x2_}3Dmmm4&9<X4b+0sJlxAO z>ELhXUY-+~hr#U*9~GA7gBqPYDw-F1SsD&LU<QRaI8Su9fpxfU>2}@HJq=_`Gk7hp zMz2gmx9gc+9?;rQhEA4S;B^Or;Pvk=g5cGTE`s0{@GgSjCGakS;5G0rg5X8)E`s1y z@GgSjW$-S7D&SGf*Q{U)W#Kq<eF}ITKFm*`i&VN@&rq`F9_$IQZLcTvwt*rA<mF!Q z`g?F9YXcp(fRf0->-=B3ff5->3!6c+e~<-@FO@)v4D6Mc86=xivI7#cFB$)1OP}EV zJCMo87k|G%%Bxad$V3#hi3e%=;%ewMA7F&F^-$*wU2i~|gP>q%IPMBs7sCLbT?7?^ z4A50euw@{vpz0lKgAsJEWGASVCD7@Lufd3^`2v5-deHcR>y2*L3*f2BD|i~5nEH?K zx8#HMpXqiz0@i<mB>g-1TlB&D4|Kck0PEj_M}K#4MYnfJw{yX9aOVXSex0EWoxPv| zrp{LIpi}6FPTx13t}mLaLzwy7K%4fuohv|{w5^~qY4DPk&g(YH{4IQ33=E)A&&ezd z44`pH(7t2PkUMyS6*NTw9&(4w_Av0b3NXXxk2(+Xw}S2kgRbPU12tSA>qQ!Va`I0( z(C|}%zXh}>2{dd5S@*;XDKQ#;a`Cr-wo^3xJOpYV@wZ%K1uctuRLTuncs_x@MI2PF zfU7Og>Lqhf!Um5aSq4||H-oNWeHjKi!vI{xLKc`n$`jWM$5Hzgkj@4yr**p?flXDz zk{x*d8X>;}Jq3c3B}^WY-VHBBcU}Nr+6wM6gYGc|HTxjL+?L)I#T+0XZ{=ZN01fJc zdKV0^#YE7F0njFG$o@2Ndk7qYrIPSr6QmIb`Tzg_PXI4v=jy!vaxr*50@Nif;RX%7 zfL6wX?g<7hS#Mhgnmz$12v9tOW+b~^&wzUzC-|F1Kofe<rT6?Trl82?g6!1-&3|aH zg9kam>w7^<&U*_P`CHS#Z65fl^Keikgr4bj0xvmtJ<|zVSqENk-s{BF>3W9HV)M{5 zNQ=$6K!&*<0K0Ave=}%h6{z>+0vd#NJpk=}9f0({K!FGgzn2$5?X7OtGth<iu4f>! z80-IEt^haxcXWsD>2y7yc?h(M1{A*FyaFB2=ytsUcEA<>X3#Ofu$>9~Ewh;!7;L!s zTjql3L;Nj)km;coTP_9$P<n-AJ5bx{r6Z_`xEC}l#lYY4_|O0Upy2EU>3hWA0=gZu z<v`j5{+5%VS>4Ux+WQ-S3uxDbjTL{36=-Z(hreYtNS_sd%VH314^lr9#ERx`nFyj| z`CCA%UTv!RTN*+9TK<+wka@7UZv6?$Ev`GPT@RFm_PT<0Wr_5<9_S6-(dnWh0P1Uo zsPOcL-T~J^kS-@|m;;njwt>tF-2vKr6na4O0!S4+q@Z(1@UAO=^C3_a!Fs11k3l^2 z?lLH{y1gr)z2@%Vl1|@-ZtnunqRk(Soz5Yh;8AYKz&U>#J7_>1S|C9J78FM|3jD3P zpfSONFXw;;4PEy@yu;D!dH_^|B75LBXsj9Lq|QCyn_ba5%%D>iP&>@AZ0HNPr+|8N zp$DKHW@zF=?l2#~>@Xj|+F=H*{(I^A_y2zzEB@9{aGv#I1Q&+~e}Otsoct|2zzkmg zmi1r;7k|q#Faug1u7;F{{4Ls`8P=2hEgir9{|7B=yb5w8EaF?(!HN7rg9R6V>jQ8i zIMQIjz~8zD6sDj~HLJDj1O8^vnFQc`s{mR<8F~S<Co}ZMO94<L!Szh9?+H+d_PQPc z%^1LnI#9}31RCjt6&kIeQCILboL10!F0?#|b@PkL@Bg5Yx>o*H1JJ-}=x@+~+K-KB zTQxub`v1T42kNl@{a^5{nkQjfHNm^bj)6i6yceh(<VV*Vu!7(Qu7bcH)Mo|n?x_Y% zY#e;)1DZ&2eSkYdtOi{+3r|n7*wWK}R`d-4T^Q-<D>z?KZ2)E&c;Wkv-q0)HTn$?C zbEmiVL2v1k&JY!mP9GH>@I+*Z3JY=+-UJQZyI$xGJ<{oVqt_J_(;}b^r|=R%0Imy~ z*Fh1#7_93^cjyIh-{1;p+(ASIRw_Ws2uOt+dIYp8BlOJ6!;rXc;BOTHN3$1G!_O7` zEf>Cn68uX3)_<TBa0oIV0Wt_Y{DP?HTAe^6%Z8vi-!g_?SCAh$dP6Vty50b#O{Co3 z8VWLq13Uu(&QzfF5iOZuYdHB^rh#JnCog|XFPOmvu3!0E>cPB2{4E|#;D!c&%Qj{P z2GHUQP{|4!UH~=Ux?NxF3IsL7K*J2+^_QS!A)qBEH(p2_`2YXqM36O=jII2wp5PF| zsD@zszu;TB6hZ266e_TBFmQ1p23l3<q5_)!Wq_^o0=0b}g1jpU8s~?Wkv6*gEsH^` zO7!?!tsz6<di<@HU>1`e#J{at;Bj^@=7ygNy=4p~I-t=g^@g9kB}xrHxh9mzfQO<$ zt$>D~k3jWJ73lu;ll-l(zW)E;TROq;z#nk85j6S)zQ%h3=s>OGu5&<jUiVaR3)6K0 zXahTV)(W&rEp$zH=$%g2C7=-V-O?F4rPFmqH+WSWXmrf=iROjY|DCQgO1K~$1h7G_ z7hp-1(uNsizy`849ksh~+!fr1;BNt4*V*kl0kk4!3V0-J26!ZF4tOMN0eB>A33w!I z1$ZQE4R|DM19&8C3+6}|(`Qi8#?;E+x*xO`rwYUZU8xNY|ChHwQ+_yN9o$+%tx8~n zn&5=M3(6z#j0(!Q#8l!R!8SrOBP4@@av7*9g=L<XOrWw8)>d)*0%@yAgObuC{#MW$ zXi(!D)V|?w{Q)lYKn+d)78#JrmHaItU;h7pc^|Y!yBoFG#ai~?04GRBUH;a2kf74# zZ=LcPGXC{45fo;XjIGf51O8UfoDQ0)Sa(J?flXy<;BWN+uQvvz@D(MT4L?`%x0-?S zcokDa+64aAi;(hxx#8yuaQWZ~asx=w4$zv~msX!amylyGnqj#TJnC)u9WvDg8gWC; zmFqz>jm@8->vMbY)h4kJyIxj<=A9}T8^CSrUEryAc-wmQSCD&dfa~Z-ovt^~+SWG+ zwykd<wXNg8hGF*{IPswl{KFC-*uRdDiEN%1pqVnzaAgCi=4_D!c^5Pt3mGqIsA6g5 zZ{7D1cF+0Clb|LVNn>Lr29PWZzEZxSilu?SHSZ&+dEmtgt~bg-)d?uVB0zi8GC>o* z;LaY(cxvr?NP2>dr#8L;4O@0XN+)m==|%7p#7G5L5^|OVWEK?rL==2wH2SJt5{D@; z#|ZB5x5R?Ru*n^um<6htC>Wsl2-Z*j07U{H0|R(Kl86BcaJ2v)tp+WK@%I7kpLZ_- z4JEo)fOh?&tPBL7KVl&WIy-?2vD6JRuUiQkzR>3btr`SPSV9IdT0vJRLp#OS8h+~X zw={Brs&zg7R&CJqN)@9Xe=F!d=Y}dKJy8B{m0@IH;NRxNY@<-3VZ&LXV#8aaV8c}+ zV*_n(pArRkfLrE?f)+ILw}K`mL9GG{&<Z5i7rP{w86XQ$ky{0jWc1?S_W%E1^FWqN z9S5x^XQ1nd1Snl2MkK&XZXnaYFH1q4?75&|gG_?G1g$cHEMM#n_u=2h)p-rn0tygf zV1Rg~xgvy-za4bS?Mu)wT*FUw{%r?$gO23jZ<)cyz+icUzvU8WL?1lH)Ow(lv*Bk9 zf6E`xzyl~%LwXxJtl*YaM<lp`{-lEgvJwt72kZI-bnJ|?55y73%fS#1C<}lDWjAO^ z7FXxBhMx*0383~%G^qU&25!FuH2geN;@I%>5r4~0ux%xF-B33{=4C+cRszlbctU2f zA<ZgizrXcB>717lppJVLV=Jh>D?QXb7u2RP{KmiS;tr61TW|BXd}U`~usp=yGDQ%c z`n<tg6!!BlFrc{cGPrLy4YaS|CntXk=!nS%P#Y9<7beKPkh2ZIZLU3_@w1<gO1VIF zEq@EBPyvk}-3P6Ub%k`~N<pdJ71ELW!q30}o<@ZPZH)i}1Gthv>B!-z?stJY4B+`F zP{$EGQjZvM0UZDV8gX#|ci<0na6mi+j-&(7jSt{56nSAMB$6O2!driV=D1*MWZ)so z-}>m^|Nk#RTVD9Lf!YtC@Gap34OW46)k5kIX!L{E<tnf+Fn~fp0^EItk5`$2+y!<( zw+H0F2uRx<G%N$Ui54`>A`2Qmc?8bipz~<J16PrZV15wl*p)LVCxo6k#`FkcHF$@@ zna+40<o(&;5iEC*5NJLebX)?sl!7em1s#_VdIq|@x6|F{<p)sL8&XC&7BDtDR)E%? zKn|jU4)TFJ<lyWF8R~nv7c_PS3J*x%87aiiG=t6XVT7(>VT7$;>G}s+PX#(OCX}dg ztS6xI3N6^;K`lHk{ua>X)}UZp$pI<rIyo5_An~ye)Ea*Y+S33XUFoge)9bne+%rVP zY>O&roCRFKbVq^CHUKS8H~?-aqK&qI_C}$OwmfG>A8nZj8psGe(7}ZiBjAJwiUGud z0tY~QM!-U#NC6)xZ~(Mt1S|wwqyXA8asU)5o}g)9*AtLNGY6=j>!QK}YyX0JQ!D@e z|Nk-;)D8xXA+#2QA`v{82&s3#$^T5VQvp-6lMhp~Qwd{pRtVE^C&*%=zu*QYxc3KI z%w`7m`VI8Ma5zD`2GI_~`3hP^0NL$<dKk_fu!A3f#@u>C??BgsAUU{YBWNrFoXoll zK|7g2VZQtqsG)=w=9AgbM<mkO(ZjqIG@cXsq=O4mB7<`Qv_wYU`1hn2W8>eGUThox zz)eQb&<=Q5s0F;x8r(HNO4>JYCGB=lAD{{}x$X$|52&!<Zz%>ZwBm2o1$BGVp!4OR zo(y=r0I}Au^~CT0|6fjqj2ARiF{<;oT0nf)>jWt)&w`RSXs}ux+ztVae8DmXa+wC* z{L2hFe)1I5-Qdg!$<UpkT8L>UD1(4jYASHS>H=t<b^))W2Mt8<^0$E2af0VITtKZ5 z&}t7uFyj$_%SzNbvWk^~q1W-dO+J6yA?P6uHK45P`eGO8U|{e9R4h%6$?O0Be>o4_ zLA=r%3LdJ(GC~3x4}Dny9jXA8H~g(mps;}?ba06TP3YiF%<w~N;DZ(-Ak}#DCa9AH z+H(cYb(g_maNxg6E2z8K4b})wvfu;;&eY&7UhtJi;7kn`0%dAY2L!b3>HuihSNl&` zzxo^~Z-U#A&GjKn{B8N%ux83`P;8*aArmNa=5m9Ykiw9x-09@QzfGXw7cYNHC^rK` z!!IuWmR`_Ks9%TpTPk=!B9Hi65<#<J;35rN26lrr?EtqN7(pX9kkkxT01mPnxXOl| zpfaTj)ZN_(>7wfLw=Vw%?H|5u1P!ae2j;=!cdkz$1KKR0F+A5hogvWiJEZbfAGEv? zHZcEE?8pEAkZppXtbmzP!D$p)^(261d%zKmf4_PSNF6wgLCM+O2Qpv-8UX~YqJ{7* z-9z}BK<Tx6FKB+T^*?`~52$4a4iv+0hPOcryh9saTl6}C_n+smfSTg0Wp+^hdvMeH zP;bD>&JWFp84o^Sv7QSusMmyvzXfz_ceif?|27fsUZ)E-oV{NA%MLaCWG&yszwJ<O zz{%IAyIr3gW8j8*_W)z3>k~*IfRkFF&&$uCW(atk3Die_`2>_|Kw5Yq^$IxFkhO&S zygUF?13p5^6}m+h$=Cp&m!RdsV5^lNWhI6=!9Fi5VCE=*7nOmP^SnL}rlnsm2Gbm` z_k(HnmzJP52*_oJjyW(cfSJmK>Y-qtmr5{GV_wFB8n0l#fffLPw-<s9dvwf!vEi5l z)5_)p%<ysz)%~D~1*{fiTPrO1&}<9zdAS8t4TD?-Gjjzj+(0HHnHlc$vIC};0lYE_ zY`i-7^eixw^JOP!LIJ!V|4?thg_k@apMa|yND>2W3k6p<pvoJ(&m2^YfHrJD0af15 zK?5b=A{w$3_vO}4u(PwGLF1p0ya-O!;MjnT_+yN@f)=5JstizqK-#C$x)U^%knrjM z|6bn*y{=DsWAA_`JU~qZ#6Wb5J$O+zsMiGUBzZBu3<gz0Z44U!|J(j&XJFuO2VFc1 z>Kz_oW?*>f0WK^-l`5jl1N#zGz=3@U9dvPH>I4hH$~@3+^CzG(?;XUS4ZV?!{H+Dx zkz4r4P$IYtxPjVoy@A$p1&<Gb0u_9+5Vn@<4WyPUA7qRNvbG!H@m9^x|Np-Pt>K=~ zPz4%c^92{{PRyX)60mC7@+YW0`Z5JvV`DUZIzbb5Xic9|&?0_pO`jO>Gy#Sg;7LC; zGa_-B;Q$&Ja#7&{?J|40AGCep-~ayt4E*hJ|Nj4P{#W1mk-u#r=;VWckcfK(?qobU z_>Qglp?z=IfewM*z=n<h#^wW{oMHIwwKO#KA7iuzZ`T2>6L$CEZ;1shZ3ibkaAN{= zmI%1+gq&ppZbMWa;opX~^|xeWC(5?pl7-k#RearTcoMwixEpLGIBh>^{l?!9TIcfe z@rVEa!BZeeZJ#1g<7hf)@C&luf`8i$$a1(Fh{G57Th_h%{~y(U{+3zqaGdPe`0oFI z@E-C9kamSgZ|xmW(;`NNqc;|`N?8D0LxHvxAso`e{vNau4Rdx0F=7pB*@8DCA?eBh z>mq4(NfI>H2+Fb#dTZ}=#z1$uBbnLx4m5)L<Ruqq*T6r}R(k$+&{;j*p-(zLG(WUI z_=2bTg~GviY#mIUADSQ7Hy>!|aANFrY=E4M*BScc<zGm99{qsKXJ0Xc@zPfu!MGDV zu8WbVPlC-ro#NbzFaxzuFbCXNfX&oF`Z9!P@oV0K0s#L6z$s9`!vjR9`Go)|G(bTE z4iHf2I58rEhY1`!pd;Hr!E+BZoPaM1*uXA$@-q58c+8v!G~x1c|C|5+K^w35Tc?5x zHqhp)67XKyR#3?X&Qjo(3uO8hayB7!FuOb2hkqM*gA{m_0^HyLZ5Vd)dFcVt3@&fG zBYhw}3`lz&Y!+0P9}}oOC<&=*!Sh+5Q;j?CcL!JWx=!dWFX(J70aeO-L8Re<?&uQG zlE@dGp<B8`?;Ljp&v|vmZUAlic6|ey(JEa7o#1j^(G8l>Y6frcW9)RDA$j2Y1#o3N z2eeWV+J>WeQVUWULeA`hu6~0~XQ6KSJ_Ih-CO|w&r3tRnFTk<L0@_B4yvax5_5c6f z;XW@5K|5<I7{TX<^0$JH+krMRaO}jH_65{wJ+YYydBZV(i_aI((J-4)&e*Z|0y`DP z@HTAI@!^AynO@3+>;%shxV#3L=EQ2Vg1;r?)ql`VzE*?R|Np;qfA#<W1jzgZ$fc0+ zjhBY6K*}+;9f3vz(D#H*1$EW2?Fp*^7Y`U_%m!^5K-)+M>e@m!W1wxM%LDa!D;QhB zosC_fo*#c}AE?^>3|cDyj&4dea+N?g?siWEZU1`t64YLUG`(CWK+f)j&9@p}dim-Z zd_O5<{-pCTWPN8RIHSFIz7RThA_!Ua23_R|>Q5r3aN!Fz!OQ62YwJL#NiiIE1+Sfh zFQ@~pt7d?vU-%p?=+qwu%(;>?{4IGbpy>v}=f+@aKEU4sy0rzoN8$i@G360FizzYn zZ{cqNZA%6(yWRrUzXOl{Zs!6>o1oeU)E0Lx0nK$dS9H3*ffQ-5CIWb2eJ2N~NV0+* zOwZpE&B4F`-a;gP96W#x>e@E^(uS^x{H4p^au_sJ0O}h-6oC3Y$HC<mh{fMN2{h{b z%YeV7gA+8xaR}^|<`)LYmP5)p=tl34pm7lvBqv0I`oN&&F6<B+Ku)mHE|Id)h44Z4 zl<Gm)p!2xXCV<R_*aJUuAM8657Bt^6gZh_XqiqyQPTFvm9JN6?3j?%uAGFvMdKShd z{uXQKvJ7Kp$XOWG(80=!9FU2bQYimADBPS2y1`|4r|XSw=MvERf;-)ykbh7j30aKX zdZ2=h5gb_EU=nm{A$UazPq*unUf(Ufp&!6QEuf=8SwLrgK-PM^Sqj-<3z{*5Zs1pB zWneJ8)a_hh4Lbh(8z{&?C+jk_9N=$x0pfuxqt=t9Jl&-S8tl0ETT<B>7(i>PTvS9L z>uv-fgR4BfuF!!S&>|NW&>$tWz5w;RD?mkg=z(t6Bb}iqun+8mMrOf=f)@G-^tx^V zZTrM)s502lEubwxp?k0!+Fk8qcz}N!KWHXn%7IST2Ezl8RlJ?x{^#pd&<>_l@D#>7 za0mYpe~T!1>IJmE#HSl^yb@@oDQITF8Wi`gSD<S-uRzvvLe~U>RtPr3j!|k^3sMP6 zCHxIPc}u53PL4hRo)I|#UZ8n|zZtaP3b8=*HfZFZi@&82L?7aBNrbFlZCL>hbI_6@ z{1ME(1Qfv~BHf`4+~CEC;9fUmmJGD?9~vRut_RR(fx)L<!Aj9?*DdIU9Ju6z$wLZG z_~cy6rIHxX0DK<koR>%ZEmfc$VBqszT2dJyi-ob}syfiZYUB(HZr6gs3*~H-(gond zQc5IjxJpDoC!$;h4OiDQwu09~{Q3VM60ZL^K*a<|XUi^7=y8GKPY>iQ&}l%B^S}99 zLFc)G_9XMSg3cp??n?$Y+uA`UAr4VQX|O>{7(I9)_cHPisJ{s6jDt!Q<P{W8LF2a* zKm!J44E)>B4kF=i*$V1PqV45b2<ir6JB*|Q(hbDu(Si=jeyIbR=&J{f+Rp~B#AHvK z@NyAobpd!|S36h?w6Uw?322h4{2y#9dmd;_1FV0A;l6CpC_kF}!a>`~vANF<JVphY zVFZ<**h|lfx?V&amxP1Ux*(#U2ak^Nw=V$=GlEL{S<H|G18zxxvr{(c;1%#xIzKBY ziVrovFn|>Ny)1m79h@1^ZQE!u(Zc=r|NqzhSmGcX%YG`*DsZd^L4fxEVTtFKwV<hz zL!c29e8nCpRe`HPe$WKRQSi_J+5`tE=b=t2JqGpc!A&*Tp4Yjc8LH4L&?UUkG6#7H z?-k4?yjQR;;k^P1F+WfeC{bg8?C+BRrP%o2|Nl?G;?GuVkn91FhBA=)2L9F;;6V~l z(&BH?_zh{JUik&e4=*M0xDzxc2HG79cEK6&;1bau0u7~ucE^JCPQVf0(jb?1fREt7 zwu>(IJE%pz38h8u`5oROM?D6}06Z{v0=5YE1SoA|IgS5iIyeD<j<Vr^RE8{|$`D%2 zf+pq^KtmdhAXT97u4LpYUD54|VlLKIX8fRK(U<sJK@&lsT`b){{{Oe(<Zo#P58iKS zuwW>a?gk|Y$kBf{m>C$3F)4r!Km`p(UIA6Jr6)kq32NkYny6@kPE6+jFKvA}1+-ub zRB*I_k}qhy4|I$}x9bz|!T8wP4PU1I|Nn9iWFaTd2WAF_*B3!%qi48Tprx)|plO17 z#s*M(x^xk=gaw`aFbz`f%7Y^alzKqxGaaDQVw~XfHC`Hmih+7YF8KPntY82CH#--= zhC;z%1?@$@ybA7kW0YV&Kw}bUCD;?tm;|;G?DSXIQ0!cA$fCpy)|Gmtpy>)M>sd8^ z{Qv)Q1}JDDYvDlt=Wlffuh)Z*dRl-i2|WQ`>hP%3^#s~_xDy1|!<~S79+Zn;gG2I1 z+CC-*)H{N1fES*p?PF#@98Jm(j%>&+L9m7A2l%&rIQWd|<qA+BgS-6yA$vH`n|Bv_ zLqVGpIC^W(fR-?WrgT7q%SgjiGeP;K^Z;z&p!5WP%Y9Jw?%D$$pXd%f135hdaw>@7 zfj^)Ti6@<*6OOy~fR^BbkEVM89gzSnw!HybX6t&V({&B#gk8`%c2_hnG=n>RjGeAi zAmb9Oovt%Fp=YrWYO_F=<-u0cg4fQ%J8R$`9DfVwEZJ_?9?(F;1n^4QDd3f~Gr%ip z=YUtzEjT>@T7y8^tDb`5wX?FP)1wDZ8r{xFi~ZY;&na$LnwA9zX>PqSJbG+q>X z<>h~9O93>6hSVBqVF$@q`@DPv$(61At@A<Ma$!hxy#yUdP2wJMA4ovHybNmMfUigr zfo#pe-eN}{VkrSF;B?*6U3#F?b<fKOpo;*&Yae@Edtfa~!%HvIKA`pA8{gD`+xZ;5 ztq!1?yA?Et)p!VeFw9i&F$=yN-Ho74w$_cH@qv<r&J!;hCxTkS{4Jm(J-TB#x+jC; zxVsy)1>N#gi6UhDq+6=>b_rj1El0N#hjlw>%WjDZ=+?PYrBAzkId*``x8seVb!Z?~ z;}MWEz(<pIyK+Dl3$<{8W(-3)x}9o3g?%l^olPJ+teZe7?06GsKQgFo#NW~iQW?w9 z8@dCWBcS`+JFi3cwL>?$ABSv-N7)MBd_dw4WY4?d0i+QMXOMFkK&L2x9SS;5#rFhg zQ&Q*|P-oE>yt%>k0_ff)=L~S4pQC#QD15AEfP#*{#R%jg*BzkC{Fp(Tq(Ikj9q0sI z!*!$+bPd;uPS7=6XF5UGa9!vGUBh*y6LbyNjZV-tTz5Jl*Kjp~jC@%MYK&Gha`CrF zfI2;)9L-JzjL>x^jL>x^{M(qp-GG(@mF5_&vJw^4Bl=22u(igzeK~qrq&gjaKv4?a zMp=ry@;;UWyyuX=#SpaWpq8WCy`uF%DNlE}PlMHa{+4T?)mOe8&=c}>L27(Cx+6iu zu{H`N3f&taJK0M4x+j88j%mHb-wHZ7#fFo=wG*^Hu$BYt1LOsM;4#?>(_R*-?of{I zs*p}6pVt4SE8z7beD_J|6wq<TphyF!A#nYG-ajbWfffoYu!X|wNuUj`pcQbS^BzH+ zU>n$e5YRz3;64wyD^|({KG&*cGsxSn91~t-_d#++5omb0mIHL6+m9D&lOTeiS=r`# z(7M#w;FQ799pS^jO&D}O=3!8z)^c>0SAdq>fzHBj_@&C<a*-Xh+(4JV<vwUz*DpQ( zR?zLq4b_Z#{4Mg}elEw08Hd28w}$@#T@v^bw7SmbP)WQEczs*TJqGabM+@i%%x+wv z%ijUIW&jexozTM~`CC9y)eVn5-V!;`61vx*Gb|33E(9ITls2Js4T$D%Wq^1Wa$x3h z@Vq@UDCoRETiLkyTYNzDAy9kd6gb@YTjziVG^;_2cqV~|M?q(Tf#j7yDp&Hif(A{~ zCcG2|m0_^8g7BE;hn|f0k{6OI8u(ik{(}Z;L8kDxh=S}`$=?dP)8=I~xSxhmOYnmV zI<!X2Z(Q9l(8|PyD#qRXtqLG#S26A9Zx#Fd|34_1Le`YzhcF&@2Mxh6Ko?THVg`+9 z34`*!lh4bSpeYa>=hJV8#G4ane*`>HLvPjqm3g}%@}Pi0^dDFtH*bLC@BISDI}=Dh z=v)Se0;Xn%63}^?OwA5HOvfD{YtXd8+a8!f{d<?c|Np;q28RnIz(9LZZB~NTKem{G z7GWBK%mU>fkbA&29#TsL)UWT3_jxG^3Hw(5)(fD{3n;fRyi5l5zAvzX%4X06Uh@GK z&=h3z3#5bSOZY&Esu5I(zw`n3QaB6`Ko=g{f=07@K~)ZDTUxg(2P>%X1DOP3gK8j< zaUeGOL1aasnxU4Xdp=0R%QjFm_g6H3OCV_1)~{;*mUPha*<Z2zEuLUTEq}{R@ZugF z{+2bMCE&kwLH^}$X#i`m=WjX03(9&{{4K}8c~A?yKZn0%8JMTW-=YLw5~RrAVhYZh zHBfn0Fwc&^<t}Kj>z6uz%ONmB2`ax7%v0cR=>ao9Jq|E~7b;&0=5g`2fLFtSmK+6x zMIJ%rLFeB$fJS$jAr39kY4~MTqTcXJ8RY&FxrSdgC6W!l>`Fu$eyL6<;cNKiP{P^p zD*+Nqpn4T{;+RmwFMIwLEpTvH@wX^4gHP(>;Q$p)pbEDD)KPIN0SCBK#jYoyQFRv; zj&4_u7p|TE|Gxx{opk$x;tsrY{UxXm20m{7g;_7SL~6+e#jY#Ii))<_K4|%5cPIz! z+Q{Qgpeg{=f9egL(0LtH(M|v*HjpDd3OWyUUhcf#JsT9C*7HFXYNzjlZif=kL|RY< z=$K2_4V|GYIzzYcx7-3nKIkAl4$#>fQ#wHv?F?{5I|p3RE&x}wOTZQF3UEcc23*l@ z09UkIP%2sh<c&LsWZ&uw$!4=b%PL(tc7bj?eUZE4|NoZ_;NJQP^!X`JgR%1j>ipDe z#5fe{{M04Tuu?UnE`N)uFlY$InbAg}B*2EV#K(rW#KVTG#09qBU?T%)4Q`2I%K>nF z>wu0)2lZb;i+@11=qpecQ52jtnHnaPKH%Tx%nZF*?+PejcYsQD&`E9EL1WJ|KrzsI zo4>UfbSQ$03XcpZmJfA1phmvoC1@6W;obiK|I0qmK3H&m2i+CL&A`C$Vsa<=yvUcu z(BJ{x!1ls#`~Uwh6G7|pszJNlKo|YJ1dU~Z>P$%ckiXUHC#>8C`G>zH3R?avLDq|S zgJz;y!3Bbg3Qy+`czMwL0<&b{Z^;2EhZF&CKqYlGlOBKT^&em>KwCI;Z8%FbZFoym zq4hav9|z>p3+VV|%Th>v*}4eSk#yw%oh;4pVre(D>j?|(%b?x#oS^y&v_BtI(}7MT z2Gx%{K{AI*0wLy=D1(Oimx4-vaCp7+{sG#u{32x@WdG4iXHb8(8nkEzw1X8AS^O;} zAVa|AajO)l*P8+wkgaBFoxtD91>%Q*`78|+_*;L0`>4*WHY*_E2fCdZG#vQ|(%%QI z9c!p&LF|`1_5J_<m&%|+w5l0F=IsLUK|`tyzjQ(4y|+MPJj+4B=*nSu>Ba3+&~>Ar zm<Bb{Uz`Mq^nkiIwH)33;M8=Izjg6%(41fAj~A~V|Ns9o7bNY=0c-8?x3>KL{~z42 z>pbz|1W1K9NQEoMi`VNQMS~Nl8x_j|z3dNmyrFXeq&W^MBS7a1fu_iwfZE>R<4G9# z+n$1!c7htAJ`EL&HvBC+K@<0`AHeCA2h^_x?Z*WzLSX@24h1c}+WSFvme_X3erT{( z1UKOr_*+3|%J;gyL1?`RD*qsd9w2GHH3g)(R2H;b6<P^{rhlMJ!vim?z<n^#>=1Y` z=s1fCs7wR1TMu-)ekeJ5j6t#6^}{g-MuzUtHw{({rJNwcLO*~uIr(yQSBA9y=WkI2 z6=|^?;Jr#r*p3&rh8`{P3Oc{_0yM8x%hB6<;ve+f`p#C+{gj3W{(w#t4zK7gFX-M2 z5&?}2Jm{PYx@Y@1ShWb~(wC{A8~!?5Z-AEGxjyOK3R(}@*$TS173BL?@P!SoA39sl zfEB#yY`p+xpmljRfm{JLw3E3TtQJ%lgVln{<JK#n(Qjv-Zm>O|QW<Oms9*-$(CIAE z-3qqZS*E)c<U&vh-3oRZxHr@t%K<%6F5@F)nE@zKBCXYH0bQ~A@({#ryFjPky_mlC z|NocZjkT^EkXw~oPnH@(vT}*G4QGkE4R49E4R}672Gq7^1P3i7KV5(Z?;%im5X#ZL z3)F6DelO9@-nkcaQV6I8_K}N$0d!0ACQy+I>MDav)dT#k$<R`@1=PBCEHJzTN>YxH zD%G(9RHk;Gc=4n0|NocPU;h6;&Y}YH3?iw3$`{bt62}-Ay5oJo3sgWYPQ=Oh;3Y1g z8K7=gj$Ro_hzg|h)H^}_3$UU;pw3k&M=y({;mJ-X&^f_~gpMtbe1`V!ML{J2xDU`^ zZ3nqK3^bm(2$VWqAAs+{1o;Uin{=Ldp#t&~<bFVoU7*ACUI?uLk6#CW{{J5~e9}<E z{9lp36*Phm%6QNdxgS763B^QEn<EkGqGr&vz!gwCv6chkVen=f*ku7=--0$&b%TA| z>E!crIk@GEvHs#MC@G??zW^PJgLVA{Xyq^eHViXBSB;>r11SLYBEXXiXlpn?vpiVL z2nO{;(A;4UI(!bB8ET-8mMh1L<_1tP#NWaNT3+bN0UBWe-_O(SQ3AQ52b7XJ=dJ<y z@kVz%_yRNNg$kX$OF$(ASi#f{AO-FP;665gha@Ok!Qs}sHRJ#P|9?6!c7E@UEC3Iv zbUOJM9_S9L_`LdfD@c+bRBFVwbhm=c=ms0wy%%g@XiukW1L&SW$hlJBfzM9g4&=d+ zl7eoqA)rzMv|15dN`RKmf=da|vMNx+4ZN@cTuOk}eS=B~*9K4#;o1UjzIA{K2iG1* z^9@ll_<@#_xpM5{1vN~5HT?ho^6rQK|GU8>S@8A)Xi*}lAA!41Q4$2|r_2PkKVSNT zdzTo|4=MuDqkj*s=m#Ca)Ljc|FGDWF4Fs*J^X2IL)a_URZe)WC299pWik+YVt>Y{z z?4S^KQQ-k4f1wSK2$uxua^-l@R0rX6g7~qJoY3uD&<#EX7&fif*}4U^ob>=>C#)s~ z#X9J${k@<x0FCt+@Zt+ekZ<>bM*jYEM;3GkR&+Z0KwIjcS9i_@9e#QoJUqw;DoScO zx?4d;boYX6=-e6sN|)e<7qqPozT&8}7j)cb=Ty-4(azQcP$0H|kLCv(1nL_zcelEL z(!VoHcPpsr0*-zkun13gD_FO)KsUrNXOZq!kUgLj&<b)7C=q~71*HS<kN_kpbV7#A z+&~M?kQ*sA4DhzK3i@gNYoQAP8bQbA9N=%g1X|4P%F#UmT$W!d<pmXcAuJ3GFYkg5 zOu!p&pf&fPr4^ufi-I<A5+RB5#i<%dyaj^zv7o*XC`y`lgBnr{-N6Oj)fN0x4s<qy ztnGF#LBu2|v^y_=*7!OXfMXDp&^o8?0C(fTrQTuCd;p7NcPs}uzxHmG0B2!mpU&@w z2S6vkMHhhbE=Uw~(r4#X@NHAAAah{Z7i3!JToX|Ew}S8HbLHsl)d6w$g3eCs>;>J5 ziky!j*I9PAf(!-aWf_oKP-KF}W5AIKx~dnPm%#>rA`@&LC^A7dfFl!ZA*jX&84r$3 zkkcTMiOAPwFF`we7#m9TKyk4JRHx#qf<Pg^pz8nsm!aS(EXWSAd*47)silX&^ID+e z3DPE%Zhd(I)ba$E4X`2sl;c5lGydX%zhycoBlvQ3Ly8DCP>U994hdxpf6FV-gf85W z&EVL?C}-3_r8HU<A@mQ&Dd#^yRW__4h_-m|z{}gO{{L?PcQ`)0hjxor@V6*|&xQxL z|KI=r{}MEN(E#ahfL8v#WCr<-_+HpEP?-cS3|<OhuX}sJ!$hddnkzw_V{CO^0*<Md zO3<+)|3G^`VmZJ?X6Gl+q1~X%BAr2PERJsHisLLQu-w>r<Hgxkkj!`G<^TVnDl^`v zySxI_cIpLh$_?e{?41E>IYNg>_@^A;-*%uAJWSE;3N2%6IY7hE4h7xyCCyG1plzOv zovone0Vr#Ni`7miSbYi_76#o*;>*#!7i2Kjk`**cdAt?m06|cKLX@l^Lp!%}V3e#Z zpgh(K8glKN3fdao*$O%onZJb_Gzbkg2wJj!0VNwyW&|C<4bF^zz#=@|-~n53#R@hI zlo>(xfHNb=J>ZfRWGXl_f-M0zzo8}To2UQ(_kwK#mo%NNAkRU(2%dR_cn4I-bWa5} zl0j9A6AvV#SkDBH<$zt#?Ih6I3UWcWlSpSP$OYX_Je}ZiTd)+!1z;(V3;0`BK$<7r zy<jtIIl7xbwRd+QhxT;P)DlVO$F_pam=88!Dk$)q!M9dvbbD}gp3nwQRrRtobc!7A zH8~3Ees;HlL(@f$rMndzoGx-4-L2s8bdiGvsEeFHH`qU&E^;E>U=MY=$VqgAebnh9 zC({j%s!kU<h3;06pE_OSRJ!Mao#M>X9V`NF2RI9WOCM(tkEinoGzq^DSOH1A;?F_r z^*OpBK8W&x9Ov9!RDl>zd+7%%1BlPCrf>fLhmM@?29L&Llt7>@%jhi~(1<kF#xf_! z_PO9en-i?C(iCaHCPsy)6WU=0tz3K#DuLlcx6;tDEB;o0@KSBi@D+bcA!vEV$_f0f zR-m=op!-Ik<&zeO9}F2q0iBnB;0?4?QvmhfN|5S#Fki&xP>G$*qY^pD_!)oe1d!KV zIY2Ag7+&nH{Qv*uhG(D>lBI#awFF`otIdj%JD@R@lsEtXzrF+-PT_BjcmwLsygmY5 zNYT3oboc`U_&jEf&e$)YTC4O&cPUS2?H|yQ5N8-5hZTS>cm4xyR&{>=yt=y?bhl3H zfzr}$=GFtH`Q5ugv!S2?0MHfe-IKxTlc|%f+li&qjiuX(qtlH8lt<inKpDhM0F*o2 zM7o_MI^86?on$)QWV)RcI^7hyom83+X>@}1ce<%GH-j<=W3wI8@n(<(pcGvqmIk@5 z6YXvZ@HowJu)9D_lh+Sm{WZf&pw2F+>Hqo+s0O|RI$_*Jg#&ct4``wQG&OddMFn*A z1Go>1tmY*Xcyt+d4+Ln62&{&Ifq_wwQI$`ao0(6VPmocFQGktsfk}*kna_&bn%h&D zfq_|tft%Zoo0*S+fd$IsU|?W{Fc}!w_!+pl85r0>6i7LTFe5V`H#bN(qc8&lCojY( zR!?CIE(QiJn8^$b+)x>Ahzt)Sqo*)P2d^T7r?5UZ0|TEL1IR#rVMc^;0xU=zK@A3G zJ{evH1|g^tR*-&SaU>-o2um0kM0pvQIY15r87l^rVFhu-q0RzxBt#k2c_40)WCc4x z3Ti9Zd}*jDP#?)atpm%+Lgk=-lG9@Zha)S<JW${|uz_4C&k7F{CN>5J1tcyP1B0Ro zimVc{84BDW{mKXp3=Ap=<qQm}2o4h$1B03@qoHspTLd@gL>F~d218*61`RH#@u0=1 zn%s;G3|g#^U}5zX25Hg;sRJ=|xEVv)7#MU-7z~9$?$m?nWMI(eW&}CJ04&ADz+ebs zFfbT#F&GMi%r!<>3{q#p%?R>6h-nI8GBB8doa!lT!UM9(+yw3f1_lc~MtdG?;bsZa z0*OC+9vjdQH=hCn188`Ufq{k5n3sWpF;swoVHGDRdoeIDf{t@xU|?VZ-J#BO&47V{ zftiK9osofog@rXUuY`e_g;k7~fq|KkBafefftiUtUI46QKOabt%@f39V*SU%z`)GG zYQzbm*tuC47??!485o!?GC*dlfE4xGfta#F3=GVDWef}qtSszoEbJ_x%RZPH*%q-g zFfbhyWME)11g+8F;N@pvn8Ko4!o<M9xsj29fmMLf9Hd{FfwKaXvqTv|MFf*F3+DkI z1_o9!D3^nCJ1YYNt2mU)!wFgt%qjup3UKb>XJBBJgmOhVD?uhpLAer~20{!BtkO`f z45u+jRtCyd;7sRaU|^Mla#c7du`n>O%0sytoGHu<46F)Jt`4Uh69WUQ65}Q&1_mZ& z1I`XXP-(!p1I#ty)B`zE4eBEc&SM~1EhyK9^BErl1FH^WBiO$VoaaEY28=#nt_vpz z$iIe+QDCkcCn&U7jTrZVO?Ky83es!F2s*5SN!f#Q7s!$JjG)#Gld=zIH8%qTs|VvO zu-*{PCJ@&X%8lUc1aZBf+!)RYAg(u*o4`38#PwlR1?x@W+|SOy!0HEea|Wk6DChzh zuYjGA!@vdF`NFz|!+?W<froV$C>Xd|*ccdCcY~Nr$_(7oKryig5+E$xZlKUR0EuA^ z26mQeCI$v}7Lea~KnVoo9bQmZ1|$kf6JXINObiTQQFR7(mRC#+416H9Ozzwa3~YX` zpnfz5TckWQ0|R%F00RSCG>8eZx|x-Mfh`uoV_{%tc@J{5A4o9n7ZU@601I1UATtAl zpaQ6^D=5wbD*kPS7#NrYBS2YzfvJ^)fq^Z}fElc|s2`*jv}Axma0LrU?N3lz76eVH zG7HY&Wnf?toCET#Am|ngHU_2(ybKI%wV?fj{5)(8XF={;#LU3J)&vP!2JUtI3=C|o z5FQIR7as!yTL*;4!N7Ebk%57&6SP2DfQ4-`D+>dIU=Y}yt(+jcS8;*dX(Y(Nz%1Co z46@q`6zmL4XFzVA3tA#7z{0j;E=XTJXz)pJIXg&SG9yTz4k)7vKIH-Fs{y<DEDr+% zn_v+O0|UF@EFK014#A6j3=Eut!9olST!K>=85p<)AAllR@Ebn^1Fv8qGXn#kU@A8Q z1HWJ)9|MDc;5=>y20_6hE(Qi6!O46K48nr{_!t;O1e>`S7(^MEthpE%*scn&Ffj15 zusz(*!oa}28RY-RpeSHc1`9vG1`^f)#n4Mgw1I`+zJ&|FhYNGCeHLPcMfq2#F!xT7 zH@-u7EDZcSY`@(=ioizxg$OfnSAZhsKP04CI3I&t!N>>-VJ2k`1|beMR>nM51_n+S zHU<VZc4*3H;0y*OH%=&*1*DFbaT-V+IMMMlLQUrcr#e9>mxV!?hwa{bRt5%<-wX^4 zY)?QbM`R}`s$YS^KtvwomJc9*i<Ts&GqC*t`Bh8^l#ZDgK^_zX9qP@-#R&3;*lLhQ zA+Ylp_%+yW7_%`jaPI=e_-#;3GbuB0YJoyP1ne?Uso4uMUz`z?`k0gjIBh_lm4tF- z7{qxw85r2489@$YX93-gF5U+6bvjcZ8v}y`*s}#}3=EQ>l0*{B0tK6785;vAhl27R zI}1oeNP;bw=@1(O1E(n{iRUvxvN!{$D=0FHpj;MC7ZwHvwo)dL7A9p5&bc7#E0`dz z<6#gF0%@*fs$pYbkYZu0W6EG>U=UOTStbY?>0=c93QqRd*g(ntIu|JU9tD+8f`>o` z34(4LWf$aR1|{EByrAU!P5_jA<+wq~H<^urfk)7n3zU3A*+I#d8?=i=@BlX``F;iE z6hSd|Q1TV#0wv#O22k>~=3rnD75ps7z#t|#m5YHvoI!jA$d%KX&ap8t2=TC;U|P-2 zz`&UeikeeQpfF-mW{^(JOJQI;1Ld-Co&ZJYIVhKdL57Fz7}HsH1_rS?pzt}*R03iv zfdc0eSe${KWhDaxgOC8*O(sbWnDMunpot7({9P!Qg%cDyZ1<sD4o*<uvps}zc|fMT zV2X#E@(St<s3YG%xlmKyLAg*<K0vu(Q}~&e!c7qbv*BJ9hH_arcYq2mQ7D&#^Asq> zi9@+O4D2kRG%LizrpWvVZk95b4L3^_%4Lx*$uD4FQ-^Xv^##ahLOg7S%<`PDKrsfh z;hIgMT&QMqC>Nv|ls<)c*j$)n;F{gQY`A6*C>N^P3(5s)1|>xy9=1T{nQ+a)U^ZNH zD3lA;91i7zG=mbj5D!~4^EJ5USY~@r=K_{g;-Orq=0qr$gF)y8+XAM2+zbqyGnp6| z*j6xssv%HDe*;Q6tC&EQBPgR+fb#tsc+N@yDP9N7cRZZ?L1n}SXhsv@Tm;H4o1l7S zIMqOf#1^Qm0_Q1EQGEbxDU-4e=LB{J2DZaYpdtX&#Nh|U?`3eJXHqtiPR&naV7msj z$bmBkB>RZzGN@`)cHy)ICF!S7SA}p&g0jI!aEfM9j^G4W0AH9OH9!XE29S@wLlx&h z3Wr}%R~2xAF4tgVV+N%FCgmDV(Cj)JCz#8u+`z~g0?L0pP<{&|r#C2*N-%?xJ+pEL zBd0sa7t+k2l80G&1|#P$ke}tC>gO<W+JV$-Ft6rdU|?2Wz{n{EO1Iij`8AB3t{}c1 zl)r(I^ApHE3+5MK^;;M@8$jlJGpmAH#>xj6IbVX*`!R!(4YTqYM$Sc`kcePT0?S`u z<OD4SV@qNN-IC6%e20;NoyC=nfkC_-6pb0+bi&WWp2*C@z`zYETG*4ISzi`ZvalyZ zcr4tYoX?&D;c+l9{Q~tqQ!j8cFvxj=+6e;8;4&Q42e1MW3=9leJPZu-mY~KCA2W!p z!@$5G4@wY>e9WN4WY56Bpa4n{jQq@?bjvi6K>?K382Q1{OcOzw_z1{`A8ZT^jEXE^ z8ypxI7(f@@2Qe@(tb^O2zyh+Nj)8$e@diHw1EUfPDBprw^bB&Tpzd}tL^o)^p%fzn z!+Hh=hBt8CMPS{x;krw}x_^TFA*as7z`!_-18g_w(zOsK1_mBR28KvpnD3@=fb6zl zWMEJLRf3FDIiS9gkLP1xV4TVUDu0?785k5ntpmpC9H5j1noCv$wGS9)aDb8u=u83z zrK_Ok-eQPT89}nj;P6`nb{~Tr=rl~m6Rcpjfbty=3j+h_jF$Isw;W>yxrL93fk7Tr zTQeSK1y$GPObiSvV7HxQ1-VTHR68?5*s7o<cZ{c4L8T?rL>D!Xzd#;myv(Ye4QkIZ z$jt`@!BdE<K<z3gRtAP}&?$+0upoE>c3?BeT2Skf@d*pak87A17$C+!0~f|j6I~eO z@<4_aK>QHE%D}Lfoq^#I69dCSxM6t^KQP1mkPq<#Gt3W#NPd8@A(j-u{J<bLm4ktS zv6dSgP@tW$pSc(q!kHNu<oIDOuHps-R5QpDPzGeI<_5*mArN0ukb!}*nj56{8#63Y zYq&uH$25^a9vpTx+@R7~hlPPbu>%yzb=)8i`+$y6VrK#6B{>U_@GeL*j)9wjp+kUy zp`3+*VK&?eJ2*j3Sj@t}Ag>R~B|E^?=@}N7l{-11Rw{rRevCUgL0Xw6@~DEUa>m`9 zAZwT=CTM_)YsQb9vp`GI*jYe1RLP!^fq^lS3+#W!fBXy#kaQHz1+q~YY+E=N$i>Rw zR1v`ivPl_iZUh&|<0`9I85kI&z-lyACWGQEfeX|MV_=X2m2`}MAwHWRz`zhK!NBmE zg@NI^04#8SgMB8>3iH`-u+JPod{Cv$_=gkZ$^=%JPyfJts#RK)$-wvr?o&_}VEo4k z${@_8d+H%R|Bvc(UoKxk1_rf-{0s~dpqy^RrGA~CfkFE;KLZ2P#1QrU{0t20pb9_- zRCMTqTH)QS3=BF23=9mqANUy<KplKgidPB*<-YxphB)IXL0G8mV+V&CIG^le2Q^F} zdFcQ<DAXW%3Cd0bMfyQ@kndDLt$M~o?4VFq0X6AiY;a^AhNuBG;Ta)pJ#aKCaOh7J zWMEKf2lb&Yv4cFW;s7dNA#6>Rsi2f{i5=uRm5<yE42+k+HZU+~Li9XA(gR^b^*lk+ z^8~7gft}@oAOiy*C}Ne8K{0LuDd-p#gkZim0+()(bYcuH*_6S)H0A&$M-_0IG35ZI zMTif=IT(~4F*7hQrbCTNh8vZNWK<f&C~zR9flEkba3De03`)Tue;$PzaSU$6VI(7t zK#Tx~=Mk`Ll)>Q%VXN!~<$+@y;JBz1U|?W84rW7K`G<o+t{;@oy&)x0f&>G@drbz0 z*Q^W-RwA%;>;*1~#MxlQm=CywVV*dlUJaDkL9^A2F|6ue1sE9AUkWfV=zwmKGGG)0 zCA<JbUO@&1T~J|?4jRu>6=YzT24WZrGB7ByGcf4d3NkQ&Iu*K}f(#7J91ILbp@Iwy z3l$g`j6q=rT365bf_=3x1B3cZAqEEZULghs?MBdW*Tfz5>ZL*q3_2ee85nez3NbJ^ zaxyUJZWLl*ILOJsV6<0=fuRI+DkFnQf+7RMBt-^>>%t5ShSLNY7z`H)GBB9Jgbmk& zgm#1a`wYgQNC$0fV!X!AAi}_)9tN`23uLPu%vK}N+A_7Pf(#5dKxM*NcJ=>)3=G<! zUJEnGRnG-Mp}@?*V89I;-<arPBre3jAR-0IUknTka$KOA+zV2be9&ZI_^HLf;K;?m zum~RJp5Uq^7c?Xb>e4X=f~%5gTnr2*_F4=K2ecR%CW<gHsDP{aL>5p}o55_000YA( zc?JeXR%XyZJcH6hQ2t?slu?X=qOiow3@(_I!C9G^6O@&e!PO)SC#afK0T(xH;KB-$ z#o56H6C{g6+291v0WN|dNy(a%LGBhPDcxiPm$wYs3=BF33=D_37#LQF!jjSrHc%n* zjtf?)-CzURsKgCRTDRCh6)^L}HT7zsu<!uopyzDrXF&0A07PsN0hL+I3=FzAL>L&H zxEUA>o``@FT7uyR5e5c>KVVLX5eI1Bqb@kSl`=ri>Vt$f<7Id#^n!y}Wj(0)=!b-$ zTmWbscP=C|7#J`x7#cA!G;%XAgo?p@FdLj1KsVSynig}w)$%oNShYM4sal4xA=UDH zaHat@EkL0GI_sEm1*`flQBd+_W?(Qp268Y1gWMyK3${TV>tMvdaM6T;;Ttyt!$r6Y zwt(HO1ZuW{TNzuxNy8h&2e-7gg8AD(d~mF8WdVipH68{A1yKK=aVra`z-F4r0&&=O zc%ww=E2xOo<ORncV~RK|xoGf$A`OyUG<ZSD1(GbZctHk1l7%*e4New1yr6PWg#+Xh zT?o4rWU?NF9SN$Q^dW3BP-$zx3$7i&4G=>x8<M2%@iNGPuH9w~fmB8hOc)qyTp1Yb zKtl}@um}kT*GpNvup|`94oN~C^=hCn1DzDkn8dFBUW|c3{jnGWgH8eq1B1bDF-W3e z7iVBF5Ech<LJZ`=w1<JVI0FOo#69%}=3vH#dR=F628MaO3=F#d;tUK2co`UsqQw~) z>Ok&hU{JaY^3g6xJB#s<1T5TkfE!nkaNEHR3O8jAP-(mq+)9Fk;cjq)3KE8UAZ&0L z?&U^=;XVi(9ESTLY;YJJfUv<~co1wRB;2HUHB}-(salK&<UmaoaD%&v2Q&#`p3T76 z3>F5JLl;05f+-|)8(bL}cE&L<fD+&=Nm%HbfJ2uL)G7tL-2_}`>hZxs+YAxfoDvKS zpr$ONGrPL61OtP*I*5>#U|`VcU}a!1u$KUZa)P0^1OtOXIG7V+kPN0h4DuzQL0%1J zY^c|5mtbJ<<6~ejnk>P<AmG8kpfdqfZ_JTkV36TwV9>b%;;ocmU;qss>u!}`U^om~ zl?cl6N@qc(@;qq6FHi~=A#)%NKXAD>hYK7b4WOpVTyO&q5+U=!jX+3*EP$}V5wegA z5h05pY;c4uhOp0rx?4*i=6nGq>ZK4iI8iTyut82^Tn=F`1tpmkU^XPua=01fBtec5 zgG9%HI0lBwJO+j~0R{$HX;^fKf}>*-sEG-7xhOa~o(aIBLmV0%E%j=kI8*?Y|0?Y2 zM<f{-)OUc0HIfVrIuYy)3<eh@LD3Ooa0g5W7`y<}E(TvDK{2tT-he?0#8^|W%OeFE zt7c%(m5^d!Fa=fTDpCv#bs&a;6a&LNP~B-G#lT?XA;rLOHW}ni2Bn>#DlQh%9cHwV zhDAXPxDU*rBnt{JHb_CsSPYkD1(&XnT8*6*RI90gV~Yb^dNL@@0-0J22_eQwaBW54 zU|~?Q0fnj#)YQFjX>Ew9V3TyACQSz={ZCM(3^FkHeS|0l_Xj>B73EMi*oZGsBVL12 znJA>XV|0caAp)-BAgM`=4N*iw*<d5Y!Sx)2(rQrE6a+P*4Q@mrk`cj3MnKtMBSN4? zNP&vhcBm0o;YPF}8PS1c1e6Unq7!TcB(%HOKtlx#O6s82|97Zy46?9r`35l#tnCL_ z8-vn5P-weBTNj0JrLIV=3s-RKLIvD7bq9BMR6tV(j2;j+IG8<=S{D#DBuA{})HE;2 zEnr}r0#?kxV8IC5+{vg2NmLDa3=D_585lr~t~z;G22lW~FL@yb1{F}wVN?Q-AQ^*l zkO!zY?8lre&%mIrFU`PU3<|6RAi*2VHgXIM>d$3Btu{^u27}Ksprn7GRt*#Y9-shb zWmlJzWnfSjk_8n+pk}6)ECYj-Fav{unJfbXQ)!NY6NsJ|Vdy8zz+e<5%fPU!nt{QT zy@r87poW1#H(8c}!4<R|9+W?fLCJ*ybb9<@=4_DNp&+|K=foQ($}lh(=E^WI7*v8? zF`<ru!5Ea(JwVEvm?wagFOddSWLyjk1{<V7PVJ~?U@!)y;s%hSz0CVTiiALBt^m!D z%Yn?)0-0$BHggBaOi-r00aBjE{1T+x4`k*Kkn$*L1_pyPu)!NZ27~ga0;odCV*U?O z*(%Mzz+enYt_dK~lg#FzFr5LiZU#34gW(d8bsIp|?Ezc&qSoL9h*7$tmVrSHlrLX^ z^zC3)KM%5#fro*?@U}DqgW+?K#h<|zKLCwlneNDAVECN}8_qHV4=yKz1JQ!<D5#iy z&IE3)T<C^Oxt9quFr0-ahG$HmhRY&h1_pU>!hOaBD)Vm$GeDZkcOgw>&{7r#@Wdxb z06g(2z`zGG1uO_^P=f`f8TcN_GcZ{GV`X4qnFyL;Wn{E`&(FZXG6}+AI0NcyGk`7{ zVPyQx$IHOT2;LnDs`K?ri;MJgGL!Vvlauu`O)SiGb29TvD|FNIO7%_jjP#84GxL&j zN>fr9z$&2}{iMv2ViXYuJw3QehT`PJyu8#RJ#dj*T#}NKnx>Zl>U@<{7Ni#IWq_6^ z6qlrA=IdoJFf%aZWG2Cwm5I4IdKnBX3=AMvd_hrWSz<}59%xkoXbAy$Sp#!F8>5}A zRmRhF4rS&}rg`n@%$!XeORAW&)0m~!FsCUnOGPl3DKK*}X)rPyH8oGlV&*Ja&s<u< z%ncHmz|piOhnbt>8gn^^0*BaAj#JD$9P{*<3!9j$m@FBYMN60~ZA_Uf72=sIZJ4to zn58*Nm@B<1TP>rRD<hbvS8;f)abmt!`-FK1(>2?0+to>nY&o(+9Hbq;ZR4n5@)u*? zQ#-Gic?T1R7c(c53nTOYS|%UHjfsx!9910IiA>Jo%%!`SxowzB(~LOwq;M!Pb22$F zGM6_o|7PGQnZ{fdv58q~f)R82iOqH&k`_(k(Eo3H{lD#<5C<76r*GRh7BQDFg)lO? zh%mVbGIN70c+1V?&B&};!W^xa#;j_?9BpIItW*M_IBb|R=5Z|GILWNQG0%uOx{1kB zz$wy!LyDQ3Nr}-r@?_*%=7M?q<}>LCb2Kt%Fc~p2ORQm1=3T_3F3eoYbd`~jS!x1v zninWc(`=Z<BA9z?ICiZswB_(&G7>9mX4YfUXFSF1+0<Fc%*_$OWGtrTkY&ZBEyAQH ztZU1$levOvA`>Iic1AH~E{<KyJP{ldnM;{;8JPu{%oraqCr2;~Fr_jwD>5x$Vq9aZ zJF$58Ne&;5v*sM%PI63SKF*MKirJ|ton!5OX0A2NGE5CjjBB4W7c+S?GMR`mXRcuu zvtiEiV&=QXY|o_3$YEsR(84U<6lrby-}WRp*lt+aF$Xm*VCDjanX#CK1GB&y<^+x> z9A$f%WjLCc*Vc2)>tZ%zGGJtu`veWt<@HP+jLZiZn07ESGP#Ryjb+|l|A{#n<jyw? z9J`oz*E1P1GIKJiF)}xmaipmRugPW>o?yhBx8^zXN0zh{=84r4nBTL^v-@BdX2<-7 zfnx%P50kCfI;LO|CO=_aTV@H46U?4W7L3=|G9Rg0!@P$zjrmBG9`g;>CZ-!qd`!xG z%#-RlgqZ&@fMU18W(ISG&5Rk$t@WU2p25g5fkT8zO_I6NCYMQ7oI{cMZXJ^bV_Vj? zDOy>~icCI?93o6g;v9<0n6#zZnU7YjVP3|{l*7pJnaN6+V+V)E434LtnXfP~bu%(D znF%v*s%NrbWIoHl5y3pQp2>lc$x4_xkx8GC`8gw#6JugTch-GTxAd`ie#hRG8 znN%3pG6!&cVzL#swq+J&GGSyg7q+(L=<8%M73UCP{$0yt!kER}&Sb;<v(|>WgDH*q zN3Bf~b2n2O^VeD%homg#4kkV3AGK*ru2RfgAfLSed-n+glPM$fk2)q7MkWnOj;Bn9 zg3NpBIc%7}FmUW*(i3BDt7p<@{KZ_!Aq2_*_ZXRU7&#s@&jx8={s)SlJ79CR)p6|l z%w#3VQNw(yib<1^xsRPGl97339mg&vHDTr(j7+VJjOoXjKUAzqw@zp7XMe(cvy3Bx zLyDP~qlua433J{PX08$@6%ie~b<9OfzKqNbtV|A!YaE#c*D#mNV_wQK4;-s@AD(e! zJ!euE*0oKyWYQ95I>ac<tin;kyt(=W^9q)EOsV|L8XUWr{cM<x(wIY@F!M0EGct49 zFqi8wbM9j1WwK>l#Jr`N$(E6MHw#k&BU6w#Gbc#N_G*rKAR%i;=A+e2mW=7ln`*&D z&xhJ4%=4KznwTHfHZjj*;+V($sMdyg9@8i0=e0J>vzSU6F-oN3dCU)ML58ki0wvww zwM^lR91$F<HxF`DGgnU7td$kz!K5yd&2*4alDU*akGYH~mXVo{$&iuBgO9nDmC1|o zHnY$g=40F^nAeu1F`wg}ciX&_!<)mK!zY8uR+z~Ff<&0Kr4}%AbLh1*A7KEcp*{5_ z%tsjXvN@EPb(q{3nfKN+DKRqNWJp_U&Eee)#mt?>P0ZhU(wIAo^_X|?lrZyhd}0=1 zQfFk21eFvL9D0lHG3PMNV`O9&VX|Umu42+)<haf}4U|op)IkMH1Tz;%LWU!P$x@iP zB8{1kBZA3D#Hy^%!NP72vm*z{6-~_ICCr=anYJ@BGIKG7G2Yp|`{^|16AagwW0(>d znT0`7<H86s)`*e$2*W()@)G8JkZLANVQX6^15ol_%N%@-`7r~?0k4^7)ibFvGI@zI zpJ8ZXmSIw5WX=JVpDCc!wy~aL7jrKoQzj#mj(8%Inz*K;{z90inY)Xdn7{JuV(u>H z@M8YR%@o4O%ry^`2W^-=nQRzAo{;DG#H_~T$_PsD8jQ@pKq-4xJ*a}>;#kA1%cRW+ z@{1-Tvk@pnPceWj4P?q>WR_sEVPq~m!MvuP!;5)w35OT+U2Z08M&`vOOsb6O%>Eo+ zyY_?PviJn^KaMo!rg9E1=Kmb?z>(>T6qjNdVRlx}n3ScyFmo~$F?KOeVFHzS3cFyw z07W13x{@a5OWbM9>q_*Pw{w?(vL*B5S`MMRT^vE+O0J2SJFSy>BO`|%lY=PpwmOap zpeW<M#=M*H1c=+je4cS0$4d?oW@RRC#x`)A@JwL#;`r3eEDov|lbG}vnfW;;eCuM) zXWGCBsyQq`X}|!K1`0t1hX~VQMn>jTrZ`4st|!dtph8m>EHtGKRJ1*11SO^UbsSF? zK1~m|WzrDdY0J#R@rhZ0NrUkP^DTxo%%V-qmq8)Oq$bXs0}8*hb)eL{nQ<QT&N?P1 z#)Y4m^n{tWfDMx6n8*C17UZb4OdKabQT3>94YTMxCT-#Wwj5b^pK(0h$Xvxy;>28K zlfztPlg<&#ytKZF*@#JnkvZ%Ma|wu+01*Ydn0Yu#m`m1lF{d}xF`KPPXD$OprrH|j zyeH}2%y~>ojOomrAkv$8KRD;;u3=7C!~B@x3A5H3=3cNPXE1RHF@LKC`Sb`Vk^Es` zGG^ouW>z`DtjgrX$eh8H&&YhJj^hOLX9gx!MkW_wW`0l*ah^E9TxDaDxjWrDl9_u~ zK<dQQbmmm1C`J=zkqG9TG-i=B=7<x_N9#DAFt2A~atEbKL^k+cdyRPoBa<fM?kKBt zYyGv%*Xuw9vM}>cMo`IZDa^dFp5s%rW%F8V+qKNc86a-dWMo!5!TgtzDV&i>PlCBB z%`V2m;gSQBvluK<F>feoV!ptg#=HTPa*uK{r7?0mV=@qA_5!)t9F+e5f^1-J1{e4{ z%Q%{tqJ^zN={n+CHaJ~#2r)OZL(_8wEJ2IeH9X_kw;^j5vjT?#$Bk)rVRkz*I7HT^ z&*e~L=HA7mB)sZ2sLIrkYIjJ=(wd^r(avNb&aAeEIYy6}hhqXWFSu;s*vMol%&~#v z8^=i|GhtoZ9q|j8OvRY<nRFPLrLQsb!^<`1edSHehd9!h_m%50pJ6ZIxXz>`{O_I% z$J+VKSxg0t9FLh?Bsq30W3B)t9A+0L7sdq~XUaGhF>_7eSha__U=2qP^IdRFrp>X7 zX*Z+b7mi0vs>00g>X=d)Ikqv+V+57w(M%1Dj2xBCPxmtWaD1B291SWkIp;A;bL`?s zU{V)>l%Q`w<}euvaO`1jsb|V%WNu?*@?<>8WGPZ)m&24S2F}U*%bS=Fa_nN>4=NCz zu!G7ZHBgvGGHEh$JY}9!!I8$iodZ;ooGfQ@WK3uNS<cbKyp(O1)gI;-m7t_7^nBuH z4r^wS5)Nf%?lrfWS2JJRwuqT`0&{T_Gj9oVu^uxosE{mHVCGF@uFzXl!K5V$s#Oyi znR3KVGKbE)0Se_COuC{RpRH{{4k<BZ-pTQV$x?!uvx)gqIg>Uchd4*jVh(YRY-X+r zph8iPd4F9K^Kp(R9O+CN!W>o{H49EMmoxb=GH);EC}BR%QNpAw%$&yL!pLFEWXR8a z1thwgqlx(_h#}O(oX1hZe2Jrp<1&+>2**?A4^<pq%=>CU<@h0HJy2uue+`od<Fskh zrcFINZQAXrQ*Te5$}Dz`S%hgOBO~(;R#1J~SZTxjpG}YXNzED#)vpe9i#W=zaFj9c ztzimcWDWvZz)-?`mz_g_xvv5gq=xgDk1~Lg%<g)QCg%Gr9C{pL*O_gbn9o;%%5{(v z#5fd~k1{-A-p2$gh_2NzSurx%i!(oG;7|b72(F+S;S=+edL}bQ<~IzWax$Ca$$jQ3 z4h0Tj=BjHP!p!s8IE214A7im8Eoa_VZNq$uW!{Sg%u1h_G{u>@ITV<+nY0<#GS4qw z!@P^9WbJNUTYcN=W?Nh58%%~04jdL!nD19H1u`;EWo4>oWZqc9v5UEqLxK4)s1dYJ zD~nm7sf|OJc@Zm<7UOQ+$aDuLRpI}(9Aa7yOuFJvnctRx65>*B4jT?5=6og-M&?2$ zT}DuYO#l=Cy_HNZjNcutdlsdCOb<`za4ay=atL<Ra$r&yv3kb5vYIJ}k@-3chXQjY zlOrSZWN?n(S!u(3oK25;V*MIsekL=<?~dUU8`BdPTc>k~7o<9Jv{-Q{?cgY5{$0gX zz{otCmC2Uz<T)lY$?vhj6-iTU8`D?s<`CcN=$6G~AY#R##Jq%!sfIC~Nl%dZWfiE{ z{agoX_E&=H+$kUnZBx^kk5)7>|70j({?7txl~#fp857t*K6q8dv5U!0l1WY6Hr&=a zy)oSy<O?KMxG@zlGU<p|+3jF57Gb)<D8bClWWs2{p~9^Ggc)p*KggUlRiKui7pVPg zEzTj$d<Rrzad<bk?fY?;$y21va-nz31Ljf=A?5-O8zvQDCKU!o#`28JoKyvHFFP|Y zT_I7SI5W2(CsiRkwUQw@zceRBAuqo~AuYc&FGV4>q98T7BsE1r-AbJSLt|1-esVU* zq@2VeOj*!M)Rau9X_+X7DZ&gZNGvLbIHDvmT_Gj2C^fkxvn&;A7>X<dcC$eGLW4Y^ zI*@#YFf7v1*M}j*(VYR}r_$`a{PH}6WeRzTxv5B_4(Q&@Q%KB9&dA5~VV*)_PG({; zrqu;GiJ5t@aDiHyhb1Tx{wpla2ZeHRav~@wQG8mGk%|-zcIpfuU8zM3CHdK@c?_7A ztAf0X@EvGe4&sE=ijtz#+|-;(g`E7nbcM3iqT<Z_JcYc{+@#bZ9HEP*h=BnbhKUL# ziAf5{8Hq)S$t9^p3gsE8MX3sjc?y|%C8>ESi6tPDiwhEyQx!6c;m!xS1wC{XKoN+D zE2w`!euSh8)euK_WZ$5KO=ys(LTYhxVnJ$(LVj{dY6;wZAeSWP7lG1~LQZO83dpd~ z5I0>5JnBk{5;Jqq6@mt%FtY>P!H~oQ50_FzH0R~#=_ckBWF#h~mSiR;<{&}~M_8w1 zre~HY<QFNZ>!~9tX22H5sDXkKCh&Ato{?FS3XTI%xD!$XvN$I*FI6F_C^a#g0pUi} zav(WBH#ap8>`Y|U4A4}mYX>Pz;<HmL;}dgo^2<|G6l!V|6pK;|OEZg7QxN8&ln97` z0=XlvG&i*<GZ`fiAZZvq-IZh{mMD~E=I11qq#~z1EMbP4#h~dJDZWzjlS{!~%gjs3 zOinDxFTzxlnwO%GpQcb;Qk0sQ3rlOId5{7Hk`R#{jXlgWQY%tYlQVM@b6|N7;<wDa zvc#Os6ot^d%;fx(RD?m$B(4Awg}MnXr@@`9kXl%pn4?gVuK=1Bg_h5$g{7%^$*Bsd zc_l@esl^J3MXBH-9u_~Dc?u;NnZ*jp`FSO&6(tM|xrqe@pnQ;>T1kXzg!;0?oKj-U zhldMl+Cn5)P$ED|UT9@TT7HoNs8q~Ltte4|7K6}mL6k_~lmX4W#U+VFB?^gol~C1; zp$rU;0kpxtgCXW#htkOQd<%idA&a52UlXAQT@NMv{ZRX+L+NZNjcjHN7BQH7Ad;LW zlr0y+z#s-?gVgbbFfgzo@j+tfcr#jf^+WlfxM~PyV2FY8GlO8G`-w%xsYUU{iDjwr zh(ZTC@(-0uPRs+9eV}dopaW<a85nCgcvx6E7#Toopg>Y!3|iFe$j8yj<iyJgIynp^ z2wG2A#lXM-7I#62gBBTscGJPcWk8BSi=7!67)%(U>YaF5ots(PSlXFEvsYjhpe4O) z@W>0WFfbS)$vc5`yEU`I%m=MO$Yny9@7KoS(azk=ssJ{ffdRA<7IaY%*j-M%td8x> z&TTBtpha_VH!y&fs<I-?K(_<5;PW&)LLS2p5)2HWg>_&%+<93&(fkNn^u>wf2e)Qc zk9OuZ7MLHvtEZ6cM>pTVfPn#YsxR1lq%ef}5wvn>B2pN*wXt|Kv%0o}?q!470a{Ko zM*z1UKnp@FB@y!IegLgd*vXHOM|UG=f)+F<3Ueb&Kg^AwIXloz*D!gvW>&X07B{dP zK~V+TfX>8F0=}OG<ZdR05)KdzN`p)cpevm~svy_`G!@Md0O3GL&_-NF2GII=Fdvjk z9YK368A@0{G-$CW$V3ngT1by<B1ml*#6%DUI?$GpArNc~0|SE}0|Ucauq@ngP*Oh# zH5^2PPK^K=4x&Np?2!!zsRb_>Vh8|H5}?^ZgyH8H7#MiLLU6-D%k4oY0)oN<M1zi` z1{n^bLCf%w4F{>!18WZeQG3A5V9;VfHqc@PhF}mS3}yy^D0eV3*qe!g0b~>-Lom#j zAd^6`!^AL=2SkIUnHWl;GlUEb&WsEUAQPAvN^|s~+CglXelLW40g^muxiMG?D3>RK zHi$Bmuz=`f2%7^$gBJ87`wFDC80^vj5S75pz`)254B8nCQi<efgu)<@LXa#oL+PG+ zu#F5144|Sz5VVP!p@aoQ3q#l(AR4rsAK6lnT1U`g2!;R<1v=@Mks-{2m4N}Il92(F zGQj476oQt(Gcp8$C=0Ner4ArE0<1p>M1eFhF_eOm7FZXklnP`8?I15<0nxz_HV25_ z3);<tl)^!3L0cpl83I5Q=vr+?hA_}IRv?u~P5~*515JxF1c4}!EHgvt4!Hk8Mc+ZN z;Uz2}`Y?pe0ir>h1Cad>QhSLV6w(18Di*X*f+0AOgMr~2gbCULehsvKfFT$}Jq9!3 zSrDZCHCTHPhyt&cX9x#rzYA6v4pI-YlaV1D93Tvkl9?H7cp!*!<^TmxX%2`Eh6sZw zkS64m2D0fX*dr5pKr~byo>K3#GcY`d7*znGLGET`2mnz~rSL=vD)t$<LAI8#fM{k2 zn*&6Hb}k@?4@j*(Xc+@T0Ek)xW`?Z?RUDwDMTqo)P#6SK2sI}G=4nt>GEo3xCy1U5 zVRL|J(4GQhJ3(saflUtpQE{NvLkz)5f{@(@NErd7a2Z%(5QqYqgOU(H@(aN7fhz?V z81_M!APTB<3p~w$wiSSE043fvf(#5-L5n0AN*z9lLu>_!!~G)6z_3LalxBjqiZC!7 z5&<(g#2FaE#lcLFCRPbB6Q&2W<~$L!3J_EfNH8#DK-e508nhN2+5aH5HDK)lAgVx? zfq|K!^g|tpQ7Q{EHlSISfgx87Dh^^4se#4o)gVjT!RldlH%Txs^nw-~GL*K|gO+F4 zN`ZB@)Mv}UmAAly0;Zgap|rq9ih%*78pJ*(%fMg^J`JL@;JX3?L!=@oI!g<7t1vM9 zSAnou)fgC*)F5n-Tlmx=>=JbbhKW%2Cv^sfYZ?&o&l(I2^E4ssJ(>&*x1elvr-O0= zl3Q}F$}%v#0j)%0D9r)UUm?K)qM%O9L2_aak`r@~oS1{;#2h3i<{&vS2g!*!NKVW_ zcOo-GX+ymeG`zr^`_KRbb5<xYFl<)<hkHXk%xz$qiAoF%3zVQTA}S0FnJQ4u8feIZ zmBHK%=D-{d=D=JI=D?f|=D^$z=D-{e=3sICpE_6wGc%O_se6fV{hzu`2-p9qLvsC} zy4eWV|EbePxc*PwHiYZ{)FHY4PaTr$|I{J5{!bl}>;Kdtx&BWblI#C~7EOUYfRt1- zV2%e>-=HJ`O$Qk;*Mh{?D?&mS#70UJ878U>3>B*2WS9YSDM$^-q0nTTaaA3XS3u%m z%NZCLknB%EvOfjM{uCtpQ??=OPeHOj1<C#tB>Pj4>`y_mKLut#sDb?voMlQ_K=fw_ zn*&7u)B^hlbT%AVIY=$L7PyoEQ958|u!R-_cwYumsj8{PzyJ~k<vGwUjGYjJa?V1P zg2cflf(UH}21ad=MI|gCni<080MVd*5y-_FsI@N)QqK?oqU6EMU}bFv24P*0vx3ES zA)6_X+=9>(1kwXCl9{1&4!o>7s?ES40@fV{(p>{#{?KJ$2-X9c8TM9>fuU0$%)Fz| zz#t0hQ6MTUPzS@%0OEWQZ46;^fN0RB2xRAj)H;K;2Y{$tLy)1tg@z0aAeBgNMkovd zDFn%)G|xc27Dpq9r6AfF!sY<cpnVX?mV(s!8G&pH08yKbLCmmS#*iHoNNpmJ!ZNVJ zAQ06AW(I?(4lpwaM12A?gI5?cFl+#u6bzz3rZF-Efv95;QCSlP20s&!Rl#*83=G{6 zCMdc=7-3Z)$SRPNnHfqERVhgR4cJc;89+41I*^}0G{_PrhKURy8e|Jd97Ka`1BruZ zkd+{D5Dl^#Bo3lM7J<Y;ZUA9W&+efKBpgBXV+flAMAx{2#1XwGklN2+Zv=oSCR4EI z*i0E1KAD4=Kg=P!E|B8!rwIcCNCmhqZ8n3*gE=7EK^RHJo4R6CxQaLM0t(c-Yy`Wd zgat%5L)aW38ng`o**_q)b6r8M2>?+bX%yQK@<B-QKj3zSxHB-+x`XtGv3M{rw0nS= zT^<Y!yCBR{o(v3jeqd2Xe+C9ie=sw~pMjwk!Ym44U|<dei}D6CF!)25`vMsl*n_~L zszD44paB;~hOp>R28IoxU{U8V28Q!tVCL}%28OgqFf%BMfniM)nE5h_fk7x5%(RSV zVAug+E{$bi(2WC&n#D0NxIvhpa0TJTt_%ztT)`FLpE{7&yh5QIkj<45P!7mKXh<Qd z1<*bUsP{bs7#Kj_Vq^&W69gGGVq^&831wiAhB*E)h=Mr2Hk^UsWH{JCP7w?Yz7b$% ze<TCL28fqH-Z>BP63B@l46>>P9K69G3To?h4+e%u5K(7O28LKqut^|l7MK}4-;;r1 z2bdWKqE3LB!JrrcMF%58Fv8uz|KRQpMz}i|;qG9ByMsZ_cYwGX<b?z<GZ^HBQ(!Ly zgS-HW4y1Gr8sRt?2g)xcEFk(Ygv|k>L3=Zh(<n&oO>jg7fT$N>X7HOh1_s3xkROB9 zQy?2U(98!ZW@HEgQ6M8x()Il~1_qD`%nYSJ>iiQJ7-nUFBlkz$zYK_BU>Q(ogD{fv zFLhN33=Ar1VC7%xlG7L%R>3$N>2QO-ARF`ro?l=Ff!ekX@erFpY>*`&{4$Y&!95A& ztDrr}3=GGU!OXf$28M;1VCK$D28OE;=Id+*2A&+SsACQTgAasxH<y9oX)ah4WFQEG zhKm~WAb|~{n;~ot5Di-Aj~v(_wadZs6B$7CE-<^414Qr70~s4|DvyETX(7nCQVtOP zst_#vzmS1pdO1XRTR8*6_euyGME|J-D`Bl-V7OQX5eCuMs=&gxs~8wQLxn-~4~X#J zDh3ATI*4iz%~1zd&0EL7a2+ZPqVGV2AJ#E2<h4UogXrRRu<E*Y1_qTbh%ksY=mHB{ zcR{u|AbTC;UC^EaP<()Bt{SjX5Csh-cyAUYrVf#|uVrBHuLY|Fg*6CY$YWrT%LfU; zN18w*au>Tn&M094(U&1?4iF7G&<@!hAhmD7@)H?AbVm=!s9+E^r3Yk0DF=uKX+ui! zNV-@+x_ZI7!ax*AH4{TA4~T~7f{(C(#^}IH(iwyl7#Ki1O(3h*A!FBRsU^u7@wxd$ zsqx?`j$#JTb`WG0pt)|4m%+ok5Q9KR6o7@`C-s4NwV+dUnHU&ALrV>yu||*}0|P_3 zFav{yC<6ni`>HI#zyRve7Kk%26o@h~1c*TuLDfAFVPF7tamAqO5|Gq=5Mf{tg>3W$ zYXX@oK!kcZ5e5d3xxyk03}UcxcLoNAMG_1QD<mMDLr`BC)OiGT2cF6?Fw|-=Ff>Rp zFjUGhFqBC#FjPn}Fx-@2U?`AcV7Ms3z;I21fnlEn1H(DcaRFf0V4BCQ$-n?I4`eQ= z&(Wd|F;`TLfdSMz@lj-80JX|N_Sq;hFkF*?*axx~wDp5%dleZNz9}R80qXc7+Y4&p zgE~M0>JWQjy@CoA28MPO28IF^28Lo41_o6X1_o^v1_oIb1_osn1_o{w1_p6Z2V4bo zOdtcpPh|#%Kgv+gg2GRcf#I1VroGQJ7#KkQeX7pD0J2wsO7<>RhWPWh5(7h-G6RF4 z5(C3)B?g9<iVO_z6%p<Ng(GM@1JuI;`5iQH0P6981`|Mj2X&W0y(dsl4zyE#mMjCq z0$B!zepv>F8L|uvwXzHhpn(vWiJv7H7(l%+P)`mNUjZ@<450V{#S;%~K7fIN0i=#Y z64K*CR`*VtfdQm$rW6Ci4G>!jVxEK~1H&Il1_lvH1_m)nm~9LUy4nm3yt)hwu#N?& zudz^{fdSML>D5D3=cJ9Pu1A-F0i+J39@KOBp#w3`ONW8sg$@HlkTwH@p$-FspEd(S zfHuNBUjqh)Gy?{P9fk}HFAW(O<{L0DEHhwW=rLemm}9`ekY~Wa&<UFFg=&GRzeS{a zP@|W}l!3v)m4PAEm4V^ABLf4gD+5EHBLl-?M+OE^Te-=Rf#JP51H(si1_m)x28NfQ zJ-AT&(Dh5YK=i+JW?*1&VPL3tVqm!E3^6y*31M!80|Nud+)R501`h`Y1_yfvh5&m8 zhO>5{eYFe>OYImKR@gBxOt)iTSY*e*aN3rEA=8e5;ff6d!zNn>hH7gDhTS#{47;ot z7?P|R7{V<W7<#NA?sd07xYxl9;$9mw1_nDb1_lN*(Ec_ChCikZ4F60S7!H^+Fnlm& zVAx~Iz_8DhfuY%yfnkFw14F$j14E-J#J`}{KGeGm+guqKPP;NN+=zj+Vq;?%7>Z&T z7(h+$@E8V$Mh^ytW)B92tF8<T)gCZi3~+rf(DX4yGcbVkHAFEmfZA&Hkqiu=*0gpc zq;bt0$-uxC$-wY6f`Ne{l7S&7f`I|l4n7pdzyNCToeX7Q*c8UVuo&7z4-R5rm>kN$ z&>g_Q0BXS(_(R&n;eHGZ3H}TW%X}gIg2z4#486V#44mE!45xe;7}k3-F#Pm__yg2n zh56&58^j-X-540|yD=~<bYoz+=*GY>*NuT;z8eEWq8kIlL^lS8ST_cScsB+H6*mTk zKsN>k1vdr;B{xVoh`1rbK^@vghqX;%%~g=U8X_1Nz9RXHF$~fJ0kz&iT@_G21!fYg z&5X+&P&*kEKCq^<0JIly9ooQ#ne!`-fk7gLfk7dUfdMpO><Def-N<2Jc$>q(0BYl& z$zfoS1F3<J#V{~{^nn_Z-cWt}p!(+JGBB*mWnciA)0)e`05eA|hk*fPjz%^E!;fqR z2JI{c28nD22K!6~2I(vYhE*913~HGS3=A2NrmS5$1H*@O1_p_A1_sr128LZ}3=E)V z?vzwWyVoF<fuSW8;y#5`g!{H8L;N!*iGiUv8PcfDOJZQSlE}aynZ&?wHlBfDO(Fxs z$#@2a)A0-pz3~hTd*c}xI^#jNGBGd|9|#xpSZ#4|AX#lu30fuSdl0o*PvYlAf4 zzBV#2<hL;}T(4$e_}s|A0BU(&sAga|TE@VzzMO%9vy_41a2W$bKnVi_dnp5hK?wtc zM+pOiKnVkbMhOFhOECijM+pN%co74GZ7~BwLLmc#M-c;qL_Pz9e<8wNP-7Hiu4X#} zgIhZTLqr?IUc*)fhV!iq3}5RQ7)%=&7(lI4P*W7-o|syMe%5LR25kCwLiK~pX(z%Q zfocW@#cBoym^*Ok12s!Q_JiDUpoW1#8)`qyMKE(Lq5grHqhAm4$J{yw29Q5W>lhd+ z>KGU#>lhe{>mW^Ckh$-w85lt3g3NzZ&A_k?YJO!k14Dl`#J-Sfm~9LUQ!5x44pczG z3KVwpni&{CcEVJE_^X>482+_F!uA_f{#i2v!#mLVl~9Ej${@WA)k+42_)4fC0|UdY zG6sf6Wef~HQ1Mq#bubmMbhEk*5_Swt3=E0Q3=DY{5Vyh9_2)4#%+6zAxCB*a2UVxn z#K2(I1X14$zWNoS!z7=9L9YOk&SFX#7_LIo8AO(W0VeNO%D@1U2c<`mQU-=kXzD;_ zfYRHEas~#T3P^ednT0Q%o<T~V2g)Gn9F#W2yBQcj`2ys}4~>v~v91=9HbMCU6oxSO z!Spe9GcbVkHFq&E-0EUr0QHk%x)>Nh-6)nW?B+eLh2%42^FVnZvXOxyyODtbWH-zn z+Xe;(koYV#ap=0p_@tb~yle*0veEbe$Dm->cu(H|A5Uk`ka!n==TKi)zmWLg5XT@e z8RE*2lUQ7Wvdjk3Re>yui%-o<0j=SLt~@M8QCO6kn~%C$2gy=5AOG-pU&nv|Pe1o~ zZ`VkWoguCautk|rSH>4-<QJ7Bm8PK>4C)HSgVr0P_mAS!a`MaLq04IHJ^kZBE0*I+ z7@&>?FAQS<tw7F6Wys7cD8=S6<USb4h@{dqurD#}DlN*4hb#gtW=JYcOG_<+1Zr?d zkgKC_ysMu}e2Blds~-c%l=7m?l2oucrFq4f>3OLsp!JIo4d9>%b`1=5^>cPb)|Zx( zm|o0~k(!vokdc^|l9L(_UUCP~<>w#o8WiLo1PPhk#G>r@5{L{WR>7wF`MbD6Ll)Wn zkSGMNTZV@g$b{4))EEQ@G;~pLJbV#sJai3lNn$!eu$ZBsC_gDDH5ckeOzU7PF5}_L z7a1UncvFjt@{1te04)SgEs8JAE6UHw0Vzz)gU4QKUP^pHQGQBka%u{SYOpK8iyvX0 z!L%GA4O$Xei5y5yKK{<$@$j&B^9%|OiFfr234*1^g8bs*%p`DfNlDEsDQ1W-$S;O0 z#)bwJVli5L2{@|3OVmL50-V|*Hb9JoBnPmtk7tN$kfTq0u(P9&V^Dl>NTiP|LuOt| zY6Ys-N)k&_<FO@Ea7s_k&&dHTq0i3)CoN=eg98OK>L3XSydoS-prppM%$!sd>mlg` zl+#M{ia^N_JT?J~e+=v3DFhNgkbs5+06d5xMGGV(Kp7(`F*&=mAU-LvIF$jE1dAcM zd|iG0gCe0RJU%}ytvD5$x`Uk^{rp^mpi;<gNJ&jDN=+<Ig_Ht0sb#4-5W|o%1l%2v z7=aZ)VU9kbu#5r;qIghX<mEG<l$ym1@P*A_i&1g_S~P(p03IUo;9Um=MX70-6$}{B z0xF;~^U@iLGpj(cU7ndzlEDD=G$@cjVGju+u(i-!0<r<5Gc_?c9$d5`vIjITGGyi@ zgEj$xGf_%r9z#565iLp-gHtOa4I>8_v>=1TSa67Ah$};GVpcx1m~->@adCA)O~Bx! z4GC>Xw8O#|QNV*e0QL{0NGrk?Y$f?%heC$JP@D@%ksx0{C6TOzS6|Nlej(6mEW{N> zdvQr(4)Xd@XljEv8C+uGNFbon91;ZJEKnQ|j)N5B;6l}oS(Frm@^Udle0;HCd`@Z} z14<yIB$gyHfR-~uOhgHKXlBXHPf3NyLYxZ;VH_nqC~d?;H?n|(D9F{(1)gibA`nwh zT@A?<5RZZq9w<k`>NO<wuxLfjHsFW_he{Es7|sJ#(D9%%Ktbk!{aR20E#*`5lJh}Z zG_XZIq@adW;ql<j3B?SclR)6r3&=^3IE5-IE~(4`<r=W3z}|s550Y}B!RP5852=K~ zMGe@s;HX4%1SEk$$^dW)2_`_7oy5l%8-XJZtQY3f)Dp07^HPiAA@vx@yWmU(wg=Ik z0qwJZB{v^OPe0V01NIecMLziSl$`wJ#2o$NqGWxLeIN#o$oCJ5_w;jd^$YQF4Gu=s zWspb&>4l_KXsn=A`rshL60eZNi<W7jp;cJ`4{V4|NIHatIdYN!8}I1j=@<-c34sNm zRURZ-z#<TH5LpZ?80_ii?&BIC80sH_Ud(_~6SVk14itC+fMyiLe7GzmSwO-kKEALt zF$J~dgz6!zVFAji@g)qonR)p|44{n~poEcLk^ylII1xg!62zDB@db$~h74fJ2tpY{ zC=&=}3egA&Jcypu+=7xy<fZQ5P=R;_Yypmv3K47Z@kOb{r8&^nLvcw_W?nj|jZ#*U zn3R)>QmKZ9xLL%z`Z@c%c>1|BfD0pd)dk(_1973NuV+XIyd1$uU8ofzBo{&JBA9*1 zdP=~hA;e_VP=~}3BqWMU(?GQ*C}V+R9^STs$0#ViA!@;a6yoR}@8TKc>Kx)3<_b-E z;En{i%?+>7K{=8Ep1q-kB{UDlgEOSNU#Nn!0{Cbn1r3+fq|C%T2v65Y6H*32ivdWf zf!-zqSIP`Isd?~};pY!?4rq@G#1gQR!SM=f)F4FSA)$g6)sUnM4oGmB6AvmN(aJI8 z1~eq+CYB{;=73_JAvr&%G&hf-ARn}S4_YRpcm%l+M)4=OS^-5eB=<3ZeGF-7K|2ND zb`HejU~hnuBP42aGD}j65_1@G6DwdXd$0;eKW7jBAZWONdu$9K8xZLavh5NaQ7Fw- zux>~IAre4*eohK3sUey*(1I6~Fd&WrB_=mdXq!6^nnh5;0Hx0e>U)4w1j0zzem6+! z4GnQKG;;#=-k^C1?ov=u0Z{`_uE>cyz8KWI1$!kt2-GQnHf%xrp%`ElCAeP!sl7mz zXh~vb4nuNAelBR+76Zab4B)De0o>4FC@x9KFNL<5!Q}<4ghqrFqyl9qN-U3uc3|T{ zK?f@h!(4-cJ^lSKvl68L3icQ%LFA<t=_NBjG8o+3pc)gJNFc3VXumKoH8llgo)esm zQ9>S^s32Xn`1pVz*N~9Nc(+hL=Ma!%;u(@li;6(qLL3^Qo&tv`I9Fk<9U-MNBqKpv z8DJfbevycB5G>;2AL@jo9s<jQbU>>#NG}fAUEuaNT9+g~IU_MM4<%bciVsAJM>YZ? z2imO-POtIcK>;I%_~g=}cxXn(R1Pi7zz&220%{WQ4G4*hhtxKZFaSrqnF*+RD9tM^ zPE9car#aBz2e=&rHVK@_eUK74SQKnByo5qd+YIi`&Q=N<?tY<~kYW?F5M|ISuFNe- zOk&V0E-8Z088B8+YK|UwhoT<1LefhrE@se6NlhwEk55cWDoQP5&;u!fh-Bua<s<XK z`A4rPAEXszwxOOO0}9s!q8g$C!iJcXR+N~V3bQCDKN(rBpfm|oz!f8lB^D*-rKiH3 zhRQ20DPqur?xJPT%gZlG)pPd?)h#YbOwNW4*bzg^gZJt%Fo3Q#0;vaW!2m5V0I@+B zwC4>(gAO$WZ5jfxL3jlhBSQcO1Lzo3(3yIm!}1tFYeqq*(S!CT!PW=3^nz3)Fl=c7 zXkHSeo{&1wd?d&`m<b^B_CQuCfQ4XkPEdb<1wq6F2Jm_a5EF!9>Ol7aBKzZq5F>+! z2*e+tFaWs^<Sx*%511a1exVHv3>RQW=pxw#+V6yHo`X6gI2=HynS;!MnHLAuV+1mc zfq~)Ceg=lKNEU#YAe@V)Zo@$a1`}4OCI$v@ID^!IE=L8?u%LKyjDg`TNC2u7WG{#b zy4fAseIDwJ44}muAoqdpX#}YQxf66*ACh*4D<>EjK<B)J%m87KIuPB#z`%fP-U%&6 z1_wq+_<?T40;vO;Hxud)kRA|@InBVphqO2YX4eWdby@cr7(785pctlZ37WkeI*4!v zolFn2cMqC*o9{C)!1mOEjD(p7+O~%54*?xU22ffDg$w8iO_+J7(agJipMgOF6mTHJ zkmPPc*`V|al6w7`fuRU=5I%?ll>^!R1j>dAGsOO5U_e@P0nSSxxwmNQ8vcPq5g23^ zhzIgJEDwSBAa#F13@C=F1JSUw0+M>b%*ar{%)kK3*Ba1t1@b>AOpwhBU}ps1iUQID z!XR@%G&)8WXJPpGA6cFm?kk8WGw8fc2op>)gHtt_2_~2skP<xTZcupX1eRuCX5avA z8v=76`yG*O2d(PkV$ft@U;ve6puM+D42%r!pdC~U3=E(>w;(=PGn8Ov;AQ|_00i3A z2ikiJlJ93=U;u5H1MRg1@wY-Z$bt6Og81hd7{KRwgZ9#b_+LQgvokP&_RfO%k{~C6 zwmX4$t}!y0GBPlL_7#El#e(Gh7#SEq8+JhZU_tyWMg|7ZQhU(8R}jCAk%0lUGZD1@ zgpq-VVLr$_(5(Sb^L8*YFo0H!gZ8<C)IVTkU;wS4o(SG4$jI=6k%0lUdKt8b6(ldt z#J~Vr2@Kk^3gSb(4yKqHco<BX7#KjSG(me-LGqv-ji9q%LFo%*KUg7@U}ga2bSMWL zKcJL@%m?X0=7Vw+G9PJ`7g#^iDlsr$f&mn+-{4xf;4Bb>nL(TZw1W}E24Rrxy-0~0 z#0T9+1d;<`5Fc~{D2NThApSly^(WBy=h67r(D<OMok3=SFvz@bX!79AxFAVTx&dLN zOa)Rej>gwuW?%p<+yw0j7GhvzaARg*0IdfE?JfoJkq(wYZj}{d3=^TqVvI^6%VJKW zA<Kdq;PDs(%GieJAq`1z;~LMr0qWEXvP}^ESY~mM6@i_D+<k<N;bABO_3@w`1gvtP zp+jT|sP*tOgOKIG<84U&AS~SmJ!1<a6D*BxXiFK{G>A>;0R`#PBCA90Vk3(~^rH;4 zVM>FIhxS!4WsyUW0jqD!3=J6ce4LGpQ2bO{kOG=8g7)UX<`$NwmZrw1R)7xbfvAO! z1R)FMf({2shDfIsrKW<W6+mOuxv9Cy1(gu-63_`m@hPb}sU@il@$rep#i>Ol@oAvG zDA*!!n-*qKZfY)Q@|PhuH5W8<162SXfy&Cq+WW~xTKfuC4($_yQWOKj6i_|O$-n@* z;F6J(fdN#GgJ@7W45HV8uBg>uVE6;tEY8Egzz*7J4Z1x9RL*KJF!(|FZ<rYvm^2v} zBtYe}CIiD<(4JdO1_po7-dYU?hE1Fd3`|-K439yy1_Q$x&^})t1_sc*p&)y-L7Qo{ z85r_GJ7swo80tVYCj-Mmkhl&5!wx9_6o{|Ez|hFUz`&%zz_18JYcViv<As=?!Uqwb z0lF=LlYwCYlx_u`zOBW;a0s-4R+oVRbSnarHUon_=prI528Iw2t;4|30HXC67<LLV zFfj5kFdPEWoD2+Sq4XQj6*3wO44^AyK=Pn_b3pEw6osgd5rx>F3c5l>i-92+w6&Fo zfguJ&b22c1E=~dIdkESntHHnkx)%e)7Xocu<z!%x0?|AS3>Kh`u38KX0-%c*v>6yU zq#))>gJ>NFhA=3d2&HqN^i&Y7#lY}N8lwJy3<CqmeSx5zo;(Z;kx;r+j)8$mhk;=x zXlJSh1A_->SE>dBLz*H)eJO}mV_;~7(o><dj}pY6AyB$n31Utgl>QE)H5eF5R3PSb zLuqc%HbD&rhFVpKIOwKjkiU<B_&f{@XFxP3=z>{@yJbMTUO|hLq4Yy2EvW&~uLz=f z7#MbfcEoBjFgya$8Vn5oq4Ww(h&#`Nw)W{WFx&*~+mm5ncnP9885ll*XdVWJub^Fe z1`G^dpdEPH3=D2MkaY9~L~AfGu<Jtn*8!q67#Nm;XdMOy7trQ7P6h^VD4hzTc^DW@ z>O=B@B4|sTJ_ExwLk0#WLk0#x(9SMR1_o1O1_mZ01_o;rh<F)@)?{GV2c@e`85lt6 zatD<D0i`X>AmXj&5ce#F(nq26Qz#v50SUj&mJAF`#taPGtQZ)WOc)sMf@os~hH`6& z|1Q`-=;O8!da@lv-AO3@4MZC=Fxc2b%u5B)S_}+F>>=TQ21<uGK;-QlA?}KU(sfX} z+6iLrA`orN!0^f$qF&SmV(%pvNIdC+c6ezrFcgAleFg>@H;8{Dq4Z2BeG^LG0`1u1 zVPJR!rNuoU_M1cLa4204rB{1G?49TZ2^Usx2*26~!oLrqwHO!{`9j<k><6K9{2}UG z10e471<{-g4DA6Bc}~z~FBt{~{~(Az=Z8Yn9|h4`3=BU&`=odn81{uh#2Y~yrFa+^ zG9n=Sk09EFfk8bIqCW&g8#6FegJ>-VhMFjd_+k)k%)syuL~AiHh=DeP@h~t5$3XmT z45fpi^b-)R!NAZ2+Lffqz_1QP>oYKT#6!Zh6-pn4(#}Z`d$K^ZF$2R45N*Q1updMl zGca69hS>83N{ggG_&TW&e@uYV+tMI>k#q=c1){YW82*50Q2xn)h+Ahu!tWx8HfCUW z0ooA6!@%$XL~}AQh-N{;TRjV+UL_ksE9F4kxdKG%Ffg2e(z9|Q=IsK}8Vn4)piMuT z3=Hld+Ju224@B!TFt~$u{b(>S7#2g!`vawAN+5h2D7^+szXQ>R3=B@CkbFJ44C1cU zP<k<FyO0J0!^8@RxCdy<kR}7e!D>kOoPpB!p!6#ct<AvTT??`AIcVPv4+DcJXgiQL z0|V&t4N!S~0JJ5DlY!wUNL-hJVOk@^{`Jied#qa_v@?k2WMJ6Z3X%T>rL)@@7?|`K z7|wxcP`LxzSERwfP}&J8f9gRSiZmG*{zB=Mplvy(3=Dfgdv0VH7|w!dP6mc6Q2HiF z-hhGOA&4)-!0-`7b22defYN`V@}My!Mpg#UtsM-EDhv#uo)Cxz^>{!uXdeKm&n63M zcQ7$9fc7;ovNJHKf%qz*drBC<`aq}ffYgK5eS>I!s61%f4~QQN<%8A{gZQ99KM-96 z6)%U<O;8#%3<r`2U#+CVz_1D`4(iu}#6bu1fanWQ@%vEv9h3%*DS+fb*V=+;X;6De zg@Hi}N?Sr{4=5cDrPH8vDU@!3(vzVy=#E>Ec^jd8P@fmXKM&>KgVLa}Es!|49R}LG z0%~`uFfd3#X-z0?0j0rb_oy&1ghBbKP`VUK*Fb5|7#GOgX;A(WDE$FSGlP!P0mUPf zR)f-(P}&|!yFzKuP0t|nK$pjZ=v1h9Hk2-e(&bRP7D|I|nFXougz_gq>BUfbBb43` zrO!d>hfw-Clzt1PKSSxCQ2IZVW&<6%qr$)-38m$sv?`R=hSG*m+8j!Q?#>3e&l$@1 zgwp;{IuuGrL+L~)oergQp>#2nu7uL{P`VXLcSGrkP<lF)o(H8jLg^Dw`aYEY2Bld* z2mGioFi1mbO(<;+r9p=Pf&38<<yS!Ib|^g`N`vpVRbgP*3gw@M($}H%V<`OtO0$9P z-cn&;5QWkzP}&4ayFuwTC_NQQFM-mVq4Z%W4Z6S$<j#9g{u3zu3QB)~(%+!;A1KWP zI#o!8fq?@`^Fe75C@lr0A(x*qFsMQKI#AjON?Sl_J1Fe}rM;kZ0F(}c(lJmv2})-| z={hJq2TE^+(x3yDK>oW6<^P7#T%e<jKpWJcv?G)T%{743XF~byP<k4a-U_8ZL1}%^ zy;Ld;3^`DGC6s;urQbv8e^8ni)E`q}V32{*+ECgGN_#@-2q>KnrCXu&6eztIN^gSF z2ch%@D19GFgKqf*`R5;$&j;$?sW33eL1{fGZ3m_OpmZFR&V$n6exeEkLm!ks4@$3t z(nq26O(^{pO0$6O&Q)Px;D^%EAR2TxH<VTe(FzO<Iv`qwfx#R^D=;wFfM^v426qsx zz`)=GqE#3eqM>vll&%HQOptymsJ?3j@f8>t`arY_1H()Zt-!!A4@9dlFsua83JeVE zL9_}3!)_4G#K5p0N*@N%3JeTqK(q=2!*vj?z`$?^M5{0`JO|MV3=D5Uv<d^mPY}(- z!0;DJGlK5hRA6A>0@0v+3ZfMl7^Fb73Il^Clr{m;3JeUEAX<fi!39JsFfe$6XcY#A z5D=}vzz_wZLFo%hS3>Dl5Y5EE&<Ul%m$)e~FiZpSRTvl+f@lQ>hGigHg@Iush*p5~ z-$Ci&5QwkBz;F&qKLpXr3=AJYv<d^m9}o>1YXtS{nHU&YK(qn_122eHVPKE|(FzO< zvLIT8fk6XAD=;wVf@l>623siY38I-87<{30AczL}3q-3hFr<QL1qOyJ5Us+%Pzs_I z7#ONRv<d@58<d^|r58czbs(CFfngJr-Ugx-7#Q}0XcY#AQy^M_f#E!eR$*Yc1)>!g z8192;6$XY^AX<Te;XQ~}VPN<Nr8z-YA}TO2@PTMh{RN^G7#LJRv<d@*A&6#TU@(Q! zmLOVzfx!txt1vM5f@lQ>h9D5F!oUy<q7@hzl0dWy14AK{Zh+GLP<k4OW@2Di1fo?K z7`8y^15g@ts~ITXz*h~cFfcrUihqRC|DiND=nyd`1_pj8EexU+7#L(gv<d@*I*114 zHxLcVZy*|!-#|1dzkz5_egn}e3=CONx(Z5nLTS((11P`E1o4#_7<NGEgCJUgf#Dd4 zR%T#0526(q7;b=QP`E?sZ%~>^5Yi6igVIt^S`A7YL1{ZE?FFU7pmZ{n&WF-9P`U$3 zPlwWrq4WkQy$4EPgVHac^cN`202+r<VPN2a(h^Ww5lS0FX?rN`4W+}ObPAL%gVIe< zx(`avg3`;N^d>014@w`0(w9Lr69dC_D1945D=;uT0nsW94DUg-0t3Sr5Dlu2K?lDn zLoP*RR0dtE%fP@0DrZ3ApmYkQy`gjnl#T__ObiTZAX=G$p$ke+2GI%(40E9LQV`9= zz_12NZ-CN=q4aSmeFsD<GcbS-s0F!00dxwTG6RDlh-PA7um;hf^ai4t7#O^vv_FVe zU|@&<(JBlK$sk&RfguA#gEp9hXaxp_3J}f2z)%CFTS2r61H&XJJr_jFFfc3z(V+Gf zls*Wh&qC>&Q2Hs9{s^W2LTOIWc%upfgAkOK1JO(j3`$U14MZz2FzAD56$S<?5Us$# zU=N~I7#O@jv;qTzKZpkT2Sh6~FjPV5W)Q8wz_1WRGcho%1ks>+2}&P_(pRAL0}#!` z!0-f0zW~t+3=AJZG^pGL(FzO<jAD>{#RH-h7#IXWG-y*kl-7jOHXvG=fx#0>hk<An z28JXM4N4DCItxTAFfbH@XcY#AIuNbEz|ah$LG1z%t-!!A8APivFw6td3JeU3L9_}3 z!#WVHz`(E>M5{0`9D>r9p!5?c{Q*k<fzqHu9zf-u2xweag@Hi<O6x#r3n=XZr30We zcpMm1zd-qgAexDRp%hA2f@lQ>h9(fL!obiAq7@hzCV^-b28LxI8dR=9=?@@Ufq~&C zlx6~rA2Ts9aDix0dk#u#Kxq>w?Es~HpmYS3PJz+|P#ScSBFLW|Q2rDsJr_!^g3^bf z^m!1?#K3SFN?!-j3JeSnK(q=2!)p+&z`*bUM5{0`{07mW1qzaobOAan0F*DaL40Kf zhGY<}z`&3LqL~;N3PCg|oq}iu28MbNt<1pC0iqQc7$!pL*&telfnhC_-U+3TLg|Z8 z`Yx1y38lY6X+|lCdw8L=B$QT#(uPpl7D{_U=^!W_2cnr67?PlL8i-b4V8{p2Dhv!& zAR6R;5Us+%&;_Cu7#R9Nv<d^mVi2v&z_1HSzXj0>3=H3(^nWPLAq^=<#XvL@1A`oh zR$*W;fYP>5+8;_sL+NxVT>_=sp!8%Yy%b7sgwp$<^aUt=2TH$y(qEu7BWS)sg@HjB zO3OoOZ76LHrCp$O7?e(e(s@w23QD&_>6uV^DU{v_rT0SVlTaFTI0h)azJT(-KxszM zya&i#P+A^JYeQ*sDD4cT{h@R;lrDzS^&pxFa)1V?ozV{BD=;uj0MRN846{MB0_4CA zkUKVj_{t0nN1^mJDE$IT|ANxYa*%jb1kp?k3~EqX3rZV<XaxoaM-Z*dzz_tb3!ro( zl%5KumqF<xQ2HvAeg~ylK-b$UGcbrkX&Wf*38hm&G!p|u29(YP(JBlK6(CxHfuR9J zt1vM1fM_NLh6zx53W!!<V3-S{RTvmnfM^8<hP5DCg@IuQh*n@=*bAan7#L1~Xc-2E zA0QfZ5DTb|0JW1r<8GjKK9mNnM*@X6Xl)gU1}#AX(V(>iAR4r^3Pgj>s{zsAbt6oW zwND_v3e+6XS|1Q!2g(PnR|4@(pnULI;Y<t+;LF09AZutq@-9$$@OUH>1A`Bg4?5Bq zBp(9hgU*%!@nfKT&`G`^K6soG6rNCV&^f3eanN~8Ai4x94%(Lu;)B+$foSkLHzo## z7N|UE{TWCcyj~3y?oe^?JT4Oh!we{Y4wPO1rI$cy@Om>)I|<6)0HwD;Y0$bbkon+s zWS})MQ1K&B`UI3d1Es;^rA!PASD^eGQ2Gv(egLJx>%N#67+yg6Z=m!CC=H%>W@2FY z0p<UJ(x9bNAoqX{dI!-Qpz%;91_tmrEE5BR0F*BRrNJkrGchp8K>46GO(1<LP`(C~ z)`8LnP#U!E38c;f%C~{iptXG<aTh2bJiZHxe<(iyN{2w{2q+x`r4yiZ3Y5-((m7DN z07{oY=?W-a1Em|FG<e*YiGcxh=K{z*Jy7upP<jfKo&lxjK<NcgdI^+X0i{9fx<KY^ zfbzFMY0$bVkU02ocqRr0aDI|!03VJ85(noOc?JepegWqPc|?8yr+0Y<23UFrr(bzQ z`UR&)c?JepdITMK&nVBp083xs^dir|08206c$a5jfW<pF9_1MrVDSi!7kLH-SiFG4 zS)PFb7S7;slShObI2_~|7+~RW1mtgd28I(L8k9akv^)dD8xYOJz`y|-2bX7H-~rK0 z3=A3|TAqPH2ShV5FnEAykpDq6D1U=!c?O0Y5X}TxSIo$Upkd_|WD$m5zP<tk7#bOv z8<?6|nj0x77=VQ!q@jU<nTd&lf{CGtu@P82fveut#|?6MIAnnpBLnIR!!3;vaZnsF zFlaEyFo0%VAYvdgwDW0a084kMz;W=x!_EMS?ogi20Fmxcj?Mr9!vnF0d$)k*V;Fk( zsKeFEAgR{?t5*T5SLhBE0h^`(Hb(|*js(n{ZBYHqZ!|hx-*mfjbjE(^juq%E{n1^@ z(;51rv-VG?>xbhkplD@y@#p{l|E&i)50&H|V_@j6ePMXu&rZ-%yU(k;U0-zjemD+Z z2-z8-(OIC<>7mdWVbWP((CMLb+yPWQFdTOP)ea1u0X)YYK;g`A+yPW9FdPRpb{QCs zJAeuW22cuT=#Kr;UHYTD_D|=V*u&kvZwwC{2j9m2`dM!oLulvI@UY<KH!_{BFFG%D z`o8J*ebMRqp?fB%Q0v|aN}86xOF}x2z2=$FTcXC$e3--XcZo|kbEk<)r;7>;)E}kK zyF)oPFt%PQRqS@<0bL`((8;3G?J59L)9otK>7v5X?fT+H?!W*4n~%su$Hm7U?somq z$)W-_pgZ(Ur-(}DVKArlcIUAY<JJQu`rV-~x|={wux<k7l@iD9&=;KrES(a~2RJ&x z63s_sz<z`n==%cVvrZX^v7IImy7`EV;Q_Fc&I_y{lR(aCKEMKUT=NSKm@8Tjl<evD zebL<rvhww0uz$hf(|Iho`Ay7m78OtqKkf>uM;MN~f~paQ&d@cTzAKKqg6ar{<F248 zg5kL96;N${-1P=%ZR>GYP*5@)cLiC@aNHGSIKy#QQ02gI+!a(ez!QV(6aJQEj0_B& zu5X%OG<3SY=xzhmZLJ6RTR>$-_q+)V3=FNe`CE=LFfbf<1=U{+uRWW8vGBKWF)}bT zw}ER!!voFMOvk}GK`FA+M1_CKf#x=lUX9K+kQX4qe1N~Dm4Sf)W@<@ww{Wl1-{v2T z{O!gd(|$3RF6nmN(RzTt^*4xL&BB;Afxk5t%;sR^Zw+Q-U^vdA0!oNb6FXgZ@VD$| zWMJraX6X*y(aF^9%mFdK(~0F}%>V!YVNn7yRp<Zz|4?6ayY7I+LU-sJ%g`q!TD{=> z)a&%4JAwt2pPYWcRKTJaqO$Z(rwAmP4G%OQi2+A*w=+wp>z?jvj!xGN-Od8tp&L4D zw{-h%0Y!MXGbA-SOB`nbwUih-T~v5FKfL(#2b3ZCTMGaG|KIKU#@h7-e+y{kZ+GY( zs23_&It4%}&-KmAiU0opKh6ePr+XX{4KJ<0+Rn5dC`sw9J@cBg`8Y>6d+ULcux@8a zCP20pq!DCow|M7=Zhw{+WnjBYPrv-~@Bja9XMtUy<;<WA1lGjT?JNOGv7H}Y=>Goy z|K)j*qS!U9w@Wy>Lw9t$uIUu$_Fd6>vZSWl^@+9X8)&?SuIOay4&~@}ebdPV&Ll7I z{`>#G*Y!<r=nGIl^twLj3{gQ&{UEh3c|frO_8KU^zf1yI<}9!a)NjS+qS?Rx|9@!< zQsnvs7C{i(@<D>39LGU<fuTEe1%!dB#v9}!NJPWS-|(=`bHUATY&t`)bWZ@K|4!En z$6Y~<Cs?*=y#&oT{4M)HiOuyw_Y6?-24#)Cj0_B|-}qZWSIRV7Gx4{8W`Db#MS6W- zbXQCChJNUd7U*=n)9d=Cv-Uw}><y5gTra#30mlG;OC89(&<ov7AdA5n4|Ecy?}hG- zU<<yLXg1ri^0y>{l(`A)0#*GW6Wl;)ily5P5>F>ywEhGoBINSTGW10$%WLh<L*0mk z-0k|N+u;u^L_oaI7tJp?EDv?MzA3#5OV-UtY@nrAZy7^3bMp^o{ub^3|Nl4tVBv33 z0y9|oTO`2@CjJ&sYYCdNyIn6Bo;1Al!u&TRX)gq2caY~mEnDj*P?^HtVg&MF?FDe< z1F0mN53u~{YzL_^JaD`nRI-7}vF_R{pt|Wwcj%Sl;6?qQgzcmN%1%xypcLw)0T$5# zix_k}OB{ECR8>x(5`y8l6R01<(CK6XP9DddK+Rc(*FrGwgGvOWfB*l3a<L607uR0s z20O#L9pY49P^gDOoZ4M`1@7AJIE6o*O;86nfgB84aoruJ(p@G4akKA(?%F$@0VbUu z8r{A(IxAGVYp--h7<3lsK>X6_p#Z9m+*!I^Uv#>I^1*R;aJAa$&eQFBp}7HEvUVOi z-T+D$pklSV0hAz`EtvSH9N^z}ptA{7u!4Qo+ys)*Xg&h>h2a5k=>CBOrZ^}T5P{k4 zd*L_(D35?c4=p@pI-PX7ofSHr47#0FI-N|q8$o6_H-epWyb<OYxHFo;@*16uAlEb> zu>m^>9GI}w1WMCMfB*k~ss8u>|IQz*ppXR>E?BEWZb<mQYzJj!-wTl1^`$aM=LP&a z`MP~CbT@*c<mLRo|NnRUUVt?_UdsOa|G)DaqP-O!7Tov-<de?O23Uq~>FlimHIOdx zw^V~7-L(Z0-mM2ZTTA}`|Ign7>O^!KH2)LgZ_!|5VCV)5H~$mvo(huh?gf($65T-} z-JSxSu4g(!k97L(;cxK<RbT%^_*+z%85lriyYG?i+B3&pL7hy7&d?>DzAHLw*Bo~R zbut-_yMh9m;kYZPi^0%c%hCG3gtPe{AAidQb_Ry#f1>;?(aazQ7k>+A*1!254}S}2 z8oYZh*!j0hgqr`c^SAhMf)sJ^w@d^%wYG=5b_Rb-6{PwE)djHX^DuvlHai0Ys72`8 z(p}r|r+XqO2z#CWbb`aO8^i#mZ)l1FCGLjq&@<g2Pwas<83Q!BL)UbAsC4_T=&Vra zu3gd@VA37h)9GQ*S)l`JzWUDSjDR&8J3TnMYv-W08apdQc7R;<@+<=bs2K-!9e-=- zzyJRmkAR{IS|FuO=-vwsXmIGG1bsbAw}VP|kV3boOlNIRcWq0j>zdBc6`j6In%hBv z%GlfvO3E6?+d<}ma@6s5P@)B~I&B~oI;coE1a9hplro@33Z#7i@))%G@AjS0$pg{Y zT{{J4Mz`w>SP5fz0OELXe&_}#Fwn9046P?iS$8Faa;5K)Zr3y2wR=GAU~mfRbp6m- z`=Z+sRD}z4JAz7ik#0wc<1Q*Zpaj!tqtfZ3BGFxYq_akarQ7ukC?|Ehw!GN-8Pv1^ zyZU7$sAT~5EF$%4fy4}&|B3LoP6TC-0G93wiO$do&>-~S=ynk4tla?(-5`NZ-zktJ z-RZgolGMBF6*@yVbceQdd#ZFh$aL1OXl{apE2Q}8^j*{Gy5u;x9s`Bxac}_zVj)U` z67g=|mhMiFGh0t~f<4UNdKHu`A?g0*JW#&J6T?9&-JS}awG+A>I3P}iG>1D~r*ylv zbl1x?g9}LwSn*lA1W|q-Z-B=(v=ab|ZF#WeprB=VS^oe3{|QjfB4_H-8Ss<^v9$GD zr|Sj&DF-@3PjvboXs+jB<Zqe5%)nsyt>wUOP(tQ!>1AeM0JrBs9;P5)T>$5+6X1Mx z0875|fQCbNXhXL<OQ#c0w>w8?kw|BhM5mKLw>wX#lMKiO;8L2%QXG<I!5I>ga6?<V zCxN5vQYScA_*+hadR11!{4Js^3=G}Ad%9~u=@?d~`GOk1ovu5&T_=DF|8*cWwG$fb z8TeZ&Ky2TZZb)x$BdBX)`MFf=C1?d3B!7YWd!PARqCkZub9e28P8JnVQim1^r4K+Y zZD{;;9_x0U0?TWit_v7Hbh>slA7F$DwI1knox$G%S`7x$RieTHYK3<D&Oqea1)$to zqr%Z0I)xF`c<Ky+_AtABJGyIU9AmL$=ynCU0c?MF=oDC5?)IJ0V9CJW0@`K^NfgIj z!Q~3H%;+|MY4_{@|Fj99&?hSX!9m;Y+R*LWa2&ixvD-<Y(@~+@Nu<+JrQ1oO(@~?_ zNv6|Lr`t)P)6t;YNu|@#q}z$5(~+gSwxt`K-=QTPqKHG((_ndxPH>Tj5yRjd2W~QS zySDu44p-@pSLiO6>8@=!-T*57LE{952f&5@aRzo!!Bu;t+xHBpeG_2-Zrt>M8#;SB z3v@awSh_=JfJP7kIJ$l39Cr`^wKY0Dc)%&@<*Q%+|3d-{kA2(>3=DAlK)Xgk35;m_ zKsgX@U)8Vw|62}}+H{A`;NJ#nRx(&ImGba!V+E<Qa$+n|GW=$E`(@~#|NkNR6<o8x zV$tAb;gA3SL2Z5p!`m+n{(u_UEyrC!xq;z0X!w-j<!eyOn@|9P_9&uw=;ba@Ne3<g z!9iZB&>g7K9VyfK5fb8{O^JpFI`>w9%I(?)aL{-Ao&gp7(8^V#+jkEr=)p=LvC<j9 z0%}+K&giT#=#0>TRkh%DZ)XKG0y07F1)J3Ex(C!}_Wc0rsMfyeuH66{lL>v&>HDCw z_D*Mwia@82ib!XO3b^{wh1AX6u1CPRDD(`dFW2qbvI{hd`NH%qsQv-f2MjN7{`mhN zTCYGn2o4=+!5YK@sz2%#KvhU+Pj_ewsNSeu(doJbwK~CHk?^;i0(%3!GHKZi60Y6T z?Rum;^h_tnM_W2Wcf2h8{r^9rf}R2?8CuOj@d?g%&~{h1(aXkf|Nld3KA4!{%UqBc z*b{itEU3=`k77_BdFc+SXhU0$Gl7!Y%fsLQ|A&l!HNTPQjQ!GixU=*}=ef?>KiwUm zlB4r_>q-6=(7mPIlR@dL^%8%}anSI~w^G(-E5Q=8ZYP1`&7j-}nvMbW0i8gt0~S!x z@C(!o=)Cdb{p<h#QAXd=CNwvLB89QJ8Dyr$@n(=!pi238GrT&44qmk$D2akuT@ujE z)ck|Lq`UbCZ%JEsGpJE$-3)5Fm)IT$-%H$lfW`1+Cs?BMSLY3A2k^z*FaQ6)tOSj_ zKnrP5B@6028XkC=^#A|=Ua%n`=k`MMx~Q=9HiHJL5v6ts2gJhHQw<LsX9fqJI!G(H z+YTNd3+_DJ{6?qsWM}A`PTvnDx!vGi5~#A-0P0+B2KlvnGHANQdNOG8guex}bh_J3 zpp&WFO{CKa+;Mi|=yl@hYzC?728Rwbs1RWUDLtV<2kLWy!>k(|h9Jv8gKynn%UZwj zw_F01i)_t5c==ndgP64+TK|^>H2)CbZvhR6gC+KXB)}ergeHHBGZO>DaR$&HW#kZr zg=cr@n-^Z6K|`22;JP?%Lh}!P{ua<ZwcXudm%9n{27c)T`?b?WMF8YI7Zs6iH*lT> z4IF~oi;iEw2?jg>+3m!!3v}`{C=xnvyr_POFuu2p0XEhJiZ=yN7ypP3wCxS4pSvf6 z(gGwO)V}!x>M4Nz)9v)9c{RvIJe}Y~3dss@x<lU_X8;vupul%h06EV|1vG5oq|xmL z?rge&JDYCc&L+NS;NNxt8WWx1XlOp71FliP;R201r~*U`VoT-xEgGOg6&`O=ARZei zo?0V7?HWjiF+9+0$AmBlG@=Q1od(2qq+n{f2`b9rdG<7j$JG2ou*43OgDgQg$OMw0 zVQ~)1dB+(*yEb03gZid2Du&;{4Gd7Ca{2rJ|4U0y(E-cvAcf%QgXee9;CASn&KocO zJ^%mz<^8`z<|`YBGhX%(tAQJ;!T&#Km;{;^3&6TT*$R|`dche8R3-E_gYpAXHa-i< zf-hVCVD!Jy^X~>wu>{IQwm9<dBak?i@^3fTvXlHRAopVCUv6mr4gJu137UUF4S?n! z-25$=`Ij4<e?f=0;L5*U?-3b{#QX~lWQlI{{5uO&8M~-(bl!Ne`zgYB8s%S5)i&7k z@5^A&$Zi>E_y8$0Z3kthHK5E?`^Eq^C<ZQ{K!a_dRu!a#0=F^U1Um7SP{+}S7eQ51 zr<2KXCvX$@<zJ8sh^gOT+3Lt&q-=GQ)NJ+k52$~Es1I#G_2C2L$`Ir%Ncx84L|A1Q zNyW^x8=RT`m*hb#YW-GH&<!d~OUjymaPqf&0#$fK)Ku3X2^uq{gXWw-<xJ;|7Z)Fa zQaWUi6H)$_wxNz!yU9Rn0nl`on*wMi$4#Zv^#inuKosfN>V}fdkfuQEfs&Qo0=-Tj zz_U}J{c7E=FCeWiUXV*cQ;lyxg&t@S7hD=Y=)Ccw;L-p8FQY)!334U*fKVm*pgZ&d z%_>Qx5m|8mrW2*Ic>>BGpp@7AixX16^S20rJOHlKA@x;B_HhP~r<)J3>;$KHupGF_ z2jX^zK6tVG6(VMOo1vu^2cD{d8<HSjmLcZ=1!D8hS!lJC^8f#TeCb~el+MBRJj6O! z`VRt$Q>ik6HU`ntKOZ#x6WdY)&7Nazsr>*YH%Li;@jfDy>5={!nt$-|w}2b~&dTpW zSs5JnkaWS{;sF{wV*r(%SkeZllL1N_-7gTX2F)jtku_*k{~%=z)Ld~6lq(K{Y7JPX z2l)}y1armA^wszN|9_bZPP!x{{95FMuMXA?>Ro|KIy@aCSi%QQk3g4^gmyk{eiH#+ z^8s1^!P8m$2h@@RZ5{;8Pl~WHF#LfI-*?{syt=y&)ckBcSt{Et)_SQ_yn7m`PucuS zyo9IumsmN^f0e1AsM`U~+sG?9j=O^5fdO0wfEIV$>ihudYj(bgeYy16|Nn@^16`n5 zhiRZ*7^oKu+V0wHCCJ~pmKDBc0J=N?v1;Hrc%cBuW~3SWmaU+i3O8suhzIJI^0y>` zi~_aDB3T(2x~GBqB-YbFA;{mt$icwS>%?-L33NhQXB$Y$@FdjnFP%Y?&90yYPYf@O zK&{%77+zWR`~QEiCtpA5o(8VnF7dZWq4-D+v`7`?BX*GOPBKv6fNC5kaE;>xu5lpC zBMABNB51w|yjlX({67rh!E2s=HU@^{ZJ-DO&1Hh-3U6T~!_E&czTf`;|D``@E)&x` zx4$F2(+Bp>N&XgTkh`Jb+8KI+zr_bMOJ&8!-|7e&p{3AApaa^v;Xe8ZDmNfy$wqLj zfjY!shG1_Q1AogLFq@OVWir@Np!kACWje_FOrY)~I6|5av2=o?8Wx+Spgg({?5Y3! zEz3Yohgw@w*Bu~n+!eF}jiEF2L3e;iXXu^o0D;cXGo7I~x<l`DhF<6neb5<trP+e5 zw7fe&1r~>)SGog0qf^kuEuEnkI$h7;kHZo{h;NU(f>Izu>w(f$h6i5m|MUMpXf;U% zOJ^Hspc`o(9zGN`4J2VX4YXjV^zt7_OoN6?k@D+tX3(T|x9bCtqn$OnU2k*-t8|B6 z>2y};cD>LUY|<TirqkH~G%gpc)9K6t&bTj~Kto&LB{`r(B?1~v?*r$@ll(0SpbDO` z`2`bbLcd)VtP&LJy#aqfs{_Cx+<B`Loa{g|Q7kHui71wCN62!64=>to{{R2--tYha z4KWkks(bJRheh_!8?2gC-@!E@ijlpb{0>c}{4Fd0{r?XQB2ae=JOp8Q092$MX9gt^ z(0I8sc)Z*hJYMds0T$5#ji5UlfQHGOAu9o1s{TeUtlCj*aRv<mSTXXqbby4N1VGsh zKG3!cv?3BzMt6RAA$;Ti|ChIaL7n|l7<*yD`w^<(^%I1@wu16FG@<ghTm&Uzf#zR= z{4JnE>6(A>^S6LbXl(w)4bC4ALHP$9DX?q-8ss_-+C;}-coHK|B>wvUA2eMES|okk zMTKJxXg<?Lg$0xikF%)!VqkzQ|3X%?7F7*swH|mp0+Jv><tQj9SyVtl>7oK2a=Zl% zhMMdD|G&KQ^Z$Q{T2L|d`cgNz)CI>-=lwq@=?a{xK!ZcanL*V_cj$?ipdjz|kbxKg zI@6-l_eFPwLTBxp?f{j}&=1g@*lfXs$cCWt7;p$`fX3y(bw}q1(1>*Btxg`ujM1ZO z|Np<V`iZ;*3>2QN$v;88u9pfZGW@M~{(yuhyyQR;pTOUG<rhfe<%b{0Ch@mggNoY& z6JFjx5ud={dKF^+0TglmR%39DKjGyH6!8iCt)8H4bl~L#6mkC6OsM*bAMj)ks*+Jk z29N+KW(XyF&@_=V3#5>Oh9)8?p`)B=p$REQet(BWEGUP)tp54`fAcR+{+0~TFgsG3 zEQveL1d4i$VjASam*+r3-)*3>5tL|p!HEOZdFpLL8~Ejh)Z{Pa!G4FVcY9e*tnRZ= z-Jk_^y~J4O0M$UO`}kYZK}9Fn-!D_Z(F}Ft<!}H0GcYg;GOF?kb2IZv^9eEvF$%CT zFffTRF!Nb)TXTB~GcYi#FmQ9*aWnHVFt9+G9N_D5L81%{Z2Sz|+zbrtAPS_MLzt17 zkDD8$n^Bm7fs+?v6sxDO1s4MY7tCY^25zVfH$;Yqk<n8aq=Q$H!BbeDn}LB(jR9mJ zzc3@hH~|(Uj-UnuGoK7E1A`D$2`fmyusD(u5ricS45GXY%p4$xfs7S{%CLes;!tOS zITBDiz@|w;^+4S(1vMNjCoRgT&I56@3@g~JvU-e=fCGtxLeqf_<Rm#(NFZ=~3Nx`W zFvufuxfmD}pqf}wH7P<>u|hN{A#u4F7?e#QMuJ_eg5ZG6SLK4r2{JM;s3FO5F)*le zGlJX&a+L-*V<;N~gQf{2RG{`~fkZ*l+7Oit3_4Kvaf95azzveqg*pbDK=h#UVE04h z^`Y`$*BNj#GB6nGG1~KB3mYR@MnmCHwg~P>u*t@(42HrC3?^_<a7de)fJMzf6sToo z4rZ`1Fj&CVaWgPjg1qV}Y{COlVg=$rBHNw^bVdWiUeG~!ptd>#3u7ec(10Dh3=GRa z<v9Zb!!OYB+YAg0OsiQK7?`esHZ?G_u!GL%VPRnfov_c$!fM0Iz`)GNv7DcQftiV2 zOOSzqnT7o&A4rf*4#Z<(1s$Hi%)uJN!N9=G!JY^@0&zVT0|T=~2FUE60t^hyy`TfP znR<j67?}IY7#J8>S=iZF*jW~Vj(KHdYXxP$pMnewEQX+!(;Vjf3=C6PbW4~R7&t*E z-m(fXf-VSVQfA=vWM^Pt6=ei9B$<?1I6>z=u!=#s9GqWR7#LW^p<EtLNl>1ZfN}*m z*##IFSS6uc5zcf*1_o9sC|81Wz7PWgt2C4=!wFhP%_;-sDsUEqjFN+LRXATVGcd5q zL%AB9pyPp96`))lP7x*s2393T&|$Mo$_AXD1VKdy;||bSk;*2VsUSzHL49Pw`41$k z1?Ads3h*;9u<9^^_AW3fJ8<%XTxGxr+GoY2?84c@&A`BF$Ot~ZSlNvebiFI95hLgn zTP9_9&e?nn46J61=fD<ua0-GfvS$P>nPF1);RKy2!s@{Y8jxmE4&hV<8RZG(MsVtY zxL#0h45u-O>kZ{5a9V-5K8&Da-I<hAI2W-oFtGYT-JHQW4dloGM$poBCgmIkF3|2O z)-4?T><kP%th+$Lz^%s0z`(j2#AH%t;C=}5<Q_<Xuy8*G1=j&c40ABBvs5!NFtD?L zQUVVsfq=ZjI~|;c*;zno0xbH3iGcwus?Na9@`{Opfe)mX=^GaV1Dl^K0|Ns;2V0;# zGXn#6Ix7PMTQJ0U25u&91_riJ2#<w<DN2Zefi3J8=tu?*wn%@FdRsvT2DWGr6XaCT zNknY15FQHyJIi}e;Fhs4FtEjGF*7g-u&^aIGBYp;t^zfO1lMze>XtP^3=B+y6G2&q zfeCap4qI9RL~Rl1;3h%P=~fJa;Io(n&x6vwAm|(>X2D|63EYCuL4hL(I@yzrf$2Ff z0|Q%a4>Rb97Pf}JAosa5Gcd3<L85|z`zJpG0~_cVNd_im7H&>H1_rhch#Ut4(_2Oc z2DZ*q5W6RvvM?|R-T}L_kptvTJuZ+tL1!&63+gg6Ft7;bf})9m33MzE+guJ7u>Tf- z4s#L|1r5UsJ_P#@bczNO15+$$W6x61rV{}cwiS&a(<MPIP{Cr*X$OKTptDFBm>z;+ zWL+A>tR0f93=D#`pg~GO(9i>;pcUw3RY68jNg@b3orOj4IN1L$c^DYj1Wz(EFt7`5 z<6&Un5d6)@z`!X8I*F7^u!)g@fm;xCS`d%mS^)+IUO@q71_nMs4sHepenHUbBm#nt z+zbqYg3CA=7=#2n`4||41vU5?7(@iOgU;1sVDjW-U|_r2!@|J8&%*Z5nw5cp`yVJQ zAA_QkNf|8sJP0Hl4~p%VkR$*Wewzsweh(MsVEfz$5(X!quTWv`s~~TDhwxY!_<7iV z9|9=?8~GO^%)ng+isb*0SYzR|5MW?nV`K!y7LzgugAfNBE8{Cx1_n-WLS~2NItET~ zO6G)eSwQM|8HLyw7&yT$;Ae!I&IwMzf>16CgD?-<y=*oH29eDS3=C{fR9G1pL>_~Z z%_~qCh`55>@&V*;(UQb;2DTp{zlxm%xrvDp<Uz4Xpy1$Q1o=a3AxNVT*m(^68f-V# zvoSDmuV-gqV7m>9X;6uM2bAGNz%B!o*h@g>i!*{!GLy0ZXDKMiC81my2650qxopym zAO}jYu<0?fvokOVUI%rw1uuZkBoV9xr`b&`3=GVIuAq}|1VKAhSOuqnd?R=W)G8CK zU<aiaJ<weNg2{Xg3|tK2X&^V*Gwx<%U=U(q^JWAcbj1mdZ(l}OgbQ)7g)xS(Gca(* zg1i+0W-}=>NT%kcFt9~Ixu8NIl$n7+NPsPnaUw`HI6#8IY><bSfihh**anb?*MmG9 z2aP5k26h%up(Mn@mc+OLq!}!o0+j|kE`#wTNCF%YS<q->U=WgF%VV_RU|`?`OBBE) zB*C#%1m&`Df>Txrl*_>hPFiKqf}4kPIw&41ptcEcf{vYItAcVxAStf~n(`z-K5SrY zf?L@HHIxBjWeb$c!U^_58`KmIh$$V6pi+ZLnFnM_590~ADSc3FP*WyAxlmIkp_(#< z5mc&xOp%gd^I%ltWMB{jCtE*8VRi-vG0-tbZ1IdyAhs?j*i#v&gV^BooDB|ONYbqZ zhpAW^D7AHhgHdc2s2H6J_8)_g1)CEi=!`H<aN2bRCp%DFf)np_u=7E22~NDTps7^> zl6dDpxjGEuBA_B=9@v@UD?znRI#UZL1A{c!Q;Rtn7-T?|uMC(4%Iz|s<H#7;SwPhl zI}1oeNP;bw=_@A#1LrnS;hN6`si+t@K?mot6+yWyoS;RkY^6*fElkQBoHIEX7}zS9 zAeoAXLHr{~b0yPyP6h@E7PdO3*<1_^f}Wr?b)eFpfl;s@oQpuG*f9%6bAd|!6`(3z z@FB<`!JmwvQWtc#K8N5zUQnr9FUY{aCAfnNRO+^Y&b1V5<OG$v7HptW_aPgo)D7Zh zU=R@00aXKnKUqPgt|BL>)CJwSAR?&B&cGllXduMEASMX%pg4oLFDM44Gcj^8FbMIm zonX4h1<QJ;m_T6!&w6K|To%r9P~ChE%H?2?;$b_+1iA!5Yze4PI?uG6i-AF`0%Yzb zus8!d3+PC1Apy3VOg`K&<8L!T%SK4fz6<5Da0-C({e38xgA;Un1lvO>7o3t`FinD+ z@(St<X!-C4%7vQp4$6g^@&U>Po5Ih018#~Sm<{);FqF%}xdP-1Q7D&#Qx}wT#i3kK zF#;-Tg?QK$nMHYE{!#|B;by5qxh#?;`2`GY>QFAIi3LhlLOg7S%t3I?#$YyFvniAd z)oc#sf;5AoPl$)jg}EQD*$vEwYxaP0p_;v*T##l^QWWB03uFcz;RY#agTZXL=1?dX zsyQ6W1!)E)a3LPHXl71OssxwPvCN<n8?HGX%7to9gmO6;gkG>MVEPDZLTH0B#|kD; zOAM67K}WT-tzrVTCqY?!3aG+f1J7BqAjRvT`HqKk3#b~|0L^Fuoby20WfN4d45tsM zsNVvWRp9gkwR{eMEoD;H;VcI2e?H6vDgr>g0?>d8+huT~XHqtiOwCVYV7msj$bl1d z5CGdFCN^#c22i`74b)713UyToC+PS_wvXTx&7>RwsmH!BLF%y#&NHCA@Exi+2U0lv zg1V}JlL=HXu`z>E0F!bJry<CLoM0}qaswl05GV`qK>00<oS>#Pn*=i`*)uD5Fmh^v zd?C#YDtVZdXE1X91o>GGs(ub5=YEiR8qD{&85o$A7cg?Vfr?yhsQem6&N>iZ56a)b z$SDKjTQGwT9%NSD!pNBnGT)myf(NAk03+u_P`dYH1|=J2<ui<&pp#75BABOw<u5RD zf@|9(=1XAy9YzLrmI_V=2Jyw9Xv_eo6LuC*$u6q{I->I!xF`noC6qt}1LPz)xk%9Q zfJZ=w!hsINkOL(N#-pGVVb8$8AP<Uk#-pIL$21YtGx^TPz#uCJ(sBuG9H`%%1u}|( zfnhH{0|Ugk^C08u7#JAjK&gcB0?4?DAmc!(gz>^(P&auZgFM)-iy%p+i98UiE<)r4 z7!>S4O`i2EU|T>(WXLi?jtmeJU|>)LJ9;e($Qsb{C`EP9*{*9@nE4qPKoh`9ph|&p z9Sg)T24zsgfN=v0sN`c%xC}Zc)rb{rFz9RuYfuM@k%3`0++YJ%kinqVxguDnAuFiS z6UoTHp!fphDnnLK3R=j>zyPtxkQHJPiwdYs$Y{(8%9fxt_sW+*X8@RhwX1^i9-|K{ z=vV;;g>#_81x`SG=fK3ku$YyB;WZ-z!&X6<?~Z_dCk{Fwc{9j&M_E8}Ahn9!puvn| zEV~6E7xXBBZhB!n4(2mWWKaViNO6+oAm|>0i7qP6px8Rc0&-IW69a<^sL957o(0r= z+rk8@ei$#X#0o;oQO1j4g|IS(@e-5^DN`6PL%AFbYM{i&c!dRY8XnWc80EDfH(q4{ z748t9DzGkKW?)c1z|6pKhnaz4o*)B*GB|jY!NI`*I);To4IIATSU};+T)Lqil*B*| zV+Y&A0}{R{2<_}LF(@Q}yb{3(j=Bx33=Gpb85kZjF))C}FCb|mj1d%d{LBmtkTem- z2uc&6qlpzkO*O`Fu-+7A1_l+diz699E<VD{z@P>WmncY6wzNQqgE5*hRR|U=G0+w; zq{3s2g>qS-;Sk4Y3+neyOn~@(He)p#0|V&5Ee2&!yNR&^+)z>mwfLcI1_lMtQd~wZ zCa{YZa56B+iZC#!urM$Li@?$V2NTFQ0W2`za4>;<Qvl|JPKD$Imzfhl{Mn%1DTKd) z1?D?$CXnw!SQ!{pKrLrR9&mkL2I3z9otDcB=AQxaUxH3s;REwQ2l#4&n%0c`V167M z1A`ja8v>A$bYcR;ClIb08|dI#2%BkQhzdBI1;H-6&Bnk036Z@_pkr9IKxgHw5N3ep z$mL+;8MHuSWnv)DgPQ1!6=1EPQ+HKBZFI&;Fh8B0fkAtQAOpiPP(sQAxxNNm%qwSs z`tuMrLcvB*N~vK21*LK`C}?WHrZ6xtXn;m&AQ?4)36v=&urn}d++bi}PyublW()<J zD#*dWpaPl!V+;fHA*%`)*jXY)7#R3KjaCKld7|BrEDSnBFiMnxVKxT?!yb6_b%L|- zaSmAYb%6^gHckcxMF-HKm|ZNOas+fvFC;PcfU{2oXc>pXK9H|mA*LsYGBAisGBEUj zZU+&CB@Sn>={rECfr~#Eu<4+oP(>q9Ddhq-U6Bix7~H_7dxNG(6t04zY#lQ==_yDu zFo4e70-e)a0XKaOGbri3<$}3=Ei)+T`EoNbKuli?uEuh>VWzJKH_xVl_QWV~fll<b zhL~O;!@y7=&%p42n}Ojq+;mH@={!6z)2+a!hk^KDw_AZtFXe%mZUZ(QbP}!xXve!6 zxP13wh7`LA3=9eypx`<W$x9&XGL;w@M0gn(;>2LVbrzhL9C%??o&)ElE)XAV<vDNy zS;-5t@&Y*TeCB0f&;V^sfmnGDmH`+TboPQO)yLo<WNZ^-V9*6uN{>LnrVEacN1za6 z&;z9}Mk`36#kg0Dfk7Xv&=Ooy>4Q~Tf=ek#8EOqKkr?!TgHr7}sJ1U~ZEKOVtwqwd z9;(d+bV}$MsJ2*fm~E$#w4FxMb{4D+Qb?UcDx{!na9%zS_M-u$^uEssDwG)*^iG0~ zjpl?zGUFn+MeN|1g?Nht9IFs-ae-sdKp7l!g5a2AV9<*O8Bzl^<T>1sDkMXykqoIt zHlzh+NIWRDzlIv3BLVaBOC&>HAsO-p*^r+wL)L@KQ%HVeOoki64$fpy?|?HH)H~qJ z#Gv;ZRBUQMwatQSQ$y0Gj-*W!qRo(TD=7c31_x|`5@a^QgO7n>q7<wNwF;DuO86KU z<iIIp6(}vu;Adbk0;Op1kyU#dq!<{CtHc->jPu197)(IH2O3>v6lYYEWMD96m0(~n z1|15i@q&?o!BkL!fkE3`lYya1lYzlZPJ)4fX(H&TCL>UilmN9;KKO&Q-3A$WUW|c3 z!+?o_!Th-x1A`K{=WGN@gaIIhpQnKo3W+l?7_*5pFlZEjP92sLXJ9bZ0ug573=HN@ z;tUMlf(#7Wd}<5~x@rszrv9KE{tOHzphP(XWDG0gIgmNkAan9T=74UXGjA7XV8|9^ zV9)^FA7?fNbV(A}ohG1|wE(p;q!@pI^m&2&XD0zF(U}<-%)=xY7<PdjY641)3ZPaV zAEN;%j1GWo*aETvRF#^a5ocfk&A4cQDo(ST2pd4regLFTmN5#XuMuQJDaeK!EDQ|h zy%G!zexN~K1`AMr{{T|?+;|Bnyk>yHOMsPu!F+=l14B7j5rZY@1mK0BQyN*BLF*hC zz=QW70r23xAOjyLx~&vg85me5f+hqQ8LgHHFfg!8f^ZlFK{seY?x|q>&Bx2Y2s!cz z)O6G@EiTf}$xPBuPfpg)G_f$#&B@Fwt<X)+E7b>Is;-}zmz-0YlF9&93FYV~WtJ49 zh%o5s!Bs+Uqt^rN`3Bu_osycSmjT*72)YBkST6%~97AzQN@l)Z1_Lt#Lr!KAj9HnO zo1>QjK1zy#6*OSUz<iXE(azQ?<2i>Kh<cjNq0D@heICaN``x<wMs`fGV$9_ynEx?+ zn$Tw9kj^oYLva$bD90z}f~K{p`jNW&+02|wN{r0qHq4w6%;gc&np><4n9C!W8|#@2 z8JYRlFc)%oWix3>a`<wza@aCUaR@Q<OyG#L{>-7z9OZR0awA9FZe81~X66hIA?9NY zpGwzWpSZTZeF1Yo(?lk7QRXNnRYqn54h0Tx<^+(5s!Xbkr7flVBbn1U6qr+)Oc<Fh zK}yOwyf_q@k5+J8TjRo9k!Dv>rc?H`jajg1vaPkPb-HyrhatyA?}^MZ98cEnUVGir z-qO(0801#RCMGp;js+a$p_64Zb>}k|GDR>lA7=QZ&z#W2QBgP9RwhelemawrD6=G! zIU{pnlWpVtwbo2p!pyu(x{S=lHq5*c%#jfsfy^09R*cN^7@0g6cQJF?Fqfw>b57t8 z)=ke~=3bLw#c_&RIE}fNaRT$|dM0(o(qGKN6Q)n+FrB`8x2}Gct*s|VDf81hrYuJ0 zjf|gC^_d^mm1J<p+4b35Ph?UOW}d?MiDUlSwQEl^7p!6aTE~>fn68_izRu3dF4Z<Y z)!HuAw%^Wr;?;BxTMlpCbmlI`H0IxRyV5hZ+b7%F?Xb7Dy=u#0%iO^DiFt4R2@XZ; ziH)|_=^W=l)-olFG21d3Ffu!*G22Ek|E!CcsGFY7%*CX{xc1;g4sYug4)2rKKkM3N zaYS;=pTCxwZw>RRdL~Uqux3{g=9P>f-Ph~Vm{&4JFuO-&gxktZvYvmQnTN@a5z1kX zWb$V8zRFz8F@c$v!-iRJ7jq_u7fdpSLm}N(Zj$bNoebs@rXWV<Xr?5_bPjp2r<jz4 zIhu9TISw+*HaTiKGDmYvV7|b>VFS~=ubxAJc@qnV5Qky1;q{gPX1)mP`5Y6Oi=KdV zDthnX$kfhc&g1Z67XQRtQNp~Up2?AMy>_NPhb@zi2$QZThi%I`X5JEJp$QW?7HVfQ zb8-kVht8YEtjgrW$n3v{+3=IK{_>2z-NhM9Cc;d*B34n%VG$s+BbhnpO=MCN=7?<O z5M@r}*u|{Ik!C%g<0W$mD6R5<h_DmPPwJSguv*B8WMSOAY0NSp3nSJrYhYR!54Et6 zLxEX}BW?A3reG=NcqThW=8k$MW5)H`_Hgff_F)z&VdkE|<Riu$)x@l}%fg5`zR9-u zDaU*cMQ>)VYu58QUctP>%mqrtWj4%Q5zHa;nE5%<o^xb|W-^O|!k~#+5afk_bxd~X zHVDIPh;Cw51=)}Qw}HcsV<FUp;x*Xp35{Tu0EH8CCdU(I0gw&HtC?IGIlP<O_A%>o z%ws;vu#0(0eFU@RiE?I_2xc1_W*0AJn+eR5*&;Y>TR`~%6ykOqUzs0PUSsCm#k{*- zkNGHr4fF1LFXp2R6GE9ASW7r;TP8s~9ofvxd2K%P&ni$!wW(f@`5c1{^QL+)=5rvW zEi5G*wz{?%aK%iTVxZE1d28)14qG244UtIO;)%teoYl;{o5hRyRCUSjwe@%9=QI0& zTy5KOn?q4Ioq2N|#}noNJ!S(N<^V5dg9)L`HYLo{>-Cu5FxW6psrO=j!!UulDuQ`d zy&m&31{>yC^<K=+Ko00;E8(zhlUu;tTg7D02=X9v2B=8Op2xhhUXS@YgAMb_dN1bd zAhmbF{^EGXQLa6id0XW!CKX}kcWg{5jPsfQ)PcO$SHCO0kwcOB5+jF#-JGXP>LSbn z98Jue9D2-is!N!kuzX_vUfaan$;2VV99hDw{)zcjT@&*(Mh+onu@dI2Pt1F&o0yNV za0oH4s48K;!TO1LV^x#<d?srV=IhL$0`MinlgS+Rp_7@PGVEfWQ4dOiU5ubOY^ej0 ze;Aoe8JR#;AVXSyX<mv#N@+n(W^!Uls)A~Wqq{;1{PI#v`AA1!A0!13{h4{m`MCv& zC7DS%sR|Gk`N^fZsd=DdSQ%0>Qxx*@OB5h#Q!5HmlS@)l6l`Euv?_qFEVaX>E-ybN zRUtV)uLNWq4ztvC)D`lJ6x3@$2P_g$6AMyPo{^c8ssK7QGBYn-AyEN*k*NaWzF7ta z23+n@*Hu@@%u4}<S3c-^EL`eric5-86LWQ;zEfmSRAeYgOt%8p@A*aPIz|QtMpg{y zE&+KL8tkQcDXD3hd8sK1C5h<@&`W61)k9nk)`c#WmXlwufLkUvv7jI`FCD`LU~R>z zg{7%^$*CB!5c^<yafEetY9*op1PbNUB8Jp5Py{kCFsx8#U|>^cV0f>_z|gJ6z)+~l zz;H{6fnl*S1H)8h28LtG3=Hd)85riMFfdF7ok6d{z;ITXfk7B_Z>l;2gOmmX!*3-9 z1}Aj}25WT&1{HM%23~arhEM7YkQ-nj7RG}q&|S$43=IGO|Nqa(z*xh<!@>eO^A)tA z9u&tQ3>v|8<l|^%a^eMDV*nCj01d^0?gEF2gN~*HNq`1VK}%<0;y%r+Zfz`{?aU02 zGhIPyK;xjG`^;c!+?rY2SlXGvXTE~uLBo#8%nS@Lc_)ypTQjQ+NRokp0W=r~x_=9o zJZN~UmJ6ZZ6KX!pjiB)p(0D6Mzgsh_Ya5FziW@<rAls4L;0!eb<_6F>h94ez&`1QR z-3qe<T|a2p;3pHpjWBtb8$tcFE>48JTN{g8Gpifeji6uvEh1%NC;=T;3$liRiJ=74 zg<$~26%#`#bln+9CG<>c2GD32gb$jo2lXTwf?#}5Y#M^rkTI07fM{a~n*&6H2HcTN z1gQm$p)n#%1PNK9ng~h<g%DF%Ks0E@4akik8Z@|$Y$8Z4`21;x01yS0&Ve}&Bs~{m zI*5WwgPZ_X0ZL7ZptUUwB`hFX8N%iO(V)?GWSc;0^*}uuh5!%+l}0fNbOAUUL(pWF zz{xBiHt3*cHiiH&A2cYR3Yz_f%FknDU;vFw!_<S_!@$4*vZe^^jEM{&dN!C{$^oJw zc7o<7AgXN{85pL6ofHg`2Hk(m$Pf&XV_*Pf1xL_AD25Ui5DhvS0ThfN8Z?TJ>^YFy zRiLgeLjZ^Z-$=(0_KleVJl@a90J_Q$Y%W4!5J(}&9A<{nHT7Ug28g8~2}XuM5CxTA z0heFS%)syk)Hh}bFK1z3*bM5LGK7PAt%9IYDu(bZR+ydPFf$*5&JJg0U|?n_-BAxR z0JLfW%*kMZC<b$2%0XEiv@-^j#6k3C&^6BtB^)3cG!BpKZ;;w2V2cAlR2drs0~14O z0Eh++j59I>fGDUgcrF0xIs(=e1frnQpkvj+ZU9MxOk-pS1W|sVAz+3ukU^&)%(H9^ z3_C#sn+#zfY7dwh2wKDe8ggZ12;<~rV2}fiI5C8Q23bKCAjQF3Rt5&p&^IGPFvx5q zLl=Qf3f{!dz_0_t1e*;Sa%2btna>I~G#F$y$Y4ff^Wg~xR0b{t-F?ka!UCef)BFr2 z93UDr^p6~XAhpN9h6aErkTf$xX$w5QLGoL{@<AX9D&K%257NlU5D226@_#^6a^SE8 z=?@02gJ77*0HQ(b#X$ChXg<(=+6)sJKy*8pUCIHX_k-88O=JMkmq2%HGn8_G=q;f8 zv>7HcfN0Q^6v!M9eFZfC#4wQoL@x!+jxdyRfan{-pwuvt0YvkI?$Tx`<p9wjM=~)W zvf*`5Sqqv<Whnhp7sw5nA7KV@z+PZrU;wS*1G$))p|q#IotuHd3AA7r#M#BmzyNX^ zScZw8fq_o|oX~sfL9S#MhH~_T;imS$!_E~{PeJURP=AJ-fdS-sW`@!U^`M*CpjJ$% zPveD~Ist4d$o*htFz4AJ44P7Z8DY?r`cph`w@#_AKo~Ry*`O)dTr{Kp7Q&zz^|ril zgJ#sjB8HivbVmIIgr{eKO$7x#ScXZMfdLu<GwN3fGcX*11jmf}i-_Qu0k_--;fp!Q zmd`=9Z%#df06aM6fb9b%0cM8MIrXsk2XkPN4(7lD>K`xkHZ+E?8G;N9Af1d1VIX}E zK%?1+Vv?1Qf#Dozpq3#Rp)eSs5T4gSaR_Q}Ffs&#!V9!agpnZ_6hI&&7#V`Kp~1t* z5DZEYpf!Gs48c<b85p*KtqcY^;x>f&6|?{dw5*dMSVxF~!5+c{g(oN&85x3MsTZl1 z0NE-AnuB5p%jIWa-~<g(GlYQ*Jr6cC450^J34k08P0kCDLwW&nNH3_bhB}>@p>zQ_ zq(LqLb3lO$O@#~K@ds*JDT1?E2@8l;hOjw6G-%2SlwDyF0aEKM!oa}D5CEcDz|7!2 z5$I+248fo~?*%~jI57l(D3E?6Pb0JkfwXslwTFYWLlnZR9*{yyuxucRY6mmJ5DMWz z;wi$wPzII_Y7}8$*acx85n*8X3Sml!GB7xT9RzPVf!c|QqM$OSgat$=L)aW38Z?WB z>|v1FQn2;_5EUf`@_R67h<zu72^t)~24UV3V_+x(-Lb?FTqX{gkVEo2!lWRONl=U6 zEhdn3F4&^LVo?SLkP=3QKoA9032IV-qXBg7);F-qFe@<zhCs08L7>a8qQT5CkdrPz zm>>$|EJlW)zo0R0&`nAVK^77W44}brMuspDl?@SHA;G|K3c|c80dqb)ph1miMM+4Y zfoNq2n*&6HCI^uN4W!mo5)@JaAW8}}!p#sYC&j=}31QYsF)&PnFlR|IFc^U@24V;{ zlV)J3g)l)>7nm6UqCgfP1tr4#AdvYWStf>3cu<0*b-~sL8cQ-TfRr#Y1cE52N_bE@ zOENG>gWVAZavk`>C5AAN>!w3QL9R0fyCV$Yy0BJh$b=|T+W^#eD3pN&4~Q;?usJ|9 zsNaAbJRr4ApgV^c0zgzU=z1T9;B;9AhDr#tR+fQbI_MG}hTz$93=DrEOwbh=Afu21 z0%1}R$Rv;~6GJIz(gvJTK+=+6BLhLE=R=sFYl`+jn5=RP3<6-&13?z8f-pfADTD6X zVF&~p!@$5WL56`L1*|6wWKtD`33BH#2opq|2QvdehRy(+6t+~3fnhs@2{P0kY$!ZQ zft*_?4-GSU28Ln?n*&6Hre{&YOrC+E39LN;L?wf+0AdJES72bMgfMFr7#JiKL1`{n zR*`{W6NI@<k%0kZ6mposO$q{;1d>GwGkFFENwATDAk*_9%wh!whCL7_$aHP6>46~A z4?vi|6d4#~lt9)a!c3llAqA`_3}jLjgb8xzF$fbxodGigK!$Dxn-sQNk%8eXgb6a# z0&FNE%#;`y3YDN?ro_Nd3}JJCXwZ%&lrU3bVCV(QPXyDKAx42H(9i@(DTw|I5e8A9 z5eP<x01ySjAQd2bpEAf}VIT@Lj={(f0HQz`qyj|us(@91DA4EzBSQd)0%4E}5dBXL ztO7)V#z`0%0zec9gH(WM8FjD<5Ct0jU}OjYQ6LOb0iul|DnJxyjD(RP07QW>NCk-I z)&QFUqCg`nj0^!F3WPx_Kr|?jkn=4fj95TnwGbQ_!651ym>CWVqL&cnYb6GT4`606 zhyn!-BSR2~+5!%t@NLQr47<V1U=Rfg8AgU65Y-G0pzv1EHEv*La2IqWh>;-(6h7su zAeV=;tAV#UGB7fP`>Qc91cE~?7({&mGsC~BF);iFGlM}CDBu_wf<TlIICR2A)EO8g z!OUO~1qwGth9D572^J04R%c)^05gL@6e!pj8G=Am6<9PJM1jV$7#V`W6gW)7nKc*~ zIKa$c5CsZLMus2|)e0632T^Ci%wQ1Zr3v;>lO_YhWH2)rM5$_lMQybpQ`(FS@GAeT z5(C3CaNq_a0wHj|8Uw>Cuy^743ZxJeDNGEdE|XOu!)+iotgJ$k_t>h!z`&;p$}XiI zAX)+($^kG7m>5buV7>*hSv46LKr`SVHo9?)3_<+L3=Cf2=naYh-7g4X!VF_%2m<;0 zB{&G+jSZM<7#V^dDl;(Xfg?Z2MumaF6U+p=g%j+<01yS54QFHsx~{>%05$2S1_J}g zVT_2eA0$JOY!6e1j6)Js2)Z)j5jd`cLbVteE`j3&?qU`25D>`w2c;MoKuZ=tqq~ri z$07&?k^~R^fv0jI)4E_WQ0@XV7#J8pqZptO1JD42D`<H=RDzR@fq@6K6^E070n`}= zb(O0?OQ6^o7(ktM2{r}>Y0#p1&~_9ys3rymhWXHb2B^soYH`D4F7YxjT;*i|cOyY^ zpf>seK?a5sd<+a{`4|{J@iH(R;$vWV$;-g-hL?fi9xnsKGtee0r~yj+3=Gft85m#< z?&ZP^44_`mB4Gvw(3P>E)-$Lb4^_^PfTkWM-XP1s0IK_p<RJ^1Ko#FlIhZU1LxTbX zgQy|{gSHZ+P68G3pb{RYVviC711Mrai3k*qd>RZ4pghG0ihm6T1~YXAhJWe|44`bR ztIoh6ug<`rrp~|s%J*WR*i>g=;8$m002LHJ)EF2hs4y^mRAXQO6+P`L3=9XA85kNs z*E55z232NY_@>0buu++T0aUoXRe}sxgEAn@J)j|Jko^+c3=Cn~3=DTQ85rI|GYBXv zBdg2PU|_I<s(Xs04z!e{K!bsy61<obq60KM4jLw3tI5Ey7qp82A`BijKd#2WuoWtP zQjLM(Jot_&hyu`%Iw-Y+iV!m`NHGaA3nB{{a(|`Dz@V$ez<@0ONtJ;Cqz|SJGz1Sa zYlk)i!&_}g@_(qsz;INPf#I4aB(H%A0c7<*K-X}isXvRRK1P*+Ar-XrTa|$!97ID6 zIHJP9fK5Lx^`QC$G;IKK8z>#LYcnu_-0G{vzyQjwAisgiPgyMn22fbAX)!SHYC+=W zE7VP(xB`VO$WNfS0);gwU4hCHP*{LU8L0Ch(+<jzumIV&l0y4tYcepv>;n~JF#A9y zCuk}JW-n;^qfP~qwm^Oa#Q`X-f&2jS6UeQgat~R(8t8gSZ3YIAdS-0~1|Dq&29Umg zS_}+-H5nL?^?{1o7*JsbHQ<vn0|P$&=;}dJF`)Vn6t<wSh8hE&q5+AEYB4Y%i-W{K z(>0(t0u`yCI0D5POdm-8tU4qPLGrFz3=GKfpgG3)0LP$U*LY9g03T0h&yaW*f9FtN zSHF<>;1I_kFd5>?kds(k!T?t7>lhH=>E{lWbq#a%3xP;LjB)ev508hb@pg>_sS9ys zh%e5_FDgkYO+!)}6z>`o<R1hParE(Y430-KF4)=8$1w;h67T6BpOc@Q9bdu#nGK8w z&jvDN<`tBdFo0x}O4H&~^HMM;uHwNHcO{AG@x`TSX_*xaNu_CNsYO^6rsd?9$HV69 z;#2cViYnuw^K)RMVe_nD4md1=LxNl#edAsIT;fCgy<PnnQc}|rOLI!%LDs=%e~ZBm zEHBC|Nd;>y%`47K2hB!;cJzbI0S8*JYhb9WpR+5Haq($6iRs0l+0J+*(;)tc&q>XL z1f8EhG$2vx%%c3{)Z$`fePHR_#3E2Af~`f0F+YD7S6Ebml%y6FGZYl%C*`E(#+N1L zl%_JI78T_e!9qVZFD1U9C_kk%IW-012zaUi1qLJ<!S=z!v$&)(Cp8|Lh#)pQ`S?3~ z$HV>Y<{1<m67T945(G;%sKE#dy!fKjG=_rw;$qMgIYVY%N@`vS$fc=inHAs=NzN~* zgt!P4Ea21`UyxtSP?DdWnpX^o_2SIjf}GU&?9|G5Na86@EQ3T1I9MRgg17?`t&k~K zu%wS?h-;9ePdqev28TrYxPskL0WljqSy}{2o+TjP=H%z4D}V`<SWnB$No6Q3%`Zt! zi3d3*GdZ&a;>7s8(%hufA_iE(gQW9})Wj5sJVRM(QE_H|9wK7FK>~Ig#NqJpgydg{ z55QR@F*&=mAU-LvIF$hu$HkCv@^$s~4~m2)q4@l?wBl4~ECo9|`uVw{WK&4Qp{G|+ zjKT7Jn4?c9EGa=!PCUrBdHD=QsfDGPMXAs{iW0Z+B@6{cpg6?z9w^CyX4i`|t3Uw? z_9#5DLA(e_ZcvwlQynxG5(^4IDHX*kaAqt@O-z9V1afhLNYc=x4_a`Tna2>Hms(MR z8oj9{kXC6?JS1O$odpRTXrTacT5yPCh$};GVpe_;B(&Z9eOz2!P?HamW=Ism!V*z_ zf_(*cHDvihQ9PQ1N)k&_<8u>}Gcxm1AvQr=0}m=^f4>lDsUG5rtO8$Tf-*D23y}N+ z@ia8cLo7hmj+uvxK`tw1h>tHe1ZPkbPoyN4Br+stBtioRCFr0DH#a{8#Y2z~LMpF7 zu?q<lh_8ZN9bJe`v{1h#rpJRa1UPAc7^y`JMTzC{(3%1%dcdBA#SU^x2jwrY&k9PQ zRZD7Ka(+r?UOFtIz-350Xw@pL5QJw`P$)yvFgTi_i5E=8Bd1RWkZyRf400$WQ5GjB z<|Km397qX^X$Y2@4H8x;{(+=eXs~<w$3to?aB+cYBzXA>T5Sn&4LGI5moR`!Jum^P z=i=jwjll5_3Mp`T3pN-Mwmy!YeyCXj>^bmarHT^B+Tfi0<is5P;-X}IkYhj$h;`s# zg7y*P!5)PbouI`t5c9ze9HfNf9~AHD=i=%Y;^P_|jHrMhsR3ksJT$f-p@fvsVQ~*h z=V<v8>hsD1P(cMY2E}oZAcMIMQZ{0^4`u;!;sPszG>{;%0~UbRKoAj3+aPsg4yX+P zuY<vD8e~6#QXZ18@i-SAn8BWY?mn*Zfua5(=;atV13<DOG($r|4qgT!tb_Of(R_j= zf3PT;9!RQ$I5IxIurx6RmVY1$A<+s8Hmvai3vyT!1RPkPQYXHIAvZG*UNnQ6uE^DX ze0)J-iXj7-GJ;UX5XuBXnL@%65?7FjK=J}Ob0KAN<XRGua^mBQQj1G-N*LnHN)nTD zQeibPmiU9%78>Ga5%22f?C;{~=ME8qTLK9zNMM4?R<Ls*L4>3T)Mfz(0!oC#+qd9+ zmxortpw)QsU_})r*qgiz5QDMgP`D+Kh7H(#uD+fjA@Cv_TKB@j0ok1;;A#ZoXNad@ z@ec7gBnlwyV{l;(PLZH)0oWdtbO=!k77uZBk9YA5a&->z40DCH<iY(F1yIQaRsxPo zgk_)rgcogzdC3|1MGVjYfz%}KexVA^3gAr-3K}k{Ntuax5T34)CPPkYUV2Fe#2bG8 zPzyoT7^0C6YCsm1fSY#UfP$C`Zz@89S1%c2269G#$1)@#L-Gwc48aW*SOo+rsuIf* zGjl+Rjv+Zer!+T@p&&mquOzjI0WFrmB^Q>+L@90|1sYf=C$%g!hXL$xhznsM2Pyy{ zsS_Nkpj?0y4~~A$9{xel@BsJsP`f_3T!31>!TW3w2PNiYCKf{~Ba|jM*a4741acL` z8S(i!DX@fx=p{fK%AjNdRp#j*@8;>_%8;5{P*MqQ{^vp4%;1Cqj|52f0Pa3Wh=7`; z;Q9?=LwsURPJTJ8FBKZ%W@zRF>IgzJIo#o(LJKn#AYlwo-N<<%z8K!;4i5r#U7+p! z98fb6)<gkk6-aFlYQBI&#?dblxncw*_>#oT9EP;aqGC`dyfP;h)gjRSCOAamAuSSA z1&Kw)sgMd99v<NO2p(UcDhAwIWGKi<%*;b{jEYNA@=KA!7dbgWVgza-*y$*(NJwe} z2X8!lc{ZpynxB>it4P9JgMvN%{V>Y_NH-lE=#cUN9uc5|0aDXp@gzL=fJ&bD_<$hS zkdVlDw@^Rl5Rf(T49TTMMW98zVCO<|FShmwaux<F1w{&K$?xJH>V%^<hU<Vf6d-9a zJ~<;XGminBdLhFLMhvBSpmLHSKDo3g9$FB<HN%1$q8ls>aWFWc!(?53141I>A@v|q zk%QS+g~lQz-@$Z4%#H_TJTntem%KEuv^X`z2%IiK13QSOA~<XKAY~1(i@<I{%5<P{ zD@eLvaCdgLQqXYs3)O^_znG;lgI;lEZb@PigI;k-5rocwv5Hc2^h!XTKRs}5s+Uw; z%%GQ&npBz|pO}<Xlv>812T}qN$;?a3N9Kd`m|jsnNGr%}Lp>7)6s{peHADr34KXRL zC^0t`W>HRlGO}DjX;NNdZfY^ISYlCPUOGq!q8*i2TvEiKmz<vq-bSF8mtT^q=k6B@ zT27yw4I3vUNXvs4)-o`_=0-r5o`VK%VH!b)(Sg{~&_%-_HVAWcGccTBW?+zl>StkK zU;r&T28~sN)+U42dxO;3fX?{<F`yWv4#Wf<hzU|pNF8WtF~~fS9uNkZ_YyKw1mc1= z41#GVs5`(M1_lOIeFg^5loN~(GXr!yCTPn$O#DJ014Du!#2=tA0J#t3F3=1XOb<xy zGfxHvQP353AP$mUerVxhumBPcpl|`112ZoUs>cYb|4#q|Ll%++Aax*aE}FWuAO;3@ zkOWj8hzY`=3kyIrEGP<s85r`QYCsgoJP-|9P>t+giv<h}p!;J$?gO1p3{nSjC+O@- zka-|IAp9VhfnfuZ07xB3yaUa@9~Lk$fDT0gnFqQO6QmAg-b|=JKzcxULMQ{nYRFDi z5EmYApz{%stYNUuV1OLf0agW?--R%ipxJw1AtIbX`*30Q?m@FRIRmo(9byW?JWv=Q zhs%kD44_4Y;Pec-nG$B+X*BbiGZ+{QkR~8uZodgt2THFXyEf-CFg!%_FGwxuaC;C9 zQUk(M8W<RqK@2E{$$?Hghp|CY+d&ZyVn8uW4&--O9s)^$)cpl9pctkOM8nbwNJ^xQ zfnfs^0|O{uD}qkLgzf_Yg$c5GM>-f7K#R>mdO#Rt4v0p_$l@#vA3@h0z?Cq=V;dsG z4BoK-VS`9!q)A^0A1Q!A2iL+&Cy*>?H7y7D{yY#5vfqJ`L7jmCz9)r=fsp}pjw@(s z7HBUDh!0W=!^{j^44`}lTBZ-$hk_~3&Cmy32M^kZ0+I)r16mUf+IIrtpJQNP0Ih2V zt@{M=pMsYCi!d;N_LYG6T#O71pk;WVJtQDL=+HdSS~Ad{5fDF^k%0lUqzV)iAbvTB zFVDaL+7kle!`up@nHhK(KwAw!+qywXije`7b3rl?%*+7Fc@Q>;WCo{X5DS8t89=E7 z!UmDd44@PaVnHx7_})DT8$>dL?_LD4Aefm!f?+#y1cMHOgGhl%W(IMFJxKDPI^zTy z|2!K1HX8pa8vi>QUlb|vg3Ome<0~^UFu?ZA2r)1+n4-x;JFa@kD9yTJw9YSHNqEl~ z-0On$)IcN4;OQ8g&10-X)!0lx^bt{90k$U|-tvU>G*I+|+uz{HFic@^uMIX#0_isq zPy}kM<4}UyyvO27aCZ`=*^g-wL=BozSlZHh#-?V*40=A!h7gN#K~4Q+(4;|fZUIE7 zxTGkh6v|F3N`>}Yic1ocv*S}MN<fWtWc$-nOOi9<bMuQ*<H5b;Vvu2=$+q0o+~k5v zh?(HvhK@Qi#K$KV7pE4L#HWFJNDQDljY*M#ArZ8lM~Q)<476>Bn}J~wh_B4RupUZ- zPIY7gEyw|F+)-g*&;Ze@3=El|%{jab44@M%Kqv5)L-}=3dKpNaA_IdM=)^KL28Ij} zt;oPI1w^YcFsuX7Dhv!4p!5wW{Q^pF2W`aRW?%pv0nMb!zyLajl98K%p%Aor2DCy9 zO2>nCuy8XlG=X-?s4y_hgwo5Q^nNJ440Ixd8Uq6_Xdj6h1A{q;R%Ku)gwmihAVJ~b z3OYMaje%h&lztAPRTvmPLFvCxngg`ILxq7s0kl+|mw`bON=JccZUzQ%(4G%928QKO zI)a~pfk}yhAss}kGcc4u>2?sU$iT1yL~AfG9EQ?2K(q=2!(%87It2_A&MQHS;N=+@ zZi3d*^D;1eg3<|~y&-B04D&#=3IoG7&|-Bp1_mC`8g4ZP23ruV%D~VITK~+=z_1KN z^D;0T5o2IrQe$A413Jt@je+4cl(qyNbE3w;Fcn0rGB6y2(k!6m&8iFxzETVfp!i4w z(Yy={EubUg)fgCJq#@?DL1|ggdS6urhG-~l4q6M#%fJu-rL$!r>UTitWpWU{JZR0U zDg#3-lr{&g2jym92!PVr3J`TWp!6O^2wwuUu2YqPAq+|%0j-=9V_<MohRAEFK<GbE z`W<KyoEigzq8bAOD4lCU>3g7sL);7uouE}~Vhjv3K{PJ|!vZM1RD*$mNsEDDEr>71 zz_1rYgTfO^pM=U!*M!)&5lWwg(hs5ZPbe*@1yQF7r5&NPnKlChDE*f}>7`Km8k7dL z^BF;BtAg5WvJBwbkx`ZbTnmC|Nsu@b1A{D-2DOhE*%=r>>xV${pk0w5+7To#%fR3P zrTw8aXn`$AJ{HPPfzqH}8Au$oDH=qVL&ck*bT5=%3Z+*;>8()uAe08Rw?X<rcQAtJ zcTjOqyAQ<Y0hLR#pyO~E7(je2DBluFgYKvUiHAe^X;2z;9|1_b1<Iccr9tHzNPHud z4?g!tmVp6Or-Q`rLB&Cbpo92-pnT9hupqt^sC<)UV9<op7Esz9N{2z|R482vrE8!x z=-MHWIn$v0B~Ti4i5f^8bSVIc76k1{lx1L0fYQcL+7U{JLFr5=oe!l;p>#ErZi3QN zq4aDhy%0)+wl9M01E1+9%fJ9WF;SL*VJB1`bP6Fz{xX#R5K6y?(*K||=-L2~I&o0B zEz7_l3#FBzv?i3+htg(H+7n9qL+MZ`9RsEFp>!#fu7=W0P<kqqo(-iJLh0pDdM%U& zZ|ns53(DUQrH?}C(@^>%l)et7??UOvQ2Hg5eh;O;Lh0X78k847;Q+ch4n*^Uwq?pP zFbG3wDJZQArCp$OG?Xra(hX30I+R`tr9qoULFR&v9t6?1q2gblG&86^1mzbftp=qH zp|m@c4u;a;`csyHp#;hY)uSMDCqnrPp!5bPeH2QchSC?I^mQnG7fL^d(l4R(dno-C zO8<t^pt1;L9|vfAC@9@PX)`FD0;P+gbQ6?b2&H#H>B~_1Ba{XW;DF5K2kkYLWnhql z(z;OE4N9j#Y0y<2AoV>^{wgTF6G~r#()XbBD=7U9N;84>l*%$N@Ih%QC~W|x?V+?E zl#Yecxlp<iO7DcyC!jQFFDJ-d&!GHoP?{TbQXr_jhtlFuS{6zxLupMYtq-M5p|mxW zc7)RIP}&ztgZ8$9?2Ux-<Dqmal+K3Ig;2U2N`v~4AbrhHekYU$ogEGmp9<yAfzlhH z^m!=#0!n{@(gL8v{A3vz^q{mYln#T^B~TiCRHZBf!yG7o7nD8;rC&g4RZ#m(mVqG& zO3#PVpgUne?h^)`5G%{Tpai82p)~0DLy){blphDBbD?w%lm?$LE6czz3(5!GoCDH# z9Lm22rJq9SFHjnEX%tAE5NMO8ECYigls1IYj!-%fN+&|;LMYt`r6)pZ@PV<i3=A8g z{DV;XB9wjzrGG$aF3_=hpmqa@W@2EFgwnDgT9Sc54MfW_Fc^Sn(B?4^Ez7`Q527U* z7+gTKECWL%luiNBObiSeP&x-hOENHk4|0`dV5o=kTR^ld14AE(mSkX<45DQj7#2e5 z^-y{rls*NbnHU((LFr2%T9Sd`Hi(vGV0Z?iB^elAgJ@X>hHoHRl7Znjh?Zqw-~#O@ zm1STMhtkR*nu&oy9ZGA1Xh{YJ6A%sZABYC|4@Ao{F!+OLNd|@x5G~8V06s!dl7S%w z$}fh}bs$=jfuR{h%Q7(ZL+NQCnu&p74v3azU|0d7nHU(>K<N!2T9ScbCy171U^oJz zB^emN`)p+y7_LD1H$k*41H%&#Ey=*}5=6@~F#Leh?4W*vEa*Ia1_nk+1_p5`A9Nxi zh;IPp$3f{_C|wDq8$dJ@14Ap6?u62lK(s6a!+a1e!@#fvM9VTTT!PZ~Kr|Br!y_pD z3`9#ZFuVuRvJ4ErK(r(S!+#JBiVsl#MUsJmA4JPCFi3%DNd^Xa5G~8Vpar5O85s0I zv@8RIJCsg?(xp(k21GM4Ff@W_83u+n5G~8VFbPU8fYP8_b{Lr$7&d_TObiTLK(r(S z!(I?A%fN5~L`yO-oCVRc3=B6wv?K$=T@WqH!0-Y@OENIL1<|1J2GNoX41YniECU0F zFeJQrL9{Fbg9M0{WMGg5(XtE-8X#Jdfk78U%Q7%nfM`hu1`jCh3!-Hi7-FDw29z#` z(oG;*l7XQeM1%4Th-PA7m<*z27#QY&Xjuk^l^|M%fngJfmSter3!)_%7!HAGSq6r) zAX<`v;Sz{uVqmxirEi01Sq6sZQ2H~7W@2FY4yFHqXplcayNE&g2t>;;Fvx&tSq27m z5G~2TpaY_17#Ivev@8RI4TzRxU~mM{vJ4D9AX<`vAs$4_GB9L=XeI`Rd?;NEq9qv^ zYCyCs0|R)cGw38=D1SPLmSkX<1EOUa7?y)*Nd|^BAX=7zVLONh#Vd%GWnef7qL~;N z&O+&nAX<`v;TDLNWng#;q9qv^UV&&?=q_nV28LfyJ}YQru_OZn7l;OxlOP(jOBO_f z{0*X+7#Osnv_6QIWMHrW(XtE-&LA2T&mdZsfgu<~OENG-fM{6;2GAaBP`=E7@<Dr@ zLHtT6zZFC?F)(yO>0S^m$-poTM1#sp5G~2Tuna_l%6$+m$-uA;M9VTT90bvl3=GFW zv@8R|MG!5?z;F#j%P=t92GOz%3~!+H4-n17!0-o3gN9K-?%@QD8^|&+h=6EG1_ntG zEz7{50-_}u7&Jk&ECYiHh?ZnvumsVv3=A$HT9Sdm6GY1}F!+IJQ27a^3!rp0lx~O8 zGokcSD7_I%?}O5yjohGm^A42%0!n{{((Isp=b-jCl$M9m+ECgYN;^a804N;?r3;{R z4V3PH(o>=IVko^8N*{#MXQA{hDE$IT|ANwNpbh1q@)=6YLup+oZ4afrp>#NuPJz;8 zP`U|9_d)47P<lCtW@2Di4W-wEXh{Z!9Uxkkf#DE{mSkW!4x&Nn0YroH1BjMkVE7EB zIYIlyWf&NQK{OL|_d6(^gZMHG3=UA*6GVgRMG!5+z>o>08$q-r14A2#W@2FIg3_}= zv<w5oMku`tL`yO-><7^@3=Ef{^h+rH2}Fa+Sr83!4`|#8RPKOiNd^W*5G}*NU<#$Z zp>zm{29+})8g!yIl&%EPk_-%uAX=7zp$9~ZF)%C#(XtE-TcGrI(0BxN{2f$pfacOb zG-zHBM1y88Ks0C^A4G%B8UxW1P<@~?wm^K)Sy&(%wC@H)gZ6!aXdS3J&|DjcZvy38 zKxrE&4Vuda$-6-L;Bguz2JqYvNE~z)5QqjH`U9dPpz6Txkbs<51`-F`Bf-D`vj=RB z1i~E9VF8R13=E+8CXjmYT&e^E1L$&T5Fd2iFi3s_)O^t0<sd$I9EXX4;SES!f`I{a z*f>Z%=mc<(ya;F<g^7Uyd;l}ZekdP&<$?qQLkN^#0HP%r7)n4i=$s`GEy2Jr1w?~x z2?3c8y6po>!@?cBGN?!|Uta+N42=xT4NT1}&5acl48TGV($K)b%)~@N!O+Ok(hMw~ zz*X<+;|4h(7(4~Uz{r3)%jW@#GzLhRfo6227$65SLsT;`gmykX&H$R`>kMEqJP><0 zwDW0rSa9<jnQm8()&rfcFZf#oLAOnZzUU6(XuZVW;tk^YzUX$e0o~p$3F5`R=q^_2 z{Lopf(OoRldC2luXR!)@OC{(gX>Xh6pN#x1Ye08{9%%l_#6R^wr|TO-FmuX*PS+2w zZ96Z6@AGYbT;Cn~qL+oO(@CW}^hLMthi)f}&RYjxade1qfCb)kJ6Uwda5OtvFm=1W z=nl~6E>N+&#@})qbob#lv6f4fTllw~>O7(PfPsO*7IfPTf6GBe28PZPs-PIP1qt)F zfNlzDeE5Tbfx+;<;qAtsASwQqKMV{E&HouYfAF`J{r~?Td{;2oS^V2r*g9`DA7niE zh^_g7z2(nd8G+6dr7yZ&Uoie_{0+KVx3fTnzs>Xi|Np(+p!55>V_$ThIQT-S`GrPz zutj(5hYl7gkb7g_bO%^~WVm1gAD{vp%`a3sT!fiGzKjL?(ubL;*~x<Cr3mOwU*8wq zfjZre7M&p~ESeWU*A#a<@^rGO{14=4Jy2rU9s8o&S*FujqtjWX+gYd6*`m|gr1^*p z*!j_M@v(<HPlK-hVQ7BL|56!bpzDj~BQm?J7#J8p(l3Ah{r|u7GH6hVq4_cU%dh|b z|JVEkzOTAOg{9jWY*jGGs$+0_Ue5<z(G5yNpliHAN$j`_=n@MChT|+MpsDK@fBr+R z`i7|ijoBip0Tm$_YCvmNkko)COTlV7PlNr^{8%0wFQ5x|7+xm-1BLytxYro@CSqYR z=&in>3yVdNZ#;(GYYe@kSPc1&VsYeajwKKm7E3}dES7@a-3z|k7j!W&<icWUR)}5D z3yWotxLgbjvU)h~@|A;LB@ERjkGO&tbS<$0>}Fv_khmxGo?ayo2j!k#QSf16pya{A z_z*Pk#lp?Nun$xcfi4w-)>=&3peZ%jJ-whTjku@xB0K0xUXBt@@IAfPK=<#mu)hIa z$;-%g3dCb#tp+LKU@d25U|{B82Q8mqGGl|^(|ZV{2y#!aGUzfTEcf&}fvySe<c8nV zE6d3Mzo+*s=vH6EJ-z!tch4g3>CFRO+l#oTHwbinF5;fv4A8Bkh<kcBbE4eSy9s16 z;+|eJ9+Z1}vp}+ldwOSpj6&Sg3!1w`x~CU(?-0^Gy{e!afD!lfCW0=xRe|5r`xSI8 zE#jWuK9DTpp5A|;3xN^$^ezR-BJSzk0lG~OaZfL3i#*ajy$?Wo5%=_hj{Iju+|vuX z`x5D%-Xf4uh<kb~L0rT=y$v9)H~gO7b`TeFPp>;D77+LJ>Vkp}>7HJ1P}ptZSiyq0 zr#BB2Gw^$Qn?NxEzo+*BD7X%Qu4@6^OG?>2y^)}bAN8Kz63~Tr@OyewK?*`4ma#A} zodDe;8isOD?@Q42YVdn{g+RK|@9F&uYG%Zt+|w%wx}8PvIB3jT5OgaPlVBVu%P=s3 zrVZft^k#u3Q3S7n@}D4hyjbuFXm(k!7?epEm^wi>tmT7l<rQFID|*e$z##Y?ly?O| zw>B~gP6Oo=!3#{FJ4!)!P_qbjfC5qwbe|6!1CuuB*0|ao&^vuW(<$5vAcw;5^qmE| zM-qOgZvaR+;!a;7&`F=2ppz#ASlA{fg05Ti2K#9lXx=~&v?z&5P#bi1pCB9fe$*wP zC}m&*-GIb4*MtRfr*At*-zQMrBnY}<l~GU^<Ua<c7?9~pb0Df#fTmmoH-b&)0*$T; zg3gp=VqkIsMb0|VWl=()OIle#m-=1;EsYUe1sd!XQ~*uY3mSnA)&yVh%OVJ>;aCMh zr?IjL-eLn?FZq@QbV(~HggFIwbAT>s6}}A$R(r-BEDQ`Hpi5dcLATz{2L%S=l2#GW zC9Q!ViLIb;iC_e=nUonsLF+2mqM%&ZC9NW$OIks<)^bXM(nm1(23ydre^)@)#YQuN zYyjQ*Cjc@F{gPG@&?T*FK~{mK5tp=zu&`w?9s^0-0^J9QxTIACbV;iv=->~q1pJa# z$W^+COIksfNVAnduRi7A{0A}xaY<_mC}ATmX^jV^4a6m_9w6BoMo`2vDN8Vj2(UFU z*2ArYU(yP(5^+f@*b9hDTEV7tFoKc+lQIv;lpaRVgb*j#;qXgZA*LWMX$6}y34CP> z=-yGVDN`6h$pmDI80eB#Wp)MzanM{dn;#?SHW2X^P}s&ZhO;s-h))6qdn)4;5c?TO zJev^|z~YNRo~i|hskj>`!aEs3!6=>&^7~Y<{}@C-m$YVruEqt$8k;L4DA|GH@(U<6 zP6s<56ql?Zb7wJv@)eV^0%s`5xH(X+4ukM#(EW$=7(vcNzIhdLQ7Ak3z9`{ZkTZWV z&tzv{kN|sjGdlx=B<SWw$x;vt)HDO#Bm9?HlY@al5Oj4KgJ3vl{z$MLv|2_m1DyX9 z*+Dm}g6_;_6+8%Xh9D0MDCzTafs%e7DAEL5*+Dm}R)H?|7Gwp@{tNoDfNoX=t#aiP z1kKU%3)V4$ZdQHF09q3u+y@FO0Tz&pM0nWDS#mfS7&yy74z^?gISv#e_Mi~42Hz+P z3K7uCA2wSSQ2h@oxy5+cOj-Ik7#PI&f-;32iz$d51qy0MmPXKOVi5s0SC%UvgTa~1 z9eisbJd=4sxh$MDprH1KaydYy2?LuilnYK&fh?feGfuE6!7%4RvT7)l3pFJi%7vN| z3FY!Ii14tLumpmx#08sD24=(EQUT?%h=T7pt%7nvmxY3&Mnr(Ek!3Dib2FF?*W3!_ zvT)XdJl_uGa&Uq!?_%qOazU4^f|8vG4_hzGEx1|zEbX9$NU)M;B9set$Ydy&1LXec zEP|k`ZNcuJ$%0Z~&4zNJ+U7#JU~M~DK=})jBX>hXm4VX$6#skSaSP5x`@zW;6t^M* zY=>DuNrV$zJsyQ?1Fe=|I}X<dx=N1iBvh7z^Cu|5oQBHsFo-Cyoo4~f*KvYNs*6x{ z43LuQGE^N4rya;GS7DZOa)HwLbtspI6ExA!b`#1K;0y$na<`#e5zfh=v~w5AmEZ(< zmF+$Yq*#+-5c$9+$?_9)zbyEqYeg1NB@0U037{ma%<=@3&6HU<pMr9;K3FBFKmuLY z#Ad_-%Bf7sJe;6geAt}8Sp;<1I5?O1fs;OyvJ59^Apu(yIGuy;X9ZU@u`G~VRBbqe zKs8||)O`+|paZknvY}iT&J`f9=0dq1oUI^d<U_eWoV_4!Aq%Jx!K56(X$`8^s=--- zNjU^^FKitPD19<1CveJvEb3wj2UWnzDV)Y2#Zy>7Cn7T`mvDkBs(Ija#|*lk6?6wS z+d{BS%*s8CoC`t0xCF|dz{tr8GHp4OKZTKV1t`>4LisZoIYU5Ewi?Qx!^k-wRC26^ z@)t02g4-S&p!_9_oZ!~SCMbUeBPVD!m~9J`zlM=h4U}`XLHQdPIe9@1wFBS;55CWJ z4aj|Gz$uwo`2Zs)=&DM#2jC>itbBoyft{t7oq<6ZbZH*jGjN)dG6OYaM8M@Ps8IzP z7Xr~PybKJ|dLTJr5EC@qCId<hjKZMAz!=29&hnp!fkBqh7E}-`g7t&+?qy<N0NvvX zIvfk4Ujd{awCqVPC%>G5Q3=$_>;_%U+5}p{1Lm#<Eu03~dV`mNL0%6uWaR<6@es7| zUfu_^QpOWB{wB)Ez#tFGBaB`kt|ub{gIqQPqc_Mz&^jds#SdHz44^x58CfCg*TMH+ zfdqJ`GcYg+G4O$$r36}23A_JF3AE@Ke*YE7Y9>0~e+3<V1LYjhaTFBYe<jRln{FR8 z!Cu=w{rZiy4sH%P%mTaCGK-&J=9)K+LwFA}j~BDg1ZKV_J0?SMS7xqV96l*_DF#;l zF-Z>0+-aa|VT3unPfg=^KG8PaiP`@Iv;Gr1t0)iVzzEG)=BOr)%yj1L2qqN~CKW+u zGbR;ACP@ZHMz{}Bb2CdoyGx<8t{qq=9<q<FhygAP-<KE;Ix|NBym1w>>=vpdJ}sxT zI0KX#K<NqJofIH>*xd@C@nV>swMcg=!0wd*$${F;pu^-rG$?(54$%kEAag*+IfB%{ zFlaSB((MKyC7>}OkaiFaT09TZ4x&Lx9$7m`EoiwQ=xA{e4V4Fb31oaJ0|SE?s6=Hb z%>gZAgUW+OkU`Q6pj{qN`2r+)(8w}a9<)@j1vHGy5Cj@!?uRf>F)%QwfpQK*&=W=m zhR+ZtI}-x~Cn%pW1i_3#I?WGc(j&0KaF8C*xHBU|I7ko3eny6HgdX^@iXc6p(wdPW z7({_;I!1;-5Oox6QZUG*{}3j^q+o<e@FTOQGB7aA20K0wv;zZV8Y4sCW+ny(P>3)h z4vPgf03m}il6(vdUcAs7Ofb?5))NFlW`To^fq?<!_WcYD3^2#Q+y`<pD8P<0Ko)Yt z)Z;%G3+>n|$QcfhEvb=?zVK6oAR?fXF><gRa+P0Nf_};s^kfq7vUQY96kmeayAA4q zA#E{+?oS7As)XnPDL~oL3fT~fy6GCa`5ClFAAB+uWP2yr^`H}$z$bVW<>!~6ZhOdu z95V$zMx&Skyn7vVq*Q)#Nooo7C@HWJ@J-90J=l<7NKVYl&&y0s%z<Qi_!a=z=?zJ# z#U=5O(-9yWpTSN;-BF6X6BSatfX*I)Z@R~#1GE(#&1+$xqs_pFM?p6rgCYogbO|Wn zz~>Qx!m$K)4i}!Ip&-u9%+F&0=}3hYdGVmFp^&}l;L`+9A_H`462=)(uss@({T<+A zp)xYlp=Swzy#)_Z$To0@pFl28LOT8l9QMQ>`~=xs4RI@EZwTx}Cvf^hIk*7tK~98D za4OGCDain*Ptbm3$oWjr(;z@qAN(XHq~nypUWUXyeE%=x3=q!{S6}FfW?<i9J9w$M zqzH7h6j&Z?63W(bNYEi9A=dc9&c6d4nCFVJ=NX|CydfE;65<|20)r$5(6*AqlGI|z z@kjB9V~)TMLA49r1jyzX$S!%%eizWm0pPeuDoRa+AMb{85E3W_fHEcO(MBLqa9D%( z{ew+_)x9JgTZHg9#NF_yK#BzL*+tOu7?QK0oOsagDsZ-d9i|0#2sG8fay`hUU`3E* z0nRR90<;sqG%qt5bW9Xz$8|h748W-foL3Qh#{)2r83Nx!isfV>u!lgq?VW;L9lcRA zE!6R4sd*)^0|fA#i32tXnye6I9Q+^~P$>d25RtQyPH_SqJpezX27C?;5y#Ph6A(%Y z48}~WXs6A9ok`NkGLTbNP>NNw$cJp}2b&Cb61-#rg#%jVLLC26oSB!NlNt{_91oVd zA+~{I6`WqdB{1knNyHH?U^`H}ja&=Bs}Wc=2zD2Wa)^83i3)nG3o$3TfJ<X=CC30i zq6KU|_^5;+=$RYfWDRc2!cJj<h(KD!&^9gd`3n#qfloz*haGaMj_<S<_=zHEpi?a& z2eN=mYS4*mVD~~QPgo%ZiW5lv3wF43P&_2*Lylp=b%+Y`c`0CvP|GAxrUjog0V(nz zHiE+(UP3?u9UeOnm%&d+0lNi!=7W<f;>;s>H3`Zd48$FA0&X=RDi}yn0xI>uRzN}; zbp8|EVMs+6Sc#7xG(^BWP}u-i3h@K@coeWC!ZcXuA_{*<s)A*k+|rzqOi-!C050c1 zN9L4(4rc^kC<t#+K>`&uWjP1I9aNr?S&~{@keCeJ*$6LJK_~BlPE1V(9S;Wyd}v7o zNkx$O2A{hDQbyEiCs?*%LW;*Cy<`Tc=fJHRa7ciHi8=?CfQ<tOEIccqo@fY8XOIT0 z5u`+gg+mE3C!2t?BF^(lz!sw>Tu7aao=PA^AS~J;2?HF!Bp+-txK1uHgq>W1eC){J zJEnvI+c_o3-8)dn8`O0Joo4_Z9tUw47#L)<7#KjkZ}6Hf=s5?Vb!eb|C2TAJtQ0gD z0A@f4(3&+63;moD(0+Z8I1Izofd-{O=E1~4>cFc;paL*C^m9sfvM?}!dbUty@RJhI z&naoqf*h~{@&{=DBFJ8lKhV!9xg^BEU<9)a+`)#JjDAi@ixK4f43K#sb71D7pHspj z!oc7LF#=42j0R!Q`3WEz(l=*d@DgD_IaL582hvc9<OUEwK?JgH4#Wmwki8%pG%$i3 zZ#_nkb2~up1FaVXsROyQ4b42z+GXUk2VnMs1{h#$kog&63=Bx;!^6WFbORi+y=#!d zg&!%stVFYSq8P+|AhSUjW*2DhCbD^3j3DQVfcya(Jc9WHbp8lT4@f^~jV>q+f!H7n zlRE~r7bf>mjDaB%6d)i)P&ts=i%>RHn88Y!0qeOUx6stZA|F12BnNUUa+Uz8dj&Hb zNgc>;SQ-FHM`$oGBrq~CfcDUW)^&pX3(A|IFhMqNhb99<5=a9SgUo?4Q7B|_dY&r+ zax>;R99;0TX+VR2j2P!&fF|$}&Ig^_f#8A8Edh-zB1D)OKq(BF4+?c;KFAhiJ}5+y z`C<qT_?#3`2GE{lklR7yprCUwKx<oJia_FsIvrdw!m3h?t{Rr+fS$35CG;=`m^R38 zE!r^&48K4lfSe2rHlV>rZUzP)5Y5TJ5DcXwKm(wn3=9b%J~#9{1WpD9@OcQF3=E)s zzf7VG3@uRkDIl7Yfnhe3UI5h(DhEM(M?u+vQ4lm|%fJAlMM3FP5RwK#<C<9aaSJjq zfcJ3=GJwMjqz}BVSCD}LypLOu0ell6NF2P6TabYPypLOufdMq30TKuA;}&FK0Po`# zgbXo)#KHTx1sNDXWdVo}-p4J-z_1nSF7Q5XLCCpDAo=@HaqvEFK?Vl!K5jt<2Jk*^ zLFhhiK?Vl!K5jt<2Jk*^K?Vl!K5jt<2Jk*^K?Vl!K5jt<2Jk*^K?Vl!K5jt<2GINn z$R5x@Er<s1;}&FK0Po`#gzn=OWMBaA;}&FK0Po`#WMBaA;}&FK0Po`losk6!e?jOz zZb1eH@IG!q1_tmxZcunZ<-z;7LGFO^LGcN)7rc*Kkbwcbk6REj6blju@8cF^U;yvq z2E`+2)<+P!j~f(EP(FAcH^?3+AH0uSkbwcbj~iqkR2;mI8x$W<K6oFuAOiz<AGaU_ z19%^|AOiz<AGaXnTn&&r4nox*htg-EG<YAkAOpiqDE~f`ehQ`EK<WQbnisUM85D0& zS_?|sLTP6x4c^BMN^ej;cptYQ0|V%y8<2aFpyHtET@W9<k6Vy|p%E(H0j0tFxIzAc z^1=JKLH>gB4?*b@Q2HE{z5=ChLForj`Wcjd1EoJf=^s$~ACv~Iq5!!IygwThPoOD7 zK?a6IC|v-h>!I{KD7_s@Ux3o@p!8oT4Z6?=WG?999uTbsUPH#f;0&b`p>zS1?u62y z^GiVLw?X;mq4aGi{TxbvhSL9`G&g7&s2~G_IF#0f(l$`q8%jq(=`1MS2c`Ey>BCU^ zB$Pf6rLRKi+fW+3>{O6};W?E57D|7H(m$c}e<%%FX9MyVH)y&Qls}-fIFy!!(#lX; z3rgEVX+J0(3#H4TH0Uy6khwFU{B2PBD3k{8+Xj^bP(C+kAGII@18Ai+NM9n9Uk|1G zp!8ZO4O+<uQYQ^ws>Z;e1*I*abP$wIgwh32x*kf;fYP9IW<cg_gYu6;=_^qBF_iuU zr9o$`fYeKIL+S%fC~X0y-Jx_Clum`x;C<183=H6X(Si&Nlc3@Yq4WkQy&p=SgVJ}Q z^cyJs8%je~@-Z+-f>-o0K+d}XmETalCzJ-Y=Roewgz_t)bSIRa38hy;>77veB$U1h zrC&m6240B2d7w1tTpdt7C=KE>F)+x3XkG>e4G=BJz+eQTc^MeYL9`$PgAbGr2hmIn z4AD?J9z^ppFl2yeK?a5*5Y5ZL&<Lg5K(rtO!vqk`%fK)dL<=x5%mdMa3=AtkG%o|g zS`aPBz_1-e^D;2(0nvgC497q;F9XA6D18$|3o<Y~0nywH4F5qis9pr^zXs_C)tgKV z44}3(BM;hs9UjQu6Og~b?F7)e8<2W7NP8S44sFH2H^9L6znEd)|6*opX=+5|{+B7B zhBngv7a4Gi7}gSl?tcL}47UHJJ0QpKWVb^>=TprK%|G(%SevcbOE_aYPaK}mTcXBb zc(S?5f+LoH%E8VPhkMIF`)7hX4|hA{bTc&nU@HkI6K(#%UXt7VgR^%V$d(ehXwbHr z<{zx3-@2PYy$xH?+;TMkv;(pH+YTJ=yz!#*|NsB32THC(q?wzKfSQoapv_6IFHh)h zzQMr2(0ZVB2c|T0Gia^M>vf$sUbuqIDBUyR^@QFnpuH9hy`T%>!2S#Fj^*ff<*~d` zqS<+{`6VO&Ho?vds-VU6%?BDv-ZlK<EzxQC#Z{u-@axcolKh5Wk4m_rcYr4SW78%a zZm48zDE+{{&5_AwMG1?|%F-v6H%qj!8>0;}My=u3p%TM}Uys1yRl;g`AUYOe%2y;) zUPgoWbbw`AODDWu)lkXU+FQm@^4##i>vO$jNbV2sybjut#M9~frqlI9r-%w<Q^?O= z6AR1lrTQ-yFfcImI_<ZSEYt0Enr|anrq=K)zJ#aYmu_zv1Aps61_p**pzaIfMay#~ z{`}hndz~)WaF(BGxm5X_f7`8Hpl(y=4aBaYl53qeHZddi43!*fd<@<%bgA(-c(>4$ zLkAx*flMpiG@;w|gXX{P&^MhswlFX-bZ!8}aOVWj>6gt%c)(r+?XfxB9s6b%C^@v= zE@cHXx?MjsAK?MXy{!EE|9`jdn_Zx7cC9B%pY8(fe|vool78U(u{vE}bcQ~G`JUPJ ziKXik{ua;{KhU<JS)fGKJqdIwsO9C(&^INO+OAJP+p9R54|7<?zA4G?E@tU8fdrkk z>xa(c#m~SyiCmv_ny7TTsIY(owe>*h`EKU!&=;Lep!Ctn0@2VN`a-kzLuV5xWp=wh zVf@kAbb^6_q1*LCXA>x$qU<(;SlsRU1Z)g$b={C{NT8hp;9w~F^Z$R^1h9WQuLXA= zhU`J>wc%<#P{P;U4BEU0+Hv-YiGjiLJAVrk69WS%ez%E%qm#c4wDbX-4EWnX(G5-t z{B5AK;2M6#^S3NxWMF9crOV$k7tFBcZvkz~Yxt$l-_i{hu?MGD{+3!W&x*eVw2iOf zmji!GHdsUrDjy5x+48r5w*58y(&lgR28*ab<!!+{9sU;3I=+Tqdi*WgV39hgyeycf z#oq$jR@m@Moxg<}ETRFG2lYA{erfWzd|?2&IGVrZHJA|#mA}itz|eAuzaxN&f#J9- zC_yqbA7kt+ee)8u&#~KC<rsr%ZvbQS0k-C5@Tsny7p<KYI)hdCn^~9`82Go9zV7^V z@D)q*FD}Ug%@2O|x(JweF!nk!b~>wc9)jxWb!4-4R^V?2rQqgg{LTNkx=Y_k9%x8? z&ENdsC;v9z*S#(r<{eDEPK?dD9~hy!nrlD&?{rq_bz|&weZ$`p`tSe$Zr3;b+Z_IP zxW4XoR%t%K3Np1R{Qv*|oidQL)p~%x)&2kf|IJ5a3=e=3!eO|=VyBi%6@eh`F~$yo z<^v!XLT$4A&fm)T@Bjbf;B*1XSs<4(9B&5g?F4a~kH~-xLs(NXmmj=Ia6Q^4!ICiK z4T2>Zkj;URje(^Tx}8-z1bPD)LE*P8jIkqtu{VGT!eQzNVCoHEhH#jhkFj(FFgG7y z>2y|k83x*BhpMyr7*hu*R+vEYW|;CQCO02r?g(INKEMo8%n4Bp3A|zna11LnAAkiq zNXhFz$N^e<=jFP8V1cv=&}_}$G6xhH!74BHATm(#3H&Y1APH}kmyiGc|IfeeQs)Ik zNqF4#1E}ESZ<!6+B6tB&Bp!DK^%WWTTblm<|KIosTsj_T`~^yk{8J9}vb2I~k51PQ z%?B9yTjT!z|NqkS&;S3R`V*ADJI{wfb2v|T10-LUDuJRIl02FtKs!f4=@`|Qy*751 z|2k_w@VA@<6}8`AYk~8>c*~^<$8Kkp-g1mYQu=|vWiD7P-1MSzh!jzJsQCyFG|{0Y z3jP+*04H+7;BT42z`%f#IA(xtWkIBmaOCt6j+{QinIVY-mV8S;bULf>w<d#jN#ahz z;Q9fSA9~A~&}?Zw08U6kkhIZT&Wt7xOQm2}Koinal&I%#o$>Gg|Cc}iK_UjxUI5j% zoyUSZPdC5efz>yyw>w?ml<;-8L86PlB@`4#u5UVjGybqV-s$?GRQKg!(4FG^+l0aK z;il4C4UG>smF6~ZL1YPvJ8*pb?sfwg25t&P=U}x`>jAv+0a`qY8Xurx9kloW*$R!1 zFcto7!LaxMb71iS=D^|u?y^odXnb_La&&^d+1&;zOj-}{Pd#LKpt+WZfq&`&#S5Ka zQPj#EWGys;z=ngY1x1jX%1cI21cBtC5d@b9MG%++auz6p+*Dp(0cAy4$P`O-yQv&w z0OtXSD?8m(UUq=u5L%D79w@!@@+3z5f$L6@?g^k8y!BFveRl__-hR>a2i(kz>z)j% zlR;a#K@F$wZcqi@dE+>X3aHq8QS$?&iht?>{%r@EkBCIa9`0@ct3Oau0-i?!?;GyC zfwWH-tnbKQkiJrm<|88D1|Q5^h;1;_<-n$w+%i15%NCR`F^s7N8w0WaWevDm5ZM7L zgQ8<0?e9=f-Od2sqz-B#@N{ngwYyrs@wb3>+H`k-T3)+Ai=SIh^0)XfGBAK0jp<&I zzyJRmUTQs164$*MWCEmh&G^CcSf}d;{+9C~*L{DjF#%j>RCt1NdL1-9JFCEQF(^HQ zQeo#m9OaAQrRF0%ofp705u`nbQO<yxY^doP6fG#}8dM4O)<M&CunIrkdI+_gsfCm? z(J18%I0%ueN|+PDzJw-ZxILhR?5y&V<NyEvyFjDbFIRz5sk2IN9W+V9Rf3W<m;+1F z&MGf2f|4h=C)5jC^$F@Pg@F^OK=%gF%Grbe<iB521~a=GAo&f{+5?prmdE&e8$r!X zc*CK25ttj${DYCdWgTeC{tqVp7Le)9KbZMj_JKs2K_}ER8Xh<fZv24K=4)wql?mD+ z4;BYCCcq5KV|50I$h(GAIh<-fA^@r!Vh@+zLNq_~;UNi1mEfca2}uyQ`G`PtT<l?l zAtk%Jox!ec4FZ(|pgN5gWVN%(%V3xQ7gWFrCct~lfsqRu>bjs~1wbA|?hnCgPZ>z< z*~`P#>H7lIjshK)4)+Xy^Hx>{2DsOuX|~f@<#krWFE0Km2O56y^0$D-wp$MHx3YlS zpojQd44FW!&PV($ppJ9vfBse@&=C)aD6j>$A;mx~P+zDFM(Yd`BA~E8?g~0ogTe5> zW$BBOEdFg`4ZjrlTR|Bce7*#Kiw>k70l8ig!~{o*wX+9*A86YrxFz|ap^j03zl8~O zl*5e|yCEe+i!mdpEz8z&fWHH@Ikmg=gJtQ9<F23$&kUv02(}9w>KGgNTV?)(+B{)Q z4Zl|Kw{Bo&V3^SQztp+qK#4t4Fmf`3f)N~zEuc-6&7ef5$jrdd{DXM{e@i=v1xa;? zGzZsSTnF|v7o>awg&OD-R**DusDaZgLic`9VuA!Bi1l(mC=)@t^&p+lW|AW)yqr~< zkqrXn8%Ag-K<WylW_A&{JcTv0A>|R0d0)WhLHr5oDS-Xy#RT>zf6G=71Kpd=#~5Gw z|NsBLp^mYYzvaNc|NmS6^S7J>wH9x@5QJ1Xy$CCs4ufP6E^5gGhd(GWb#4YXKhciw zxC@GNl;b-<oA{9nNB-6hQ1=<Nt&P%_#@$NyLvzi8f1uO=cFhtn6U{YMpfjvcTmza( zL3K?fq;N#E#)$4S*#86de=+KZU!a-@#nN0x)OIL;D=1Hp*HLLi3j%Gh^TBDL^$#Rq zk1@cCtiNcAH-HsD6hHs-|3A2_fhm3o6M&U(H_!#vfwiM_uTVNk>wkldL=H+6`J;dS z|8MxUlD{?V_y7Mdongi!7oREE1kEt*MM*Fyoi8m+N8na${0EePF6;!4C?WNuN>n;8 zY(ySW5`p%aPQv<32M<1EV*J?Y`{AYWZ*b2I+CSrOwf^=0|4TQBKX3*GGp0OlS6&0z z@D0)4Z+;`u8T+O4aA)a{&U2l$e>$&s2h>;xRFp(@H-oC^PNrTbmhQ=5rgKf}r3(4h zZ{Uirl#@Bwr4uaC9s8xb^hbB?pUyY2hYb(3{x9Y21ZxH>eEp!?*#((@q1T}TH2l=- zTmu?=>UA!G4K=kMC}Hgmu6f;Jc;GlQsPKEe1X55TyEg;m-pk#g0w5<J139?^)HwsU z+-HEA2(CPx(?HFr&bB!qE_3q_HvX243=9lqhM?hDU(oO@q&zLv?ELUz`BzZmmA@5q z`G?`9?$|G#7ZAQ_{=v%M0^0Tl692FZ)Ru-zzTErr|NqVpFVesUlpOB-@S^$)$gGkb z-TOepF`x>xo}GcA+s~o(B!6oOI|D;=wEz=;3ux}D^TUhYmmt;rt<mhzLCWK9382Lb zFUvs{e~B7Hx3^5|$x^0`jNNVyps)d*ZOzbniN6(e5eoQhB`Y=thVC{{W54q_=!B(~ zMQjWVy^eoCjiffvk;b4Rc@i4~LuVhTF7EvBVh7lX{4Ii@VVDmuPJRZvp@r%H|Nn+3 z!HvVt4=+H&0if}=H~;?sZ{7#e$;#h;A5=WFfjIwFT0!;ugw78yGQU8Y()=xlK+<k8 zy#ar^9sYEN#X!t*OL(~wB+&*L$>whX4OVyW1GyONo0p*0Y3GL*j!<`0ffP>zhu$Ur z))<iYKz`?M4P=9b9_S?K?y#J0w*tr@J!i8OCx44N8zK;S85kH|8i7pO2Rh!XyA3o{ z-dX#C@kgiYl}^_;owXl8DX;TGr;SQyjS9z$%P;=_-xUaILH_t(!r%OYaTjRGMhPpp zqXO&gKspm2VBMMXA0Q!j0#q=5*bPdqFQmWz|9{*SWG4eC_}2dY|KGay3V#b|pD+J5 z{)V4i{8J7!{N&|tnau$n$ZG}d3vT#%h`(hM9|J?f&qw?%@f-{ct+yfLeXXm(q6+*i zfkF%n@P0FY^8r2vhL)539pzBr<BS~~pr$0eyKQ*ey7tO(aCa3HRi%wD?}Az~^FVIv z{Lp!yc^^1TVqbK|e(0=y(<uWA2$s$m6^<9jp8x;9%M&>;K==5Ru<ima$-og9hu%X1 zV>f6l>cb0RP^vfy3W8OC{{Of9&EFCaI{#yvFu2+IkrUL)<Vu^s-vT-vy5ZL${+3$; zAhAdMExR}w7(lrNbj~Z1he5}}@^9k?`T0E5&xbMmeA4nal9wmEd<ANw_JO=?cwm=1 z$VdA?1p`B;?;ZXr2blZ7LEw6#^Fyca8F1{vd<To;*Y6<SdIG8lT+bMu?2f(D{DQGF z_CcrXmhRXGma%8}TR>yB-LVh&LB8YSZ~4d!nvr;56UX27j2YyqL;NkE;}CkCY;838 z+b)5{-txB;aDXJ=@wb3Zs&Dx99yFfS($5S|799y33=I4085kJAMX2I+M%M>OfdNYE z;PHVN&`2O;e4zP1FK85_1vIb7-)_qaI?{}jzr~W5fuR#t-t)H?aDl|xq0>bCEuh&! z{`QBw3=FOR(<bn@T7r5FutA6k{LQCCz{$?=<S_<=?$`$i>nvl>fUIj}hLjtiz=Z`~ zCp?R+c?$`?rJ!mIH1utF036KCkZ9Ni+G5NPItgx1cN-{{I$dutL-MNYk<Je=^I(w? z2Q@AH*Z=?Bp+^k=cgNm1?g}bN7@A)(c82b-j6K5N0$NMRzm3^Ofxl%NGXsMSD973G z^0#n6LbesOCe-E-e~UZ^1B1;Y{+27CG!lBC^%5xjTlGPr>ijLB(=Ct!+>is*-w+11 z;6dpVBy$)#Ab`km|1D#WAd(-{W&Ew6PNU&TuwP+5LWEG)8%PK>|NQ^|IC$U*lv@#| zyw);2&<#$f&@k(s1_~%pps}cQet7ZfBSgRR&;S3s!)kh+{&c$4bUXd&4vXn*16A5! zk(h3$Kk(vM>gWIe(D?6e0~fRh_*+0d!0vr_K(meiOIg8fm~L<h0jkVf50tXBUMhhK zJBxt&YwaKl!4*&IfzIRnt@S@aH3ev}h=ISg2qZZTbjupJj0X)jmHhnwA8hQ)te^k? zcOHLzzq<{j8e~=iNIAsVS)laiECCYr`uYF=E>O+h`Qb(IBZxO+e*FLc(j4RgaJRU- z?FGoi2TFusJ}CtsQ^*do47AYk<=-Fw|AT#g+${lg_|8k2AOHV1S6OiJx1I-?4=S~f zyCr~50eQ*z<NyEeeV~H^K^6C3(D>+QP#prw+RltNyZKul3o|g->@O7p=XPhN<^xVP zjQnj|SU`Eir}aQ72PlCoWdY^u_xvrtz&V|lzeO9|Rt1-L3ScHE`LTgiJ>qWxot@S2 zO9@imw{U>vWB6PC{|2>h75G~~$8>?x+W}T<HwFG?F3^=Vm-stu`9PMcfM-UUT^}%Z zBGTc>mq{Sa)u2AE61ZdK&D8L7MG0ra&z1bG0-y%4?}65nrA{rEO6-t~zRd$N65OJ1 z*~bIw`7!ageBuK!nE6|Nff#L&zACuH0VPx<-Jts}U`1dh3#1eS-H`xNf}B^-On@YH za5T7rmclW-Gy^qfUH7yeDDi0hU+U5gw#?eiqt4PY_C|?`W$ca;{f25rh2Cn$5;ai! z4O%QXd;_(=nL%R$8-*AcI)8&Z(l4Kbif%WRouCO;&@2il5Fs(9(u`4qK(uW6{r`XC ze^3*LzvVqB=eJjYi&G{3mS|2;`56PvKm08}IY4}A{+3b>28KrPp@jVHprsNZZ$qQ( zE2O^K4O)eJjG+QihIYECyf*K=+4<x0i{=OX%|AH#=O1c*#n}AlXKx6TdAI9^4uNjh z4bbs(kha$>pfa~Z3Y04SR60*U{L|^Xp=c*!Af3O(?Cbyk-EJzKt{Yx2L=ta3`Sbt( zmy%!q|8J;gYyi#2@V8F>4hl4PCYu!?ehG)oO8(aR@BjaE$6n|yV<_b^yxnq%zjZmN z9Sy4$_?zdlf=WYi&_GhlN>)fzALjxk9+l?fNW~&rRD+vHi1>c_2pnM{^56lOmKWga zaAj#C|F#pT$9P(U#{qVM@-t!*sze0R^)|c&nXKc7%*$Wq-^L<u!&{PT!&Q<AD&{{k zfQ$K7&~fMuHS&xNB|S({qbLA!H6+O|;RmI3CjOQV(CVWf%pm^@fNNQJrxKLM&^-0> z$-n>qTMmHB82%22|Ns9pUIw?{yImhNR50%5Zw002h6<+r;QB@L&;S2BL8p+Sj{0V^ z!+Q0Gw+;V8ebmAWN^HLwJ8$r}{rUbM>0Hw8&<D*28Tq%dFm?Wd9!+|)*9LSn>C?^| zFE4!m{~zSlR{mB{BOkoPf${RoN1#*#cGP_SHlN?1ct;)LXwCTl|Nnl_9uIIOt#}>W z_Sg;T&%W*jmrvj>$EMGqstQ!?Ix{dZ9B%{li9q@H<;>6j|2Ke39UE}WI)fICfK!yt zH*kW4Bv=0C6mSX2#or<XEhnU)i3d+P0d^8n;#u+a|9|AP4LXf=!b_V^NEW3{;BWp5 zs!!Y?5iAVKt3R0dTdF|e`hywN{#*uX522T8&4(FZra+3&R{qxe-~a!AdFmI~Z}a)v zj{W=pAGXZqCF?J64^Rc%kpr2x`y(h^nP2Ysj_SPq-$CO$FXwzjb06py8*my^2jy>Y zQ3oo@Up9RI|Gzu-K|?iTD}U=3P`(8nd5YxWmO!vgpayZLAviKGb|MWr@V6N8F)(x@ z&D!#}d<Lx&15ejN2Oe74AZ2530AmM7CwM*zG<gLY$p>>lBl(~?ZZL<r`7msb+fC)= znO`9PK+<>ve{0ZBkhdL}Y*z5MEdBfcKd2b71G##}-~a!c|8v93OBWUf2L3kCT3w`E z*vbjYg({#%W*TZR%=`i>i8T}$82DQbf-Xt;uL)-NfZ3q7Jb!B&s5yuzoMItq31nD2 zs$o7~K#oLB^DUtMIci><$_dMh(0te`4N1O`0T^F1Pnzhbdchy(pt;;*2}1AHto z%*rdEwul>ac#I?~XZ=7;dBLEzx61qf|9i`jJCGHiaS3R~NQGsLO`zQHgSnJ&vDbW@ z@udzZPt=1FsPD)B|6hV?m(C9_B%VQ<Y8&5yyw2b7QvuxN<pecZ4|85_e$3bzd*P+w zM-*4KG(%Ls)IiQ4{LP?lP&d?-$HBRliN6K3vb7mpKJ&M{<z`@L#+HB2fX2DtQ>FYZ zN?;3wU$#J!Jgg}4;(#Z;qUHmP(7F~h*D8lxl<+s3ArzLND*TG-WDSJE091u%P!)m} zGIzUyQ@szW!o{cx#leFhV1<dO3ad~RdVu2;tS}W-A*irG%5a(p6O&LCqJ{rPaPbK? z(GOMO{|`td8GrL9ghHe~DJUGTp(?CHD9l4OaV@Gs@cb1dc$82TwxB9JgYZlls>0|G zsEJGkloj6n{QrMHXv@!TP=iA8`pc!Dtmb;6^*~8!>&enWM0+!>+xLN`@12r3OW!Re zk)0o2*gl3N?Q5^Wg>$#-gXY7G4HcmIDbN{o-JuWow=sd*pRc)KQ_ryvUS53<t~y%z zTUFox|NrvKkN^L7J_4;;EMs`73M%GdWf!Qv0*~i`@;%5WD9w6s1^BY#J&KoFU%mqk z5WfahNhN9wogZGzg!GhJ55D{Vf5J<h*T~8z@V8C?70O~T^$qom3cc}+{4I;#{{Ij6 zIDg;dx8Q2c7h+b+vsa+3%ntI|SxyFq&igOty#<M&)i_H*!;C03&N)!C2BpRU_2IkS zR1h@|eANu7kOQw*fz>$S%+1G<Y8;if|Nrj?_0z!ZXvOQ`<|A^2=<o`(;OqhaHi4J7 zA$b=%dEut=()lxTIPkZMeg>C^FL^+EKnpFv6BlkOFF%0W!)SFxD+_voZ2|HaN`cJ> zX>%j$2%<f91zatmg(YYl2DSDE-Fpq0IDpsQph!awOMEL{P;2iupy)&Mr8zsgFF&!N z*Mu`61x|-Rx9@}A07h_|ArQGT3`A}-1Tr@tM8sgH?}L|-5dFs(!1F?GDlZ!_tJdbj zu(fh-DlZp+i)}QQf-(teo&B2?-KD$H<AdnHX@uxRxRDL!Xrz9?%a0#GEfY|OkH6gx zG_nfI#r(~nokHDiD!V~D;*K$tf^ssVVdwG*B_+0O290PGgNh(fu7`zbFe6GR9D|g2 z#~6@Z;EL7)z6r|O*3ZGlL)%;Mc_fQpkn}DCk%o#-;BPGi6^U%mVdV#+!feg{_W%FO zH_yPvA=DoOS#s?e7WMx?GJDX~TY=1922&4i>B6$w3P{<9$T4U!)O;AW4AM>I<&pQ` z>V`PQ*>8|t&EGl=6vm1uPUCM?d;S0aOCA)#3H&VwL5=+`NaG!`ezJAh4@mgkd5UcE z1pd}ZU;qDqdF&~c@K^>iX$`viogmR^*wmi@$<&~$R|bV@8ccmRavBL|Y(9>ZQ+m-V zJHw}-h2;<Uw+Xgf;_qAmZlI&(qj}8eIX;pZJs;J9#^ylQcE`eVJX%CS=h#67crZ#Y zp)>ZuOHeNW9PO|i?+3~8h_cxhA^>ZVfu^=Vxd(Kf;4y|!)ZD`cNd^ebIk21oGd>8C zdl3~3T2{LF9Gs94@@T=h_Zg_RX4=o+s`=*s|Ca%fP({yACm`+VmuDWMr3cVDo|oGm zL(>CFO@|h0D9Ia?ZTYv6J9pe`Bl(gSRAnP&-|FAs`u{PSZ}B<e#~TdAD5cO1ba}KY zuK74phAl-&$^5Oq-+<gR=MmTnL^j4}#BNCahA4>Z-+^_b7K8sjg9Q;r;`8ECNcurm zjN-*sm^|*(jvQ~G1l|T|LZDTN%?A-#6IAgfU{wX3rU&JmK&Iw{h~NWhVS(g}4gnOm zAUhXi{k^aM|AXc_V&DA#Z^OyoD*qOgY9TQN%Tl0CFyK6h)-?A9_fE-9buyNn_g_wV z3~EY{Yeu*0gI*cNmlwVuXCwYr(5fQPc;w5R2k7gQVawkHT2GcFz~)m7PeSL2c7aaG z?7Z>9_%f)aUgFX19AoVqQ4)Wg0kr8Kv_Ah+r*n+qN$`?T&`A~yAR|DdS5O09%)AfU zjR0QBmp0*r_jQmtrJRNbpsV}9t#C9wuRD94BOnVJVnEZ%z0M&>3mQ1Oonyd@S>bCM zw!r7(LOY)#`G>z1G-1>2;Lv)Yl)Jkbw3^G>*`toT^TvzA*Ff$lNd(yp8h3{{1F~ut z=4bm$U^TW-KZhL$-6YJ=e1OI9WT$gX=O^5LUV0DiXZW&5@OYo$NtlJu;CVd>pI2GC zonu~i!2H=;#_)P2wBSUn-$3y%XnjVr9ao8X=ZzN+u7aFjY6A~y(0D~Kct*<^G@}Js zLDKCU16^Pc9MkEX03M-)Mon)SL+6bbnI}NTl*D!i$5;nP@V9`@#y-vj>hColV(AQy z0bN-Hif>SOK)eUyLB024_FZ^LfYP7gNyAGouHONf$lnTDvuSwXWgP5=s9lku#aZA* z%*aOUxByn(Vgg#x33fz@Z?6-}aVF5g51r0n2Y{mRWff?V2i}Ae9P`o<G`$L443jqD zr62)4SGt2^UQfi4zDiWP8$cm$c(V0C36J5)=G~wrw+#GK4jNwSyz%1wZIHuDM4Ih5 zN+ddOfc*c$`wB>`)Eu5Hx=D$V3E*V9D;jG!O*juSx@0LNqDoAAouCQz#&IT4%enIt zD5^jqg_H(C0sZ3JZA2vD2|rd)SgeGl#+RVM?a<Dr&2J=HPl8quA+31gZ@mm!8(`1H z-|`<cpZJZxr3t(o5|k79;W?4NuLkUs7pCCSg}()~=b_sfv@$0R;!{M50J|HKKVK|6 z2l6Ro3kk%xko(cVse%h+BqCK9p6vVu&ZwXXS<ro2AcJ18-2VUnbyV5}(0<XQAj3-f zVFo2JGB6wm-QmrEn!aCe?Ja{Wf8PZ<IRiZmg&=Nf1ub<qJkX82fUDcNrg=4JUYHS< z(`ved9U$4S^-_sJ>$g%J!;`z>K@JC}evlJk8EDs8u=Cb*-gv<eDUTK!p4^p)Rc#+c zZ3DJE{WA0a|Nj$kS`!S`%HIOY9^e>&>^FNE{|~W>>BbA$n;^&Vw@8DQzBYrs^imA8 znify0;ph&Id6@(<2Ab<$f|fnuEA_5{bbwZVg7+_COJAkc&GsDpEufp7KzkM3Kxxa{ zq4ng1(ja)^s&|LQDCkZaaAr6Tx>1Xv^B1V}1_d;{zJdlgI5WJw0UC=!T7TDh<Hb~P z5mdTvg5iPJk0B`&big@!8sIwv3Lfx&43JTsH(tB}S9c{RnxTOOUaJL94&Bub@D$Pd zACe$SY+ApSTHuVQ)u%yL@V69$7MtC8@dupe`CC#z#Ta-$^{!N`NuwC5&l*&SVkz=p zg0{t_;Z7gMQ2oC_b6%jJ=5Lt<n$IT`m*Cj1M~?jkpe;AB^)sOTYoOi8GNApq7dlUM z`*L)Kg7+o+KI!&-(LEEq5qBqOSBK^A61~o2uh~I6aDSI5cQd2yw0+(k`eXxR>!p%N z*k(o0hFbWR+c%veDxHTR{qEbH$4cB=50p5A_WCw~47Y9q9Y0<Y3fg2_z|twve1M}9 zEP=8Y7rMtb9d^|p-$781@WpXPaBM>tV#7wz5IZnCFR+442Q_Fw4JH>AmgW~6NDZ1j zAfGmZoB?juKo@Aj_IHGX!pEl5^+Y#QXXuem-viA*m`miELDO!hK<VD~#4gYdzZZ=M zK!vyscyr8g*E`^;MArup>Io<qkGsBT2F))*_7EJ0>~-ySVre~4qS$P~*d4&a-vT;I zr`z?!u4xPm3@`K#K++nxwd;DMyMn{If~VBwC1`^$v>5_Y3p#Y{1v6M}NhP${>K5<z zXX$o5@j@E3i2XoGVt43~=HnceRXmVwMBU*m-SVBG7hrokdQBv{T`$1G#PVLJ>lyx* zo1l%l){3RG8tVQlmS}+N0xi{fF@694|F0)?UU=~joZt9cH!(3VfLb{a&-Z#WHos%E z{8*&>x)QvDxlFGYypdfUw2_?`v}?KbA85F^M2!JF%glJu@?)_dd?)*9ig&VqEZWrV zdWPBcg0<@f{??bEEaQ4&*IQ7S-ro2B|I5ozk<B2HlOU0UAd%1$@cn@Y_*=9=Io0*V zafbxZ@mbABY`{%3aP&66V&rcHZ3ljt3ex9#r}aRIV{h!8v<a^{n-6nzGlMR&JkFv5 zN|xQi-QM7sm<ZlKP<r3+z{^WuT_<)aFfuT_@C4cK2okA1&>ecD^?$dM0Dns{C~1YB z=q_?-{l?##3g#W@j$&!OU6KMT_8<iz7pT63RLr0V=Q<8aG&!K{#L!zTAqqkFzrvD- z>xmZ+k3keVgRFKv@xl;V!We@Ki|)`P-9;SMMLduzMp3N<ZS_VnX*$#-(9N6Oa<C-T zd8_jv$U!%cK<v2<TBZ}nf{=y=5Jc5waQfwM*$PtSdg8_6Qy^Uv_*<5M1&%Zy<FG8? z;co?%yC74W!Sehqt$)E6bAnc)KpO{=sNwMo+`Qm#i2<1tdZOD4ymHwd!~;hzXwC#2 zvoG!c{Qqxw;N=u>jwyXO0n}c6JsFzOdg13!fXjoNZdZ=(Sf1{H0_%Vb{uW`-f*9uB zDvM60ZfBNGCzft!j!q|zZfBlOC!TI+fleoZZfB8BCy{PviB2a8(8Z%pGTqJ!olXkf z&MKfQVx2WQoisrAojU1sI~#O58FV|FbUK-UtO>~JtSGR&-Wj@vzXf!gNVhLXw<|~U z!HDJqF`d3kI$alZhpy>1YW~O0-_pa#z|j1UlfUITn8D27avhX(d^wu`u^n#&?F<B0 zwT+;29Uv^wvIhtYwCn-G0xe^Mut2*hAuLeNhp<3vOhGLE7SR24{OzD_UGqOy{+23` zRiPZsRSAM+T%htG2b^2Fof7`5w1Q4k=?>-Sc8alfir{aV0a}LX%W<3m6my_b*)ay3 zO0hJNL3V+B=*scpEVvy|vKVYoPOpbWr&kWF&;kWjC<o~1lB$AE*EN<u_*+3MS-^4I zd<5c@3E)8b4Qd<z<An6eyM5Pm2Z9y@3U#}37@m9)wFi{&_*-ni*?&!U0C@dfBWOb3 zm!sR$q4i`bd$$8m>w!{%ZdZ;M+Iu0&dBMs-)_1zDdHD^zqykjFf!3OI{?K+^bMOaq z=7H_Gx3^gy;_t}@<+;!`ogWQvzgAq?#l*l+!rFY8F>ONYZT=QN&=U1S7M9ofTkJum zay9?tDt`v{$K?krMOYaaO3pODW_*1aTzI}-2wq3@dRDjV8gK}92e5z~HfcA+VI^Rz zIJ$#!Iz!jIj0N$~e4GJQ=>?K=h51+?WVJ6xcOkd{0(H~6BY0YGmu?0bZVCycR<8g5 z|GyLh=|eM91Zw6ta6W^WSt1EaxseX7xA|M|fx^>61hlL51c({Brn`!#+ex51l%to2 z-ST{=?~~45pd{DX1WIoFEpPciE40{cbUR!h^S6}oF)%dLKGx%JIlu`zHUhNFli|24 zXhl8)|F+o2Ew}kQet>njGlIsFK)bC$VxS|Hc7aOe1{*6*{uWTJ3=;0-hpx15u(9GT z$!)m}R>R*RE6BjmU}MEq5(O9H69Nkz;%{*U9fb!|X#){{#NXnNEL;m0E=Cq!EyTcJ z_^rXlilLNsAILe~p-(!0A9n?Ll>xfi{<teR?=`<-Jnjn4kH=lX85Ft-_qZ!)YcRuc zS8z@~?z#nJ%yCz6|M$2nXb~v`bh9F~q0t$-qPL8}I`#>Fixue1k>C6+hTv6i+zmf< z_*+1SzBT-`=WnS8EoJ%{4O!ve@H3XbB?2r`4K5G)TfD%$TK*PCFvE(!B@WC`hRT0s z1+Dt$;&0Jl0qxrWuNs#Ht2hK&FV+HD58LYqUO3JM7Jkd$V#W^A^A0Tk7PMjW=X?H^ zqo6CtkGoy~c?`6{0JO~jw9k{{5Pu738T@hAD-bCK{uWorva6PNpm{6T4Xp=C*rB@y zEq@<(eF0L(-(m(@)$00!+jT<;r*-TK{uXgAkhKc@E!V(ya)RwY#ROjd*Lnync8I?P zbnF{=8^Z}U&<+J~(tw6{iAW1%gUNAMaM8-&u?TcF;bluuC{G0Mxibc<@B9c_<_|i6 zufax2fxiWGHErhyuoP$x`aUQiY@|5(Tke4N<b8xloaFBS9dXxSBgM<#au_6m&@lzH z;lM_Ui@#+RNCKfF3FIdmsYCoNTR{`s2#IqL9gp~1IJg)XkSs5O=y=56qJwJGe24@C z|C9ruWV7u9f9o-DcIM~~z0&P_gwyv#=LAreJKg}wf1p4<-T+!`3}Jy5OG8+o)CgjA zyPn{7JyW9C9m;XM38V#7vL9~(X@Rgn3PG%H*8{BwO2oT;IgU5N)iuJ@b%U4EDt5ba zKr9C7fLIJ+fh-2Gx<fB;hwdoR#$n9yMwr6mjR=dcfGx&ubhqn`)&nKHD9-P$y#v~i zln6?Az8u|-ImhAd1XToYe}D#)oxy9Z&v1d)TJ!U7gD<p}g@&ht4`^oz|KI=r(NcP= z7+CBOe@i_$JwD=Z<pzmVGd4i-TPrJgJv3-#B7X~LlOkxL+Q&ct|G&KR=l}l+i1Z1H zfV2txouK1O__v(|uc1U;mFn{M|NqVt$VWx-w-|s9L;)`gKwXylQvC1#|D7Mfrht<6 zbx2xifNb9E`~a?#KuNm<R8reWt>kZA^!NY&3E<N1W!dll{~^7s<E}SA4r@8d-zfod z@5^`pKw)476`#Q0y6E@+|E=HP{Far!LEE#AyWRomdo2pyX$0Cr+VJxcIRAn&N;f!{ z^S8)@7hZn=g>5Bhzi;gZ2L5fXFZf%^m>C#a4)C|;fe#%z12XDmCaAmt6&D*oT>jRJ zzd<{nz#QnoF)#OlmQdC{R_1T12kkGfeXPUZ0y-77q4sffNmfJc<JgjvhT6x~C2<Y4 zk845g$C8kS+Q(`oehsycwZMFrhT6x9C3X$9k88kulZM*Ib|rcZwU5=oe3gdU$4Vt~ z4YiL|!F-X1+Q$whd=0ga6F_|aR$)-{7UFwopzv?we%bX4l+I3WVnU75KG2#mv?#3t ztp&#xrHLTlRWr`#Zv!ttbmiy<C(G8%zyJTgECwx&1FhX`X@Rn!>2CsP6ruyPV$pRA zD4;oifr1SjJ5cw%{05$?J%R2xE-a4w_Ur$DY|Efu-UZnJYJlZ*`mT974ZJH2*^-9Z z$M)c0v?|ePsC}%<-wHY&1~fQz7hDc=LsJaQO_4uA$%?-P)LQ_lN0sJpT@D&mD`R-Q zmwy{ZsAhrI$fAX67%qp~f*kJp1{5@)8vD5G4p8#KS5v>t_z9Y^1#NaPM#|hOKOw77 z<^TTw|56;ZW28ilp#c<M?bm+%{|{>ZLgH&DX#eoxAE0Oew+g_S6teEt_viorFJs`w zgQl`UrIF1F$U1pF(4HMgQ{v?f@Df~ZSa@lIt=Ita253omw=3v`h89!M@e!`zgVJAW zf*Ont;EgW2pou<Lju(8Jz-`c0*>B*U)$7loh2{J$|3O_-*At*{c=;KW-|HFm_*>1s zftK+z>G8Lia56CL)&mcffT|aU<F4RJ;AJGp*w8i2RxJE2>p*MdTsd}`gSyac>;M0M z`2;j=8VYR#yK=m61g!~sc@83KcoNiX)dQ`N*aH!Pw3S^sUhI7F|NqP75J8Bt<sgx% z5D~aCrKh0v!7u9|!VragPyhdanFA4NwqoRO1s#P8YUDcFv>qrG1dr`>I@*-7A9u6? z`4-%5acO?R)ck|JjQzNi3#fMhQXlBidWpYd4yb|R=)!ow@=!hdaYv5;&?W^?mnoq2 zKq>oiC(sdT4BfsQ&6PHc#~VRYYoK$fjyHl9@PjJ6<Bg!M7=#5n*a&3h@kUUS5X34` z>vja6Qsk(>-<$_p(+M(K<ru^JV-AeFk2x^y2OZnvqynlg9YJTUGrXJ%T6KmLr0+lr z2x=gLkPx^763GIIxN_`j0L4Ys+W-GwMu0?+G`c<mZE1%HLNpqKL<}J!@GxHY<p2Md zG7v$CvN<3TE{F(R+3`pJ|Gxw;QVm@LQMMH%@)*2+-1jj!y`z?cyrAh=v>f~MGmfI> z!RP<~n_*Q&E9lIImIM4PmqE)gTt6I#?CAmJgM;8g2$GDqeuYfy@^8Z^=0d+=R;!NR zaM-N@Qv3nz15oX`0#xbSNVW2}fbw%EyfxQp1m2H;Q8Iznb)#3|?6~ZD2U>20u<H!O zt_J?r`yh#rkShEne@7;0W0#H83jWq(U;qDqX$fx9U|8J_(u5Yo#b0rFGYULUj}cU* zSj<SoWrhdX3=DU8VKD==eF$r<BKs9oB9+Q@gCh0_D3^dD_62A^h%2O3a0krZ0g`%o z0kj>Yo>7;-wd*6etkMOYm%_rpuv-_iu$ubu|NrI#8J#XFJfP8<0|lVrXD}-VG^Gw^ zrNG86K(@{RZQJza=ngD+xe>HZ#4G1`6S(*TnT^(5207<=6R7<PVZqw3pt`XNyudK@ zF?eqx@(v2(j&0!I#$x&M1ZWYGE5|O-4%ZheR{sD0vJJFS#g*f@gUA2>|Lb3-g4+t9 zMMbutG!gm<)ciQHi5WH9If5FACpNJlHaYRP=wfS8_KHjedE_N%D<A(htXVh_v~CG4 zefffxEMjZQn0&zM9#C_;6U{xG_}udbd;-Qvbbkp!(in=r{(&}jpt}X;uZLg274(a< zTfr4#%YD#t7T-19jx4PQN-a?bS3xHM!3S44URZ5}Xjuc&;>z)&3u?q12p>5Gb%KOK zIXW*McS-=)ERX|KCxV7K_*+hZWPLe$oqlvjuylf_JGz~I!1Tk0WkJn|381ME%LyQD zrDtDGfapV=WHCJOas_zFt?y&>X5Hy`nC0E}cQ^`ydGG%JZ@CRls{9=jz$K7nD}U<} z&{}U$d-vsCgaQzszvC}NQ3HSLG>8;v0GGd`0<<;N#&QLJD`-vC%VqB%<uTlB&;{`g zHkJ+it!2pCen3oH$=@3P4qU(Ig3`I~l1?8Lj&9clpq$!yq4@yP@)!OV&?V8}nmp#E z)oV~X!wiF4ptWmgiS^i99AU5)y!0H?5YS$8^ul}wE<@_y{{N5KhJE=NM+9YKaa=eq zbM0_A&K8Rynz#%R04e4{9FW@d9o!zg{Surjj)Nw!7z_`*JpB?BnkP50pq3&HpzYNs zHnAd?A~`>?1ZJ<uR8X>i=@0F1pqWz&+M$DHPU1&A=D2_x6rqndG9wqG{4EinV(r34 zl<W`cJVO?<8zN4@>E-DK7i;R^W;~`r*;ot;2bD+Q9R^qovch2y_`p;&7hV7JA9j{0 zri*rg3%1b58(C1j_5pO-#f6P1VGSBcz~(h@SntPSPyrT$VsN+!Y!GPn1$4eVqbi>; zH#46!pCF?UqW~KN1Ctm7GoKZ=HMgfQ0|T=P12?xFH!~jt0}GVN!N9-@VKOkV@iTC9 zGcd4&D3EdvVMb;?Zf=lnMqvg9PF{#nte(OaTnr3cFq0V=xS=xK5E&juMo(do4qinD zPhov-1_nMg29SaL!i)&x1Xz$bf*K6Wd@{TY3_?&*R*-&Ss1>Xr%_30EU>Q+f24)T` zZfmGp#Ka+Hf#t-Zt^w<k5M@;7fw)GJ73>Hps8*<BrS%xW0mKSY1`0I?HjvdatZ>hQ zmR-mqak&^6<V@hQ3=HxJ4oIm2E8J-yt|B)h$W#UfC2q!0HU<V|Wcw7jL3XJi3};|a zm1Q&(4rPnrj$~zEP-A5<6lP#hHvv-`ptGShP2k2eFlZqZgACFJsRLQ617>hBFzA8| z0Ey^<RDv7=F<74q>H$GU1_lEp4{$Ls80s<F^I!`TBd9uVPhoo=8_=Sx&GHNkp!CPU zz{02vx(Hwa2LnS9=vpZT28Mkxpw1Kn1Je>#1_q{U2B4GdS=cie85metSV0%bGPAIP zZa-jV<oM6ez`)GJZY0FOz|6w_laGOcnUU=;==K>V)}uTO49py?uQ@;zJLsAhCKoOS z24;&41_lPE>mWtFpo`g<%0Vf-uZ)3#ft7`wjfI^BbU-9CBbyaF0|V1tAqEB(L(n)g zhZa8r!xR?X63|WTpj&uY1sKgiMkzCJzGP=$U=?Kqt%_q(X5q}`VPIetgK{}I-?K6> zu!=*uJe+$$c}D`u72xy{U|?XCgmOhVqZk<&Sf!v`3C=EI1_oAXC|8CPG*`hY1LZ1k z+Hf*3u*yNXDx9D>0ake^SA)}qnSp^-0m{|k1l|0@s>BFdHo&B8z`0cjl!Y00fbL&X zHsQR>!oa|)2KA8z=Od7;7L;ql$<5Eez^cOtI!TjB*@5#XNY;Q6be<2BvJ0mVHv<E! zA!8IcG~75r=lif4G42DK?9O?gkAZ>JjPV?p>%rLovdEqh)RAUV_TfCo#lXPo!3bJk z$)p^@c@@O<gmNP|?|`^oP;Lw-=yDKNZzwl`^A$+ehfx)5ZwjY9C>H#nZqDFr1O;6H zBj{ijCgmIkF3>U%)-4>D*%=skSa*Sff!m0Ufq`{5h{>ePz%31mi9L`2Vd1s_h28;3 z40ABBvs5!NFtD?LQUVVsfq=Zj3!32qiGtDuSo8@K0|Qu8oq?SNG+)98Qp=Ri#lXPk z2R^2TgDp^=nSp`Z0(6H(FvNHU?%5y(p%5Mm1Cxv}0|Q&wFVHEO9Bh&PAoZ?73=C}1 zASTGENvsSEY_Sj?3j;gLdr;sSg9PKWm>C!ZSlAL9nHd-abA=cf7zCraL1p}OVFm^! z!Iz*c!@%^7oq>TZEdio7Yb{7^7byP;ZUx`RQ7ZsaTMo)33`~t6wfQ{|wMDN%YWIR_ zSiwB--9ez6bC?7{Q(4S{lXw{zSOh`GA+QSS^Dr>5F)%IRWnf^d-2pnciHEI0lZAnS zdk-@M16va$+8DTv1sE9ES|L0Z?z<r69S|M|1Je&i1_rjyZxFjDgU-JaoDcR>6!>16 zpPV3f)`RlD;38&_-5H=LWnk*zU|?XIYr+B!iv{g03=D$Zpp~<Npvg!^!F+yD0mM|y z#K6F|GzX$;#afUmR$)+x#R-E#jF}g#3Usv%+qy|Cpjw7akCBCyfkBWP)BqM-CkRre z$OUr5YE}jYW<f_LkRw0~I9UY?85kJY1p7f%qo4r?0|SR3=y+sK!8|?&1}+9+Igk_W z8F#QSFo>|Qc{6IVGB9vjfC9sp5fph$$_xx59Bg5Xfgp(tJ_ZK12r!#TnL!kEwK7{2 zlnY7$q09^nA_8oIjC~;0nV_T)3}!PaGjPrVg<>?=22lCb2@2ylXhz{-U}piPND&sc zB*wKM&0y&is5IDd8H~q35-K2lS&Wcm$G{*W!<NTr$;QCI36>~;Nr;vtrZcb=LAflP z*I5`C*h-*W4o(k{DP_=H%fp!=$iTo>0kutl^EW7MR6)5SoEjk68b(mWGbu}eeAvKP z54W-jYA6H5$`&Y>g%j+BHmE5a5K}rBLCJtgnFnM_593j|DSc3FP*WyAxlmIkp_(#< z5tK|orijU~c`z!oGcbsQj?88AV-#RzU=SAs#Zx?EIEW28dyp-aaSDk286=(!4q)-+ zAWzkT!&H0~KPZ8NgHc=_6i`#a{$miaU~^*3WM^RD%mJknS8%ce#pOzF1_rk2VCRG4 zvJMoQvlv17ib+|4^BTywIZ&<+gYa@r1_riyU}v(kfC?aX7Es<|X93-T$<6{QafCrv z)v^6zp2^O@AOZI5W_AV!Nl=L_Sqfr-G%yIUu>ED$<X~VB>;T<#BM3U2hEdR-1(fvn zfb*Xa4=CxIf=XS%C{QvMywAqKz%KY+0F?AUaxpM)3ZCa-VBiw8V`E_87WCj?VBisS zWoKaE6$F)=e1f2zzx;xr;#fd%B_rq#K;cQCpb}sKxk!YE&71`k7@VLvNj6IskmEoh z;tMJ~t-<~Rg-9SM1=+GxgQ{<34hAtEHdB^94h9DCMo^J!$6^X%gGv-OM;1`g21*XD zELS)f7&yV1%$)_Az#*B;6Ut@b<OD^bH<Zi42|D3~%@@iAC#paeDNdLv!7%4RObLZ@ zp{9gGxlmIgp<EsY5gxV@mO!{EWneZu!&gALETSd(1q^IeP%fx?0!59809zx=T)5_D zFdMG970PAdv;w8Gb|{yFb1^8gI-y)paR5qoB0OxpEVtlh^|Q2t!xLKaOoVcw4w($) za)8`Fokb87*Wj?6$pR|8;7*tg<wCX1g>u2#cCvVYw1JC~-Ox~F;1mGG|6X|9f^*S+ zaI$4m<^aXqVHVJyc}{TkcoeP;w6=ilI9yvAs46-MmF3`E2g*XHp|U&-A_{EhSp>Kl z7$7CpMW{LkNJ(`Ws*Z(I4&;`rFv~f`L0RoOl*_}J3#uh=Lb(E*P9Q69L%AZHKA`IR zE|e<)DUj~7K#DaP29XbJk}N-Y7#KLMK{b*h3#gI>C2i2TGi=H%pzHxk+A~49Ss$#D zNtuK53@D`=v4C<alQIt{=qxifCvX;FQWk*Z5<hU#XHu5oya#e$6gZtTDeFKgnphS{ zMPtJm39>g6>OKd~P7pU6%5~v%1f`H%DA$7%l*-xip<EwMLy)TqSwM{lCglK5V~|DF z;H&^@(dmIgt&RnhKADsgI6;R(vvskAgDP(26i#iB;wdbP!Q2u^MKuqc?wFMu7&-kw zVZ0D*6SHy;BWDOG3oe23Copop232g!q5LU~oS#6Uz7oox!N?f_vV1j^KZlW19i)CO zl)r$H6WsRL0Oc=X<OH`qHbMC-7&+TP`nN#&YZy5XfkJ#6l)r(IGYS-~2fzuQS$PX1 zXFSM#XTT|$S@{4X=V?$*djL+N%*q!S8Q58R*%=swUxBne1E)ED9`-~#UIqqkP<~-g zf)+hep!%IX8Ny@X29-SQDG(k91Ct%7Ns-FU%fKMLPJn@dk(Uu%Y=gQ@pf(POZslcQ zkZA$k^~b{qV(Tz4Fvx;Z6C)2JC^az#F|f1z=V4%wZeV6$V6<WZn*h=cx>Esk_rXrM z36?A%6F?WGGDzPCwRplHsvQ^@7%nj|Fw}v1XnZjHLcyv**QCnDfs76Z7cBCiTAwij zoR{u_94LJnbg^tD2iRUvfj*6qfq|Wofx!W8QaK06UeL&_EU4&atl$6z6w^co2I&-# z$tkR0%?lVA7-lgsFo5<$%z|r9Vg+d~Vq{>D0Tn5X$*iE@n+W2A3K7O+R#4psy6;I2 zY<Maw$Z!T}Ng)OX#uli_ObiTt%nS@q7#SG2_+cJw0-G$r#K52cYUnUFgH6_FVqk!n z)Cx99{wb&--Np(k|NNL37!+SJF)+9?Gcd@3Z}{wI1=p$!(xAiO8SU7?KAFJGz>vev zz>velz%UDLpEWzkC!mQ68Bj}#(S{x56VSww3^-72*g-~_Gcz#AaDp6f%MS7xC}Tt1 zW6uuqnGz__<xhid<qQEU09~9a4>mBA9n{CZ0cz1QNM8i0(1f_B0MwxZwX<0m7{0*W zqYieDE(-$##622d_kfBrh<h}^?g5z$v0n>pKZEp6eg+0cR*1<0oD2-0n;&&p85nW| zU?Ix{HaUWofkEazNHH@zs7Kuc;)8w040iYdRt5%Hf6%A_3z*L|kwF&Z8b%nG1!6B7 z)ZT3%rMDqT_5v3J!)k5@hA*rP471?&-U26C1yH+2ITU2EB*c}BcLf+2RKU4N9PBg| zkgpgez#dis2fhT@vk(iVpcWnm#r#Q#g`jIDQ+OE|KnHXg3Bo*j0&HP78v}zX$Q7Vf zx{McD)Q$)+FsSVS5o-h(7?eQyOZ@^UPckq_dw}BQJsUWk6!0=IEaqcixXQ-BPyjdd z9UCZ}fX+&k2Nj!)AJ{<Yz!Y@WiL?&LNjVT-ZQx^I_%6c05Xa8I@C&Xx3+%xzc37-t zgFU$q#0Psc8|+bG4h9ApbI{eC+2F8O<AA05T(IZmpEEEpFy?{fmT@pJ$fto)WImXG z47Bk`8Z=nUI2Br8i83%O7G+@g#lgVfAp{GY$>0J@jgx^vCJ}TA<`l4>Q$hUippGnr z54xX}L75Fy!rf*Dt6(e^g2mP?W>8S5fXkm-%%Bz#gEDBz5aUaz(s^*DFOZbJfGQOM zttae+L?Gi;xY7=AtU*le0GDcVpzaA{7q}j0P~Hx@;`JX?+ZVXDzhG?)%G{tBTm*>& z#%N)fTNi)>9+I*af&(3rvKE2^Tm>B13&8;hNo9+{0WAj(=p_(wa3C)Qvl*0&L9ufm zYRwn8HFuG$xrb!UJtS-HfsKGz^8m@3hhT9HIa5%$ykQ4*Bjms($y;#AAqUPC@4#%$ zYzD^nQ03P_MTZ{;C>1g=FetACjTTIR6!?t(A~65=flGOa|NA*WMH|Hb{T!fT4dR%I z;F4di8We()zy`{J{X7}WW>DS(N*7z8MjwJ3y$Q+a%}7RXMlyOUlF{41#zBnU4q+>S z{ICPe)&TkKD45B>pd1S-RT!X={T6QJf28E}ADW!3KsB8NRH=k0%;VzVbOA|D;^5@O zpbR<(l+gpK)EutV9juf=dI2bf?S!P^4WbMTOHCOV4uRI~h{H0^cCh{LK$!)c`nQAK zpv%R;AkznO#tvpsbbv17m5BglE(jmAkWfYvlyD&Y?;!POK}`z?U!0qPK?~%`0#Noo z&HPZ5fkBNMMEn<FU{D453A`;*jzvuibYVM#7AO)x>tYyBF#iFmdmzHVpmqgx<-Hat zn}YT~Fdk)|FV4WAHc^OyL9JDYfk6wDD?!)4F}`AU5My9a+XIr>AjH6+WWdP4pnXD! zfk6;7e9WK<%9I5l|9oOrdk)eHN>4LD0-~%dL0T(8_T_?zL=grCB@HG92Ax(B1_q{y z3EC4y7#Ki30`0jX3=Azi3=G;UMHm=Zc^Md#KsVB9Zxdl)_{a;YFB!Bz8OQ+C*broW z2{Km>WTX&?U;~*ugPDOrM+<7MnFs^JWIhH4Z6^^1hK-<;0vNPF`5d$+n~{e#TAYDF zccL%@g9ksz!@>*<YLy@&SD1l8NrIJuL4B?;$SuMQ4B+B_1{(u|`ZkczAz=oFFd+s8 z?Q_Bm4Ei9ETfz(sWgrKDQiS$XVFrc@F|dOfR6zyL2~av=XVujbW?<+BI~!z?5Qty{ z*%raUz@TmhGRR4ofuTU0fkE3(n1R6<R1q;SFzA5_V+U~thAeRg2F63oYM{)f25Rdv zFi1ZIW#a|VG-%4eP;SP+z%I$az$pPsgY&>?&{&dzK?a-#=Y!K=I*6YIN<Z_#X>hhA z0|SFJ8_1;=5YrmW7#Nbw85nj-GBAY0O)~?V_7tQWY??XPG)XB21{ttv=3vu&r9h^c zfLf=;5Yr0G85pixFff!!F)%EJn^p)mZ4pQ}*t8<BX%9jC6`=H91U5}U8f01(D1!t- zOnYF#!0^G6fx%Onf#EaUG=H#ZrP45;27pc50^);B3jmw;8Eo1XP)YKW30zfyO!Bi~ zV33hvU~mNa4BW=}&IGEpJY-;|{a^ysT!kP$*t8!^pu9T^bfS&)0+8EIKuim;VPH_V zV_-Ne!@$rFH|-eMwD%z0V4ofbn<gR4z#s!Q?Ks%9a9NN~J3x(|JV>Q%V8_7VV$Z<P zAPbs^fW>JJxKdsN(hV-{a~VMcj;BHVW1v9K1^Y``j)4Kv@XZGgO*+dlFvziivQGh6 zy*{XW%h<vA2{iGd%niD-T@BLIW;Bq3m5VB@pkPn|4Pi2>vVw*t8I+|#1-uzlX)#=> z2}CKlscp&%a*-TpAb`;v+ys{cjgm83g4qnpYe2=D0kmkH1UEt-TD0bYY|w-Ts67Ki zkTU~AjvNC+I4Cl~(W4Fy&>3>D=+OWN=s6G{9H1KD0A-P9U{GS<WMD7=?fhfZVFDSz zG%*AcEQU;={(!PP1A{zhh?3C=tY^JE1A`VQ05m{p#FoiUnt?&hPl|y-%}I)ZK`DTf zfk8b=ih)5r4V20mR9U4M7z#j2O_|h`LCVCz;tV{X5J;DXPC+m+C>w*~bta_I$T&$F z7Q)lPEk#JpGlLD3$QYFGg3MbD4dJyiFr_OYAq<Z5Rp5>eq;_5f?!Q24=QZFEmfH); z+v~vHD!F7(OJO~PtpI9!Zh){0LG87T5H>F;zio!F&x2~yEf6-i%H0ZKUjQYMZ4fr- zI0we<5VjY{wL2i}wV<*3oe(xRsBqc^VXp$&wFklmb!r*+LfGJz(>@3rRIoAbhp>-= zS{DZ(Y#)%D4}#eY%CkWpTM5Y>j5pvxvjUtYAfdQ|5fX}LKz4qFDrJ_1h2nc8r5~V5 zZ-Bi27#cT9aHWsHal@e82y)F7NP1-Sg-cHYCqjs&lfem)K^au=GcJNEZG$UafTVOG zSgD2_IHzo80;LlM2IW?eFU_E?Jqg!n3U;mBIgq!_!TDNlAt>`$K-l2Y#1i5QLq<?P zgi#7&MuIbB_V%4T1H&A7SkWN~Hcm<bmTx4%TCEfq7_>l+odAkT1x7nL1_remvY<Mc zlYv2di7W%dWCaEW?G3UF3=WD64BC5S85pK2g8ZrlN}d5A7b!EI25CDj!@!`nUxtA} z3luvGKr(9?TR}44Kr*jn7#LJRk#PVdBg&*E3M%v%v_OG=10=MKaRErNgDeAsnh8iw z6%^nMpb}vxqi(h=1H*kq1_rfwSq270`3MFE#|Q=n^$L(e1_o77ev<$xRb*6a1!dey zX$A&WP-bfYiEd}p-6PGw(4)k_ptb=dy+oRULFooJ1B3brX$A)EE7A-M2b35Xv>!+_ zFuVaV-bgbrNGLNfX#bFAU~o}pU{Gg~VPH@fkYQlZ22~gZAUO>g28KBxhKURV!wC?> zL56|h3y9$(!@!`R!oZ*%A;ZAn4`QUqFfi1C7zHv63~ND*8W{$L0#ybE^$w8HQ$WN5 zP`$#yz+lA6#=yWb5i||T$Y^8>npB$v;V@|Nfab%%`JC}LA1?zVBlrveP_s+Fw75t= zCo@SuJvmuF)5O9|HzzZ%v_dyMuT<Ye&q&W$KQk{mr!*y%0jv_r(ND@ODMk@t(9?sf zWJt};EGbDX(gU43!BAY1l9HOHmjPP0R8m=xTCA4=T0>A=l9HLPm%#uUI>}6eF)I^u zbM!Jm+gw4c_=2L$vc!^9J<!xYXr3Ru_JFyEiP1LQo_PhEmtv!Sc~oD9oE@`RnwJr? zI>#F3Vg+ViJ?2QgXlC&=X5I)e-v&w+Dy(D9<?vd-F`c=egJX?XMyBmkW^N8InHc6$ zFAgPN+ov3hEI3p^T)j@_yOkViYtmb_?WS|wX09snUd&v@<iN<x8DXn$m7bo-oO^;p zl9|Vbxuk?yl;gyN^z~CGa_nAft<TZ6cD-fBT4t^Z%sD5R1=4m;W==oBENR1>Zo@1Y z!JO{Jyp_4+w3Qu)%35YVrf-al98)G*mxkM>_;9ppmorx}X)^{eSCs@XSJ~{I&&<zp z&03#1D}uR%NrjPFu4(>r=By^>LZ;)4jLcF@CX5`t9JNdVBFw=Y3eV?r{B>fk(sMe= zv3e~>uC+dMWdu{6psjV*{O8P-O-#Og%n=+<p0?=NeW(H{YerW#kz>7OG)R*#AM>SZ zCVR$-i=SU-7UWpNoR-EcFprswNrlnen7P7+<1~|&xOpsdaFb&A{F_WBV$3I5(pq%v z)^e;~%e<|cqlx(x%O|MS%$us8FrQ+X$GoAM;|cQxmU+xUOqPuEIYc<hn4H8o=6Zu& zTI|Kl`Dy-h=F$@89}G+}jAxUwnwf<_Ugl=fWNc;97iLc4(2Lr`WGecUx#F4&b43ZW zir)O^%;`-WWz9_XB20F|%w-(&m^qmY7@0*rS?e?BtYLEFW#*pOypB1KX)YrpGbhso zMn<Lui~>w{BFvl|Ld@kHPdM)1<nUqU<nUrHXVPV4E&&mxOfHPfd>mfPQ%jh_7&-Lx zISiBSeJ4&~t~|k{%*VW#g~^hUBQkxWZE7a-Ee4Jg%-m0y*VpSY=R9E+nP6Vo&1@X8 zZatHc1oJ-z4lldRy{$9aryXSGZ(?3om-g%#b3YSD1oPcmj(Hp+%v%^anwUH5IZixh z)@D*>Jk1<2f%zjNhY<4u_B0M*4nHOvQI3U^m<5@17|%>&(h*@!)MJ*nVNRUKe6ga0 zxsg3hcdfPUSCA^v7A8$8a5xp|G4ts$7tLe-SW&`!owbR1WmN?871k5XYpT+iud~`{ z+cSS*;P}McQ*Xokg&_h;+c5Xn+w5WHV)9{ZJ7mXk!^)1yMU**_qXcRn$W|NXcE&X3 zS(Qv$jLZvI^_U-2MKCX5EdkSWSf5PcIL};Zb1-QVGyfW9ZYEX6n_&0E>M<+ZFvoHT zF>9tV&t+s%Wt`7Ev2qvlhgv2j#+KdI>CB55Id*aE<;Y~xkYrv}$Dzl3g>fD;uh$KZ zDCX^TyO<9!a_BMNuVYeUWIoKmA;cUykNF#jzR1R*$NZLosfv+Vcmng~I#6y{x0cCH zgvm*mIhP}XNmKkOM<(-W1}0-hW_u<R#@)<3Oqz@nIsVyMWiW57XVPF~KE%l3#iRsE z4hkS$6&yAk`b>6$Ov++RLHx`M>o{zfxi}_p>~lNB;bUdD!@!F94C9)$%nR#wF>{^Z z@MAt$$+2tFeCEgOPdFwq*$Xo-sN=9<O5kPIeZm~ik;c)^k-{v;q{+za&!NC<2ugp< zQXqdwb3`zwg2atMNql-eh*`o^%*fo!1R_hBvKX0#o;>Ba!0g0P!rWBPl*q_j08*sG zq{+yn$;TW3;>duA3=p9L6$W!eKq6q(%fSYlad<I5WZ)2DQWks4VaRO9F^^g63G?jw z6U@gLm<$;?`k0s0ad<KJGI7k~Sof4enR#X%Q!!&m4D%<366R}l9P^koML@Db%+Vmn zIe>^8bxf6v%sd=I%$FHCo-oe`>0oYWWKv_?4We`ynLpQZcrl-3U@~Q7*5L4BPT{!5 zv5dKZ!;4vgV;+Ya^Abjmc_1}H%sikx_m%-f`fzwL&tl~8Vs5MFh+r1rn82LFF%PUs zhhrXd42Kse!^~rzTF>!>*_LTKBO~+bdL|`C<_1P49YzjO=4cKfW>bzQ%-wYyPnaJu zK4EUC=eWjvkAY(zb59+}f=P@_PK?YS>o_8qmoYK<GBQ5}3wJYeL@?>{Gly~rF?%v4 zF)~*%MKUr!X8@5?>N&ia|1vPCGcvc<Gr2G_xe72JE@M(*-0jUF@s&eN%Yox5bJ>Kc z#>^EZ9MR0Z^-LCwyW2Sw*E6Yza){{IaXg)E$XqmmnVUn8S&zw<ad$@oGyfVB=G1u{ zip)|RHq3eR)^SuYb2V{HVvb+KEX^TQ#H1m@;lNyUf|-j+m66$j$%=8e50k2R0yF0m zb7SU0FAha!J`NjDk**@LLCZlai{oTI^OSlfea3X%6Z*`YY0QEX+BhO#FmsiFjH+NR zU{YfQSrU1IS(izT(S$ktgmvje>-1)hFY7tJa7<%T6=hEQ#1X};xr@1s$%v78Wj&KR z)G$3}!3pggM$fe~we2}hGFP71%N!5NG8{?=tjnw?>ZYeNsfutIf`}zds$$=mn`)V? z87FWUP2}+AP-GULz+BL@HdQ}TS3jGX6BJqHHq4w6%-IplqBhLgHq4?C%-LSdJQ35H zTdWM2%OjYVF@p5l>ZUVaWr$$rnsADFX?+uumKgJA))MBvDjVictTyS)y;UdL)0x}Z zIE0vgSDx_UD6qAj#Qcl3Y2A8l`|Q|s=5<w1m_?o#FdtxTvYW{9BHw!vlLK$iQ|5FI z1?D4F910wUOPMQe;+f~LMljE<y2g>te1w6cg!ve23G?qt4h3slU0V)^1x%VEOqwDb zDz8A~X(lyM<}wZ;TWe;K3165rMeZ;MaM&=bmN2ib<!G8{ZOg2{l)}iIV8g6n!+eWr z4fD!c4h7~rTpUlBIc=EBZRSJ30_OHI4lm}V^%Iz*^q3nNo0wlS&f_@E++EA0&gjD| z#$m%O!jZ-t6~X+AYXY+dhr)ag6^<LsZ%UYy8JYPaIBr!kb4M`eH=P70spJUe7hKnv z#hEl2=X0nq3xE_wad^$=P+?M*VD71#z?^BrEM>!-rpGL9lb*rMoyN=!DuLcIFl}LE zWS(4a!~B+kBMr)6a${tkTAwzFS*D4}PGb5Ura*CyMKfA%F)Ke|7UmFQvKKBcZJx;d zzmDkyBO`MoqYd-_IveIz#<X1K%CwC6^XD&UJ~@A3>B)tqC+9D0J~<!4KE0N?xt^nh zNmm?HAow#DPh|2HVct;B<jlxi%;CjcWz&(tEW<Gm)E3*bmLr-u>jbmn6Xs?09D2;c zOf8Iz%&!<YB0w5k7&-Pc^UPz;<gj7B2C90S>zRTWnR%`qWYXYmcfHO0ieU|N6sZ25 zR<?%uA}6Sb&j)4QvkV-&m`sJ4C)e*{KEv>Y`6~mH661R2*`=SDpK_Kk&n|0XZsOd< ze5sO2hml!w7jr`$hXO}5hcbsRhcZVdvpR>up859L_WI@5%Q-Tt=a)M(S9&b~`Iq?u zr{1%P-pm`z<}pvNf5PF*tjnRmoX4R6)(O(>%lx06LxK4{1Cs|MGv~EtW-d@J$YI*d z%;?8)gt@JL7xSqyP~o(elgXYDlt!2ZI24!<Re-#a!J)w132HYnJYoJ@2Qs0V5kwxV z097Vm<}+!EeC05-(<$Rne73fZ`DG19#6;!;oKKi{Rx({<WMn?h#-zu{T*}nN$Ouj@ z9ZX>6>yl5*$Cyf(chyc{p1@TCG8)u2ddtMX$e5UunOLk)mY7qTs*qb+T%wSdU!std zs*svnP*TZIl9-NDPSJ+JjzNn-jX{w?ok5AAMwg*Ro1uomPM5(>o56~~o<WzPnn8!5 zmLZxUmLa9IASW|9u_RSNHN??fAtkdYHMu0SER{h~5oC!Kr~{yvUzDz6WME)q#gLho zoS$2eSdy8Pld7N^>FDc&qy^-tjKsW@99%9&mQ2k{Q7F$W$xu*NR0r9lP*9YbmRW(t zuV8B!4D}2dKu%=P)zxK4ttd!ME=f&M2o4Eyb@bH@4si?$VbIglL&&)JJBRwZ`i1Da z`nfPLB<3Y&<QL%#G6sy$PR`FONzBYsNX#k7NX#qEO)bhyPRvnA&PXguOfE?+DpttP z%c;a-E|D4;7#Q+WGfOg3i$K%h3VHcO3Yoc}sK_i)NXtn~FIGq_N>wN>NKMX6%S=rH zb=(o2c6Rh}4AM~ub`1=5^>cQGcwa}s*D)Z#)6X5o%`Z}L^zn2I2I)nQn&Ohgq7p>- zgChVrc8K)_+)eP{21kWLei1Bcz`>7*mc0CujLf`rg~YUyR5Ue$VhjvRWEdC<r5PBW zNHQ>dlwe?ZD9*r89>~BD6vV)g9>l;f&xL{EVE_Ze{{RLC(Le?U^*{y&n?MEzzd#0t z)IbJ??jQz+1wjl9n}Qe^jt4O?+zeu1co)RLP#MI)0GbL0Z9ZmXV65TbVPWZDWMBYI zser-<ghBF-d>pMzPQ0uzagZ2jqa;||i<cET#LwWsz`!txfq?-m?!?RL*v!lTlLIZs z04*j$mV=HCFo0HDfUXmV%e6DRH?y{ZhA2QzU|7J!zyMlM2$OdMNwzaH!1ROGINV`I z*z45B($4JM%nG_!4`cvn%>igzB22$yJF{~ei*qyR)<u{a(CUG$j0iK3)xi7!n(4od z=0BJlK$G%YVEWy8S)I|`2%299Ejxj^!Ks<0jhTS~?g!8eI_UObxICI47(nydNOrq5 zv%0pixVD4LfcXJ5efL!!;Rm;7Ru7mOxI0Z57>*;E<JiXR+zeWG0SYM4F@a_b44^Au zVD3Pd2Tg&b!~6+~V>JDsNe$2_HM)M78$r_)aZCs|dSLMfXz~Gc+8N9YWHm5<fTk2c zr`N&Mpr?rddj<w37KA<M@}P0WI7v)-P%wZNqBAj+fX}%Fg)b9B3FwMea9&|z09~gD zQU$@FDLF<4&<1}nACxsfrwoF$gJ{q+4M;nP1`QY^YX_+XO;{mm2jw6~(AEQn5*82* zI&>1G9YlkcMImbksRdny%*YS`qCf*$j10k`BQ+~PqpS?UplzQZO^giS(hlUlA_fMA zYOrho=rY>*5GLqg0nm|DNDcvI*N0Gtfau2%HV23Xt*SzH2uSTKh)EzjKp2#x7czoI z_DWbl^kN8`14M(?RUvB!sRf+~z{n5)qM*{CSz(Y#;KBhU&d3l1qEbP#01V;jpj*}; z%y!VqCI}O(fq?-@PasGS)W{sTG!p~ELeTC8h7uMKy%@sg0MVeeStzb!Vqn+~Ha!4D zL8YOCehlEE2_(+Q5Co#2(%_m2WE*Hjl^<xXiXk|NnSlXxS`AWcfXc0j%#ct5(UT!; z4iF7mvxV#qklF=clLA0gKWHeQA$T$?1H&B%^8skt6KLiW5!)a=TfusQK-6|HGYmu> z1~Y>?Ss556fVGG1XJudj8NtX9w49BBVG|nz10zEah&lykhJmO{U}g}Ax(#NAfjkMq zAgjQ$xD0`y%WT0j4Ge)G=e+=%ANZM-f#Dm32{IpK1S3NrA82J7*wLUH&Ort-fJ|Br z4v2{iAR0X&Kt2JPz{F5m0CI#kXbmw#X#t210UH$nT7?AF22Vy`Sr`~VE5jHW!jOCo zGT<w!Pe7GLA=u0k77$$wVRL|JR?w1Cqyhk>wiRM0h++ZF)G!2da4;~;hcFj|_GN)4 zBM^}S($fjn69l5pf|+4g*%=t_LzvG&E9Ai1!$2lELzqn*3=9h(Ob`V!n2{j}M6HB~ z9_C<RI0<2XfZGa>AB3%eAY0dgtqKQGzrf7Ef1pLPVC~@`Te-o^z$Oj`29O<$41owk zK^GZ-qY6}K3W9^Agat$kL)aW38nhA*IsJmvs)Iu!07QXqGGt^3o59Jz;0T&7VF&|l zqyuSUWPm#wp(hBW#~G|W9JESn8iYBK3$o;okpaa`AjOOffgs8etS}g)2XxXJBSSDk z54=<a)$12Q8*Ug%SU~h;2%7^$gI4w-`vau*9oWSIAW8u=AHxu=#Ld8<0cHk(s4y@y zID(sjVI_nK4lf1<22e9$BR3?=gXkR)HV23Xt?5Iy3Z(WASbG470xd6LWC+dzE$IeL zZ88M&@-i^!LYN@R9Lx*=Q6Qs`3K~%3qY%9DsDuSX7em+_AR08;hHNWH?L>%4AW9K5 zpT`ia!pFc62w{TOOM^5anco0f=K_`u11SuGFcAvjF$!wsfL5`9sz(sLnGYNk93UFB zeh}FqAhqCSj|>4I3ba_1ks<g8KLf)z&@?AQ@Gk+#qC+Hyfb={7+a3g>zJi%y@%#)7 z1^nOw?K(dL1IP$QhM*51?O>C_riw5yfEMmBG6aFBRU#m@D2_e`HVIxxf$V7k@AsO> z0HQ(0g4_<GSAzDrF-&9t(GS4vQVtN!AO!O3L<SJu2WFRYfapNbQXhti3?Lfh5Rf?_ z8srKlhKURy8a-@49s{XiVkpf)l84uDAo*`#ABTf{`vdIFa8Q7ObTKl7!!#k~98e3B zQ559H5*8563}JJCXwZsEkh@^X7^GHK6ckDUAj%8O3=R=xU?_($K~xo(833X{`jMgu zq#d-ti;*D+L<N8qhJ&<26vA^eNFm4qMutET<qK9A2BJWU85sgW6hsdqx<nZmHbUIa z0-`rV*c>1lw73n~AD|ZVd9a}YAWB*c<fSkrF$M+;2opp(gP8#!3Zx&YfC6dX2i6`0 zqQt-ogF)K$AWV>+011$x!Jv-YcL)>Ik2945i-Nj!hor$wP%lqa4$Rb6W?%?X1~XwH z4zh|9Y-k|Je2~G641plZ3nDs4jDcY>glR9%z~ByAX2pO=u%ZkM@4*2v5ln+Tf*uf1 zc@_{2mFGdW9wg4hFp&d9L!1%>qCn1JVki{=(WYPr1c4}!(?G%?8sfwt5Cw83NEk#v zhNuQnASZ)_K{UkaK_CjWSPUc#qC3Do3Ib6-WkAWaQ~*RL$%4Wu2t-xNLWDtdEkqbZ z?Scw}=w}dN5G5oBQ4OLY;T{B{pgspR&cU7sg(+zHA0tB`i24C`b0ES&fgne$1sfZP zuptm(Y9Jyu;n5)~!N4E|P7DER5)2Hc5GL3@&{k0~1_o$a0wo?$%3)*(J}1M#0I~~I z2r4iz$SQ*T9bBx)z|aI?I;k@-6sm(o>(m(-ra_p$wHO%KwZWpc+6)XEAk6QE3=HB% zU{NDu28MWJFcaAUpy*^`C=G~_fDAf-*f1x6*gq5)7-E#bK^SmLiGkrGlzl@DVl_xj zg%$%ts}@8J$Q>ZdLE>UM3=Ew*5b<(728JFz2s>M!fuT_!!d`8_z;M9;!rp4gz;N9V z!iKpVWR98<1B0s(L>%S~ka(#v1H)!xi1=|628KH(5H_<Z1B1IMgpKT1Xke=-GBAL` zlaV196r>>EF){?hJjcio4DuT&lo=U<VP0co2!{EFks%o78AgU+m|qwff?-}^WC-30 z^$8<GFwF6c48bt>GBO0ioQqUiDoHXhs7rz(C;+qo(h0&uc0VYt7#RZNB^ektfn@_P zN<xN<7#RX#k;cdn2r5(dgUgjbQ0jONP9cGrS_}*z?=Uh1Zqs65*rx@uD)6)x1H*L) zbD1s!!%AJSD60Vj1Fr#?nQq9y&}j%}g2MU)I0?a1IB47o<SZtJQV(`1$oLhA-6sPX z&jPVwE(5VaS?>-cM|wyrFff3U7f2iw37{ANu|Y`;l$k(mJrxE9R~2wnddyQ{VAud< z+o>`zd{Tvoe^+N<c&rIw|IlP$0C^Oo7nCGHJ_WHsN%D?1M9m)^28L2y2-{wdfdLeo zAT<Z|7#Kj&31Z*YXJ7yY0*Ebbz`y{CTM!$RR6!vEVuL~j6wx3yD3gI=8pH-A)o4g^ z^*C?D!0;5x2IW3b5&)?YHDO=?r2!Bdlx#ss7Q_Z6TWHbbfhFpVq#)}^85sg$A<4)P z2nxv83g9RLg=4i6m<b9-Mo20UR%T$3g)m_O%E%B13r|LdKv-}xG6cdxlaV2iQ;UH? z36eGvwIJcj$Pfq%Rz`-vgW3!XC&496ASh7(>wqnWg(*mZ9s|QkJ+SCCJqCuS5aw4s z28O>7CbvEVgM>a<fvP?OgD!+=t<S*V0bz#fGcd$Ln4ma$3}JrIXJGgNVS-{u6_Qj< z4Hy_~Axv)r28IX-Gu42BAs51|Heg`rfH0>TFfh!8FhOy81HyzwDI-H5EJhg_0znb# z3ob<iLGgJV!URQUI%aNw7BY5H3=EEt%72v<1A`%?@(0CK5jduTA45|=BSY|1B?bmi z;%8(C)&woX0>@Nv8Z?PBG6W;yB$!EyfdLdRj10k`G!2RYMuuQekSBpdG#HkO85x2> z0R~FMj10k`Py(f4MuuRJ9~Xc#bTG(cpp?qU5DfAdD4{Yk1cN*VN~cI=6DXU@fvd!D zkjFsH8AgV1SSDv=2#4iyMuu=i!VCv_7nH*p8Nxvc6XM5kP{IV|Z$^f2L~0C2q{eVW zY79sCJRFv_85zP6NiZA~2%wD3$Pf-nf}niO$Pf++4^XydWC%xuM>rxp!V%#S4vKzI zmS$uK2L%l%M>8^nBceYX5lZ2RPzpzcQaCI#Gctt3@-ibsI4mn8wY@>Xh&_F1gVRUg zRXGNRJCMd9DC{6fB@jflDS$Fb@FoQY22jdjWB?~1Xs+K3Pe6g7Yz_(BKu`jjpbF9! zxKx#a;Vy&;3Q=wiu&9Ct1A_^K>8ZiM5DQ@zX)rLfL71~O7#P+=m`5}i7;ZqAZ$XqM z*aR_61_mt%(_WK-AsE8U&}3k!fiNd(GB7NKFn4J(Fr0%hLD2(Au7My55>w!mJLn4w zP!fUUo<I-<NiE=vL{tgUp}@ef034O@v1Cx909B#P45fSOyQCrYCYS@uRA9~>IR*w$ zngDY^wL2*9fH|Q05tMtt98d)b%0FNZsD=bJX22X!6$#2iV9rx51_n@54a@=MA5iNC z%mL*fP)h*Jk<?>g07Vv<18Tm3aub*XYQKT<6PVL$#J~W`8ek5n6alr;z#QZ{3|fHf zhk6mU)Bt(!fIKKsg+G>u_>_?$9Oh3(hH#iK85zQ1eq>|_hxw3^AspsEMuu>h??4$+ zn}Gr3H%5kVn9mp)!eRbmWC(}(ijg54<|mK|MhpxfPoQO9P&_d)lscS*`T@j-#S(}O z@&zc8Kx~-XL2Q`gL2Q`oL2Q`wL2Q`&L2Q@@Kx|m-fY>lEfY>lUfY>lkfY>l!fY`8z z0kL860%F6WWrHaL!$xpRxr7BoZ-%frKs0D~4octAl!4)ZDJX^lK$Nr@h#4$r#=xKt zVH%l1w)7y?8zA#RiWwP#K$HwvVHik{0fdRrgXq|sGBBJ1+Y<;<s0vmHZ*YQk`ZSt> z8gC^mAi5dC<^a*49YDw~2C1C_)*b+&_|3sC7BXjGkbp3y%^}-{kX($=69m#D09F_V z(jy6BBJ{vr4AQd}Y){}uGX{oz5GF{W5?Bx1@t|3?LUV}YL3A;M%>kl88;+124^rC# z)*b+&W`UW(bIlnTPC=Mw%^4UZEx=xqv4Ct?Lh=Vfdk{$bY_Og%koMCMCP=#!SbG>k zJKRek?GwNX13`K~iWwOKK?;??df;9HO$0u)fOrW+KZdY5Ks0C)5ZOy0wI9IR13;9% zCD`#smJAFr5N5n31H(QD^PnYU*A$YM5ZZ%4+6}-8!$8_&Axx0={SYQXJKRek?LWY_ z2Z~xUFsOnR27<JM^f4j^Q9#cAXbJHWi2e*=bAV{j)+=N$fz<L^f&38wqPVR=%wSP# z1_qEyB*!BZ27wd`f)$1%6vD^C5DEi93i-ea!w?GL{sB#&2HHTJ38I4`Yz`0&+S7&X zOpw}48<5)qK-4KPGx!R0_ZN~g5ekDq3NL^ahJzFu+Jdx)gD4X)GiaYJWb+tO8Hvyy z2-1EQtUU~*9poaUAvMsvuAv>o@gUk5!sY<cpe<y`jt8l=vjf>40HUDM@VPmVw1XY! zz_6gnEP<0*Kx`0ZV+errlfm)<lUaf$vt-#ZFytWdK}Y#bK;py7Mv%EaU}sHa0MSr; z;gf!$b_@)iU}pt`j936+-m_z1cm-j?3<Awj2ZH9Q8A@0{bTEX?0ir>B#gP39QX6Lv z_A7|WbpQoXsRxKIasUfgIY4%pfqIL`He`Zz1%ap?U<*oJK=eL{Fo=TM<$|dz5Tpw# z4VrHTtEjhUU}ypB4!dv9z>p2LJ{&|ff|+3;stL>tZ*gE?uyF*rFTBK&fuRn<1W~KN z%wQ0;AIuB~Q4hh)V1FkD1_x)5wlEOo4rT^}D3D{2lFM<BdMA*=08b|dh7t(#sS^Xk z3kXxknSntctUUl^5=1+^i3M5(kmw8w$`Te3oeW`ffN0Q}k;pLsQd<p{pU42B@yN4) z<iCM!4F*wtp&%<tc|i23P>^ebK~#7IL>NTpM}UPv6x3k&*el3{2`*siDJ~2Q(ym~p zyek7kyc?KV;l{wQ1j5|z#=yYt4i>%Z$H4H~56s*ez`$@W0L**{@_R6tnHb8zP>pa6 zdl*>MJB)!L2f~~k&cL7nahGc(14D5nSi#>&1_psBFmqNE1H(ZG6Pz*_7#PG{7#Lc> zjtv62&;sn(psB754C^4wPp%9MUm(n%t_%!pV0Q<pxG^wjL6{)l)Ipe73>9)^V1OD5 zGVm?Lq~FAvblZi2;W5N{Oo0px{DB~U1W5!kFepKoT7e7<<`AZRAOnLZgc%sfzz_#v zW&|=Y6hWAwK@1E@L0}WIf*2S|Ak4lX28P)X=Heg*hP4pp)*uFkLlEYvAO?mj5ayjA z28Ndq=EooghTjk-%-fAF3=BPB#|D5RemaDCz>R_70XTdDK#2$vZJ<~MYXc<~P%>j; zD2)M0gVGj=jg+vUXQ47MAgPT&QX7G!HUexY1B%)ZB()((YD2K71v?Syh5#hB*xc)b zWUddATF{Z8V55=T>w%=!14%7>Yz#@Q3zAwFB(?DJ4oR&8l3E8OweZ3ZrWV|Zfhh)a zV5-3!uzQh$jhUfzM?I4A9rZ}cchqB1z6DwN7G&jHP?Y}$7c*g?v@#K#K*B(2MFyNN z!q&JmFii3UrO>cgF9wEOA24&N4+Fy=Uog|bkAYz(xR3|~l@~$&V9{y*3=H+)@*-?u z00RT4_+VrRLlhlh9>EL@HQ-Vt%s7;R0aTJOGK7JOj%skx5e6zcK+(>~5QZo^!Vu*J zys-ibPgW0bIamOqc{~^xm>Ehp)Poqp5Qz*BEd^ocfM{6=y8uKBdO|gT7$6Lq69v&y zFbNPt!4qsn28dqj1=Rs!Oz{Rw6o6=1U#J9#q3sKiu=izPh=oaj7)ekG5Df}5uxmjK zP+<#Nl>(wcAqbWLF;@6Pi~`Zy{GoP$7<(ZS86f%ygq;JTPeRxQAUZYxssY5v2mqUu z1EPyz5+DXBwwM@7Ge9&b%0TV_MH?uhKx_~l77R7102+HB2~aG8q7dv@&rk-2P)J=> z0E$y+K~expxS%=#qya=94uhHmVsM9p-BbXgLD3F23B&-!KS&2CrGsh-5F11XMniRj z7|_ZNzD@^poGBAHJ8YL{U;u3(1}(OZhi=;h(_mQ{@PafD6Ljw=h=%MFhOihIwy`iU zfEN0IR``I{0>Q*Nco-NGco-O9t0Z7+C<;JFJ3|iW04oKl3&Nu=3Th5mF~}`q3=G0z z3=H3885lrwf1qhf&^le1{4Q|@h6~~lc}6*yC<6m%dUSyp0|RJA5~LR<0}=xrmjN;h zH0}?Y(*&sjnVByOIYt9y2eSH)Vhjuh(5YjPKG1;c0a=LIApM|ON(Na526FW;1Z_{o zp<h*;fdS-R&=eEMy&$_mZUMRX7$~x!4t*{TnN9@FYk&qqL316Tu~E>tGH4nJG`0d7 zK?Tj3fW}v0(|w@vG|&{_2I#b40d%SmG(-p*<NyujfTk1~pmUs{2`$iQFldwuG}i?h zVg`*bgGQY}L(Wj=Fo4|iTbzM`kb6v_Q;me&QxBcagt<o<>K>50WV9g@Z6J5GL1$<q z)EO8+v$YS@7#IT8A;bO1?hJ)azj{kBFn}h59VHkTJS7+ycqJGZKvTysf50XzVd1$5 zIt2=IHz@p$86xb5g$GPOXlVjyT>>Z$K*QDvMhpy~K_XC?gZvB{2=6q6%zc5z$U!54 zpn)b(n1jaGLGx*#!70!j8z}5SVGbHm2BinkfEUc3pArlVT#}IKS$y_@CK<8W1DcWq z*#nxTya1hh0@(+e%LLg6viH6^WcdWh-dN~FsGlSQLzpB3gOnr#185c%=AJj8HT9B^ zX<<;h1*Jt$S^&8X6qca02uhovQB2T487NJH!Ui@C016XO*uo|YKyC)5QP2=5Xo>|i zE(%Jk_R#r6P*{Nm>tNFpptJxAJJ0|uDC|If01fy#Kqq-X<F^}B7#Ki<x}d>AP}%_H zD^MB+#UW@=5tODu`3*G42%CC=&AI-QWME){9OVJ_GK@dP6mrxPC=d3SLZ--({SBJH z0{I&>rv>siXb>Blzd`e3ptJ#+G6VS=G>ZnBLIX{#H9+UuKof1C>9+s_1_scK9B4WY zG)V^vAJDuVXwnWel?MtZ(Ci*)Y7aEw=K!4p1Wf>frUeD`Av1-bX+qF^0BGhAJzPPv zj-Y{2Q22u8z+mBP3{5MbaMsacU?4S|K@%#VaJ~$kX90!#X$1xb^l(p+hRk)VN-;3F zOEWNVN-;3-Acg-lDFy~TX$A&d;R{Po109~Q@B@VxXj%~#UZA-n(BSkxB}iRU2AyHT z6+WPIXB?#=^PJY8Rq)_c$iUE|z`(Fxfq?-Qp1Tzo7(n3(n#bA-+bqDqz)&pBz)&F# znJWj?4WKd!low%x*`Tr?l*d425hyKy@)oFU0;K^^84M~bKxHo|Pl5abayzI_0OcuA z9s}hmP#y!76`(u@%0r;Ioh;430Ln}C(hLkONbUxS&mqG-U!l_tAa}jhW?*=$#lQe^ z*K17%24r{bP+?#IxhqYDfdS+$9~B0MI28tl<I0dS;3RYo1mw;`@(c`ZG7xuel4fAY zM5<@o?HL$ABSN6@70{qZnj-_lVn+rB*nkW)8W=v<Gcf$MXJ7!S+k+%;-~buffvIzI zU|{fYfasTSWMJ@iU|@)W_lg)8KtoEq?HL$A_JBruK;udmL1(@~4Y=&gz;Ml(fngVP z$Y50z1H;BB28NZ;{>7{S1_n^Wb)i241E|?M!Igml)T{sP!oVQz%D~VC?F)nY3!pKE zo6ZajPe9uu=wv>~E|A?IH-r2D>dJup0PEer8oZ!B5U7a^>nwpfW1s;CQ2z|%2dH!5 z`?p}`!1Tf7WrG+PoP!t`VDd0=ba%k)2kij^*#lDtvLCb`4CXGFI4JBuZUHsKL2Yl) zpbp3mP$L~=7Rc=&J!eB17(i|UEnEk613;Y#keQ%30>v39jzDn+iX%{*DY!B)fZ_~h z4``GEBu))`K%E*|n~TxQh)>B+F3nBND~Si4o1BwaT*3g_*%=SrPZ$s0(iiU<=IR&1 zkd~j5lV6^i5}#BVUtExwoXQYioRMEtl2n=o(FERd2vuAR+R~T`5f27$T7*i(d-})c z<R@pxmoOBU6s0ES#)CH`GN3rExFoS8H9j{nIU_SKl_9^hq@c8fAqlK4GcN_SX*Iv7 zm?0;%EH#G#WMEQh8rTC#rD<uYMGRoq6+?_HFUl-QjfZS-EQ&8-K=E)&YFc7xPDy-8 zVtPD$|7$S=#PRXjsg?1d-H@pjB@nZa`)BdFi3J6jdFfE+gIocz3KWo~dBvIOd8sK1 zpj&rPd<HTizBoBCC$Wg3C_lf1As)Qt6SNBx*#+Q8aP{>JiFfsL0mVXyD<mxa{Nr7N zg8YL}9h8z<l3J9TnU@-$oROakau(QdRM+Pw7J))NwJbHSq?jQd#7!-Nh7!nGC8<U6 z#i==|$t6$+#ut}V=A<&@Czqs_Fr*e0<rhKR0Nd~hb{iyZBq!$O=Yh7#GNk3?m&YST z64>{}sfDGfdC92|6XQ!5l2VIHK&n#n(1JEIFS#f+u{aebi3kWMAAe_Wc)|>G^a*u^ z1`H%}<8xB;(n~TRP6P)Xst#}0NT~Yc{DMk|GEiuO(>B<Zut0#sBPdOPV?VEiA-*8L z7<7(OerX9fy%i^xrGgV&ab{I&JV<>>Y90ePWKkm~F)uNvvMMzmvI!YgE;%DLIXfP_ zsXHDPKoDp7c!szJIr_vyGfr?wq>n2@W?o8a1(?h$$;{7V0NIL2*eQu6i3~aUdFcvZ z0wn>aW#*(Z6qe?fq^87!vSns+W(h-XW(6oK7o{d<7elghF#~Fn&MbyT0?4+E)Wj5s z<G?`+PXdqvA~?h`#1$MeNr}nXr3LXxiN(;&@9XO89~22qwDI|AX~n6~GA7vB(a+B{ z2r32H0}hKsEb)<(S&~|mm;+6l43In&5B4{Bt2{$I$e(%nsDTWM(|Ab90rMS1H5MC+ zGxO4OQsbc^1+f5P8YnHm%ZGThBnycMQ1s-LFhIP)P?lO$oSC18$kGhpj0rIf<R(yN z1JQ^A7?#$+NeUW7Xu%B0Yv7n;D9=nO$v`y^;t-HqAvppZAw{W)DUj$WD9TUDNzDbN z<IFr%ov>tz>FoGCQ0bSOm<7xH;OK|sEZ8RWcsI|W;E;IF5LaJl4g=>}H-8@&R~OVo zTwGF=nU{`~kRZGGLE3^sKqRc3L$U^57kT;y__)R+=lq=1#1v2&oCHqBNXEMP_=m&G z3W)O%`5z_f!I1ziv{2IrBtAj8KCvXVm;to=pCLXsKLwhsvA7T28c3=u$Vtr1i%*19 zosdumyEYyg#X+u)F7Ql%>9RbKjVQteMfu68#l^6E0IGN(ML9!JVtG8Y1_X(MW4@rI z2x4h!UUEJ-tk6;~*#F=&5TNQn)k8e!oH&>Z;n57LiXcf49KT3G09S&P20%tIfKM?< z%!vmDALQ@^*x7Ut+aQ??UM+we139;@peQvtH8llPM8R7dp8nvXHWiYbQ33^|F&?Eo z0WJo?1V$Z<T<}68ouM=@GZ_@ruoMMtLgawzRB(KOGZVPn2bXOnMTwa?=t(cY$I;Ud zHNk@q?aRqePR!9SE=tx1IU2-(BvnVh$atq9S4VHu!W<Gb;MxSetO5HICADU!Rx+ey zre~r>D=bGt0vKXlu&1B9k86BjsDB80zJvt>IAWoB5)s|t)Ef^DhGK^J_`=e}6j1Xm zvnmzhRH$xvG=h8yj&gM8LrSQW{L&<hayB<JFTaQ(F*&(3w=^fQ1ZpzKzo4QLIm%!y zIEMK6g2WU<2xSDJj3JZ>gffNr8=O#4N`zp{q6F+_n02tw1C^!lav$PXNC_5S!Vq6p zk_hq!a+MYu;${)=>gVk5;_2rOQ4cc`L?a4&NShZD+R&psK&4+$2(*<9uGWf6)6z04 z@KlLu`8l8*f*i+aB{QPwkXMqET3pNkPq)wn4t4@KfZ%lvDBd9zI$SaYUP7VPk>G@p zn!*5YzJQV@1H|3n3<EBMKrLdF;01>Tq<DnsjL$4d&BYR8AOqp8BZwk!rvu!whPy8w zC3cZ(2)Oy+>a_w|=%Ofxgb}=`fHu|K{X!L-6~HHODrmT*CS@k(L3p}GnhemUW@d4G zc}8YQDmW~$I38{}B)Y*QxZTYFZ-#-r5a1XT3=d&QNP$}0uu>Qz0y)w%9#;I9B&IWD z<{`?bVus}WoYLGp<RlNSmf`V=+*B*b&&(@HEkg8$z;0teHV(yBNXCWKWzggXEh!-l zen?jgoLxW-QHW_^zrkv6P^yAd9w-LqrKYCD=jIos#)Hc{wC)Hfp+G$390V;XQFOxs z0~%-GjwNbW3Ua&;q-BiKD2~t1Nr5#-!HEpwIarDYRiJL3KCY;-3M&`DZiTkRQB^<! z3hEwk0D#jPyn=)zHWW`J78IoBrJ(jf;W-N0y+qLfu>;=6VgTs|H32{lg7l3cVHO(V zW@zT*iYSoa0RXCwVW|h4c#9e0i{btF@E}nC1KKVJB?$&t;{nodgET!sAp~&=sEq;k zD!3d$^)FI`0IbBv4;qhP9;gCD3!0L|%p8Wa%%Wnn3avP`1UxSastq80QA95tTNEVa z=R!gO;V4*AM6?7U@dPVjb4zndK$Utb1Ek{%9)&<P8<Zf?x)Y!Z7*+wo3K>XRLe1pP zL2$q0Dm1_rf@)UC_y9PFpp`Ks^FlHZIE}``kM9Ci$@yt%=yffm%0vnz=#T_B?!nm( zmos3g98|<W3R`%>0kx%|oeN0$4R%Xv3iLEANOug{Pyjn06vOZe5iH{3AL@jo6#|wA z=|JiDf?5)p$mJTmM057{3vu;>^&7z16*8P+gc@rl4DrdOMe)c5B*+$6dO*sP7#$#3 zBN&m2;OQ08-bYX1kO~;p=y*^;V`c(sG?eC*7N@2dfh$MQs1>*|3HCQQxB4LER+Q2m z)<tJ<cXqZ?&~Wz))r3?>n3WTQUU6k^Nn#R%UU5kggwBAmic)j*N<ck2J#Y&{FR8eg zK`$jWsWd%4F)67iwTwXzqy!?8nU|K2%m)_*dPVsltst{O=dz)2O(3cvDj;l#Nohri zxv4OVa`Kar<qArZ@)C1Xi;=|=ixTtFK|&DisJ!BmA_l$W{9MqmC4*jGeo3mHyI-ho zaY<q__^LJ7ASwYGbPFZu3?$IyRUoCHVSdn9F^CPqu)WcsX%Wx`zaTLXp7E4{0d!|C zXu1oeAG9)qgMooT6?`}lXwe5q6$1l9ER=>)Aax+7HUk3#NImGxB@iE%I?&Z(AoIa$ zKtwD9Lm_0*2#5zd%^OTRLG1-|7#J7|;~5x0t4d&em>Hm(Bar=}@QQ&!L6m_3<PT67 zfZPXiR}h+c8ubhedhlhMpp{b)ll>SN7?90#_z&?H$UKlaF!SP|<{3e>F@$w9F!;h8 z1(gGFbD?aQx+Ogf42wV#P<<ftKwQv)Paql=6drvH3<*#*APS@oMAx9X&*MJ>1L*b~ zko!R10jUGI6Lg<8$UKl95MI&8z#ssR90t%)=pbQ+4m9&P7#JBE7$M;YIv)#W-b|=J zz?v8s7<No#U}#W>@ett$zT^iX%wVyTfk6X_4|CHJG<!Q38NulX<PXr{TQGa~pxK+S zlYs$giV>b(cA%Lzfsqk><`>93&=t-w^G>6g*RYd;!2lF+P&dNdcN3}(lwLtn8;&wC zfbQJ^u|XK54uqdT)q%u7xacMW<OT*12TATN5*s8n6=VU30mUG*KunO|k)nwKr0y?B z0*YbkKr}3^fTX_MV_<M#W?%s2YtZy0$iJYx4ob_&=9xTVU`R$10GR{QkB*VWSr|V4 zN0w)XhdM-*8Fbn{gb5~@;i(JEWng9ioz@3ogGgouP|gIgAefnf19Z6pm;-V%69Xdy z$PXYk=&V8zAGDAZRF;9xC<O6Acm044F9V%R2;ze^LkVUEE+`8^F*9&8bU}|61D#a} zQojtuhn`Ic;_qi*03TlkI*Sm*2VF`DI(P|m_8^G=hk=0sbfyvLoIwy@l97P{be<6C zOhFLeh!Ju?5a=915Z{lHfdO<J59r)L5I+MX&&R;v&IVd>$H)LWs}XcU%3{#^GX_S6 zr674x1_sa>fFSh{mqSQq1|EhzAbIHde<1lsj0_B*ElQyC{y=<oCI$x3{vOczejvU! z69WTia}4M_KM+5V39|Jj4t!o3BLnD)deFuW&{=&T`I$@%44};spmX^^{M}3p44{1r zpmX>@e27aRBr^l3WPq?iBr`atfmjgC%m7No5H^TpW&q_t5DS8tK^})N!6Y+-7?_3; zh?6HFBFqfp40n(cJ1AW|M&rLm<NrhBBbR+3{o+V@0K`{D<LfdrFo1RqfX*2dVqj#j zN0SHLDh+WR<Qz`e0H9tnY9kG^fsfMZfi!2)W=pWBKx*)!$YPlyLy?CydLdl`RHwn@ zKn-FPO_2T%sM`x}`J+!}A*7*gW-OW!-8d9USkD&2N|*#TcS7ugj9jDo03rkFmO%UO zDAu7*yP-&eJ3W{K(O_XnF96p6!7{Z1Rt4^06H<g~6sTK;=?aJ%__zwbK_i%T*bM@^ z2#+~fJLQ<}fsI8%yXnOxMLDT?po#6g<lF+(C`ijGErw3mfSaoEsTC!lk+I^EBDmV( zlA@GSsJ^tKRJ1`*P*6h61P{`uq~@f;21*M{Q%h4}MlyiQUM&WOY|xpGJPhD6jFFdt zp&P{KWnh>Br8k4hI4uSS(CvMoqZPP7M-pl?Ferj(Ed~bAUAT-q3=Flb3=B*<3=B`8 z^f^%3ti!<Y5K8}q(%(SG2<k8}eBpqoR|cJxr^Ud~2BLKs7<PcpoYP@oFajO;#>2o+ z38k+>=`heeIXVmsdZ44(co-OjK_{o_Ffc?w=_jC*#&j4M$^;?ivw%(*(_vs>7l!an zp!7`8X=6GJ3_YO3pmZ4+3_*uC@G>x1gHBhHWMJR}9YqAX!x>5|L1}481_qFSHK4RU zlzt1Py+G#_@GvkmK<OMAi26mKlaY8C7|ts|-0>Vr+k?)s;9+1mtPBxP0-fKY!@#fw zO5ag~h&QQ2=*Lj{Ip{nW9R`M7pksw}7#Lnc>7$@CTyz*1K0@hg(2+tq3=Bu1^g}59 z6H1GKjv3NnV9<opE>JoWO5calU!XK6=qMr`1_nhaZ3(4ApmZjbZh_J>q4X6fZ3sH+ zMTddG6G~r((#fD>igXwlCV)0r>o71}0&Q^SVPJ>_ZC}=9U^oWaGt9%l-~rkZtjoY) z2imC0!@w{Nw4GL$f#DRCP6O>)<zZmB2HKOV%fJu-+Iz~w!0-%8+km!<@-Q%DK<UL$ zng_Hw6l5-xeg)c@$-}_l4cf}d!@$rCr4K`CF3`qDT?U2{5Ut0+Fa<>GGcYWK(oaEK z9C;WR{)6}i3=Hg`Er$jS40<41mw}-Sv~iG^fuRdT^Dr<>gwivh^n56N0!n`Y(Yy={ zCZG+ES_}+MP&xs$zmSK4K?bw|kcWXm4@x^bLek4R5TBQU;WLN^sRL~X<Y8b)gVOCz z3=E)ry$nh-gSOG|Ffhyl?V*umVEFFBz`$h0!0-{Y4F;6YL0hwU85lN$wnrE<F!+P^ zxq#AdI3%5a1?_^+VPG%??dby@Hv^?pK(rA9Lrf$C1CuTT!@MYn`#`N%Mpgy}P`80m zodMk10nwnVPC+#IU|=Q&&~kkSM$lc~pte6d1A`ifR%c)^hSH!@f<fv*8=pY5KU5sF z!3M+!b+th>Xm=`z28{!NXwXT(Ai5l?z6nbALg}SY8g%J8NZnQ_{~(mU0HyCkY0&xH zAa$UA28iYX-QcCpz#t8!wV<>ml=gtq;ZQmaN`tRdR%c*nf$}FqX;6O`WbQ^N{{WOe z52f!x>9<h&50vHxmFMaV3{p^96G~e^X?G|c2BpF03#&6QltTG6P`U$3PlM7+pfsp{ z0J)19bfPXO9-*`Xls1Oaj!-%bN@qgpd?;NCrK_QI6O^6`rDsEF&=u<-`#?wIg6MTn z@q<wMIFvpMr7uJ2n^5{blzs}O-$3dAP?{HX+aW04ptKg0wuREpP}&np`$OqaC>;%@ zlc01dl&*%-jZhjiP6Tp4_~v?b28M-D@#Ro@9h5!<rB6WVb5QyUl)eR}A3*76Q2Gs& z{sg6eK<R%_nw6D-0c5`vls1OaiBP%#O4mc_c~E*gl)eC^-$CiWP?`sHnlLE*ptKg0 zc81c4P`Ut0cS32<k;WkRY=iR8L+RU4`Z<*T45j}=X>QQ*z3L1M;!s)_O4~qb(6PuM zbEBaAEGXRvrT0SV!%+Gpls*roK?f6q^xuZ^A3|x+Da9c1w^06PDE$*k|A*47po4_f z85qC^3WM?olrIjYWude(l-7dM_E6dnO2<O!GAIo?nHXgM3@Cpals*cj??LH5P@0<) z65lFNIuT0OLut?n!65V2Litaiv@{n)pB9w1gwjD!IuS}2K<RoY4Z02+WZrTpe;bqr zA91YCz;Ff1e+;ERL1{)%dk<7zL1|4WZ2_g-p)~l2VRZ(ER4Bg$N;gC4Nl<zrlm;Cp z406wYDE}Okz6+(_K<VF5nhSIpusQ>SB$U>K(w0!#6G}%y=}ahH38g!s^h_wd5=!rc z(kG$xO(^{mN;81kx9SWGB2d}@O4~zeFDM-bqL~;NqM&pfh*oA`NC(mC3=BmeTA6{N z97L-#F!Vs_86cX8fng4mUI3z%85mZAXmtjLEg)K%fngVjR%c*12BMi57*0Xyb0Auo zf#EucR%c*%1frE07@mV@bq0pdQ2HN;R%T#e0UaEy&cGl5qL~;NM4+?;h*oA`0H3d{ z&cL7p<r{)%b<n*8kaXt@;xj=HUuI%p2nF$#85rU~v^oPrCWuyMV8{c}>I@8(AX=G$ zp$<f=Gca_5Xk`Y5J`k<Wz%Uz1F9*>~3=FHG^m-7j%)qb%M5{9}fR0=S9TIpM#8+lu zxB;To85o{G>GvR7nStR8h-PA7_yMK=f@n~F2c13)DwjYs69a=Zl$Hn4$_xw|AR5$; z0ny3~3>F|-oq@p_L@PrsGzX>EU?@KVM5{9}B!g&W28Ij}t<Jzu0;1Iz7%D+DsNDdf zl^Ga1L9{vp!xRv$%)l@kM5{9}EC<mbe?#f@AR6Rv5DoG-h*oA`I02&785k~uXpsLw zH0V4@5UtF>@B&1uGcbIG(u|-ZmYEnBSfMm0h*oA`5CYNa3=Fa$TA6`C2}G+iFzAA4 zWd;T#5UtL@U<;y^85o>Ev^oPrAe2sk(z#H&5=1jGFw{cnMi8ycz|aMv)fpJ3f@qL` zL9{vp!&)f46G|V2(ifrhJt+MOM1#gMq4XyZt<1pi8$_!!FtCAc<W^>2;0Mua3=C>e z+89KuGceeLXeI^*XDICsqLmpK0zkAn14A^3R%T#G0MY6U4A~%BnSr4YM5{9})PiWx zr4CTK6-0y5Er?cUV3-M_l^Gc3foOFGhLs>%nSo&)h*oD{*a@PQ85s6~XmtjLlOS4| zf#Dp82JNea(oaFOG6Taa5Dkhy5DoGth*oD{U>9Nlx3{^WG(U(|W?+y2(drBg${-q) zenB)S{eoyv`UTOT^b4Yu85lf4G|1mjIvq-vK<PFpJqb$BhteCN^j;`^5=vi#(l4O& zS11kY--GgrFzCi=bp{4`D6I{p&7rh2l=g?xF;F@WN>@SYHYhy_O3#DRtDy9DD18`8 zpNG=Vp!8QL%?>(4U7dkJ7)r}SX>BNN4yB!;bO4l2g3@_Vx(Z6SLFq|QdLEPp9b^vj z|6wTqDwKW*rQbnm&~PzG9giraT$O~<+ECg8O1pq)CI$u%DD4BHl^Ga9L9{vpLjs6a zW?)DK(drBg1t40PfuR&ct1~b(fM{g~hE@=*&cHAML@P5eOa;;E3=9iEv@!$3QV^}q zzyLbe8&uBj1o71v7%oHUXHc3EG(MxozyLm)Tn##2qsG8s1rk?gU~mP|Y77ivP`VIG zH-Ttn28M1ZJq1e71kq{?42wWCDF1+HH3o*0Q2G{#R%T!T9m)-I*E<kjje+4Ghz6Bs zpm8EK1_lKXt<1mx+V{<<#=u|<<=a4MS19cTqSY7}f<ZJW|AS~X28J9Et<1pC0HW0x z82Ui8G6TbOD7^$kGcho%fYN(Fv^oRB2@uW1z;FgigZ9*e+<6nk2h~p?TA6|2C5TpM zVE6)}l^Ga*f@pOH1{TnGmNEka7l>A8U=Rb*OwiM~nHU)4Kzz^z*&te-fx!qwD>E>d zgJ^XI1}6}$%)sCdqCxwNL9{XhLj;IcXJAMH(M${s8BjV0M1#@?hz6w(5DiKnAR3fD zKr|?QfM`(q0MW_}49h^YIs?Nd5Y5EEunkJ@0@2D042MCqIs?Nw5UtF>a2Z6aGceo( z(V+MP(drBg??5!Do(9pNxmM749TNis3zX&n(aH=Af*@L*fk6gDgW4q^8q_WU(aH=A zh9Fv<fx!kugX$>|t<Jyz+E)!4p9li+nIL<tLGb}PiyD;QvOwa>3=H`oTAhKR3PdY2 zFw}!+bq0nm5UtF>FaboXGce2n(M${s3!wB85UtF>uogtCGcfD`(aH=AdqFfPJ%DIs z28OdBTAhL628dQ>V7LpS)fpIGfM{g~2JkqgIs?N`5FZo{Qjl_<4MeLmFi1dY6)0^8 zrJbR)Ka`G!(&<pT1WLC->B&%fK8R*wU|0;LmxE|!28InFTAhJmH;7hdU^oDx)fpI0 zgJ@+2h6^BCoq^#th*oA`cmSf+7#N;{Xi$2F(*Hp;sC@|<Z&hbt;0Mv5dJ06VLG~Df z@})DBp8=vl;SZ(TpfqSdD=40pLirn^^j;_pI?xg%e-+Aq2&Lab>7P)V6*S%p>fb?W zStzXurA?u<Bb4@q(veU)6-pOE=~^h=38kk(>4i{w9h5!*rO!a=n^5{Sl>QE-SwQ2^ zp!^P{m7%mLly-#Deo#6AO6Ndn(D@mlaA=3}XF}<vP<kVj-V3EqL+R@vnu&qoHk7^( zqCxFP5Dn@tfM{g~h94kWoq>TFbjYtV0|O6;R%2k0h0<yuTA6`CA4*$5X=f0v#=sB@ zrOTmo7nEKKr8k0TWd?@bAexDRVLz0<0HW0x7@k4tPaqmJHV-;-RgHmxA4G%F6_i$l z(ppg37D~H8X@4jk0i_e6bQY8@hSD`qx)n;#1<~pZ46C5@DbTngbp91ozJS&ufN0RV z6c7y_H)Vp%n}YbDy9q%w=&n8x4cZC~qCx9CKs4xF84wLxM*^aCpyq?tW`Ou6P`(9} zwt>>1^#UMy&|y&^8a&R*#J~VrO90}74zdE#pu?{~H0Z!A5DhwH3q*t6qXfC<55x!C zr^LVjvkz>Z62d(2IIR)`Lk84-@R}Ya28I?We*uVAVqgHReF2#VTDQZf#J~W)zYR2B z50wY6DFK!9pm9(o1_llg&BVZ<0iu-{7<52169a<_h*n}?0FTEqF)*Y+`JlB1AoIcF zuu2TzwFV&m5~%zN5Y5EEZ~{atF)*9~(M${sZ$PvX1H%Up&BVaK0~#k)Vqg#e(M${s zIv^T!b^wS5g(HYoVqgdW(M${sIUrhzfuR6IGchns0MSa&c{wHqhAmM34iL@6z;Fdb lD={$K0MSeg3|~OB5(C2z5X}TS{E>lykqtqE=IKHH001H`Knnl> literal 0 HcmV?d00001 diff --git a/yaml/src/.libs/libyaml.la b/yaml/src/.libs/libyaml.la new file mode 120000 index 00000000..cc21aa7b --- /dev/null +++ b/yaml/src/.libs/libyaml.la @@ -0,0 +1 @@ +../libyaml.la \ No newline at end of file diff --git a/yaml/src/.libs/libyaml.lai b/yaml/src/.libs/libyaml.lai new file mode 100644 index 00000000..d8915344 --- /dev/null +++ b/yaml/src/.libs/libyaml.lai @@ -0,0 +1,35 @@ +# libyaml.la - a libtool library file +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libyaml-0.so.0' + +# Names of this library. +library_names='libyaml-0.so.0.0.0 libyaml-0.so.0 libyaml.so' + +# The name of the static archive. +old_library='libyaml.a' + +# Libraries that this one depends upon. +dependency_libs='' + +# Version information for libyaml. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib' diff --git a/yaml/src/.libs/libyaml.so b/yaml/src/.libs/libyaml.so new file mode 120000 index 00000000..f02c4c31 --- /dev/null +++ b/yaml/src/.libs/libyaml.so @@ -0,0 +1 @@ +libyaml-0.so.0.0.0 \ No newline at end of file diff --git a/yaml/src/Makefile b/yaml/src/Makefile new file mode 100644 index 00000000..8859afd2 --- /dev/null +++ b/yaml/src/Makefile @@ -0,0 +1,463 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# src/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/yaml +pkglibdir = $(libdir)/yaml +pkgincludedir = $(includedir)/yaml +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +subdir = src +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" +libLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(lib_LTLIBRARIES) +libyaml_la_LIBADD = +am_libyaml_la_OBJECTS = api.lo reader.lo scanner.lo parser.lo \ + writer.lo emitter.lo +libyaml_la_OBJECTS = $(am_libyaml_la_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libyaml_la_SOURCES) +DIST_SOURCES = $(libyaml_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /usr/local/src/yaml/config/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /usr/local/src/yaml/config/missing --run tar +AR = ar +AUTOCONF = ${SHELL} /usr/local/src/yaml/config/missing --run autoconf +AUTOHEADER = ${SHELL} /usr/local/src/yaml/config/missing --run autoheader +AUTOMAKE = ${SHELL} /usr/local/src/yaml/config/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DOXYGEN = true +DOXYGEN_FALSE = # +DOXYGEN_TRUE = +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +F77 = g77 +FFLAGS = -g -O2 +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LIBOBJS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LN_S = ln -s +LTLIBOBJS = +MAKEINFO = ${SHELL} /usr/local/src/yaml/config/missing --run makeinfo +OBJEXT = o +PACKAGE = yaml +PACKAGE_BUGREPORT = http://pyyaml.org/newticket?component=libyaml +PACKAGE_NAME = yaml +PACKAGE_STRING = yaml 0.0.1 +PACKAGE_TARNAME = yaml +PACKAGE_VERSION = 0.0.1 +PATH_SEPARATOR = : +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = strip +VERSION = 0.0.1 +YAML_LT_AGE = 0 +YAML_LT_CURRENT = 0 +YAML_LT_RELEASE = 0 +YAML_LT_REVISION = 0 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_F77 = g77 +ac_ct_RANLIB = ranlib +ac_ct_STRIP = strip +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /usr/local/src/yaml/config/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +sysconfdir = ${prefix}/etc +target_alias = +AM_CPPFLAGS = -I$(top_srcdir)/include +lib_LTLIBRARIES = libyaml.la +libyaml_la_SOURCES = yaml_private.h api.c reader.c scanner.c parser.c writer.c emitter.c +libyaml_la_LDFLAGS = -release $(YAML_LT_RELEASE) -version-info $(YAML_LT_CURRENT):$(YAML_LT_REVISION):$(YAML_LT_AGE) +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign src/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libyaml.la: $(libyaml_la_OBJECTS) $(libyaml_la_DEPENDENCIES) + $(LINK) -rpath $(libdir) $(libyaml_la_LDFLAGS) $(libyaml_la_OBJECTS) $(libyaml_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/api.Plo +include ./$(DEPDIR)/emitter.Plo +include ./$(DEPDIR)/parser.Plo +include ./$(DEPDIR)/reader.Plo +include ./$(DEPDIR)/scanner.Plo +include ./$(DEPDIR)/writer.Plo + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +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)'; 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 \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-libLTLIBRARIES + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libLTLIBRARIES clean-libtool ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am \ + install-libLTLIBRARIES install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-info-am \ + uninstall-libLTLIBRARIES + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/yaml/src/Makefile.am b/yaml/src/Makefile.am new file mode 100644 index 00000000..f9cb7a28 --- /dev/null +++ b/yaml/src/Makefile.am @@ -0,0 +1,4 @@ +AM_CPPFLAGS = -I$(top_srcdir)/include +lib_LTLIBRARIES = libyaml.la +libyaml_la_SOURCES = yaml_private.h api.c reader.c scanner.c parser.c writer.c emitter.c +libyaml_la_LDFLAGS = -release $(YAML_LT_RELEASE) -version-info $(YAML_LT_CURRENT):$(YAML_LT_REVISION):$(YAML_LT_AGE) diff --git a/yaml/src/Makefile.in b/yaml/src/Makefile.in new file mode 100644 index 00000000..b213adeb --- /dev/null +++ b/yaml/src/Makefile.in @@ -0,0 +1,463 @@ +# 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 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +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 +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = src +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" +libLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(lib_LTLIBRARIES) +libyaml_la_LIBADD = +am_libyaml_la_OBJECTS = api.lo reader.lo scanner.lo parser.lo \ + writer.lo emitter.lo +libyaml_la_OBJECTS = $(am_libyaml_la_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libyaml_la_SOURCES) +DIST_SOURCES = $(libyaml_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DOXYGEN = @DOXYGEN@ +DOXYGEN_FALSE = @DOXYGEN_FALSE@ +DOXYGEN_TRUE = @DOXYGEN_TRUE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +YAML_LT_AGE = @YAML_LT_AGE@ +YAML_LT_CURRENT = @YAML_LT_CURRENT@ +YAML_LT_RELEASE = @YAML_LT_RELEASE@ +YAML_LT_REVISION = @YAML_LT_REVISION@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AM_CPPFLAGS = -I$(top_srcdir)/include +lib_LTLIBRARIES = libyaml.la +libyaml_la_SOURCES = yaml_private.h api.c reader.c scanner.c parser.c writer.c emitter.c +libyaml_la_LDFLAGS = -release $(YAML_LT_RELEASE) -version-info $(YAML_LT_CURRENT):$(YAML_LT_REVISION):$(YAML_LT_AGE) +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign src/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libyaml.la: $(libyaml_la_OBJECTS) $(libyaml_la_DEPENDENCIES) + $(LINK) -rpath $(libdir) $(libyaml_la_LDFLAGS) $(libyaml_la_OBJECTS) $(libyaml_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/api.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emitter.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parser.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanner.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/writer.Plo@am__quote@ + +.c.o: +@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@ 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) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +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)'; 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 \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-libLTLIBRARIES + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libLTLIBRARIES clean-libtool ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am \ + install-libLTLIBRARIES install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-info-am \ + uninstall-libLTLIBRARIES + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/yaml/src/api.c b/yaml/src/api.c new file mode 100644 index 00000000..83ca720c --- /dev/null +++ b/yaml/src/api.c @@ -0,0 +1,1021 @@ + +#include "yaml_private.h" + +/* + * Get the library version. + */ + +YAML_DECLARE(const char *) +yaml_get_version_string(void) +{ + return YAML_VERSION_STRING; +} + +/* + * Get the library version numbers. + */ + +YAML_DECLARE(void) +yaml_get_version(int *major, int *minor, int *patch) +{ + *major = YAML_VERSION_MAJOR; + *minor = YAML_VERSION_MINOR; + *patch = YAML_VERSION_PATCH; +} + +/* + * Allocate a dynamic memory block. + */ + +YAML_DECLARE(void *) +yaml_malloc(size_t size) +{ + return malloc(size ? size : 1); +} + +/* + * Reallocate a dynamic memory block. + */ + +YAML_DECLARE(void *) +yaml_realloc(void *ptr, size_t size) +{ + return ptr ? realloc(ptr, size ? size : 1) : malloc(size ? size : 1); +} + +/* + * Free a dynamic memory block. + */ + +YAML_DECLARE(void) +yaml_free(void *ptr) +{ + if (ptr) free(ptr); +} + +/* + * Duplicate a string. + */ + +YAML_DECLARE(yaml_char_t *) +yaml_strdup(const yaml_char_t *str) +{ + if (!str) + return NULL; + + return (yaml_char_t *)strdup((char *)str); +} + +/* + * Extend a string. + */ + +YAML_DECLARE(int) +yaml_string_extend(yaml_char_t **start, + yaml_char_t **pointer, yaml_char_t **end) +{ + void *new_start = yaml_realloc(*start, (*end - *start)*2); + + if (!new_start) return 0; + + memset(new_start + (*end - *start), 0, *end - *start); + + *pointer = new_start + (*pointer - *start); + *end = new_start + (*end - *start)*2; + *start = new_start; + + return 1; +} + +/* + * Append a string B to a string A. + */ + +YAML_DECLARE(int) +yaml_string_join( + yaml_char_t **a_start, yaml_char_t **a_pointer, yaml_char_t **a_end, + yaml_char_t **b_start, yaml_char_t **b_pointer, yaml_char_t **b_end) +{ + if (*b_start == *b_pointer) + return 1; + + while (*a_end - *a_pointer <= *b_pointer - *b_start) { + if (!yaml_string_extend(a_start, a_pointer, a_end)) + return 0; + } + + memcpy(*a_pointer, *b_start, *b_pointer - *b_start); + *a_pointer += *b_pointer - *b_start; + + return 1; +} + +/* + * Extend a stack. + */ + +YAML_DECLARE(int) +yaml_stack_extend(void **start, void **top, void **end) +{ + void *new_start = yaml_realloc(*start, (*end - *start)*2); + + if (!new_start) return 0; + + *top = new_start + (*top - *start); + *end = new_start + (*end - *start)*2; + *start = new_start; + + return 1; +} + +/* + * Extend or move a queue. + */ + +YAML_DECLARE(int) +yaml_queue_extend(void **start, void **head, void **tail, void **end) +{ + /* Check if we need to resize the queue. */ + + if (*start == *head && *tail == *end) { + void *new_start = yaml_realloc(*start, (*end - *start)*2); + + if (!new_start) return 0; + + *head = new_start + (*head - *start); + *tail = new_start + (*tail - *start); + *end = new_start + (*end - *start)*2; + *start = new_start; + } + + /* Check if we need to move the queue at the beginning of the buffer. */ + + if (*tail == *end) { + if (*head != *tail) { + memmove(*start, *head, *tail - *head); + } + *tail -= *head - *start; + *head = *start; + } + + return 1; +} + + +/* + * Create a new parser object. + */ + +YAML_DECLARE(int) +yaml_parser_initialize(yaml_parser_t *parser) +{ + assert(parser); /* Non-NULL parser object expected. */ + + memset(parser, 0, sizeof(yaml_parser_t)); + if (!BUFFER_INIT(parser, parser->raw_buffer, INPUT_RAW_BUFFER_SIZE)) + goto error; + if (!BUFFER_INIT(parser, parser->buffer, INPUT_BUFFER_SIZE)) + goto error; + if (!QUEUE_INIT(parser, parser->tokens, INITIAL_QUEUE_SIZE)) + goto error; + if (!STACK_INIT(parser, parser->indents, INITIAL_STACK_SIZE)) + goto error; + if (!STACK_INIT(parser, parser->simple_keys, INITIAL_STACK_SIZE)) + goto error; + if (!STACK_INIT(parser, parser->states, INITIAL_STACK_SIZE)) + goto error; + if (!STACK_INIT(parser, parser->marks, INITIAL_STACK_SIZE)) + goto error; + if (!STACK_INIT(parser, parser->tag_directives, INITIAL_STACK_SIZE)) + goto error; + + return 1; + +error: + + BUFFER_DEL(parser, parser->raw_buffer); + BUFFER_DEL(parser, parser->buffer); + QUEUE_DEL(parser, parser->tokens); + STACK_DEL(parser, parser->indents); + STACK_DEL(parser, parser->simple_keys); + STACK_DEL(parser, parser->states); + STACK_DEL(parser, parser->marks); + STACK_DEL(parser, parser->tag_directives); + + return 0; +} + +/* + * Destroy a parser object. + */ + +YAML_DECLARE(void) +yaml_parser_delete(yaml_parser_t *parser) +{ + assert(parser); /* Non-NULL parser object expected. */ + + BUFFER_DEL(parser, parser->raw_buffer); + BUFFER_DEL(parser, parser->buffer); + while (!QUEUE_EMPTY(parser, parser->tokens)) { + yaml_token_delete(&DEQUEUE(parser, parser->tokens)); + } + QUEUE_DEL(parser, parser->tokens); + STACK_DEL(parser, parser->indents); + STACK_DEL(parser, parser->simple_keys); + STACK_DEL(parser, parser->states); + STACK_DEL(parser, parser->marks); + while (!STACK_EMPTY(parser, parser->tag_directives)) { + yaml_tag_directive_t tag_directive = POP(parser, parser->tag_directives); + yaml_free(tag_directive.handle); + yaml_free(tag_directive.prefix); + } + STACK_DEL(parser, parser->tag_directives); + + memset(parser, 0, sizeof(yaml_parser_t)); +} + +/* + * String read handler. + */ + +static int +yaml_string_read_handler(void *data, unsigned char *buffer, size_t size, + size_t *size_read) +{ + yaml_parser_t *parser = data; + + if (parser->input.string.current == parser->input.string.end) { + *size_read = 0; + return 1; + } + + if (size > (parser->input.string.end - parser->input.string.current)) { + size = parser->input.string.end - parser->input.string.current; + } + + memcpy(buffer, parser->input.string.current, size); + parser->input.string.current += size; + *size_read = size; + return 1; +} + +/* + * File read handler. + */ + +static int +yaml_file_read_handler(void *data, unsigned char *buffer, size_t size, + size_t *size_read) +{ + yaml_parser_t *parser = data; + + *size_read = fread(buffer, 1, size, parser->input.file); + return !ferror(parser->input.file); +} + +/* + * Set a string input. + */ + +YAML_DECLARE(void) +yaml_parser_set_input_string(yaml_parser_t *parser, + unsigned char *input, size_t size) +{ + assert(parser); /* Non-NULL parser object expected. */ + assert(!parser->read_handler); /* You can set the source only once. */ + assert(input); /* Non-NULL input string expected. */ + + parser->read_handler = yaml_string_read_handler; + parser->read_handler_data = parser; + + parser->input.string.start = input; + parser->input.string.current = input; + parser->input.string.end = input+size; +} + +/* + * Set a file input. + */ + +YAML_DECLARE(void) +yaml_parser_set_input_file(yaml_parser_t *parser, FILE *file) +{ + assert(parser); /* Non-NULL parser object expected. */ + assert(!parser->read_handler); /* You can set the source only once. */ + assert(file); /* Non-NULL file object expected. */ + + parser->read_handler = yaml_file_read_handler; + parser->read_handler_data = parser; + + parser->input.file = file; +} + +/* + * Set a generic input. + */ + +YAML_DECLARE(void) +yaml_parser_set_input(yaml_parser_t *parser, + yaml_read_handler_t *handler, void *data) +{ + assert(parser); /* Non-NULL parser object expected. */ + assert(!parser->read_handler); /* You can set the source only once. */ + assert(handler); /* Non-NULL read handler expected. */ + + parser->read_handler = handler; + parser->read_handler_data = data; +} + +/* + * Set the source encoding. + */ + +YAML_DECLARE(void) +yaml_parser_set_encoding(yaml_parser_t *parser, yaml_encoding_t encoding) +{ + assert(parser); /* Non-NULL parser object expected. */ + assert(!parser->encoding); /* Encoding is already set or detected. */ + + parser->encoding = encoding; +} + +/* + * Create a new emitter object. + */ + +YAML_DECLARE(int) +yaml_emitter_initialize(yaml_emitter_t *emitter) +{ + assert(emitter); /* Non-NULL emitter object expected. */ + + memset(emitter, 0, sizeof(yaml_emitter_t)); + if (!BUFFER_INIT(emitter, emitter->buffer, OUTPUT_BUFFER_SIZE)) + goto error; + if (!BUFFER_INIT(emitter, emitter->raw_buffer, OUTPUT_RAW_BUFFER_SIZE)) + goto error; + if (!STACK_INIT(emitter, emitter->states, INITIAL_STACK_SIZE)) + goto error; + if (!QUEUE_INIT(emitter, emitter->events, INITIAL_QUEUE_SIZE)) + goto error; + if (!STACK_INIT(emitter, emitter->indents, INITIAL_STACK_SIZE)) + goto error; + if (!STACK_INIT(emitter, emitter->tag_directives, INITIAL_STACK_SIZE)) + goto error; + + return 1; + +error: + + BUFFER_DEL(emitter, emitter->buffer); + BUFFER_DEL(emitter, emitter->raw_buffer); + STACK_DEL(emitter, emitter->states); + QUEUE_DEL(emitter, emitter->events); + STACK_DEL(emitter, emitter->indents); + STACK_DEL(emitter, emitter->tag_directives); + + return 0; +} + +/* + * Destroy an emitter object. + */ + +YAML_DECLARE(void) +yaml_emitter_delete(yaml_emitter_t *emitter) +{ + assert(emitter); /* Non-NULL emitter object expected. */ + + BUFFER_DEL(emitter, emitter->buffer); + BUFFER_DEL(emitter, emitter->raw_buffer); + STACK_DEL(emitter, emitter->states); + while (!QUEUE_EMPTY(emitter, emitter->events)) { + yaml_event_delete(&DEQUEUE(emitter, emitter->events)); + } + QUEUE_DEL(emitter, emitter->events); + STACK_DEL(emitter, emitter->indents); + while (!STACK_EMPTY(empty, emitter->tag_directives)) { + yaml_tag_directive_t tag_directive = POP(emitter, emitter->tag_directives); + yaml_free(tag_directive.handle); + yaml_free(tag_directive.prefix); + } + STACK_DEL(emitter, emitter->tag_directives); + + memset(emitter, 0, sizeof(yaml_emitter_t)); +} + +/* + * String write handler. + */ + +static int +yaml_string_write_handler(void *data, unsigned char *buffer, size_t size) +{ + yaml_emitter_t *emitter = data; + + if (emitter->output.string.size + *emitter->output.string.size_written + < size) { + memcpy(emitter->output.string.buffer + + *emitter->output.string.size_written, + buffer, + emitter->output.string.size + - *emitter->output.string.size_written); + *emitter->output.string.size_written = emitter->output.string.size; + return 0; + } + + memcpy(emitter->output.string.buffer + + *emitter->output.string.size_written, buffer, size); + *emitter->output.string.size_written += size; + return 1; +} + +/* + * File write handler. + */ + +static int +yaml_file_write_handler(void *data, unsigned char *buffer, size_t size) +{ + yaml_emitter_t *emitter = data; + + return (fwrite(buffer, 1, size, emitter->output.file) == size); +} +/* + * Set a string output. + */ + +YAML_DECLARE(void) +yaml_emitter_set_output_string(yaml_emitter_t *emitter, + unsigned char *output, size_t size, size_t *size_written) +{ + assert(emitter); /* Non-NULL emitter object expected. */ + assert(!emitter->write_handler); /* You can set the output only once. */ + assert(output); /* Non-NULL output string expected. */ + + emitter->write_handler = yaml_string_write_handler; + emitter->write_handler_data = emitter; + + emitter->output.string.buffer = output; + emitter->output.string.size = size; + emitter->output.string.size_written = size_written; + *size_written = 0; +} + +/* + * Set a file output. + */ + +YAML_DECLARE(void) +yaml_emitter_set_output_file(yaml_emitter_t *emitter, FILE *file) +{ + assert(emitter); /* Non-NULL emitter object expected. */ + assert(!emitter->write_handler); /* You can set the output only once. */ + assert(file); /* Non-NULL file object expected. */ + + emitter->write_handler = yaml_file_write_handler; + emitter->write_handler_data = emitter; + + emitter->output.file = file; +} + +/* + * Set a generic output handler. + */ + +YAML_DECLARE(void) +yaml_emitter_set_output(yaml_emitter_t *emitter, + yaml_write_handler_t *handler, void *data) +{ + assert(emitter); /* Non-NULL emitter object expected. */ + assert(!emitter->write_handler); /* You can set the output only once. */ + assert(handler); /* Non-NULL handler object expected. */ + + emitter->write_handler = handler; + emitter->write_handler_data = data; +} + +/* + * Set the output encoding. + */ + +YAML_DECLARE(void) +yaml_emitter_set_encoding(yaml_emitter_t *emitter, yaml_encoding_t encoding) +{ + assert(emitter); /* Non-NULL emitter object expected. */ + assert(!emitter->encoding); /* You can set encoding only once. */ + + emitter->encoding = encoding; +} + +/* + * Set the canonical output style. + */ + +YAML_DECLARE(void) +yaml_emitter_set_canonical(yaml_emitter_t *emitter, int canonical) +{ + assert(emitter); /* Non-NULL emitter object expected. */ + + emitter->canonical = (canonical != 0); +} + +/* + * Set the indentation increment. + */ + +YAML_DECLARE(void) +yaml_emitter_set_indent(yaml_emitter_t *emitter, int indent) +{ + assert(emitter); /* Non-NULL emitter object expected. */ + + emitter->best_indent = (1 < indent && indent < 10) ? indent : 2; +} + +/* + * Set the preferred line width. + */ + +YAML_DECLARE(void) +yaml_emitter_set_width(yaml_emitter_t *emitter, int width) +{ + assert(emitter); /* Non-NULL emitter object expected. */ + + emitter->best_width = (width >= 0) ? width : -1; +} + +/* + * Set if unescaped non-ASCII characters are allowed. + */ + +YAML_DECLARE(void) +yaml_emitter_set_unicode(yaml_emitter_t *emitter, int unicode) +{ + assert(emitter); /* Non-NULL emitter object expected. */ + + emitter->unicode = (unicode != 0); +} + +/* + * Set the preferred line break character. + */ + +YAML_DECLARE(void) +yaml_emitter_set_break(yaml_emitter_t *emitter, yaml_break_t line_break) +{ + assert(emitter); /* Non-NULL emitter object expected. */ + + emitter->line_break = line_break; +} + +/* + * Destroy a token object. + */ + +YAML_DECLARE(void) +yaml_token_delete(yaml_token_t *token) +{ + assert(token); /* Non-NULL token object expected. */ + + switch (token->type) + { + case YAML_TAG_DIRECTIVE_TOKEN: + yaml_free(token->data.tag_directive.handle); + yaml_free(token->data.tag_directive.prefix); + break; + + case YAML_ALIAS_TOKEN: + yaml_free(token->data.alias.value); + break; + + case YAML_ANCHOR_TOKEN: + yaml_free(token->data.anchor.value); + break; + + case YAML_TAG_TOKEN: + yaml_free(token->data.tag.handle); + yaml_free(token->data.tag.suffix); + break; + + case YAML_SCALAR_TOKEN: + yaml_free(token->data.scalar.value); + break; + + default: + break; + } + + memset(token, 0, sizeof(yaml_token_t)); +} + +/* + * Check if a string is a valid UTF-8 sequence. + * + * Check 'reader.c' for more details on UTF-8 encoding. + */ + +static int +yaml_check_utf8(yaml_char_t *start, size_t length) +{ + yaml_char_t *end = start+length; + yaml_char_t *pointer = start; + + while (pointer < end) { + unsigned char octet; + unsigned int width; + unsigned int value; + int k; + + octet = pointer[0]; + width = (octet & 0x80) == 0x00 ? 1 : + (octet & 0xE0) == 0xC0 ? 2 : + (octet & 0xF0) == 0xE0 ? 3 : + (octet & 0xF8) == 0xF0 ? 4 : 0; + value = (octet & 0x80) == 0x00 ? octet & 0x7F : + (octet & 0xE0) == 0xC0 ? octet & 0x1F : + (octet & 0xF0) == 0xE0 ? octet & 0x0F : + (octet & 0xF8) == 0xF0 ? octet & 0x07 : 0; + if (!width) return 0; + if (pointer+width > end) return 0; + for (k = 1; k < width; k ++) { + octet = pointer[k]; + if ((octet & 0xC0) != 0x80) return 0; + value = (value << 6) + (octet & 0x3F); + } + if (!((width == 1) || + (width == 2 && value >= 0x80) || + (width == 3 && value >= 0x800) || + (width == 4 && value >= 0x10000))) return 0; + + pointer += width; + } + + return 1; +} + +/* + * Create STREAM-START. + */ + +YAML_DECLARE(int) +yaml_stream_start_event_initialize(yaml_event_t *event, + yaml_encoding_t encoding) +{ + yaml_mark_t mark = { 0, 0, 0 }; + + assert(event); /* Non-NULL event object is expected. */ + + STREAM_START_EVENT_INIT(*event, encoding, mark, mark); + + return 1; +} + +/* + * Create STREAM-END. + */ + +YAML_DECLARE(int) +yaml_stream_end_event_initialize(yaml_event_t *event) +{ + yaml_mark_t mark = { 0, 0, 0 }; + + assert(event); /* Non-NULL event object is expected. */ + + STREAM_END_EVENT_INIT(*event, mark, mark); + + return 1; +} + +/* + * Create DOCUMENT-START. + */ + +YAML_DECLARE(int) +yaml_document_start_event_initialize(yaml_event_t *event, + yaml_version_directive_t *version_directive, + yaml_tag_directive_t *tag_directives_start, + yaml_tag_directive_t *tag_directives_end, + int implicit) +{ + struct { + yaml_error_type_t error; + } context; + yaml_mark_t mark = { 0, 0, 0 }; + yaml_version_directive_t *version_directive_copy = NULL; + struct { + yaml_tag_directive_t *start; + yaml_tag_directive_t *end; + yaml_tag_directive_t *top; + } tag_directives_copy = { NULL, NULL, NULL }; + yaml_tag_directive_t value = { NULL, NULL }; + + assert(event); /* Non-NULL event object is expected. */ + assert((tag_directives_start && tag_directives_end) || + (tag_directives_start == tag_directives_end)); + /* Valid tag directives are expected. */ + + if (version_directive) { + version_directive_copy = yaml_malloc(sizeof(yaml_version_directive_t)); + if (!version_directive_copy) goto error; + version_directive_copy->major = version_directive->major; + version_directive_copy->minor = version_directive->minor; + } + + if (tag_directives_start != tag_directives_end) { + yaml_tag_directive_t *tag_directive; + if (!STACK_INIT(&context, tag_directives_copy, INITIAL_STACK_SIZE)) + goto error; + for (tag_directive = tag_directives_start; + tag_directive != tag_directives_end; tag_directive ++) { + assert(tag_directive->handle); + assert(tag_directive->prefix); + if (!yaml_check_utf8(tag_directive->handle, + strlen((char *)tag_directive->handle))) + goto error; + if (!yaml_check_utf8(tag_directive->prefix, + strlen((char *)tag_directive->prefix))) + goto error; + value.handle = yaml_strdup(tag_directive->handle); + value.prefix = yaml_strdup(tag_directive->prefix); + if (!value.handle || !value.prefix) goto error; + if (!PUSH(&context, tag_directives_copy, value)) + goto error; + value.handle = NULL; + value.prefix = NULL; + } + } + + DOCUMENT_START_EVENT_INIT(*event, version_directive_copy, + tag_directives_copy.start, tag_directives_copy.top, + implicit, mark, mark); + + return 1; + +error: + yaml_free(version_directive_copy); + while (!STACK_EMPTY(context, tag_directives_copy)) { + yaml_tag_directive_t value = POP(context, tag_directives_copy); + yaml_free(value.handle); + yaml_free(value.prefix); + } + STACK_DEL(context, tag_directives_copy); + yaml_free(value.handle); + yaml_free(value.prefix); + + return 0; +} + +/* + * Create DOCUMENT-END. + */ + +YAML_DECLARE(int) +yaml_document_end_event_initialize(yaml_event_t *event, int implicit) +{ + yaml_mark_t mark = { 0, 0, 0 }; + + assert(event); /* Non-NULL emitter object is expected. */ + + DOCUMENT_END_EVENT_INIT(*event, implicit, mark, mark); + + return 1; +} + +/* + * Create ALIAS. + */ + +YAML_DECLARE(int) +yaml_alias_event_initialize(yaml_event_t *event, yaml_char_t *anchor) +{ + yaml_mark_t mark = { 0, 0, 0 }; + yaml_char_t *anchor_copy = NULL; + + assert(event); /* Non-NULL event object is expected. */ + assert(anchor); /* Non-NULL anchor is expected. */ + + if (!yaml_check_utf8(anchor, strlen((char *)anchor))) return 0; + + anchor_copy = yaml_strdup(anchor); + if (!anchor_copy) + return 0; + + ALIAS_EVENT_INIT(*event, anchor_copy, mark, mark); + + return 1; +} + +/* + * Create SCALAR. + */ + +YAML_DECLARE(int) +yaml_scalar_event_initialize(yaml_event_t *event, + yaml_char_t *anchor, yaml_char_t *tag, + yaml_char_t *value, int length, + int plain_implicit, int quoted_implicit, + yaml_scalar_style_t style) +{ + yaml_mark_t mark = { 0, 0, 0 }; + yaml_char_t *anchor_copy = NULL; + yaml_char_t *tag_copy = NULL; + yaml_char_t *value_copy = NULL; + + assert(event); /* Non-NULL event object is expected. */ + assert(value); /* Non-NULL anchor is expected. */ + + if (anchor) { + if (!yaml_check_utf8(anchor, strlen((char *)anchor))) goto error; + anchor_copy = yaml_strdup(anchor); + if (!anchor_copy) goto error; + } + + if (tag) { + if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error; + tag_copy = yaml_strdup(tag); + if (!tag_copy) goto error; + } + + if (length < 0) { + length = strlen((char *)value); + } + + if (!yaml_check_utf8(value, length)) goto error; + value_copy = yaml_malloc(length+1); + if (!value_copy) goto error; + memcpy(value_copy, value, length); + value_copy[length] = '\0'; + + SCALAR_EVENT_INIT(*event, anchor_copy, tag_copy, value_copy, length, + plain_implicit, quoted_implicit, style, mark, mark); + + return 1; + +error: + yaml_free(anchor_copy); + yaml_free(tag_copy); + yaml_free(value_copy); + + return 0; +} + +/* + * Create SEQUENCE-START. + */ + +YAML_DECLARE(int) +yaml_sequence_start_event_initialize(yaml_event_t *event, + yaml_char_t *anchor, yaml_char_t *tag, int implicit, + yaml_sequence_style_t style) +{ + yaml_mark_t mark = { 0, 0, 0 }; + yaml_char_t *anchor_copy = NULL; + yaml_char_t *tag_copy = NULL; + + assert(event); /* Non-NULL event object is expected. */ + + if (anchor) { + if (!yaml_check_utf8(anchor, strlen((char *)anchor))) goto error; + anchor_copy = yaml_strdup(anchor); + if (!anchor_copy) goto error; + } + + if (tag) { + if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error; + tag_copy = yaml_strdup(tag); + if (!tag_copy) goto error; + } + + SEQUENCE_START_EVENT_INIT(*event, anchor_copy, tag_copy, + implicit, style, mark, mark); + + return 1; + +error: + yaml_free(anchor_copy); + yaml_free(tag_copy); + + return 0; +} + +/* + * Create SEQUENCE-END. + */ + +YAML_DECLARE(int) +yaml_sequence_end_event_initialize(yaml_event_t *event) +{ + yaml_mark_t mark = { 0, 0, 0 }; + + assert(event); /* Non-NULL event object is expected. */ + + SEQUENCE_END_EVENT_INIT(*event, mark, mark); + + return 1; +} + +/* + * Create MAPPING-START. + */ + +YAML_DECLARE(int) +yaml_mapping_start_event_initialize(yaml_event_t *event, + yaml_char_t *anchor, yaml_char_t *tag, int implicit, + yaml_mapping_style_t style) +{ + yaml_mark_t mark = { 0, 0, 0 }; + yaml_char_t *anchor_copy = NULL; + yaml_char_t *tag_copy = NULL; + + assert(event); /* Non-NULL event object is expected. */ + + if (anchor) { + if (!yaml_check_utf8(anchor, strlen((char *)anchor))) goto error; + anchor_copy = yaml_strdup(anchor); + if (!anchor_copy) goto error; + } + + if (tag) { + if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error; + tag_copy = yaml_strdup(tag); + if (!tag_copy) goto error; + } + + MAPPING_START_EVENT_INIT(*event, anchor_copy, tag_copy, + implicit, style, mark, mark); + + return 1; + +error: + yaml_free(anchor_copy); + yaml_free(tag_copy); + + return 0; +} + +/* + * Create MAPPING-END. + */ + +YAML_DECLARE(int) +yaml_mapping_end_event_initialize(yaml_event_t *event) +{ + yaml_mark_t mark = { 0, 0, 0 }; + + assert(event); /* Non-NULL event object is expected. */ + + MAPPING_END_EVENT_INIT(*event, mark, mark); + + return 1; +} + +/* + * Destroy an event object. + */ + +YAML_DECLARE(void) +yaml_event_delete(yaml_event_t *event) +{ + yaml_tag_directive_t *tag_directive; + + assert(event); /* Non-NULL event object expected. */ + + switch (event->type) + { + case YAML_DOCUMENT_START_EVENT: + yaml_free(event->data.document_start.version_directive); + for (tag_directive = event->data.document_start.tag_directives.start; + tag_directive != event->data.document_start.tag_directives.end; + tag_directive++) { + yaml_free(tag_directive->handle); + yaml_free(tag_directive->prefix); + } + yaml_free(event->data.document_start.tag_directives.start); + break; + + case YAML_ALIAS_EVENT: + yaml_free(event->data.alias.anchor); + break; + + case YAML_SCALAR_EVENT: + yaml_free(event->data.scalar.anchor); + yaml_free(event->data.scalar.tag); + yaml_free(event->data.scalar.value); + break; + + case YAML_SEQUENCE_START_EVENT: + yaml_free(event->data.sequence_start.anchor); + yaml_free(event->data.sequence_start.tag); + break; + + case YAML_MAPPING_START_EVENT: + yaml_free(event->data.mapping_start.anchor); + yaml_free(event->data.mapping_start.tag); + break; + + default: + break; + } + + memset(event, 0, sizeof(yaml_event_t)); +} + diff --git a/yaml/src/api.lo b/yaml/src/api.lo new file mode 100644 index 00000000..6e73868b --- /dev/null +++ b/yaml/src/api.lo @@ -0,0 +1,12 @@ +# api.lo - a libtool object file +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/api.o' + +# Name of the non-PIC object. +non_pic_object='api.o' + diff --git a/yaml/src/emitter.c b/yaml/src/emitter.c new file mode 100644 index 00000000..28eadcc6 --- /dev/null +++ b/yaml/src/emitter.c @@ -0,0 +1,2278 @@ + +#include "yaml_private.h" + +/* + * Flush the buffer if needed. + */ + +#define FLUSH(emitter) \ + ((emitter->buffer.pointer+5 < emitter->buffer.end) \ + || yaml_emitter_flush(emitter)) + +/* + * Put a character to the output buffer. + */ + +#define PUT(emitter,value) \ + (FLUSH(emitter) \ + && (*(emitter->buffer.pointer++) = (yaml_char_t)(value), \ + emitter->column ++, \ + 1)) + +/* + * Put a line break to the output buffer. + */ + +#define PUT_BREAK(emitter) \ + (FLUSH(emitter) \ + && ((emitter->line_break == YAML_CR_BREAK ? \ + (*(emitter->buffer.pointer++) = (yaml_char_t) '\r') : \ + emitter->line_break == YAML_LN_BREAK ? \ + (*(emitter->buffer.pointer++) = (yaml_char_t) '\n') : \ + emitter->line_break == YAML_CRLN_BREAK ? \ + (*(emitter->buffer.pointer++) = (yaml_char_t) '\r', \ + *(emitter->buffer.pointer++) = (yaml_char_t) '\n') : 0), \ + emitter->column = 0, \ + emitter->line ++, \ + 1)) + +/* + * Copy a character from a string into buffer. + */ + +#define WRITE(emitter,string) \ + (FLUSH(emitter) \ + && (COPY(emitter->buffer,string), \ + emitter->column ++, \ + 1)) + +/* + * Copy a line break character from a string into buffer. + */ + +#define WRITE_BREAK(emitter,string) \ + (FLUSH(emitter) \ + && (CHECK(string,'\n') ? \ + (PUT_BREAK(emitter), \ + string.pointer ++, \ + 1) : \ + (COPY(emitter->buffer,string), \ + emitter->column = 0, \ + emitter->line ++, \ + 1))) + +/* + * API functions. + */ + +YAML_DECLARE(int) +yaml_emitter_emit(yaml_emitter_t *emitter, yaml_event_t *event); + +/* + * Utility functions. + */ + +static int +yaml_emitter_set_emitter_error(yaml_emitter_t *emitter, const char *problem); + +static int +yaml_emitter_need_more_events(yaml_emitter_t *emitter); + +static int +yaml_emitter_append_tag_directive(yaml_emitter_t *emitter, + yaml_tag_directive_t value, int allow_duplicates); + +static int +yaml_emitter_increase_indent(yaml_emitter_t *emitter, + int flow, int indentless); + +/* + * State functions. + */ + +static int +yaml_emitter_state_machine(yaml_emitter_t *emitter, yaml_event_t *event); + +static int +yaml_emitter_emit_stream_start(yaml_emitter_t *emitter, + yaml_event_t *event); + +static int +yaml_emitter_emit_document_start(yaml_emitter_t *emitter, + yaml_event_t *event, int first); + +static int +yaml_emitter_emit_document_content(yaml_emitter_t *emitter, + yaml_event_t *event); + +static int +yaml_emitter_emit_document_end(yaml_emitter_t *emitter, + yaml_event_t *event); + +static int +yaml_emitter_emit_flow_sequence_item(yaml_emitter_t *emitter, + yaml_event_t *event, int first); + +static int +yaml_emitter_emit_flow_mapping_key(yaml_emitter_t *emitter, + yaml_event_t *event, int first); + +static int +yaml_emitter_emit_flow_mapping_value(yaml_emitter_t *emitter, + yaml_event_t *event, int simple); + +static int +yaml_emitter_emit_block_sequence_item(yaml_emitter_t *emitter, + yaml_event_t *event, int first); + +static int +yaml_emitter_emit_block_mapping_key(yaml_emitter_t *emitter, + yaml_event_t *event, int first); + +static int +yaml_emitter_emit_block_mapping_value(yaml_emitter_t *emitter, + yaml_event_t *event, int simple); + +static int +yaml_emitter_emit_node(yaml_emitter_t *emitter, yaml_event_t *event, + int root, int sequence, int mapping, int simple_key); + +static int +yaml_emitter_emit_alias(yaml_emitter_t *emitter, yaml_event_t *event); + +static int +yaml_emitter_emit_scalar(yaml_emitter_t *emitter, yaml_event_t *event); + +static int +yaml_emitter_emit_sequence_start(yaml_emitter_t *emitter, yaml_event_t *event); + +static int +yaml_emitter_emit_mapping_start(yaml_emitter_t *emitter, yaml_event_t *event); + +/* + * Checkers. + */ + +static int +yaml_emitter_check_empty_document(yaml_emitter_t *emitter); + +static int +yaml_emitter_check_empty_sequence(yaml_emitter_t *emitter); + +static int +yaml_emitter_check_empty_mapping(yaml_emitter_t *emitter); + +static int +yaml_emitter_check_simple_key(yaml_emitter_t *emitter); + +static int +yaml_emitter_select_scalar_style(yaml_emitter_t *emitter, yaml_event_t *event); + +/* + * Processors. + */ + +static int +yaml_emitter_process_anchor(yaml_emitter_t *emitter); + +static int +yaml_emitter_process_tag(yaml_emitter_t *emitter); + +static int +yaml_emitter_process_scalar(yaml_emitter_t *emitter); + +/* + * Analyzers. + */ + +static int +yaml_emitter_analyze_version_directive(yaml_emitter_t *emitter, + yaml_version_directive_t version_directive); + +static int +yaml_emitter_analyze_tag_directive(yaml_emitter_t *emitter, + yaml_tag_directive_t tag_directive); + +static int +yaml_emitter_analyze_anchor(yaml_emitter_t *emitter, + yaml_char_t *anchor, int alias); + +static int +yaml_emitter_analyze_tag(yaml_emitter_t *emitter, + yaml_char_t *tag); + +static int +yaml_emitter_analyze_scalar(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length); + +static int +yaml_emitter_analyze_event(yaml_emitter_t *emitter, + yaml_event_t *event); + +/* + * Writers. + */ + +static int +yaml_emitter_write_bom(yaml_emitter_t *emitter); + +static int +yaml_emitter_write_indent(yaml_emitter_t *emitter); + +static int +yaml_emitter_write_indicator(yaml_emitter_t *emitter, + char *indicator, int need_whitespace, + int is_whitespace, int is_indention); + +static int +yaml_emitter_write_anchor(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length); + +static int +yaml_emitter_write_tag_handle(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length); + +static int +yaml_emitter_write_tag_content(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length, int need_whitespace); + +static int +yaml_emitter_write_plain_scalar(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length, int allow_breaks); + +static int +yaml_emitter_write_single_quoted_scalar(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length, int allow_breaks); + +static int +yaml_emitter_write_double_quoted_scalar(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length, int allow_breaks); + +static int +yaml_emitter_determine_chomping(yaml_emitter_t *emitter, + yaml_string_t string); + +static int +yaml_emitter_write_literal_scalar(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length); + +static int +yaml_emitter_write_folded_scalar(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length); + +/* + * Set an emitter error and return 0. + */ + +static int +yaml_emitter_set_emitter_error(yaml_emitter_t *emitter, const char *problem) +{ + emitter->error = YAML_EMITTER_ERROR; + emitter->problem = problem; + + return 0; +} + +/* + * Emit an event. + */ + +YAML_DECLARE(int) +yaml_emitter_emit(yaml_emitter_t *emitter, yaml_event_t *event) +{ + if (!ENQUEUE(emitter, emitter->events, *event)) { + yaml_event_delete(event); + return 0; + } + + while (!yaml_emitter_need_more_events(emitter)) { + if (!yaml_emitter_analyze_event(emitter, emitter->events.head)) + return 0; + if (!yaml_emitter_state_machine(emitter, emitter->events.head)) + return 0; + yaml_event_delete(&DEQUEUE(emitter, emitter->events)); + } + + return 1; +} + +/* + * Check if we need to accumulate more events before emitting. + * + * We accumulate extra + * - 1 event for DOCUMENT-START + * - 2 events for SEQUENCE-START + * - 3 events for MAPPING-START + */ + +static int +yaml_emitter_need_more_events(yaml_emitter_t *emitter) +{ + int level = 0; + int accumulate = 0; + yaml_event_t *event; + + if (QUEUE_EMPTY(emitter, emitter->events)) + return 1; + + switch (emitter->events.head->type) { + case YAML_DOCUMENT_START_EVENT: + accumulate = 1; + break; + case YAML_SEQUENCE_START_EVENT: + accumulate = 2; + break; + case YAML_MAPPING_START_EVENT: + accumulate = 3; + break; + default: + return 0; + } + + if (emitter->events.tail - emitter->events.head > accumulate) + return 0; + + for (event = emitter->events.head; event != emitter->events.tail; event ++) { + switch (event->type) { + case YAML_STREAM_START_EVENT: + case YAML_DOCUMENT_START_EVENT: + case YAML_SEQUENCE_START_EVENT: + case YAML_MAPPING_START_EVENT: + level += 1; + break; + case YAML_STREAM_END_EVENT: + case YAML_DOCUMENT_END_EVENT: + case YAML_SEQUENCE_END_EVENT: + case YAML_MAPPING_END_EVENT: + level -= 1; + break; + default: + break; + } + if (!level) + return 0; + } + + return 1; +} + +/* + * Append a directive to the directives stack. + */ + +static int +yaml_emitter_append_tag_directive(yaml_emitter_t *emitter, + yaml_tag_directive_t value, int allow_duplicates) +{ + yaml_tag_directive_t *tag_directive; + yaml_tag_directive_t copy = { NULL, NULL }; + + for (tag_directive = emitter->tag_directives.start; + tag_directive != emitter->tag_directives.top; tag_directive ++) { + if (strcmp((char *)value.handle, (char *)tag_directive->handle) == 0) { + if (allow_duplicates) + return 1; + return yaml_emitter_set_emitter_error(emitter, + "duplicate %TAG directive"); + } + } + + copy.handle = yaml_strdup(value.handle); + copy.prefix = yaml_strdup(value.prefix); + if (!copy.handle || !copy.prefix) { + emitter->error = YAML_MEMORY_ERROR; + goto error; + } + + if (!PUSH(emitter, emitter->tag_directives, copy)) + goto error; + + return 1; + +error: + yaml_free(copy.handle); + yaml_free(copy.prefix); + return 0; +} + +/* + * Increase the indentation level. + */ + +static int +yaml_emitter_increase_indent(yaml_emitter_t *emitter, + int flow, int indentless) +{ + if (!PUSH(emitter, emitter->indents, emitter->indent)) + return 0; + + if (emitter->indent < 0) { + emitter->indent = flow ? emitter->best_indent : 0; + } + else if (!indentless) { + emitter->indent += emitter->best_indent; + } + + return 1; +} + +/* + * State dispatcher. + */ + +static int +yaml_emitter_state_machine(yaml_emitter_t *emitter, yaml_event_t *event) +{ + switch (emitter->state) + { + case YAML_EMIT_STREAM_START_STATE: + return yaml_emitter_emit_stream_start(emitter, event); + + case YAML_EMIT_FIRST_DOCUMENT_START_STATE: + return yaml_emitter_emit_document_start(emitter, event, 1); + + case YAML_EMIT_DOCUMENT_START_STATE: + return yaml_emitter_emit_document_start(emitter, event, 0); + + case YAML_EMIT_DOCUMENT_CONTENT_STATE: + return yaml_emitter_emit_document_content(emitter, event); + + case YAML_EMIT_DOCUMENT_END_STATE: + return yaml_emitter_emit_document_end(emitter, event); + + case YAML_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, 1); + + case YAML_EMIT_FLOW_SEQUENCE_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, 0); + + case YAML_EMIT_FLOW_MAPPING_FIRST_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, 1); + + case YAML_EMIT_FLOW_MAPPING_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, 0); + + case YAML_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE: + return yaml_emitter_emit_flow_mapping_value(emitter, event, 1); + + case YAML_EMIT_FLOW_MAPPING_VALUE_STATE: + return yaml_emitter_emit_flow_mapping_value(emitter, event, 0); + + case YAML_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE: + return yaml_emitter_emit_block_sequence_item(emitter, event, 1); + + case YAML_EMIT_BLOCK_SEQUENCE_ITEM_STATE: + return yaml_emitter_emit_block_sequence_item(emitter, event, 0); + + case YAML_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE: + return yaml_emitter_emit_block_mapping_key(emitter, event, 1); + + case YAML_EMIT_BLOCK_MAPPING_KEY_STATE: + return yaml_emitter_emit_block_mapping_key(emitter, event, 0); + + case YAML_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE: + return yaml_emitter_emit_block_mapping_value(emitter, event, 1); + + case YAML_EMIT_BLOCK_MAPPING_VALUE_STATE: + return yaml_emitter_emit_block_mapping_value(emitter, event, 0); + + case YAML_EMIT_END_STATE: + return yaml_emitter_set_emitter_error(emitter, + "expected nothing after STREAM-END"); + + default: + assert(1); /* Invalid state. */ + } + + return 0; +} + +/* + * Expect STREAM-START. + */ + +static int +yaml_emitter_emit_stream_start(yaml_emitter_t *emitter, + yaml_event_t *event) +{ + if (event->type == YAML_STREAM_START_EVENT) + { + if (!emitter->encoding) { + emitter->encoding = event->data.stream_start.encoding; + } + + if (!emitter->encoding) { + emitter->encoding = YAML_UTF8_ENCODING; + } + + if (emitter->best_indent < 2 || emitter->best_indent > 9) { + emitter->best_indent = 2; + } + + if (emitter->best_width >= 0 + && emitter->best_width <= emitter->best_indent*2) { + emitter->best_width = 80; + } + + if (emitter->best_width < 0) { + emitter->best_width = INT_MAX; + } + + if (!emitter->line_break) { + emitter->line_break = YAML_LN_BREAK; + } + + emitter->indent = -1; + + emitter->line = 0; + emitter->column = 0; + emitter->whitespace = 1; + emitter->indention = 1; + + if (emitter->encoding != YAML_UTF8_ENCODING) { + if (!yaml_emitter_write_bom(emitter)) + return 0; + } + + emitter->state = YAML_EMIT_FIRST_DOCUMENT_START_STATE; + + return 1; + } + + return yaml_emitter_set_emitter_error(emitter, + "expected STREAM-START"); +} + +/* + * Expect DOCUMENT-START or STREAM-END. + */ + +static int +yaml_emitter_emit_document_start(yaml_emitter_t *emitter, + yaml_event_t *event, int first) +{ + if (event->type == YAML_DOCUMENT_START_EVENT) + { + yaml_tag_directive_t default_tag_directives[] = { + {(yaml_char_t *)"!", (yaml_char_t *)"!"}, + {(yaml_char_t *)"!!", (yaml_char_t *)"tag:yaml.org,2002:"}, + {NULL, NULL} + }; + yaml_tag_directive_t *tag_directive; + int implicit; + + if (event->data.document_start.version_directive) { + if (!yaml_emitter_analyze_version_directive(emitter, + *event->data.document_start.version_directive)) + return 0; + } + + for (tag_directive = event->data.document_start.tag_directives.start; + tag_directive != event->data.document_start.tag_directives.end; + tag_directive ++) { + if (!yaml_emitter_analyze_tag_directive(emitter, *tag_directive)) + return 0; + if (!yaml_emitter_append_tag_directive(emitter, *tag_directive, 0)) + return 0; + } + + for (tag_directive = default_tag_directives; + tag_directive->handle; tag_directive ++) { + if (!yaml_emitter_append_tag_directive(emitter, *tag_directive, 1)) + return 0; + } + + implicit = event->data.document_start.implicit; + if (!first || emitter->canonical) { + implicit = 0; + } + + if (event->data.document_start.version_directive) { + implicit = 0; + if (!yaml_emitter_write_indicator(emitter, "%YAML", 1, 0, 0)) + return 0; + if (!yaml_emitter_write_indicator(emitter, "1.1", 1, 0, 0)) + return 0; + if (!yaml_emitter_write_indent(emitter)) + return 0; + } + + if (event->data.document_start.tag_directives.start + != event->data.document_start.tag_directives.end) { + implicit = 0; + for (tag_directive = event->data.document_start.tag_directives.start; + tag_directive != event->data.document_start.tag_directives.end; + tag_directive ++) { + if (!yaml_emitter_write_indicator(emitter, "%TAG", 1, 0, 0)) + return 0; + if (!yaml_emitter_write_tag_handle(emitter, tag_directive->handle, + strlen((char *)tag_directive->handle))) + return 0; + if (!yaml_emitter_write_tag_content(emitter, tag_directive->prefix, + strlen((char *)tag_directive->prefix), 1)) + return 0; + if (!yaml_emitter_write_indent(emitter)) + return 0; + } + } + + if (yaml_emitter_check_empty_document(emitter)) { + implicit = 0; + } + + if (!implicit) { + if (!yaml_emitter_write_indent(emitter)) + return 0; + if (!yaml_emitter_write_indicator(emitter, "---", 1, 0, 0)) + return 0; + if (emitter->canonical) { + if (!yaml_emitter_write_indent(emitter)) + return 0; + } + } + + emitter->state = YAML_EMIT_DOCUMENT_CONTENT_STATE; + + return 1; + } + + else if (event->type == YAML_STREAM_END_EVENT) + { + if (!yaml_emitter_flush(emitter)) + return 0; + + emitter->state = YAML_EMIT_END_STATE; + + return 1; + } + + return yaml_emitter_set_emitter_error(emitter, + "expected DOCUMENT-START or STREAM-END"); +} + +/* + * Expect the root node. + */ + +static int +yaml_emitter_emit_document_content(yaml_emitter_t *emitter, + yaml_event_t *event) +{ + if (!PUSH(emitter, emitter->states, YAML_EMIT_DOCUMENT_END_STATE)) + return 0; + + return yaml_emitter_emit_node(emitter, event, 1, 0, 0, 0); +} + +/* + * Expect DOCUMENT-END. + */ + +static int +yaml_emitter_emit_document_end(yaml_emitter_t *emitter, + yaml_event_t *event) +{ + if (event->type == YAML_DOCUMENT_END_EVENT) + { + if (!yaml_emitter_write_indent(emitter)) + return 0; + if (!event->data.document_end.implicit) { + if (!yaml_emitter_write_indicator(emitter, "...", 1, 0, 0)) + return 0; + if (!yaml_emitter_write_indent(emitter)) + return 0; + } + if (!yaml_emitter_flush(emitter)) + return 0; + + emitter->state = YAML_EMIT_DOCUMENT_START_STATE; + + while (!STACK_EMPTY(emitter, emitter->tag_directives)) { + yaml_tag_directive_t tag_directive = POP(emitter, + emitter->tag_directives); + yaml_free(tag_directive.handle); + yaml_free(tag_directive.prefix); + } + + return 1; + } + + return yaml_emitter_set_emitter_error(emitter, + "expected DOCUMENT-END"); +} + +/* + * + * Expect a flow item node. + */ + +static int +yaml_emitter_emit_flow_sequence_item(yaml_emitter_t *emitter, + yaml_event_t *event, int first) +{ + if (first) + { + if (!yaml_emitter_write_indicator(emitter, "[", 1, 1, 0)) + return 0; + if (!yaml_emitter_increase_indent(emitter, 1, 0)) + return 0; + emitter->flow_level ++; + } + + if (event->type == YAML_SEQUENCE_END_EVENT) + { + emitter->flow_level --; + emitter->indent = POP(emitter, emitter->indents); + if (emitter->canonical && !first) { + if (!yaml_emitter_write_indicator(emitter, ",", 0, 0, 0)) + return 0; + if (!yaml_emitter_write_indent(emitter)) + return 0; + } + if (!yaml_emitter_write_indicator(emitter, "]", 0, 0, 0)) + return 0; + emitter->state = POP(emitter, emitter->states); + + return 1; + } + + if (!first) { + if (!yaml_emitter_write_indicator(emitter, ",", 0, 0, 0)) + return 0; + } + + if (emitter->canonical || emitter->column > emitter->best_width) { + if (!yaml_emitter_write_indent(emitter)) + return 0; + } + if (!PUSH(emitter, emitter->states, YAML_EMIT_FLOW_SEQUENCE_ITEM_STATE)) + return 0; + + return yaml_emitter_emit_node(emitter, event, 0, 1, 0, 0); +} + +/* + * Expect a flow key node. + */ + +static int +yaml_emitter_emit_flow_mapping_key(yaml_emitter_t *emitter, + yaml_event_t *event, int first) +{ + if (first) + { + if (!yaml_emitter_write_indicator(emitter, "{", 1, 1, 0)) + return 0; + if (!yaml_emitter_increase_indent(emitter, 1, 0)) + return 0; + emitter->flow_level ++; + } + + if (event->type == YAML_MAPPING_END_EVENT) + { + emitter->flow_level --; + emitter->indent = POP(emitter, emitter->indents); + if (emitter->canonical && !first) { + if (!yaml_emitter_write_indicator(emitter, ",", 0, 0, 0)) + return 0; + if (!yaml_emitter_write_indent(emitter)) + return 0; + } + if (!yaml_emitter_write_indicator(emitter, "}", 0, 0, 0)) + return 0; + emitter->state = POP(emitter, emitter->states); + + return 1; + } + + if (!first) { + if (!yaml_emitter_write_indicator(emitter, ",", 0, 0, 0)) + return 0; + } + if (emitter->canonical || emitter->column > emitter->best_width) { + if (!yaml_emitter_write_indent(emitter)) + return 0; + } + + if (!emitter->canonical && yaml_emitter_check_simple_key(emitter)) + { + if (!PUSH(emitter, emitter->states, + YAML_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE)) + return 0; + + return yaml_emitter_emit_node(emitter, event, 0, 0, 1, 1); + } + else + { + if (!yaml_emitter_write_indicator(emitter, "?", 1, 0, 0)) + return 0; + if (!PUSH(emitter, emitter->states, + YAML_EMIT_FLOW_MAPPING_VALUE_STATE)) + return 0; + + return yaml_emitter_emit_node(emitter, event, 0, 0, 1, 0); + } +} + +/* + * Expect a flow value node. + */ + +static int +yaml_emitter_emit_flow_mapping_value(yaml_emitter_t *emitter, + yaml_event_t *event, int simple) +{ + if (simple) { + if (!yaml_emitter_write_indicator(emitter, ":", 0, 0, 0)) + return 0; + } + else { + if (emitter->canonical || emitter->column > emitter->best_width) { + if (!yaml_emitter_write_indent(emitter)) + return 0; + } + if (!yaml_emitter_write_indicator(emitter, ":", 1, 0, 0)) + return 0; + } + if (!PUSH(emitter, emitter->states, YAML_EMIT_FLOW_MAPPING_KEY_STATE)) + return 0; + return yaml_emitter_emit_node(emitter, event, 0, 0, 1, 0); +} + +/* + * Expect a block item node. + */ + +static int +yaml_emitter_emit_block_sequence_item(yaml_emitter_t *emitter, + yaml_event_t *event, int first) +{ + if (first) + { + if (!yaml_emitter_increase_indent(emitter, 0, + (emitter->mapping_context && !emitter->indention))) + return 0; + } + + if (event->type == YAML_SEQUENCE_END_EVENT) + { + emitter->indent = POP(emitter, emitter->indents); + emitter->state = POP(emitter, emitter->states); + + return 1; + } + + if (!yaml_emitter_write_indent(emitter)) + return 0; + if (!yaml_emitter_write_indicator(emitter, "-", 1, 0, 1)) + return 0; + if (!PUSH(emitter, emitter->states, + YAML_EMIT_BLOCK_SEQUENCE_ITEM_STATE)) + return 0; + + return yaml_emitter_emit_node(emitter, event, 0, 1, 0, 0); +} + +/* + * Expect a block key node. + */ + +static int +yaml_emitter_emit_block_mapping_key(yaml_emitter_t *emitter, + yaml_event_t *event, int first) +{ + if (first) + { + if (!yaml_emitter_increase_indent(emitter, 0, 0)) + return 0; + } + + if (event->type == YAML_MAPPING_END_EVENT) + { + emitter->indent = POP(emitter, emitter->indents); + emitter->state = POP(emitter, emitter->states); + + return 1; + } + + if (!yaml_emitter_write_indent(emitter)) + return 0; + + if (yaml_emitter_check_simple_key(emitter)) + { + if (!PUSH(emitter, emitter->states, + YAML_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE)) + return 0; + + return yaml_emitter_emit_node(emitter, event, 0, 0, 1, 1); + } + else + { + if (!yaml_emitter_write_indicator(emitter, "?", 1, 0, 1)) + return 0; + if (!PUSH(emitter, emitter->states, + YAML_EMIT_BLOCK_MAPPING_VALUE_STATE)) + return 0; + + return yaml_emitter_emit_node(emitter, event, 0, 0, 1, 0); + } +} + +/* + * Expect a block value node. + */ + +static int +yaml_emitter_emit_block_mapping_value(yaml_emitter_t *emitter, + yaml_event_t *event, int simple) +{ + if (simple) { + if (!yaml_emitter_write_indicator(emitter, ":", 0, 0, 0)) + return 0; + } + else { + if (!yaml_emitter_write_indent(emitter)) + return 0; + if (!yaml_emitter_write_indicator(emitter, ":", 1, 0, 1)) + return 0; + } + if (!PUSH(emitter, emitter->states, + YAML_EMIT_BLOCK_MAPPING_KEY_STATE)) + return 0; + + return yaml_emitter_emit_node(emitter, event, 0, 0, 1, 0); +} + +/* + * Expect a node. + */ + +static int +yaml_emitter_emit_node(yaml_emitter_t *emitter, yaml_event_t *event, + int root, int sequence, int mapping, int simple_key) +{ + emitter->root_context = root; + emitter->sequence_context = sequence; + emitter->mapping_context = mapping; + emitter->simple_key_context = simple_key; + + switch (event->type) + { + case YAML_ALIAS_EVENT: + return yaml_emitter_emit_alias(emitter, event); + + case YAML_SCALAR_EVENT: + return yaml_emitter_emit_scalar(emitter, event); + + case YAML_SEQUENCE_START_EVENT: + return yaml_emitter_emit_sequence_start(emitter, event); + + case YAML_MAPPING_START_EVENT: + return yaml_emitter_emit_mapping_start(emitter, event); + + default: + return yaml_emitter_set_emitter_error(emitter, + "expected SCALAR, SEQUENCE-START, MAPPING-START, or ALIAS"); + } + + return 0; +} + +/* + * Expect ALIAS. + */ + +static int +yaml_emitter_emit_alias(yaml_emitter_t *emitter, yaml_event_t *event) +{ + if (!yaml_emitter_process_anchor(emitter)) + return 0; + emitter->state = POP(emitter, emitter->states); + + return 1; +} + +/* + * Expect SCALAR. + */ + +static int +yaml_emitter_emit_scalar(yaml_emitter_t *emitter, yaml_event_t *event) +{ + if (!yaml_emitter_select_scalar_style(emitter, event)) + return 0; + if (!yaml_emitter_process_anchor(emitter)) + return 0; + if (!yaml_emitter_process_tag(emitter)) + return 0; + if (!yaml_emitter_increase_indent(emitter, 1, 0)) + return 0; + if (!yaml_emitter_process_scalar(emitter)) + return 0; + emitter->indent = POP(emitter, emitter->indents); + emitter->state = POP(emitter, emitter->states); + + return 1; +} + +/* + * Expect SEQUENCE-START. + */ + +static int +yaml_emitter_emit_sequence_start(yaml_emitter_t *emitter, yaml_event_t *event) +{ + if (!yaml_emitter_process_anchor(emitter)) + return 0; + if (!yaml_emitter_process_tag(emitter)) + return 0; + + if (emitter->flow_level || emitter->canonical + || event->data.sequence_start.style == YAML_FLOW_SEQUENCE_STYLE + || yaml_emitter_check_empty_sequence(emitter)) { + emitter->state = YAML_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE; + } + else { + emitter->state = YAML_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE; + } + + return 1; +} + +/* + * Expect MAPPING-START. + */ + +static int +yaml_emitter_emit_mapping_start(yaml_emitter_t *emitter, yaml_event_t *event) +{ + if (!yaml_emitter_process_anchor(emitter)) + return 0; + if (!yaml_emitter_process_tag(emitter)) + return 0; + + if (emitter->flow_level || emitter->canonical + || event->data.mapping_start.style == YAML_FLOW_MAPPING_STYLE + || yaml_emitter_check_empty_mapping(emitter)) { + emitter->state = YAML_EMIT_FLOW_MAPPING_FIRST_KEY_STATE; + } + else { + emitter->state = YAML_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE; + } + + return 1; +} + +/* + * Check if the document content is an empty scalar. + */ + +static int +yaml_emitter_check_empty_document(yaml_emitter_t *emitter) +{ + return 0; +} + +/* + * Check if the next events represent an empty sequence. + */ + +static int +yaml_emitter_check_empty_sequence(yaml_emitter_t *emitter) +{ + if (emitter->events.tail - emitter->events.head < 2) + return 0; + + return (emitter->events.head[0].type == YAML_SEQUENCE_START_EVENT + && emitter->events.head[1].type == YAML_SEQUENCE_END_EVENT); +} + +/* + * Check if the next events represent an empty mapping. + */ + +static int +yaml_emitter_check_empty_mapping(yaml_emitter_t *emitter) +{ + if (emitter->events.tail - emitter->events.head < 2) + return 0; + + return (emitter->events.head[0].type == YAML_MAPPING_START_EVENT + && emitter->events.head[1].type == YAML_MAPPING_END_EVENT); +} + +/* + * Check if the next node can be expressed as a simple key. + */ + +static int +yaml_emitter_check_simple_key(yaml_emitter_t *emitter) +{ + yaml_event_t *event = emitter->events.head; + size_t length = 0; + + switch (event->type) + { + case YAML_ALIAS_EVENT: + length += emitter->anchor_data.anchor_length; + break; + + case YAML_SCALAR_EVENT: + if (emitter->scalar_data.multiline) + return 0; + length += emitter->anchor_data.anchor_length + + emitter->tag_data.handle_length + + emitter->tag_data.suffix_length + + emitter->scalar_data.length; + break; + + case YAML_SEQUENCE_START_EVENT: + if (!yaml_emitter_check_empty_sequence(emitter)) + return 0; + length += emitter->anchor_data.anchor_length + + emitter->tag_data.handle_length + + emitter->tag_data.suffix_length; + break; + + case YAML_MAPPING_START_EVENT: + if (!yaml_emitter_check_empty_sequence(emitter)) + return 0; + length += emitter->anchor_data.anchor_length + + emitter->tag_data.handle_length + + emitter->tag_data.suffix_length; + break; + + default: + return 0; + } + + if (length > 128) + return 0; + + return 1; +} + +/* + * Determine an acceptable scalar style. + */ + +static int +yaml_emitter_select_scalar_style(yaml_emitter_t *emitter, yaml_event_t *event) +{ + yaml_scalar_style_t style = event->data.scalar.style; + + if (style == YAML_ANY_SCALAR_STYLE) + style = YAML_PLAIN_SCALAR_STYLE; + + if (emitter->canonical) + style = YAML_DOUBLE_QUOTED_SCALAR_STYLE; + + if (emitter->simple_key_context && emitter->scalar_data.multiline) + style = YAML_DOUBLE_QUOTED_SCALAR_STYLE; + + if (style == YAML_PLAIN_SCALAR_STYLE) + { + if ((emitter->flow_level && !emitter->scalar_data.flow_plain_allowed) + || (!emitter->flow_level && !emitter->scalar_data.block_plain_allowed)) + style = YAML_SINGLE_QUOTED_SCALAR_STYLE; + if (!emitter->scalar_data.length + && (emitter->flow_level || emitter->simple_key_context)) + style = YAML_SINGLE_QUOTED_SCALAR_STYLE; + if (!event->data.scalar.plain_implicit + && !emitter->tag_data.handle && !emitter->tag_data.suffix) + style = YAML_SINGLE_QUOTED_SCALAR_STYLE; + } + + if (style == YAML_SINGLE_QUOTED_SCALAR_STYLE) + { + if (!emitter->scalar_data.single_quoted_allowed) + style = YAML_DOUBLE_QUOTED_SCALAR_STYLE; + } + + if (style == YAML_LITERAL_SCALAR_STYLE || style == YAML_FOLDED_SCALAR_STYLE) + { + if (!emitter->scalar_data.block_allowed + || emitter->flow_level || emitter->simple_key_context) + style = YAML_DOUBLE_QUOTED_SCALAR_STYLE; + } + + if (!emitter->tag_data.handle && !emitter->tag_data.suffix) + { + if (!event->data.scalar.plain_implicit + && !event->data.scalar.quoted_implicit) { + return yaml_emitter_set_emitter_error(emitter, + "neither tag nor implicit flags are specified"); + } + + if (event->data.scalar.plain_implicit + && style != YAML_PLAIN_SCALAR_STYLE) { + emitter->tag_data.handle = (yaml_char_t *)"!"; + emitter->tag_data.handle_length = 1; + } + } + + emitter->scalar_data.style = style; + + return 1; +} + +/* + * Write an achor. + */ + +static int +yaml_emitter_process_anchor(yaml_emitter_t *emitter) +{ + if (!emitter->anchor_data.anchor) + return 1; + + if (!yaml_emitter_write_indicator(emitter, + (emitter->anchor_data.alias ? "*" : "&"), 1, 0, 0)) + return 0; + + return yaml_emitter_write_anchor(emitter, + emitter->anchor_data.anchor, emitter->anchor_data.anchor_length); +} + +/* + * Write a tag. + */ + +static int +yaml_emitter_process_tag(yaml_emitter_t *emitter) +{ + if (!emitter->tag_data.handle && !emitter->tag_data.suffix) + return 1; + + if (emitter->tag_data.handle) + { + if (!yaml_emitter_write_tag_handle(emitter, emitter->tag_data.handle, + emitter->tag_data.handle_length)) + return 0; + if (emitter->tag_data.suffix) { + if (!yaml_emitter_write_tag_content(emitter, emitter->tag_data.suffix, + emitter->tag_data.suffix_length, 0)) + return 0; + } + } + else + { + if (!yaml_emitter_write_indicator(emitter, "!<", 1, 0, 0)) + return 0; + if (!yaml_emitter_write_tag_content(emitter, emitter->tag_data.suffix, + emitter->tag_data.suffix_length, 0)) + return 0; + if (!yaml_emitter_write_indicator(emitter, ">", 0, 0, 0)) + return 0; + } + + return 1; +} + +/* + * Write a scalar. + */ + +static int +yaml_emitter_process_scalar(yaml_emitter_t *emitter) +{ + switch (emitter->scalar_data.style) + { + case YAML_PLAIN_SCALAR_STYLE: + return yaml_emitter_write_plain_scalar(emitter, + emitter->scalar_data.value, emitter->scalar_data.length, + !emitter->simple_key_context); + + case YAML_SINGLE_QUOTED_SCALAR_STYLE: + return yaml_emitter_write_single_quoted_scalar(emitter, + emitter->scalar_data.value, emitter->scalar_data.length, + !emitter->simple_key_context); + + case YAML_DOUBLE_QUOTED_SCALAR_STYLE: + return yaml_emitter_write_double_quoted_scalar(emitter, + emitter->scalar_data.value, emitter->scalar_data.length, + !emitter->simple_key_context); + + case YAML_LITERAL_SCALAR_STYLE: + return yaml_emitter_write_literal_scalar(emitter, + emitter->scalar_data.value, emitter->scalar_data.length); + + case YAML_FOLDED_SCALAR_STYLE: + return yaml_emitter_write_folded_scalar(emitter, + emitter->scalar_data.value, emitter->scalar_data.length); + + default: + assert(1); /* Impossible. */ + } + + return 0; +} + +/* + * Check if a %YAML directive is valid. + */ + +static int +yaml_emitter_analyze_version_directive(yaml_emitter_t *emitter, + yaml_version_directive_t version_directive) +{ + if (version_directive.major != 1 || version_directive.minor != 1) { + return yaml_emitter_set_emitter_error(emitter, + "incompatible %YAML directive"); + } + + return 1; +} + +/* + * Check if a %TAG directive is valid. + */ + +static int +yaml_emitter_analyze_tag_directive(yaml_emitter_t *emitter, + yaml_tag_directive_t tag_directive) +{ + yaml_string_t handle = STRING(tag_directive.handle, + strlen((char *)tag_directive.handle)); + yaml_string_t prefix = STRING(tag_directive.prefix, + strlen((char *)tag_directive.prefix)); + + if (handle.start == handle.end) { + return yaml_emitter_set_emitter_error(emitter, + "tag handle must not be empty"); + } + + if (handle.start[0] != '!') { + return yaml_emitter_set_emitter_error(emitter, + "tag handle must start with '!'"); + } + + if (handle.end[-1] != '!') { + return yaml_emitter_set_emitter_error(emitter, + "tag handle must end with '!'"); + } + + handle.pointer ++; + + while (handle.pointer < handle.end-1) { + if (!IS_ALPHA(handle)) { + return yaml_emitter_set_emitter_error(emitter, + "tag handle must contain alphanumerical characters only"); + } + MOVE(handle); + } + + if (prefix.start == prefix.end) { + return yaml_emitter_set_emitter_error(emitter, + "tag prefix must not be empty"); + } + + return 1; +} + +/* + * Check if an anchor is valid. + */ + +static int +yaml_emitter_analyze_anchor(yaml_emitter_t *emitter, + yaml_char_t *anchor, int alias) +{ + yaml_string_t string = STRING(anchor, strlen((char *)anchor)); + + if (string.start == string.end) { + return yaml_emitter_set_emitter_error(emitter, alias ? + "alias value must not be empty" : + "anchor value must not be empty"); + } + + while (string.pointer != string.end) { + if (!IS_ALPHA(string)) { + return yaml_emitter_set_emitter_error(emitter, alias ? + "alias value must contain alphanumerical characters only" : + "anchor value must contain alphanumerical characters only"); + } + MOVE(string); + } + + emitter->anchor_data.anchor = string.start; + emitter->anchor_data.anchor_length = string.end - string.start; + emitter->anchor_data.alias = alias; + + return 1; +} + +/* + * Check if a tag is valid. + */ + +static int +yaml_emitter_analyze_tag(yaml_emitter_t *emitter, + yaml_char_t *tag) +{ + yaml_string_t string = STRING(tag, strlen((char *)tag)); + yaml_tag_directive_t *tag_directive; + + if (string.start == string.end) { + return yaml_emitter_set_emitter_error(emitter, + "tag value must not be empty"); + } + + for (tag_directive = emitter->tag_directives.start; + tag_directive != emitter->tag_directives.top; tag_directive ++) { + size_t prefix_length = strlen((char *)tag_directive->prefix); + if (prefix_length < (string.end - string.start) + && strncmp((char *)tag_directive->prefix, (char *)string.start, + prefix_length) == 0) + { + emitter->tag_data.handle = tag_directive->handle; + emitter->tag_data.handle_length = + strlen((char *)tag_directive->handle); + emitter->tag_data.suffix = string.start + prefix_length; + emitter->tag_data.suffix_length = + (string.end - string.start) - prefix_length; + return 1; + } + } + + emitter->tag_data.suffix = string.start; + emitter->tag_data.suffix_length = string.end - string.start; + + return 1; +} + +/* + * Check if a scalar is valid. + */ + +static int +yaml_emitter_analyze_scalar(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length) +{ + yaml_string_t string = STRING(value, length); + + int block_indicators = 0; + int flow_indicators = 0; + int line_breaks = 0; + int special_characters = 0; + + int inline_spaces = 0; + int inline_breaks = 0; + int leading_spaces = 0; + int leading_breaks = 0; + int trailing_spaces = 0; + int trailing_breaks = 0; + int inline_breaks_spaces = 0; + int mixed_breaks_spaces = 0; + + int preceeded_by_space = 0; + int followed_by_space = 0; + int spaces = 0; + int breaks = 0; + int mixed = 0; + int leading = 0; + + emitter->scalar_data.value = value; + emitter->scalar_data.length = length; + + if (string.start == string.end) + { + emitter->scalar_data.multiline = 0; + emitter->scalar_data.flow_plain_allowed = 0; + emitter->scalar_data.block_plain_allowed = 1; + emitter->scalar_data.single_quoted_allowed = 1; + emitter->scalar_data.block_allowed = 0; + + return 1; + } + + if ((CHECK_AT(string, '-', 0) + && CHECK_AT(string, '-', 1) + && CHECK_AT(string, '-', 2)) + || (CHECK_AT(string, '.', 0) + && CHECK_AT(string, '.', 1) + && CHECK_AT(string, '.', 2))) { + block_indicators = 1; + flow_indicators = 1; + } + + preceeded_by_space = 1; + followed_by_space = IS_BLANKZ_AT(string, WIDTH(string)); + + while (string.pointer != string.end) + { + if (string.start == string.pointer) + { + if (CHECK(string, '#') || CHECK(string, ',') + || CHECK(string, '[') || CHECK(string, ']') + || CHECK(string, '{') || CHECK(string, '}') + || CHECK(string, '&') || CHECK(string, '*') + || CHECK(string, '!') || CHECK(string, '|') + || CHECK(string, '>') || CHECK(string, '\'') + || CHECK(string, '"') || CHECK(string, '%') + || CHECK(string, '@') || CHECK(string, '`')) { + flow_indicators = 1; + block_indicators = 1; + } + + if (CHECK(string, '?') || CHECK(string, ':')) { + flow_indicators = 1; + if (followed_by_space) { + block_indicators = 1; + } + } + + if (CHECK(string, '-') && followed_by_space) { + flow_indicators = 1; + block_indicators = 1; + } + } + else + { + if (CHECK(string, ',') || CHECK(string, '?') + || CHECK(string, '[') || CHECK(string, ']') + || CHECK(string, '{') || CHECK(string, '}')) { + flow_indicators = 1; + } + + if (CHECK(string, ':')) { + flow_indicators = 1; + if (followed_by_space) { + block_indicators = 1; + } + } + + if (CHECK(string, '#') && preceeded_by_space) { + flow_indicators = 1; + block_indicators = 1; + } + } + + if (!IS_PRINTABLE(string) + || (!IS_ASCII(string) && !emitter->unicode)) { + special_characters = 1; + } + + if (IS_BREAK(string)) { + line_breaks = 1; + } + + if (IS_SPACE(string)) + { + spaces = 1; + if (string.start == string.pointer) { + leading = 1; + } + } + + else if (IS_BREAK(string)) + { + if (spaces) { + mixed = 1; + } + breaks = 1; + if (string.start == string.pointer) { + leading = 1; + } + } + + else if (spaces || breaks) + { + if (leading) { + if (spaces && breaks) { + mixed_breaks_spaces = 1; + } + else if (spaces) { + leading_spaces = 1; + } + else if (breaks) { + leading_breaks = 1; + } + } + else { + if (mixed) { + mixed_breaks_spaces = 1; + } + else if (spaces && breaks) { + inline_breaks_spaces = 1; + } + else if (spaces) { + inline_spaces = 1; + } + else if (breaks) { + inline_breaks = 1; + } + } + spaces = breaks = mixed = leading = 0; + } + + if ((spaces || breaks) && string.pointer == string.end-1) + { + if (spaces && breaks) { + mixed_breaks_spaces = 1; + } + else if (spaces) { + if (leading) { + leading_spaces = 1; + } + trailing_spaces = 1; + } + else if (breaks) { + if (leading) { + leading_breaks = 1; + } + trailing_breaks = 1; + } + } + + preceeded_by_space = IS_BLANKZ(string); + MOVE(string); + if (string.pointer != string.end) { + followed_by_space = IS_BLANKZ_AT(string, WIDTH(string)); + } + } + + emitter->scalar_data.multiline = line_breaks; + + emitter->scalar_data.flow_plain_allowed = 1; + emitter->scalar_data.block_plain_allowed = 1; + emitter->scalar_data.single_quoted_allowed = 1; + emitter->scalar_data.block_allowed = 1; + + if (leading_spaces || leading_breaks || trailing_spaces) { + emitter->scalar_data.flow_plain_allowed = 0; + emitter->scalar_data.block_plain_allowed = 0; + emitter->scalar_data.block_allowed = 0; + } + + if (trailing_breaks) { + emitter->scalar_data.flow_plain_allowed = 0; + emitter->scalar_data.block_plain_allowed = 0; + } + + if (inline_breaks_spaces) { + emitter->scalar_data.flow_plain_allowed = 0; + emitter->scalar_data.block_plain_allowed = 0; + emitter->scalar_data.single_quoted_allowed = 0; + } + + if (mixed_breaks_spaces || special_characters) { + emitter->scalar_data.flow_plain_allowed = 0; + emitter->scalar_data.block_plain_allowed = 0; + emitter->scalar_data.single_quoted_allowed = 0; + emitter->scalar_data.block_allowed = 0; + } + + if (line_breaks) { + emitter->scalar_data.flow_plain_allowed = 0; + emitter->scalar_data.block_plain_allowed = 0; + } + + if (flow_indicators) { + emitter->scalar_data.flow_plain_allowed = 0; + } + + if (block_indicators) { + emitter->scalar_data.block_plain_allowed = 0; + } + + return 1; +} + +/* + * Check if the event data is valid. + */ + +static int +yaml_emitter_analyze_event(yaml_emitter_t *emitter, + yaml_event_t *event) +{ + emitter->anchor_data.anchor = NULL; + emitter->anchor_data.anchor_length = 0; + emitter->tag_data.handle = NULL; + emitter->tag_data.handle_length = 0; + emitter->tag_data.suffix = NULL; + emitter->tag_data.suffix_length = 0; + emitter->scalar_data.value = NULL; + emitter->scalar_data.length = 0; + + switch (event->type) + { + case YAML_ALIAS_EVENT: + if (!yaml_emitter_analyze_anchor(emitter, + event->data.alias.anchor, 1)) + return 0; + return 1; + + case YAML_SCALAR_EVENT: + if (event->data.scalar.anchor) { + if (!yaml_emitter_analyze_anchor(emitter, + event->data.scalar.anchor, 0)) + return 0; + } + if (event->data.scalar.tag && (emitter->canonical || + (!event->data.scalar.plain_implicit + && !event->data.scalar.quoted_implicit))) { + if (!yaml_emitter_analyze_tag(emitter, event->data.scalar.tag)) + return 0; + } + if (!yaml_emitter_analyze_scalar(emitter, + event->data.scalar.value, event->data.scalar.length)) + return 0; + return 1; + + case YAML_SEQUENCE_START_EVENT: + if (event->data.sequence_start.anchor) { + if (!yaml_emitter_analyze_anchor(emitter, + event->data.sequence_start.anchor, 0)) + return 0; + } + if (event->data.sequence_start.tag && (emitter->canonical || + !event->data.sequence_start.implicit)) { + if (!yaml_emitter_analyze_tag(emitter, + event->data.sequence_start.tag)) + return 0; + } + return 1; + + case YAML_MAPPING_START_EVENT: + if (event->data.mapping_start.anchor) { + if (!yaml_emitter_analyze_anchor(emitter, + event->data.mapping_start.anchor, 0)) + return 0; + } + if (event->data.mapping_start.tag && (emitter->canonical || + !event->data.mapping_start.implicit)) { + if (!yaml_emitter_analyze_tag(emitter, + event->data.mapping_start.tag)) + return 0; + } + return 1; + + default: + return 1; + } +} + +/* + * Write the BOM character. + */ + +static int +yaml_emitter_write_bom(yaml_emitter_t *emitter) +{ + if (!FLUSH(emitter)) return 0; + + *(emitter->buffer.pointer++) = (yaml_char_t) '\xEF'; + *(emitter->buffer.pointer++) = (yaml_char_t) '\xBB'; + *(emitter->buffer.pointer++) = (yaml_char_t) '\xBF'; + + return 1; +} + +static int +yaml_emitter_write_indent(yaml_emitter_t *emitter) +{ + int indent = (emitter->indent >= 0) ? emitter->indent : 0; + + if (!emitter->indention || emitter->column > indent + || (emitter->column == indent && !emitter->whitespace)) { + if (!PUT_BREAK(emitter)) return 0; + } + + while (emitter->column < indent) { + if (!PUT(emitter, ' ')) return 0; + } + + emitter->whitespace = 1; + emitter->indention = 1; + + return 1; +} + +static int +yaml_emitter_write_indicator(yaml_emitter_t *emitter, + char *indicator, int need_whitespace, + int is_whitespace, int is_indention) +{ + yaml_string_t string = STRING((yaml_char_t *)indicator, strlen(indicator)); + + if (need_whitespace && !emitter->whitespace) { + if (!PUT(emitter, ' ')) return 0; + } + + while (string.pointer != string.end) { + if (!WRITE(emitter, string)) return 0; + } + + emitter->whitespace = is_whitespace; + emitter->indention = (emitter->indention && is_indention); + + return 1; +} + +static int +yaml_emitter_write_anchor(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length) +{ + yaml_string_t string = STRING(value, length); + + while (string.pointer != string.end) { + if (!WRITE(emitter, string)) return 0; + } + + emitter->whitespace = 0; + emitter->indention = 0; + + return 1; +} + +static int +yaml_emitter_write_tag_handle(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length) +{ + yaml_string_t string = STRING(value, length); + + if (!emitter->whitespace) { + if (!PUT(emitter, ' ')) return 0; + } + + while (string.pointer != string.end) { + if (!WRITE(emitter, string)) return 0; + } + + emitter->whitespace = 0; + emitter->indention = 0; + + return 1; +} + +static int +yaml_emitter_write_tag_content(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length, + int need_whitespace) +{ + yaml_string_t string = STRING(value, length); + + if (need_whitespace && !emitter->whitespace) { + if (!PUT(emitter, ' ')) return 0; + } + + while (string.pointer != string.end) { + if (IS_ALPHA(string) + || CHECK(string, ';') || CHECK(string, '/') + || CHECK(string, '?') || CHECK(string, ':') + || CHECK(string, '@') || CHECK(string, '&') + || CHECK(string, '=') || CHECK(string, '+') + || CHECK(string, '$') || CHECK(string, ',') + || CHECK(string, '_') || CHECK(string, '.') + || CHECK(string, '~') || CHECK(string, '*') + || CHECK(string, '\'') || CHECK(string, '(') + || CHECK(string, ')') || CHECK(string, '[') + || CHECK(string, ']')) { + if (!WRITE(emitter, string)) return 0; + } + else { + int width = WIDTH(string); + unsigned int value; + while (width --) { + value = *(string.pointer++); + if (!PUT(emitter, '%')) return 0; + if (!PUT(emitter, (value >> 4) + + ((value >> 4) < 10 ? '0' : 'A' - 10))) + return 0; + if (!PUT(emitter, (value & 0x0F) + + ((value & 0x0F) < 10 ? '0' : 'A' - 10))) + return 0; + } + } + } + + emitter->whitespace = 0; + emitter->indention = 0; + + return 1; +} + +static int +yaml_emitter_write_plain_scalar(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length, int allow_breaks) +{ + yaml_string_t string = STRING(value, length); + int spaces = 0; + int breaks = 0; + + if (!emitter->whitespace) { + if (!PUT(emitter, ' ')) return 0; + } + + while (string.pointer != string.end) + { + if (IS_SPACE(string)) + { + if (allow_breaks && !spaces + && emitter->column > emitter->best_width + && !IS_SPACE_AT(string, 1)) { + if (!yaml_emitter_write_indent(emitter)) return 0; + MOVE(string); + } + else { + if (!WRITE(emitter, string)) return 0; + } + spaces = 1; + } + else if (IS_BREAK(string)) + { + if (!breaks && CHECK(string, '\n')) { + if (!PUT_BREAK(emitter)) return 0; + } + if (!WRITE_BREAK(emitter, string)) return 0; + emitter->indention = 1; + breaks = 1; + } + else + { + if (breaks) { + if (!yaml_emitter_write_indent(emitter)) return 0; + } + if (!WRITE(emitter, string)) return 0; + emitter->indention = 0; + spaces = 0; + breaks = 0; + } + } + + emitter->whitespace = 0; + emitter->indention = 0; + + return 1; +} + +static int +yaml_emitter_write_single_quoted_scalar(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length, int allow_breaks) +{ + yaml_string_t string = STRING(value, length); + int spaces = 0; + int breaks = 0; + + if (!yaml_emitter_write_indicator(emitter, "'", 1, 0, 0)) + return 0; + + while (string.pointer != string.end) + { + if (IS_SPACE(string)) + { + if (allow_breaks && !spaces + && emitter->column > emitter->best_width + && string.pointer != string.start + && string.pointer != string.end - 1 + && !IS_SPACE_AT(string, 1)) { + if (!yaml_emitter_write_indent(emitter)) return 0; + MOVE(string); + } + else { + if (!WRITE(emitter, string)) return 0; + } + spaces = 1; + } + else if (IS_BREAK(string)) + { + if (!breaks && CHECK(string, '\n')) { + if (!PUT_BREAK(emitter)) return 0; + } + if (!WRITE_BREAK(emitter, string)) return 0; + emitter->indention = 1; + breaks = 1; + } + else + { + if (breaks) { + if (!yaml_emitter_write_indent(emitter)) return 0; + } + if (CHECK(string, '\'')) { + if (!PUT(emitter, '\'')) return 0; + } + if (!WRITE(emitter, string)) return 0; + emitter->indention = 0; + spaces = 0; + breaks = 0; + } + } + + if (!yaml_emitter_write_indicator(emitter, "'", 0, 0, 0)) + return 0; + + emitter->whitespace = 0; + emitter->indention = 0; + + return 1; +} + +static int +yaml_emitter_write_double_quoted_scalar(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length, int allow_breaks) +{ + yaml_string_t string = STRING(value, length); + int spaces = 0; + + if (!yaml_emitter_write_indicator(emitter, "\"", 1, 0, 0)) + return 0; + + while (string.pointer != string.end) + { + if (!IS_PRINTABLE(string) || (!emitter->unicode && !IS_ASCII(string)) + || IS_BOM(string) || IS_BREAK(string) + || CHECK(string, '"') || CHECK(string, '\\')) + { + unsigned char octet; + unsigned int width; + unsigned int value; + int k; + + octet = string.pointer[0]; + width = (octet & 0x80) == 0x00 ? 1 : + (octet & 0xE0) == 0xC0 ? 2 : + (octet & 0xF0) == 0xE0 ? 3 : + (octet & 0xF8) == 0xF0 ? 4 : 0; + value = (octet & 0x80) == 0x00 ? octet & 0x7F : + (octet & 0xE0) == 0xC0 ? octet & 0x1F : + (octet & 0xF0) == 0xE0 ? octet & 0x0F : + (octet & 0xF8) == 0xF0 ? octet & 0x07 : 0; + for (k = 1; k < width; k ++) { + octet = string.pointer[k]; + value = (value << 6) + (octet & 0x3F); + } + string.pointer += width; + + if (!PUT(emitter, '\\')) return 0; + + switch (value) + { + case 0x00: + if (!PUT(emitter, '0')) return 0; + break; + + case 0x07: + if (!PUT(emitter, 'a')) return 0; + break; + + case 0x08: + if (!PUT(emitter, 'b')) return 0; + break; + + case 0x09: + if (!PUT(emitter, 't')) return 0; + break; + + case 0x0A: + if (!PUT(emitter, 'n')) return 0; + break; + + case 0x0B: + if (!PUT(emitter, 'v')) return 0; + break; + + case 0x0C: + if (!PUT(emitter, 'f')) return 0; + break; + + case 0x0D: + if (!PUT(emitter, 'r')) return 0; + break; + + case 0x1B: + if (!PUT(emitter, 'e')) return 0; + break; + + case 0x22: + if (!PUT(emitter, '\"')) return 0; + break; + + case 0x5C: + if (!PUT(emitter, '\\')) return 0; + break; + + case 0x85: + if (!PUT(emitter, 'N')) return 0; + break; + + case 0xA0: + if (!PUT(emitter, '_')) return 0; + break; + + case 0x2028: + if (!PUT(emitter, 'L')) return 0; + break; + + case 0x2029: + if (!PUT(emitter, 'P')) return 0; + break; + + default: + if (value <= 0xFF) { + if (!PUT(emitter, 'x')) return 0; + width = 2; + } + else if (value <= 0xFFFF) { + if (!PUT(emitter, 'u')) return 0; + width = 4; + } + else { + if (!PUT(emitter, 'U')) return 0; + width = 8; + } + for (k = (width-1)*4; k >= 0; k -= 4) { + int digit = (value >> k) & 0x0F; + if (!PUT(emitter, digit + (digit < 10 ? '0' : 'A'-10))) + return 0; + } + } + spaces = 0; + } + else if (IS_SPACE(string)) + { + if (allow_breaks && !spaces + && emitter->column > emitter->best_width + && string.pointer != string.start + && string.pointer != string.end - 1) { + if (!yaml_emitter_write_indent(emitter)) return 0; + if (IS_SPACE_AT(string, 1)) { + if (!PUT(emitter, '\\')) return 0; + } + MOVE(string); + } + else { + if (!WRITE(emitter, string)) return 0; + } + spaces = 1; + } + else + { + if (!WRITE(emitter, string)) return 0; + spaces = 0; + } + } + + if (!yaml_emitter_write_indicator(emitter, "\"", 0, 0, 0)) + return 0; + + emitter->whitespace = 0; + emitter->indention = 0; + + return 1; +} + +static int +yaml_emitter_determine_chomping(yaml_emitter_t *emitter, + yaml_string_t string) +{ + string.pointer = string.end; + if (string.start == string.pointer) + return -1; + do { + string.pointer --; + } while ((*string.pointer & 0xC0) == 0x80); + if (!IS_BREAK(string)) + return -1; + if (string.start == string.pointer) + return 0; + do { + string.pointer --; + } while ((*string.pointer & 0xC0) == 0x80); + if (!IS_BREAK(string)) + return 0; + return +1; + +} + +static int +yaml_emitter_write_literal_scalar(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length) +{ + yaml_string_t string = STRING(value, length); + int chomp = yaml_emitter_determine_chomping(emitter, string); + int breaks = 0; + + if (!yaml_emitter_write_indicator(emitter, + chomp == -1 ? "|-" : chomp == +1 ? "|+" : "|", 1, 0, 0)) + return 0; + if (!yaml_emitter_write_indent(emitter)) + return 0; + + while (string.pointer != string.end) + { + if (IS_BREAK(string)) + { + if (!WRITE_BREAK(emitter, string)) return 0; + emitter->indention = 1; + breaks = 1; + } + else + { + if (breaks) { + if (!yaml_emitter_write_indent(emitter)) return 0; + } + if (!WRITE(emitter, string)) return 0; + emitter->indention = 0; + breaks = 0; + } + } + + return 1; +} + +static int +yaml_emitter_write_folded_scalar(yaml_emitter_t *emitter, + yaml_char_t *value, size_t length) +{ + yaml_string_t string = STRING(value, length); + int chomp = yaml_emitter_determine_chomping(emitter, string); + int breaks = 1; + int leading_spaces = 0; + + if (!yaml_emitter_write_indicator(emitter, + chomp == -1 ? ">-" : chomp == +1 ? ">+" : ">", 1, 0, 0)) + return 0; + if (!yaml_emitter_write_indent(emitter)) + return 0; + + while (string.pointer != string.end) + { + if (IS_BREAK(string)) + { + if (!breaks && !leading_spaces && CHECK(string, '\n')) { + int k = 0; + while (IS_BREAK_AT(string, k)) { + k += WIDTH_AT(string, k); + } + if (!IS_BLANK_AT(string, k)) { + if (!PUT_BREAK(emitter)) return 0; + } + } + if (!WRITE_BREAK(emitter, string)) return 0; + emitter->indention = 1; + breaks = 1; + } + else + { + if (breaks) { + if (!yaml_emitter_write_indent(emitter)) return 0; + leading_spaces = IS_BLANK(string); + } + if (!breaks && IS_SPACE(string) && !IS_SPACE_AT(string, 1) + && emitter->column > emitter->best_width) { + if (!yaml_emitter_write_indent(emitter)) return 0; + MOVE(string); + } + else { + if (!WRITE(emitter, string)) return 0; + } + emitter->indention = 0; + breaks = 0; + } + } + + return 1; +} + diff --git a/yaml/src/emitter.lo b/yaml/src/emitter.lo new file mode 100644 index 00000000..09816803 --- /dev/null +++ b/yaml/src/emitter.lo @@ -0,0 +1,12 @@ +# emitter.lo - a libtool object file +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/emitter.o' + +# Name of the non-PIC object. +non_pic_object='emitter.o' + diff --git a/yaml/src/libyaml.la b/yaml/src/libyaml.la new file mode 100644 index 00000000..fa9437f1 --- /dev/null +++ b/yaml/src/libyaml.la @@ -0,0 +1,35 @@ +# libyaml.la - a libtool library file +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libyaml-0.so.0' + +# Names of this library. +library_names='libyaml-0.so.0.0.0 libyaml-0.so.0 libyaml.so' + +# The name of the static archive. +old_library='libyaml.a' + +# Libraries that this one depends upon. +dependency_libs='' + +# Version information for libyaml. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=no + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib' diff --git a/yaml/src/parser.c b/yaml/src/parser.c new file mode 100644 index 00000000..c9f67af8 --- /dev/null +++ b/yaml/src/parser.c @@ -0,0 +1,1361 @@ + +/* + * The parser implements the following grammar: + * + * stream ::= STREAM-START implicit_document? explicit_document* STREAM-END + * implicit_document ::= block_node DOCUMENT-END* + * explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + * block_node_or_indentless_sequence ::= + * ALIAS + * | properties (block_content | indentless_block_sequence)? + * | block_content + * | indentless_block_sequence + * block_node ::= ALIAS + * | properties block_content? + * | block_content + * flow_node ::= ALIAS + * | properties flow_content? + * | flow_content + * properties ::= TAG ANCHOR? | ANCHOR TAG? + * block_content ::= block_collection | flow_collection | SCALAR + * flow_content ::= flow_collection | SCALAR + * block_collection ::= block_sequence | block_mapping + * flow_collection ::= flow_sequence | flow_mapping + * block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END + * indentless_sequence ::= (BLOCK-ENTRY block_node?)+ + * block_mapping ::= BLOCK-MAPPING_START + * ((KEY block_node_or_indentless_sequence?)? + * (VALUE block_node_or_indentless_sequence?)?)* + * BLOCK-END + * flow_sequence ::= FLOW-SEQUENCE-START + * (flow_sequence_entry FLOW-ENTRY)* + * flow_sequence_entry? + * FLOW-SEQUENCE-END + * flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * flow_mapping ::= FLOW-MAPPING-START + * (flow_mapping_entry FLOW-ENTRY)* + * flow_mapping_entry? + * FLOW-MAPPING-END + * flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + */ + +#include "yaml_private.h" + +/* + * Peek the next token in the token queue. + */ + +#define PEEK_TOKEN(parser) \ + ((parser->token_available || yaml_parser_fetch_more_tokens(parser)) ? \ + parser->tokens.head : NULL) + +/* + * Remove the next token from the queue (must be called after PEEK_TOKEN). + */ + +#define SKIP_TOKEN(parser) \ + (parser->token_available = 0, \ + parser->tokens_parsed ++, \ + parser->stream_end_produced = \ + (parser->tokens.head->type == YAML_STREAM_END_TOKEN), \ + parser->tokens.head ++) + +/* + * Public API declarations. + */ + +YAML_DECLARE(int) +yaml_parser_parse(yaml_parser_t *parser, yaml_event_t *event); + +/* + * Error handling. + */ + +static int +yaml_parser_set_parser_error(yaml_parser_t *parser, + const char *problem, yaml_mark_t problem_mark); + +static int +yaml_parser_set_parser_error_context(yaml_parser_t *parser, + const char *context, yaml_mark_t context_mark, + const char *problem, yaml_mark_t problem_mark); + +/* + * State functions. + */ + +static int +yaml_parser_state_machine(yaml_parser_t *parser, yaml_event_t *event); + +static int +yaml_parser_parse_stream_start(yaml_parser_t *parser, yaml_event_t *event); + +static int +yaml_parser_parse_document_start(yaml_parser_t *parser, yaml_event_t *event, + int implicit); + +static int +yaml_parser_parse_document_content(yaml_parser_t *parser, yaml_event_t *event); + +static int +yaml_parser_parse_document_end(yaml_parser_t *parser, yaml_event_t *event); + +static int +yaml_parser_parse_node(yaml_parser_t *parser, yaml_event_t *event, + int block, int indentless_sequence); + +static int +yaml_parser_parse_block_sequence_entry(yaml_parser_t *parser, + yaml_event_t *event, int first); + +static int +yaml_parser_parse_indentless_sequence_entry(yaml_parser_t *parser, + yaml_event_t *event); + +static int +yaml_parser_parse_block_mapping_key(yaml_parser_t *parser, + yaml_event_t *event, int first); + +static int +yaml_parser_parse_block_mapping_value(yaml_parser_t *parser, + yaml_event_t *event); + +static int +yaml_parser_parse_flow_sequence_entry(yaml_parser_t *parser, + yaml_event_t *event, int first); + +static int +yaml_parser_parse_flow_sequence_entry_mapping_key(yaml_parser_t *parser, + yaml_event_t *event); + +static int +yaml_parser_parse_flow_sequence_entry_mapping_value(yaml_parser_t *parser, + yaml_event_t *event); + +static int +yaml_parser_parse_flow_sequence_entry_mapping_end(yaml_parser_t *parser, + yaml_event_t *event); + +static int +yaml_parser_parse_flow_mapping_key(yaml_parser_t *parser, + yaml_event_t *event, int first); + +static int +yaml_parser_parse_flow_mapping_value(yaml_parser_t *parser, + yaml_event_t *event, int empty); + +/* + * Utility functions. + */ + +static int +yaml_parser_process_empty_scalar(yaml_parser_t *parser, + yaml_event_t *event, yaml_mark_t mark); + +static int +yaml_parser_process_directives(yaml_parser_t *parser, + yaml_version_directive_t **version_directive_ref, + yaml_tag_directive_t **tag_directives_start_ref, + yaml_tag_directive_t **tag_directives_end_ref); + +static int +yaml_parser_append_tag_directive(yaml_parser_t *parser, + yaml_tag_directive_t value, int allow_duplicates, yaml_mark_t mark); + +/* + * Get the next event. + */ + +YAML_DECLARE(int) +yaml_parser_parse(yaml_parser_t *parser, yaml_event_t *event) +{ + assert(parser); /* Non-NULL parser object is expected. */ + assert(event); /* Non-NULL event object is expected. */ + + /* Erase the event object. */ + + memset(event, 0, sizeof(yaml_event_t)); + + /* No events after the end of the stream or error. */ + + if (parser->stream_end_produced || parser->error || + parser->state == YAML_PARSE_END_STATE) { + return 1; + } + + /* Generate the next event. */ + + return yaml_parser_state_machine(parser, event); +} + +/* + * Set parser error. + */ + +static int +yaml_parser_set_parser_error(yaml_parser_t *parser, + const char *problem, yaml_mark_t problem_mark) +{ + parser->error = YAML_PARSER_ERROR; + parser->problem = problem; + parser->problem_mark = problem_mark; + + return 0; +} + +static int +yaml_parser_set_parser_error_context(yaml_parser_t *parser, + const char *context, yaml_mark_t context_mark, + const char *problem, yaml_mark_t problem_mark) +{ + parser->error = YAML_PARSER_ERROR; + parser->context = context; + parser->context_mark = context_mark; + parser->problem = problem; + parser->problem_mark = problem_mark; + + return 0; +} + + +/* + * State dispatcher. + */ + +static int +yaml_parser_state_machine(yaml_parser_t *parser, yaml_event_t *event) +{ + switch (parser->state) + { + case YAML_PARSE_STREAM_START_STATE: + return yaml_parser_parse_stream_start(parser, event); + + case YAML_PARSE_IMPLICIT_DOCUMENT_START_STATE: + return yaml_parser_parse_document_start(parser, event, 1); + + case YAML_PARSE_DOCUMENT_START_STATE: + return yaml_parser_parse_document_start(parser, event, 0); + + case YAML_PARSE_DOCUMENT_CONTENT_STATE: + return yaml_parser_parse_document_content(parser, event); + + case YAML_PARSE_DOCUMENT_END_STATE: + return yaml_parser_parse_document_end(parser, event); + + case YAML_PARSE_BLOCK_NODE_STATE: + return yaml_parser_parse_node(parser, event, 1, 0); + + case YAML_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE: + return yaml_parser_parse_node(parser, event, 1, 1); + + case YAML_PARSE_FLOW_NODE_STATE: + return yaml_parser_parse_node(parser, event, 0, 0); + + case YAML_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE: + return yaml_parser_parse_block_sequence_entry(parser, event, 1); + + case YAML_PARSE_BLOCK_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_block_sequence_entry(parser, event, 0); + + case YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_indentless_sequence_entry(parser, event); + + case YAML_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE: + return yaml_parser_parse_block_mapping_key(parser, event, 1); + + case YAML_PARSE_BLOCK_MAPPING_KEY_STATE: + return yaml_parser_parse_block_mapping_key(parser, event, 0); + + case YAML_PARSE_BLOCK_MAPPING_VALUE_STATE: + return yaml_parser_parse_block_mapping_value(parser, event); + + case YAML_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE: + return yaml_parser_parse_flow_sequence_entry(parser, event, 1); + + case YAML_PARSE_FLOW_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_flow_sequence_entry(parser, event, 0); + + case YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_key(parser, event); + + case YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_value(parser, event); + + case YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_end(parser, event); + + case YAML_PARSE_FLOW_MAPPING_FIRST_KEY_STATE: + return yaml_parser_parse_flow_mapping_key(parser, event, 1); + + case YAML_PARSE_FLOW_MAPPING_KEY_STATE: + return yaml_parser_parse_flow_mapping_key(parser, event, 0); + + case YAML_PARSE_FLOW_MAPPING_VALUE_STATE: + return yaml_parser_parse_flow_mapping_value(parser, event, 0); + + case YAML_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE: + return yaml_parser_parse_flow_mapping_value(parser, event, 1); + + default: + assert(1); /* Invalid state. */ + } + + return 0; +} + +/* + * Parse the production: + * stream ::= STREAM-START implicit_document? explicit_document* STREAM-END + * ************ + */ + +static int +yaml_parser_parse_stream_start(yaml_parser_t *parser, yaml_event_t *event) +{ + yaml_token_t *token; + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + if (token->type != YAML_STREAM_START_TOKEN) { + return yaml_parser_set_parser_error(parser, + "did not found expected <stream-start>", token->start_mark); + } + + parser->state = YAML_PARSE_IMPLICIT_DOCUMENT_START_STATE; + STREAM_START_EVENT_INIT(*event, token->data.stream_start.encoding, + token->start_mark, token->start_mark); + SKIP_TOKEN(parser); + + return 1; +} + +/* + * Parse the productions: + * implicit_document ::= block_node DOCUMENT-END* + * * + * explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + * ************************* + */ + +static int +yaml_parser_parse_document_start(yaml_parser_t *parser, yaml_event_t *event, + int implicit) +{ + yaml_token_t *token; + yaml_version_directive_t *version_directive = NULL; + struct { + yaml_tag_directive_t *start; + yaml_tag_directive_t *end; + } tag_directives = { NULL, NULL }; + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + /* Parse an implicit document. */ + + if (implicit && token->type != YAML_VERSION_DIRECTIVE_TOKEN && + token->type != YAML_TAG_DIRECTIVE_TOKEN && + token->type != YAML_DOCUMENT_START_TOKEN && + token->type != YAML_STREAM_END_TOKEN) + { + if (!yaml_parser_process_directives(parser, NULL, NULL, NULL)) + return 0; + if (!PUSH(parser, parser->states, YAML_PARSE_DOCUMENT_END_STATE)) + return 0; + parser->state = YAML_PARSE_BLOCK_NODE_STATE; + DOCUMENT_START_EVENT_INIT(*event, NULL, NULL, NULL, 1, + token->start_mark, token->start_mark); + return 1; + } + + /* Parse an explicit document. */ + + else if (token->type != YAML_STREAM_END_TOKEN) + { + yaml_mark_t start_mark, end_mark; + start_mark = token->start_mark; + if (!yaml_parser_process_directives(parser, &version_directive, + &tag_directives.start, &tag_directives.end)) + return 0; + token = PEEK_TOKEN(parser); + if (!token) goto error; + if (token->type != YAML_DOCUMENT_START_TOKEN) { + yaml_parser_set_parser_error(parser, + "did not found expected <document start>", token->start_mark); + goto error; + } + if (!PUSH(parser, parser->states, YAML_PARSE_DOCUMENT_END_STATE)) + goto error; + parser->state = YAML_PARSE_DOCUMENT_CONTENT_STATE; + end_mark = token->end_mark; + DOCUMENT_START_EVENT_INIT(*event, version_directive, + tag_directives.start, tag_directives.end, 0, + start_mark, end_mark); + SKIP_TOKEN(parser); + version_directive = NULL; + tag_directives.start = tag_directives.end = NULL; + return 1; + } + + /* Parse the stream end. */ + + else + { + parser->state = YAML_PARSE_END_STATE; + STREAM_END_EVENT_INIT(*event, token->start_mark, token->end_mark); + SKIP_TOKEN(parser); + return 1; + } + +error: + yaml_free(version_directive); + while (tag_directives.start != tag_directives.end) { + yaml_free(tag_directives.end[-1].handle); + yaml_free(tag_directives.end[-1].prefix); + tag_directives.end --; + } + yaml_free(tag_directives.start); + return 0; +} + +/* + * Parse the productions: + * explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + * *********** + */ + +static int +yaml_parser_parse_document_content(yaml_parser_t *parser, yaml_event_t *event) +{ + yaml_token_t *token; + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + if (token->type == YAML_VERSION_DIRECTIVE_TOKEN || + token->type == YAML_TAG_DIRECTIVE_TOKEN || + token->type == YAML_DOCUMENT_START_TOKEN || + token->type == YAML_DOCUMENT_END_TOKEN || + token->type == YAML_STREAM_END_TOKEN) { + parser->state = POP(parser, parser->states); + return yaml_parser_process_empty_scalar(parser, event, + token->start_mark); + } + else { + return yaml_parser_parse_node(parser, event, 1, 0); + } +} + +/* + * Parse the productions: + * implicit_document ::= block_node DOCUMENT-END* + * ************* + * explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + * ************* + */ + +static int +yaml_parser_parse_document_end(yaml_parser_t *parser, yaml_event_t *event) +{ + yaml_token_t *token; + yaml_mark_t start_mark, end_mark; + int implicit = 1; + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + start_mark = end_mark = token->start_mark; + + while (token->type == YAML_DOCUMENT_END_TOKEN) { + end_mark = token->end_mark; + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) return 0; + implicit = 0; + } + + while (!STACK_EMPTY(parser, parser->tag_directives)) { + yaml_tag_directive_t tag_directive = POP(parser, parser->tag_directives); + yaml_free(tag_directive.handle); + yaml_free(tag_directive.prefix); + } + + parser->state = YAML_PARSE_DOCUMENT_START_STATE; + DOCUMENT_END_EVENT_INIT(*event, implicit, start_mark, end_mark); + + return 1; +} + +/* + * Parse the productions: + * block_node_or_indentless_sequence ::= + * ALIAS + * ***** + * | properties (block_content | indentless_block_sequence)? + * ********** * + * | block_content | indentless_block_sequence + * * + * block_node ::= ALIAS + * ***** + * | properties block_content? + * ********** * + * | block_content + * * + * flow_node ::= ALIAS + * ***** + * | properties flow_content? + * ********** * + * | flow_content + * * + * properties ::= TAG ANCHOR? | ANCHOR TAG? + * ************************* + * block_content ::= block_collection | flow_collection | SCALAR + * ****** + * flow_content ::= flow_collection | SCALAR + * ****** + */ + +static int +yaml_parser_parse_node(yaml_parser_t *parser, yaml_event_t *event, + int block, int indentless_sequence) +{ + yaml_token_t *token; + yaml_char_t *anchor = NULL; + yaml_char_t *tag_handle = NULL; + yaml_char_t *tag_suffix = NULL; + yaml_char_t *tag = NULL; + yaml_mark_t start_mark, end_mark, tag_mark; + int implicit; + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + if (token->type == YAML_ALIAS_TOKEN) + { + parser->state = POP(parser, parser->states); + ALIAS_EVENT_INIT(*event, token->data.alias.value, + token->start_mark, token->end_mark); + SKIP_TOKEN(parser); + return 1; + } + + else + { + start_mark = end_mark = token->start_mark; + + if (token->type == YAML_ANCHOR_TOKEN) + { + anchor = token->data.anchor.value; + start_mark = token->start_mark; + end_mark = token->end_mark; + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) goto error; + if (token->type == YAML_TAG_TOKEN) + { + tag_handle = token->data.tag.handle; + tag_suffix = token->data.tag.suffix; + tag_mark = token->start_mark; + end_mark = token->end_mark; + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) goto error; + } + } + else if (token->type == YAML_TAG_TOKEN) + { + tag_handle = token->data.tag.handle; + tag_suffix = token->data.tag.suffix; + start_mark = tag_mark = token->start_mark; + end_mark = token->end_mark; + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) goto error; + if (token->type == YAML_ANCHOR_TOKEN) + { + anchor = token->data.anchor.value; + end_mark = token->end_mark; + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) goto error; + } + } + + if (tag_handle) { + if (!*tag_handle) { + tag = tag_suffix; + yaml_free(tag_handle); + tag_handle = tag_suffix = NULL; + } + else { + yaml_tag_directive_t *tag_directive; + for (tag_directive = parser->tag_directives.start; + tag_directive != parser->tag_directives.top; + tag_directive ++) { + if (strcmp((char *)tag_directive->handle, (char *)tag_handle) == 0) { + size_t prefix_len = strlen((char *)tag_directive->prefix); + size_t suffix_len = strlen((char *)tag_suffix); + tag = yaml_malloc(prefix_len+suffix_len+1); + if (!tag) { + parser->error = YAML_MEMORY_ERROR; + goto error; + } + memcpy(tag, tag_directive->prefix, prefix_len); + memcpy(tag+prefix_len, tag_suffix, suffix_len); + tag[prefix_len+suffix_len] = '\0'; + yaml_free(tag_handle); + yaml_free(tag_suffix); + tag_handle = tag_suffix = NULL; + break; + } + } + if (!tag) { + yaml_parser_set_parser_error_context(parser, + "while parsing a node", start_mark, + "found undefined tag handle", tag_mark); + goto error; + } + } + } + + implicit = (!tag || !*tag); + if (indentless_sequence && token->type == YAML_BLOCK_ENTRY_TOKEN) { + end_mark = token->end_mark; + parser->state = YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE; + SEQUENCE_START_EVENT_INIT(*event, anchor, tag, implicit, + YAML_BLOCK_SEQUENCE_STYLE, start_mark, end_mark); + return 1; + } + else { + if (token->type == YAML_SCALAR_TOKEN) { + int plain_implicit = 0; + int quoted_implicit = 0; + end_mark = token->end_mark; + if ((token->data.scalar.style == YAML_PLAIN_SCALAR_STYLE && !tag) + || (tag && strcmp((char *)tag, "!") == 0)) { + plain_implicit = 1; + } + else if (!tag) { + quoted_implicit = 1; + } + parser->state = POP(parser, parser->states); + SCALAR_EVENT_INIT(*event, anchor, tag, + token->data.scalar.value, token->data.scalar.length, + plain_implicit, quoted_implicit, + token->data.scalar.style, start_mark, end_mark); + SKIP_TOKEN(parser); + return 1; + } + else if (token->type == YAML_FLOW_SEQUENCE_START_TOKEN) { + end_mark = token->end_mark; + parser->state = YAML_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE; + SEQUENCE_START_EVENT_INIT(*event, anchor, tag, implicit, + YAML_FLOW_SEQUENCE_STYLE, start_mark, end_mark); + return 1; + } + else if (token->type == YAML_FLOW_MAPPING_START_TOKEN) { + end_mark = token->end_mark; + parser->state = YAML_PARSE_FLOW_MAPPING_FIRST_KEY_STATE; + MAPPING_START_EVENT_INIT(*event, anchor, tag, implicit, + YAML_FLOW_MAPPING_STYLE, start_mark, end_mark); + return 1; + } + else if (block && token->type == YAML_BLOCK_SEQUENCE_START_TOKEN) { + end_mark = token->end_mark; + parser->state = YAML_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE; + SEQUENCE_START_EVENT_INIT(*event, anchor, tag, implicit, + YAML_BLOCK_SEQUENCE_STYLE, start_mark, end_mark); + return 1; + } + else if (block && token->type == YAML_BLOCK_MAPPING_START_TOKEN) { + end_mark = token->end_mark; + parser->state = YAML_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE; + MAPPING_START_EVENT_INIT(*event, anchor, tag, implicit, + YAML_BLOCK_MAPPING_STYLE, start_mark, end_mark); + return 1; + } + else if (anchor || tag) { + yaml_char_t *value = yaml_malloc(1); + if (!value) { + parser->error = YAML_MEMORY_ERROR; + goto error; + } + value[0] = '\0'; + parser->state = POP(parser, parser->states); + SCALAR_EVENT_INIT(*event, anchor, tag, value, 0, + implicit, 0, YAML_PLAIN_SCALAR_STYLE, + start_mark, end_mark); + return 1; + } + else { + yaml_parser_set_parser_error_context(parser, + (block ? "while parsing a block node" + : "while parsing a flow node"), start_mark, + "did not found expected node content", token->start_mark); + goto error; + } + } + } + +error: + yaml_free(anchor); + yaml_free(tag_handle); + yaml_free(tag_suffix); + yaml_free(tag); + + return 0; +} + +/* + * Parse the productions: + * block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END + * ******************** *********** * ********* + */ + +static int +yaml_parser_parse_block_sequence_entry(yaml_parser_t *parser, + yaml_event_t *event, int first) +{ + yaml_token_t *token; + + if (first) { + token = PEEK_TOKEN(parser); + if (!PUSH(parser, parser->marks, token->start_mark)) + return 0; + SKIP_TOKEN(parser); + } + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + if (token->type == YAML_BLOCK_ENTRY_TOKEN) + { + yaml_mark_t mark = token->end_mark; + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) return 0; + if (token->type != YAML_BLOCK_ENTRY_TOKEN && + token->type != YAML_BLOCK_END_TOKEN) { + if (!PUSH(parser, parser->states, + YAML_PARSE_BLOCK_SEQUENCE_ENTRY_STATE)) + return 0; + return yaml_parser_parse_node(parser, event, 1, 0); + } + else { + parser->state = YAML_PARSE_BLOCK_SEQUENCE_ENTRY_STATE; + return yaml_parser_process_empty_scalar(parser, event, mark); + } + } + + else if (token->type == YAML_BLOCK_END_TOKEN) + { + parser->state = POP(parser, parser->states); + POP(parser, parser->marks); + SEQUENCE_END_EVENT_INIT(*event, token->start_mark, token->end_mark); + SKIP_TOKEN(parser); + return 1; + } + + else + { + return yaml_parser_set_parser_error_context(parser, + "while parsing a block collection", POP(parser, parser->marks), + "did not found expected '-' indicator", token->start_mark); + } +} + +/* + * Parse the productions: + * indentless_sequence ::= (BLOCK-ENTRY block_node?)+ + * *********** * + */ + +static int +yaml_parser_parse_indentless_sequence_entry(yaml_parser_t *parser, + yaml_event_t *event) +{ + yaml_token_t *token; + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + if (token->type == YAML_BLOCK_ENTRY_TOKEN) + { + yaml_mark_t mark = token->end_mark; + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) return 0; + if (token->type != YAML_BLOCK_ENTRY_TOKEN && + token->type != YAML_KEY_TOKEN && + token->type != YAML_VALUE_TOKEN && + token->type != YAML_BLOCK_END_TOKEN) { + if (!PUSH(parser, parser->states, + YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE)) + return 0; + return yaml_parser_parse_node(parser, event, 1, 0); + } + else { + parser->state = YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE; + return yaml_parser_process_empty_scalar(parser, event, mark); + } + } + + else + { + parser->state = POP(parser, parser->states); + SEQUENCE_END_EVENT_INIT(*event, token->start_mark, token->start_mark); + return 1; + } +} + +/* + * Parse the productions: + * block_mapping ::= BLOCK-MAPPING_START + * ******************* + * ((KEY block_node_or_indentless_sequence?)? + * *** * + * (VALUE block_node_or_indentless_sequence?)?)* + * + * BLOCK-END + * ********* + */ + +static int +yaml_parser_parse_block_mapping_key(yaml_parser_t *parser, + yaml_event_t *event, int first) +{ + yaml_token_t *token; + + if (first) { + token = PEEK_TOKEN(parser); + if (!PUSH(parser, parser->marks, token->start_mark)) + return 0; + SKIP_TOKEN(parser); + } + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + if (token->type == YAML_KEY_TOKEN) + { + yaml_mark_t mark = token->end_mark; + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) return 0; + if (token->type != YAML_KEY_TOKEN && + token->type != YAML_VALUE_TOKEN && + token->type != YAML_BLOCK_END_TOKEN) { + if (!PUSH(parser, parser->states, + YAML_PARSE_BLOCK_MAPPING_VALUE_STATE)) + return 0; + return yaml_parser_parse_node(parser, event, 1, 1); + } + else { + parser->state = YAML_PARSE_BLOCK_MAPPING_VALUE_STATE; + return yaml_parser_process_empty_scalar(parser, event, mark); + } + } + + else if (token->type == YAML_BLOCK_END_TOKEN) + { + parser->state = POP(parser, parser->states); + POP(parser, parser->marks); + MAPPING_END_EVENT_INIT(*event, token->start_mark, token->end_mark); + SKIP_TOKEN(parser); + return 1; + } + + else + { + return yaml_parser_set_parser_error_context(parser, + "while parsing a block mapping", POP(parser, parser->marks), + "did not found expected key", token->start_mark); + } +} + +/* + * Parse the productions: + * block_mapping ::= BLOCK-MAPPING_START + * + * ((KEY block_node_or_indentless_sequence?)? + * + * (VALUE block_node_or_indentless_sequence?)?)* + * ***** * + * BLOCK-END + * + */ + +static int +yaml_parser_parse_block_mapping_value(yaml_parser_t *parser, + yaml_event_t *event) +{ + yaml_token_t *token; + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + if (token->type == YAML_VALUE_TOKEN) + { + yaml_mark_t mark = token->end_mark; + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) return 0; + if (token->type != YAML_KEY_TOKEN && + token->type != YAML_VALUE_TOKEN && + token->type != YAML_BLOCK_END_TOKEN) { + if (!PUSH(parser, parser->states, + YAML_PARSE_BLOCK_MAPPING_KEY_STATE)) + return 0; + return yaml_parser_parse_node(parser, event, 1, 1); + } + else { + parser->state = YAML_PARSE_BLOCK_MAPPING_KEY_STATE; + return yaml_parser_process_empty_scalar(parser, event, mark); + } + } + + else + { + parser->state = YAML_PARSE_BLOCK_MAPPING_KEY_STATE; + return yaml_parser_process_empty_scalar(parser, event, token->start_mark); + } +} + +/* + * Parse the productions: + * flow_sequence ::= FLOW-SEQUENCE-START + * ******************* + * (flow_sequence_entry FLOW-ENTRY)* + * * ********** + * flow_sequence_entry? + * * + * FLOW-SEQUENCE-END + * ***************** + * flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * * + */ + +static int +yaml_parser_parse_flow_sequence_entry(yaml_parser_t *parser, + yaml_event_t *event, int first) +{ + yaml_token_t *token; + + if (first) { + token = PEEK_TOKEN(parser); + if (!PUSH(parser, parser->marks, token->start_mark)) + return 0; + SKIP_TOKEN(parser); + } + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + if (token->type != YAML_FLOW_SEQUENCE_END_TOKEN) + { + if (!first) { + if (token->type == YAML_FLOW_ENTRY_TOKEN) { + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) return 0; + } + else { + return yaml_parser_set_parser_error_context(parser, + "while parsing a flow sequence", POP(parser, parser->marks), + "did not found expected ',' or ']'", token->start_mark); + } + } + + if (token->type == YAML_KEY_TOKEN) { + parser->state = YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE; + MAPPING_START_EVENT_INIT(*event, NULL, NULL, + 1, YAML_FLOW_MAPPING_STYLE, + token->start_mark, token->end_mark); + SKIP_TOKEN(parser); + return 1; + } + + else if (token->type != YAML_FLOW_SEQUENCE_END_TOKEN) { + if (!PUSH(parser, parser->states, + YAML_PARSE_FLOW_SEQUENCE_ENTRY_STATE)) + return 0; + return yaml_parser_parse_node(parser, event, 0, 0); + } + } + + parser->state = POP(parser, parser->states); + POP(parser, parser->marks); + SEQUENCE_END_EVENT_INIT(*event, token->start_mark, token->end_mark); + SKIP_TOKEN(parser); + return 1; +} + +/* + * Parse the productions: + * flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * *** * + */ + +static int +yaml_parser_parse_flow_sequence_entry_mapping_key(yaml_parser_t *parser, + yaml_event_t *event) +{ + yaml_token_t *token; + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + if (token->type != YAML_VALUE_TOKEN && token->type != YAML_FLOW_ENTRY_TOKEN + && token->type != YAML_FLOW_SEQUENCE_END_TOKEN) { + if (!PUSH(parser, parser->states, + YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE)) + return 0; + return yaml_parser_parse_node(parser, event, 0, 0); + } + else { + yaml_mark_t mark = token->end_mark; + SKIP_TOKEN(parser); + parser->state = YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE; + return yaml_parser_process_empty_scalar(parser, event, mark); + } +} + +/* + * Parse the productions: + * flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * ***** * + */ + +static int +yaml_parser_parse_flow_sequence_entry_mapping_value(yaml_parser_t *parser, + yaml_event_t *event) +{ + yaml_token_t *token; + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + if (token->type == YAML_VALUE_TOKEN) { + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) return 0; + if (token->type != YAML_FLOW_ENTRY_TOKEN + && token->type != YAML_FLOW_SEQUENCE_END_TOKEN) { + if (!PUSH(parser, parser->states, + YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE)) + return 0; + return yaml_parser_parse_node(parser, event, 0, 0); + } + } + parser->state = YAML_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE; + return yaml_parser_process_empty_scalar(parser, event, token->start_mark); +} + +/* + * Parse the productions: + * flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * * + */ + +static int +yaml_parser_parse_flow_sequence_entry_mapping_end(yaml_parser_t *parser, + yaml_event_t *event) +{ + yaml_token_t *token; + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + parser->state = YAML_PARSE_FLOW_SEQUENCE_ENTRY_STATE; + + MAPPING_END_EVENT_INIT(*event, token->start_mark, token->start_mark); + return 1; +} + +/* + * Parse the productions: + * flow_mapping ::= FLOW-MAPPING-START + * ****************** + * (flow_mapping_entry FLOW-ENTRY)* + * * ********** + * flow_mapping_entry? + * ****************** + * FLOW-MAPPING-END + * **************** + * flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * * *** * + */ + +static int +yaml_parser_parse_flow_mapping_key(yaml_parser_t *parser, + yaml_event_t *event, int first) +{ + yaml_token_t *token; + + if (first) { + token = PEEK_TOKEN(parser); + if (!PUSH(parser, parser->marks, token->start_mark)) + return 0; + SKIP_TOKEN(parser); + } + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + if (token->type != YAML_FLOW_MAPPING_END_TOKEN) + { + if (!first) { + if (token->type == YAML_FLOW_ENTRY_TOKEN) { + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) return 0; + } + else { + return yaml_parser_set_parser_error_context(parser, + "while parsing a flow mapping", POP(parser, parser->marks), + "did not found expected ',' or '}'", token->start_mark); + } + } + + if (token->type == YAML_KEY_TOKEN) { + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) return 0; + if (token->type != YAML_VALUE_TOKEN + && token->type != YAML_FLOW_ENTRY_TOKEN + && token->type != YAML_FLOW_MAPPING_END_TOKEN) { + if (!PUSH(parser, parser->states, + YAML_PARSE_FLOW_MAPPING_VALUE_STATE)) + return 0; + return yaml_parser_parse_node(parser, event, 0, 0); + } + else { + parser->state = YAML_PARSE_FLOW_MAPPING_VALUE_STATE; + return yaml_parser_process_empty_scalar(parser, event, + token->start_mark); + } + } + else if (token->type != YAML_FLOW_MAPPING_END_TOKEN) { + if (!PUSH(parser, parser->states, + YAML_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE)) + return 0; + return yaml_parser_parse_node(parser, event, 0, 0); + } + } + + parser->state = POP(parser, parser->states); + POP(parser, parser->marks); + MAPPING_END_EVENT_INIT(*event, token->start_mark, token->end_mark); + SKIP_TOKEN(parser); + return 1; +} + +/* + * Parse the productions: + * flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + * * ***** * + */ + +static int +yaml_parser_parse_flow_mapping_value(yaml_parser_t *parser, + yaml_event_t *event, int empty) +{ + yaml_token_t *token; + + token = PEEK_TOKEN(parser); + if (!token) return 0; + + if (empty) { + parser->state = YAML_PARSE_FLOW_MAPPING_KEY_STATE; + return yaml_parser_process_empty_scalar(parser, event, + token->start_mark); + } + + if (token->type == YAML_VALUE_TOKEN) { + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) return 0; + if (token->type != YAML_FLOW_ENTRY_TOKEN + && token->type != YAML_FLOW_MAPPING_END_TOKEN) { + if (!PUSH(parser, parser->states, + YAML_PARSE_FLOW_MAPPING_KEY_STATE)) + return 0; + return yaml_parser_parse_node(parser, event, 0, 0); + } + } + + parser->state = YAML_PARSE_FLOW_MAPPING_KEY_STATE; + return yaml_parser_process_empty_scalar(parser, event, token->start_mark); +} + +/* + * Generate an empty scalar event. + */ + +static int +yaml_parser_process_empty_scalar(yaml_parser_t *parser, yaml_event_t *event, + yaml_mark_t mark) +{ + yaml_char_t *value; + + value = yaml_malloc(1); + if (!value) { + parser->error = YAML_MEMORY_ERROR; + return 0; + } + value[0] = '\0'; + + SCALAR_EVENT_INIT(*event, NULL, NULL, value, 0, + 1, 0, YAML_PLAIN_SCALAR_STYLE, mark, mark); + + return 1; +} + +/* + * Parse directives. + */ + +static int +yaml_parser_process_directives(yaml_parser_t *parser, + yaml_version_directive_t **version_directive_ref, + yaml_tag_directive_t **tag_directives_start_ref, + yaml_tag_directive_t **tag_directives_end_ref) +{ + yaml_tag_directive_t default_tag_directives[] = { + {(yaml_char_t *)"!", (yaml_char_t *)"!"}, + {(yaml_char_t *)"!!", (yaml_char_t *)"tag:yaml.org,2002:"}, + {NULL, NULL} + }; + yaml_tag_directive_t *default_tag_directive; + yaml_version_directive_t *version_directive = NULL; + struct { + yaml_tag_directive_t *start; + yaml_tag_directive_t *end; + yaml_tag_directive_t *top; + } tag_directives = { NULL, NULL, NULL }; + yaml_token_t *token; + + if (!STACK_INIT(parser, tag_directives, INITIAL_STACK_SIZE)) + goto error; + + token = PEEK_TOKEN(parser); + if (!token) goto error; + + while (token->type == YAML_VERSION_DIRECTIVE_TOKEN || + token->type == YAML_TAG_DIRECTIVE_TOKEN) + { + if (token->type == YAML_VERSION_DIRECTIVE_TOKEN) { + if (version_directive) { + yaml_parser_set_parser_error(parser, + "found duplicate %YAML directive", token->start_mark); + goto error; + } + if (token->data.version_directive.major != 1 + || token->data.version_directive.minor != 1) { + yaml_parser_set_parser_error(parser, + "found incompatible YAML document", token->start_mark); + goto error; + } + version_directive = yaml_malloc(sizeof(yaml_version_directive_t)); + if (!version_directive) { + parser->error = YAML_MEMORY_ERROR; + goto error; + } + version_directive->major = token->data.version_directive.major; + version_directive->minor = token->data.version_directive.minor; + } + + else if (token->type == YAML_TAG_DIRECTIVE_TOKEN) { + yaml_tag_directive_t value = { + token->data.tag_directive.handle, + token->data.tag_directive.prefix + }; + if (!yaml_parser_append_tag_directive(parser, value, 0, + token->start_mark)) + goto error; + if (!PUSH(parser, tag_directives, value)) + goto error; + } + + SKIP_TOKEN(parser); + token = PEEK_TOKEN(parser); + if (!token) goto error; + } + + for (default_tag_directive = default_tag_directives; + default_tag_directive->handle; default_tag_directive++) { + if (!yaml_parser_append_tag_directive(parser, *default_tag_directive, 1, + token->start_mark)) + goto error; + } + + if (version_directive_ref) { + *version_directive_ref = version_directive; + } + if (tag_directives_start_ref) { + if (STACK_EMPTY(parser, tag_directives)) { + *tag_directives_start_ref = *tag_directives_end_ref = NULL; + STACK_DEL(parser, tag_directives); + } + else { + *tag_directives_start_ref = tag_directives.start; + *tag_directives_end_ref = tag_directives.top; + } + } + else { + STACK_DEL(parser, tag_directives); + } + + return 1; + +error: + yaml_free(version_directive); + while (!STACK_EMPTY(parser, tag_directives)) { + yaml_tag_directive_t tag_directive = POP(parser, tag_directives); + yaml_free(tag_directive.handle); + yaml_free(tag_directive.prefix); + } + STACK_DEL(parser, tag_directives); + return 0; +} + +/* + * Append a tag directive to the directives stack. + */ + +static int +yaml_parser_append_tag_directive(yaml_parser_t *parser, + yaml_tag_directive_t value, int allow_duplicates, yaml_mark_t mark) +{ + yaml_tag_directive_t *tag_directive; + yaml_tag_directive_t copy = { NULL, NULL }; + + for (tag_directive = parser->tag_directives.start; + tag_directive != parser->tag_directives.top; tag_directive ++) { + if (strcmp((char *)value.handle, (char *)tag_directive->handle) == 0) { + if (allow_duplicates) + return 1; + return yaml_parser_set_parser_error(parser, + "found duplicate %TAG directive", mark); + } + } + + copy.handle = yaml_strdup(value.handle); + copy.prefix = yaml_strdup(value.prefix); + if (!copy.handle || !copy.prefix) { + parser->error = YAML_MEMORY_ERROR; + goto error; + } + + if (!PUSH(parser, parser->tag_directives, copy)) + goto error; + + return 1; + +error: + yaml_free(copy.handle); + yaml_free(copy.prefix); + return 0; +} + diff --git a/yaml/src/parser.lo b/yaml/src/parser.lo new file mode 100644 index 00000000..7a721d93 --- /dev/null +++ b/yaml/src/parser.lo @@ -0,0 +1,12 @@ +# parser.lo - a libtool object file +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/parser.o' + +# Name of the non-PIC object. +non_pic_object='parser.o' + diff --git a/yaml/src/reader.c b/yaml/src/reader.c new file mode 100644 index 00000000..ea189c26 --- /dev/null +++ b/yaml/src/reader.c @@ -0,0 +1,459 @@ + +#include "yaml_private.h" + +/* + * Declarations. + */ + +static int +yaml_parser_set_reader_error(yaml_parser_t *parser, const char *problem, + size_t offset, int value); + +static int +yaml_parser_update_raw_buffer(yaml_parser_t *parser); + +static int +yaml_parser_determine_encoding(yaml_parser_t *parser); + +YAML_DECLARE(int) +yaml_parser_update_buffer(yaml_parser_t *parser, size_t length); + +/* + * Set the reader error and return 0. + */ + +static int +yaml_parser_set_reader_error(yaml_parser_t *parser, const char *problem, + size_t offset, int value) +{ + parser->error = YAML_READER_ERROR; + parser->problem = problem; + parser->problem_offset = offset; + parser->problem_value = value; + + return 0; +} + +/* + * Byte order marks. + */ + +#define BOM_UTF8 "\xef\xbb\xbf" +#define BOM_UTF16LE "\xff\xfe" +#define BOM_UTF16BE "\xfe\xff" + +/* + * Determine the input stream encoding by checking the BOM symbol. If no BOM is + * found, the UTF-8 encoding is assumed. Return 1 on success, 0 on failure. + */ + +static int +yaml_parser_determine_encoding(yaml_parser_t *parser) +{ + /* Ensure that we had enough bytes in the raw buffer. */ + + while (!parser->eof + && parser->raw_buffer.last - parser->raw_buffer.pointer < 3) { + if (!yaml_parser_update_raw_buffer(parser)) { + return 0; + } + } + + /* Determine the encoding. */ + + if (parser->raw_buffer.last - parser->raw_buffer.pointer >= 2 + && !memcmp(parser->raw_buffer.pointer, BOM_UTF16LE, 2)) { + parser->encoding = YAML_UTF16LE_ENCODING; + parser->raw_buffer.pointer += 2; + parser->offset += 2; + } + else if (parser->raw_buffer.last - parser->raw_buffer.pointer >= 2 + && !memcmp(parser->raw_buffer.pointer, BOM_UTF16BE, 2)) { + parser->encoding = YAML_UTF16BE_ENCODING; + parser->raw_buffer.pointer += 2; + parser->offset += 2; + } + else if (parser->raw_buffer.last - parser->raw_buffer.pointer >= 3 + && !memcmp(parser->raw_buffer.pointer, BOM_UTF8, 3)) { + parser->encoding = YAML_UTF8_ENCODING; + parser->raw_buffer.pointer += 3; + parser->offset += 3; + } + else { + parser->encoding = YAML_UTF8_ENCODING; + } + + return 1; +} + +/* + * Update the raw buffer. + */ + +static int +yaml_parser_update_raw_buffer(yaml_parser_t *parser) +{ + size_t size_read = 0; + + /* Return if the raw buffer is full. */ + + if (parser->raw_buffer.start == parser->raw_buffer.pointer + && parser->raw_buffer.last == parser->raw_buffer.end) + return 1; + + /* Return on EOF. */ + + if (parser->eof) return 1; + + /* Move the remaining bytes in the raw buffer to the beginning. */ + + if (parser->raw_buffer.start < parser->raw_buffer.pointer + && parser->raw_buffer.pointer < parser->raw_buffer.last) { + memmove(parser->raw_buffer.start, parser->raw_buffer.pointer, + parser->raw_buffer.last - parser->raw_buffer.pointer); + } + parser->raw_buffer.last -= + parser->raw_buffer.pointer - parser->raw_buffer.start; + parser->raw_buffer.pointer = parser->raw_buffer.start; + + /* Call the read handler to fill the buffer. */ + + if (!parser->read_handler(parser->read_handler_data, parser->raw_buffer.last, + parser->raw_buffer.end - parser->raw_buffer.last, &size_read)) { + return yaml_parser_set_reader_error(parser, "Input error", + parser->offset, -1); + } + parser->raw_buffer.last += size_read; + if (!size_read) { + parser->eof = 1; + } + + return 1; +} + +/* + * Ensure that the buffer contains at least `length` characters. + * Return 1 on success, 0 on failure. + * + * The length is supposed to be significantly less that the buffer size. + */ + +YAML_DECLARE(int) +yaml_parser_update_buffer(yaml_parser_t *parser, size_t length) +{ + assert(parser->read_handler); /* Read handler must be set. */ + + /* If the EOF flag is set and the raw buffer is empty, do nothing. */ + + if (parser->eof && parser->raw_buffer.pointer == parser->raw_buffer.last) + return 1; + + /* Return if the buffer contains enough characters. */ + + if (parser->unread >= length) + return 1; + + /* Determine the input encoding if it is not known yet. */ + + if (!parser->encoding) { + if (!yaml_parser_determine_encoding(parser)) + return 0; + } + + /* Move the unread characters to the beginning of the buffer. */ + + if (parser->buffer.start < parser->buffer.pointer + && parser->buffer.pointer < parser->buffer.last) { + size_t size = parser->buffer.last - parser->buffer.pointer; + memmove(parser->buffer.start, parser->buffer.pointer, size); + parser->buffer.pointer = parser->buffer.start; + parser->buffer.last = parser->buffer.start + size; + } + else if (parser->buffer.pointer == parser->buffer.last) { + parser->buffer.pointer = parser->buffer.start; + parser->buffer.last = parser->buffer.start; + } + + /* Fill the buffer until it has enough characters. */ + + while (parser->unread < length) + { + /* Fill the raw buffer. */ + + if (!yaml_parser_update_raw_buffer(parser)) return 0; + + /* Decode the raw buffer. */ + + while (parser->raw_buffer.pointer != parser->raw_buffer.last) + { + unsigned int value = 0, value2 = 0; + int incomplete = 0; + unsigned char octet; + unsigned int width = 0; + int k, low, high; + int raw_unread = parser->raw_buffer.last - parser->raw_buffer.pointer; + + /* Decode the next character. */ + + switch (parser->encoding) + { + case YAML_UTF8_ENCODING: + + /* + * Decode a UTF-8 character. Check RFC 3629 + * (http://www.ietf.org/rfc/rfc3629.txt) for more details. + * + * The following table (taken from the RFC) is used for + * decoding. + * + * Char. number range | UTF-8 octet sequence + * (hexadecimal) | (binary) + * --------------------+------------------------------------ + * 0000 0000-0000 007F | 0xxxxxxx + * 0000 0080-0000 07FF | 110xxxxx 10xxxxxx + * 0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx + * 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + * + * Additionally, the characters in the range 0xD800-0xDFFF + * are prohibited as they are reserved for use with UTF-16 + * surrogate pairs. + */ + + /* Determine the length of the UTF-8 sequence. */ + + octet = parser->raw_buffer.pointer[0]; + width = (octet & 0x80) == 0x00 ? 1 : + (octet & 0xE0) == 0xC0 ? 2 : + (octet & 0xF0) == 0xE0 ? 3 : + (octet & 0xF8) == 0xF0 ? 4 : 0; + + /* Check if the leading octet is valid. */ + + if (!width) + return yaml_parser_set_reader_error(parser, + "Invalid leading UTF-8 octet", + parser->offset, octet); + + /* Check if the raw buffer contains an incomplete character. */ + + if (width > raw_unread) { + if (parser->eof) { + return yaml_parser_set_reader_error(parser, + "Incomplete UTF-8 octet sequence", + parser->offset, -1); + } + incomplete = 1; + break; + } + + /* Decode the leading octet. */ + + value = (octet & 0x80) == 0x00 ? octet & 0x7F : + (octet & 0xE0) == 0xC0 ? octet & 0x1F : + (octet & 0xF0) == 0xE0 ? octet & 0x0F : + (octet & 0xF8) == 0xF0 ? octet & 0x07 : 0; + + /* Check and decode the trailing octets. */ + + for (k = 1; k < width; k ++) + { + octet = parser->raw_buffer.pointer[k]; + + /* Check if the octet is valid. */ + + if ((octet & 0xC0) != 0x80) + return yaml_parser_set_reader_error(parser, + "Invalid trailing UTF-8 octet", + parser->offset+k, octet); + + /* Decode the octet. */ + + value = (value << 6) + (octet & 0x3F); + } + + /* Check the length of the sequence against the value. */ + + if (!((width == 1) || + (width == 2 && value >= 0x80) || + (width == 3 && value >= 0x800) || + (width == 4 && value >= 0x10000))) + return yaml_parser_set_reader_error(parser, + "Invalid length of a UTF-8 sequence", + parser->offset, -1); + + /* Check the range of the value. */ + + if ((value >= 0xD800 && value <= 0xDFFF) || value > 0x10FFFF) + return yaml_parser_set_reader_error(parser, + "Invalid Unicode character", + parser->offset, value); + + break; + + case YAML_UTF16LE_ENCODING: + case YAML_UTF16BE_ENCODING: + + low = (parser->encoding == YAML_UTF16LE_ENCODING ? 0 : 1); + high = (parser->encoding == YAML_UTF16LE_ENCODING ? 1 : 0); + + /* + * The UTF-16 encoding is not as simple as one might + * naively think. Check RFC 2781 + * (http://www.ietf.org/rfc/rfc2781.txt). + * + * Normally, two subsequent bytes describe a Unicode + * character. However a special technique (called a + * surrogate pair) is used for specifying character + * values larger than 0xFFFF. + * + * A surrogate pair consists of two pseudo-characters: + * high surrogate area (0xD800-0xDBFF) + * low surrogate area (0xDC00-0xDFFF) + * + * The following formulas are used for decoding + * and encoding characters using surrogate pairs: + * + * U = U' + 0x10000 (0x01 00 00 <= U <= 0x10 FF FF) + * U' = yyyyyyyyyyxxxxxxxxxx (0 <= U' <= 0x0F FF FF) + * W1 = 110110yyyyyyyyyy + * W2 = 110111xxxxxxxxxx + * + * where U is the character value, W1 is the high surrogate + * area, W2 is the low surrogate area. + */ + + /* Check for incomplete UTF-16 character. */ + + if (raw_unread < 2) { + if (parser->eof) { + return yaml_parser_set_reader_error(parser, + "Incomplete UTF-16 character", + parser->offset, -1); + } + incomplete = 1; + break; + } + + /* Get the character. */ + + value = parser->raw_buffer.pointer[low] + + (parser->raw_buffer.pointer[high] << 8); + + /* Check for unexpected low surrogate area. */ + + if ((value & 0xFC00) == 0xDC00) + return yaml_parser_set_reader_error(parser, + "Unexpected low surrogate area", + parser->offset, value); + + /* Check for a high surrogate area. */ + + if ((value & 0xFC00) == 0xD800) { + + width = 4; + + /* Check for incomplete surrogate pair. */ + + if (raw_unread < 4) { + if (parser->eof) { + return yaml_parser_set_reader_error(parser, + "Incomplete UTF-16 surrogate pair", + parser->offset, -1); + } + incomplete = 1; + break; + } + + /* Get the next character. */ + + value2 = parser->raw_buffer.pointer[low+2] + + (parser->raw_buffer.pointer[high+2] << 8); + + /* Check for a low surrogate area. */ + + if ((value2 & 0xFC00) != 0xDC00) + return yaml_parser_set_reader_error(parser, + "Expected low surrogate area", + parser->offset+2, value2); + + /* Generate the value of the surrogate pair. */ + + value = 0x10000 + ((value & 0x3FF) << 10) + (value2 & 0x3FF); + } + + else { + width = 2; + } + + break; + + default: + assert(1); /* Impossible. */ + } + + /* Check if the raw buffer contains enough bytes to form a character. */ + + if (incomplete) break; + + /* + * Check if the character is in the allowed range: + * #x9 | #xA | #xD | [#x20-#x7E] (8 bit) + * | #x85 | [#xA0-#xD7FF] | [#xE000-#xFFFD] (16 bit) + * | [#x10000-#x10FFFF] (32 bit) + */ + + if (! (value == 0x09 || value == 0x0A || value == 0x0D + || (value >= 0x20 && value <= 0x7E) + || (value == 0x85) || (value >= 0xA0 && value <= 0xD7FF) + || (value >= 0xE000 && value <= 0xFFFD) + || (value >= 0x10000 && value <= 0x10FFFF))) + return yaml_parser_set_reader_error(parser, + "Control characters are not allowed", + parser->offset, value); + + /* Move the raw pointers. */ + + parser->raw_buffer.pointer += width; + parser->offset += width; + + /* Finally put the character into the buffer. */ + + /* 0000 0000-0000 007F -> 0xxxxxxx */ + if (value <= 0x7F) { + *(parser->buffer.last++) = value; + } + /* 0000 0080-0000 07FF -> 110xxxxx 10xxxxxx */ + else if (value <= 0x7FF) { + *(parser->buffer.last++) = 0xC0 + (value >> 6); + *(parser->buffer.last++) = 0x80 + (value & 0x3F); + } + /* 0000 0800-0000 FFFF -> 1110xxxx 10xxxxxx 10xxxxxx */ + else if (value <= 0xFFFF) { + *(parser->buffer.last++) = 0xE0 + (value >> 12); + *(parser->buffer.last++) = 0x80 + ((value >> 6) & 0x3F); + *(parser->buffer.last++) = 0x80 + (value & 0x3F); + } + /* 0001 0000-0010 FFFF -> 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx */ + else { + *(parser->buffer.last++) = 0xF0 + (value >> 18); + *(parser->buffer.last++) = 0x80 + ((value >> 12) & 0x3F); + *(parser->buffer.last++) = 0x80 + ((value >> 6) & 0x3F); + *(parser->buffer.last++) = 0x80 + (value & 0x3F); + } + + parser->unread ++; + } + + /* On EOF, put NUL into the buffer and return. */ + + if (parser->eof) { + *(parser->buffer.last++) = '\0'; + parser->unread ++; + return 1; + } + + } + + return 1; +} + diff --git a/yaml/src/reader.lo b/yaml/src/reader.lo new file mode 100644 index 00000000..f8e53d9c --- /dev/null +++ b/yaml/src/reader.lo @@ -0,0 +1,12 @@ +# reader.lo - a libtool object file +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/reader.o' + +# Name of the non-PIC object. +non_pic_object='reader.o' + diff --git a/yaml/src/scanner.c b/yaml/src/scanner.c new file mode 100644 index 00000000..1414401d --- /dev/null +++ b/yaml/src/scanner.c @@ -0,0 +1,3558 @@ + +/* + * Introduction + * ************ + * + * The following notes assume that you are familiar with the YAML specification + * (http://yaml.org/spec/cvs/current.html). We mostly follow it, although in + * some cases we are less restrictive that it requires. + * + * The process of transforming a YAML stream into a sequence of events is + * divided on two steps: Scanning and Parsing. + * + * The Scanner transforms the input stream into a sequence of tokens, while the + * parser transform the sequence of tokens produced by the Scanner into a + * sequence of parsing events. + * + * The Scanner is rather clever and complicated. The Parser, on the contrary, + * is a straightforward implementation of a recursive-descendant parser (or, + * LL(1) parser, as it is usually called). + * + * Actually there are two issues of Scanning that might be called "clever", the + * rest is quite straightforward. The issues are "block collection start" and + * "simple keys". Both issues are explained below in details. + * + * Here the Scanning step is explained and implemented. We start with the list + * of all the tokens produced by the Scanner together with short descriptions. + * + * Now, tokens: + * + * STREAM-START(encoding) # The stream start. + * STREAM-END # The stream end. + * VERSION-DIRECTIVE(major,minor) # The '%YAML' directive. + * TAG-DIRECTIVE(handle,prefix) # The '%TAG' directive. + * DOCUMENT-START # '---' + * DOCUMENT-END # '...' + * BLOCK-SEQUENCE-START # Indentation increase denoting a block + * BLOCK-MAPPING-START # sequence or a block mapping. + * BLOCK-END # Indentation decrease. + * FLOW-SEQUENCE-START # '[' + * FLOW-SEQUENCE-END # ']' + * BLOCK-SEQUENCE-START # '{' + * BLOCK-SEQUENCE-END # '}' + * BLOCK-ENTRY # '-' + * FLOW-ENTRY # ',' + * KEY # '?' or nothing (simple keys). + * VALUE # ':' + * ALIAS(anchor) # '*anchor' + * ANCHOR(anchor) # '&anchor' + * TAG(handle,suffix) # '!handle!suffix' + * SCALAR(value,style) # A scalar. + * + * The following two tokens are "virtual" tokens denoting the beginning and the + * end of the stream: + * + * STREAM-START(encoding) + * STREAM-END + * + * We pass the information about the input stream encoding with the + * STREAM-START token. + * + * The next two tokens are responsible for tags: + * + * VERSION-DIRECTIVE(major,minor) + * TAG-DIRECTIVE(handle,prefix) + * + * Example: + * + * %YAML 1.1 + * %TAG ! !foo + * %TAG !yaml! tag:yaml.org,2002: + * --- + * + * The correspoding sequence of tokens: + * + * STREAM-START(utf-8) + * VERSION-DIRECTIVE(1,1) + * TAG-DIRECTIVE("!","!foo") + * TAG-DIRECTIVE("!yaml","tag:yaml.org,2002:") + * DOCUMENT-START + * STREAM-END + * + * Note that the VERSION-DIRECTIVE and TAG-DIRECTIVE tokens occupy a whole + * line. + * + * The document start and end indicators are represented by: + * + * DOCUMENT-START + * DOCUMENT-END + * + * Note that if a YAML stream contains an implicit document (without '---' + * and '...' indicators), no DOCUMENT-START and DOCUMENT-END tokens will be + * produced. + * + * In the following examples, we present whole documents together with the + * produced tokens. + * + * 1. An implicit document: + * + * 'a scalar' + * + * Tokens: + * + * STREAM-START(utf-8) + * SCALAR("a scalar",single-quoted) + * STREAM-END + * + * 2. An explicit document: + * + * --- + * 'a scalar' + * ... + * + * Tokens: + * + * STREAM-START(utf-8) + * DOCUMENT-START + * SCALAR("a scalar",single-quoted) + * DOCUMENT-END + * STREAM-END + * + * 3. Several documents in a stream: + * + * 'a scalar' + * --- + * 'another scalar' + * --- + * 'yet another scalar' + * + * Tokens: + * + * STREAM-START(utf-8) + * SCALAR("a scalar",single-quoted) + * DOCUMENT-START + * SCALAR("another scalar",single-quoted) + * DOCUMENT-START + * SCALAR("yet another scalar",single-quoted) + * STREAM-END + * + * We have already introduced the SCALAR token above. The following tokens are + * used to describe aliases, anchors, tag, and scalars: + * + * ALIAS(anchor) + * ANCHOR(anchor) + * TAG(handle,suffix) + * SCALAR(value,style) + * + * The following series of examples illustrate the usage of these tokens: + * + * 1. A recursive sequence: + * + * &A [ *A ] + * + * Tokens: + * + * STREAM-START(utf-8) + * ANCHOR("A") + * FLOW-SEQUENCE-START + * ALIAS("A") + * FLOW-SEQUENCE-END + * STREAM-END + * + * 2. A tagged scalar: + * + * !!float "3.14" # A good approximation. + * + * Tokens: + * + * STREAM-START(utf-8) + * TAG("!!","float") + * SCALAR("3.14",double-quoted) + * STREAM-END + * + * 3. Various scalar styles: + * + * --- # Implicit empty plain scalars do not produce tokens. + * --- a plain scalar + * --- 'a single-quoted scalar' + * --- "a double-quoted scalar" + * --- |- + * a literal scalar + * --- >- + * a folded + * scalar + * + * Tokens: + * + * STREAM-START(utf-8) + * DOCUMENT-START + * DOCUMENT-START + * SCALAR("a plain scalar",plain) + * DOCUMENT-START + * SCALAR("a single-quoted scalar",single-quoted) + * DOCUMENT-START + * SCALAR("a double-quoted scalar",double-quoted) + * DOCUMENT-START + * SCALAR("a literal scalar",literal) + * DOCUMENT-START + * SCALAR("a folded scalar",folded) + * STREAM-END + * + * Now it's time to review collection-related tokens. We will start with + * flow collections: + * + * FLOW-SEQUENCE-START + * FLOW-SEQUENCE-END + * FLOW-MAPPING-START + * FLOW-MAPPING-END + * FLOW-ENTRY + * KEY + * VALUE + * + * The tokens FLOW-SEQUENCE-START, FLOW-SEQUENCE-END, FLOW-MAPPING-START, and + * FLOW-MAPPING-END represent the indicators '[', ']', '{', and '}' + * correspondingly. FLOW-ENTRY represent the ',' indicator. Finally the + * indicators '?' and ':', which are used for denoting mapping keys and values, + * are represented by the KEY and VALUE tokens. + * + * The following examples show flow collections: + * + * 1. A flow sequence: + * + * [item 1, item 2, item 3] + * + * Tokens: + * + * STREAM-START(utf-8) + * FLOW-SEQUENCE-START + * SCALAR("item 1",plain) + * FLOW-ENTRY + * SCALAR("item 2",plain) + * FLOW-ENTRY + * SCALAR("item 3",plain) + * FLOW-SEQUENCE-END + * STREAM-END + * + * 2. A flow mapping: + * + * { + * a simple key: a value, # Note that the KEY token is produced. + * ? a complex key: another value, + * } + * + * Tokens: + * + * STREAM-START(utf-8) + * FLOW-MAPPING-START + * KEY + * SCALAR("a simple key",plain) + * VALUE + * SCALAR("a value",plain) + * FLOW-ENTRY + * KEY + * SCALAR("a complex key",plain) + * VALUE + * SCALAR("another value",plain) + * FLOW-ENTRY + * FLOW-MAPPING-END + * STREAM-END + * + * A simple key is a key which is not denoted by the '?' indicator. Note that + * the Scanner still produce the KEY token whenever it encounters a simple key. + * + * For scanning block collections, the following tokens are used (note that we + * repeat KEY and VALUE here): + * + * BLOCK-SEQUENCE-START + * BLOCK-MAPPING-START + * BLOCK-END + * BLOCK-ENTRY + * KEY + * VALUE + * + * The tokens BLOCK-SEQUENCE-START and BLOCK-MAPPING-START denote indentation + * increase that precedes a block collection (cf. the INDENT token in Python). + * The token BLOCK-END denote indentation decrease that ends a block collection + * (cf. the DEDENT token in Python). However YAML has some syntax pecularities + * that makes detections of these tokens more complex. + * + * The tokens BLOCK-ENTRY, KEY, and VALUE are used to represent the indicators + * '-', '?', and ':' correspondingly. + * + * The following examples show how the tokens BLOCK-SEQUENCE-START, + * BLOCK-MAPPING-START, and BLOCK-END are emitted by the Scanner: + * + * 1. Block sequences: + * + * - item 1 + * - item 2 + * - + * - item 3.1 + * - item 3.2 + * - + * key 1: value 1 + * key 2: value 2 + * + * Tokens: + * + * STREAM-START(utf-8) + * BLOCK-SEQUENCE-START + * BLOCK-ENTRY + * SCALAR("item 1",plain) + * BLOCK-ENTRY + * SCALAR("item 2",plain) + * BLOCK-ENTRY + * BLOCK-SEQUENCE-START + * BLOCK-ENTRY + * SCALAR("item 3.1",plain) + * BLOCK-ENTRY + * SCALAR("item 3.2",plain) + * BLOCK-END + * BLOCK-ENTRY + * BLOCK-MAPPING-START + * KEY + * SCALAR("key 1",plain) + * VALUE + * SCALAR("value 1",plain) + * KEY + * SCALAR("key 2",plain) + * VALUE + * SCALAR("value 2",plain) + * BLOCK-END + * BLOCK-END + * STREAM-END + * + * 2. Block mappings: + * + * a simple key: a value # The KEY token is produced here. + * ? a complex key + * : another value + * a mapping: + * key 1: value 1 + * key 2: value 2 + * a sequence: + * - item 1 + * - item 2 + * + * Tokens: + * + * STREAM-START(utf-8) + * BLOCK-MAPPING-START + * KEY + * SCALAR("a simple key",plain) + * VALUE + * SCALAR("a value",plain) + * KEY + * SCALAR("a complex key",plain) + * VALUE + * SCALAR("another value",plain) + * KEY + * SCALAR("a mapping",plain) + * BLOCK-MAPPING-START + * KEY + * SCALAR("key 1",plain) + * VALUE + * SCALAR("value 1",plain) + * KEY + * SCALAR("key 2",plain) + * VALUE + * SCALAR("value 2",plain) + * BLOCK-END + * KEY + * SCALAR("a sequence",plain) + * VALUE + * BLOCK-SEQUENCE-START + * BLOCK-ENTRY + * SCALAR("item 1",plain) + * BLOCK-ENTRY + * SCALAR("item 2",plain) + * BLOCK-END + * BLOCK-END + * STREAM-END + * + * YAML does not always require to start a new block collection from a new + * line. If the current line contains only '-', '?', and ':' indicators, a new + * block collection may start at the current line. The following examples + * illustrate this case: + * + * 1. Collections in a sequence: + * + * - - item 1 + * - item 2 + * - key 1: value 1 + * key 2: value 2 + * - ? complex key + * : complex value + * + * Tokens: + * + * STREAM-START(utf-8) + * BLOCK-SEQUENCE-START + * BLOCK-ENTRY + * BLOCK-SEQUENCE-START + * BLOCK-ENTRY + * SCALAR("item 1",plain) + * BLOCK-ENTRY + * SCALAR("item 2",plain) + * BLOCK-END + * BLOCK-ENTRY + * BLOCK-MAPPING-START + * KEY + * SCALAR("key 1",plain) + * VALUE + * SCALAR("value 1",plain) + * KEY + * SCALAR("key 2",plain) + * VALUE + * SCALAR("value 2",plain) + * BLOCK-END + * BLOCK-ENTRY + * BLOCK-MAPPING-START + * KEY + * SCALAR("complex key") + * VALUE + * SCALAR("complex value") + * BLOCK-END + * BLOCK-END + * STREAM-END + * + * 2. Collections in a mapping: + * + * ? a sequence + * : - item 1 + * - item 2 + * ? a mapping + * : key 1: value 1 + * key 2: value 2 + * + * Tokens: + * + * STREAM-START(utf-8) + * BLOCK-MAPPING-START + * KEY + * SCALAR("a sequence",plain) + * VALUE + * BLOCK-SEQUENCE-START + * BLOCK-ENTRY + * SCALAR("item 1",plain) + * BLOCK-ENTRY + * SCALAR("item 2",plain) + * BLOCK-END + * KEY + * SCALAR("a mapping",plain) + * VALUE + * BLOCK-MAPPING-START + * KEY + * SCALAR("key 1",plain) + * VALUE + * SCALAR("value 1",plain) + * KEY + * SCALAR("key 2",plain) + * VALUE + * SCALAR("value 2",plain) + * BLOCK-END + * BLOCK-END + * STREAM-END + * + * YAML also permits non-indented sequences if they are included into a block + * mapping. In this case, the token BLOCK-SEQUENCE-START is not produced: + * + * key: + * - item 1 # BLOCK-SEQUENCE-START is NOT produced here. + * - item 2 + * + * Tokens: + * + * STREAM-START(utf-8) + * BLOCK-MAPPING-START + * KEY + * SCALAR("key",plain) + * VALUE + * BLOCK-ENTRY + * SCALAR("item 1",plain) + * BLOCK-ENTRY + * SCALAR("item 2",plain) + * BLOCK-END + */ + +#include "yaml_private.h" + +/* + * Ensure that the buffer contains the required number of characters. + * Return 1 on success, 0 on failure (reader error or memory error). + */ + +#define CACHE(parser,length) \ + (parser->unread >= (length) \ + ? 1 \ + : yaml_parser_update_buffer(parser, (length))) + +/* + * Advance the buffer pointer. + */ + +#define SKIP(parser) \ + (parser->mark.index ++, \ + parser->mark.column ++, \ + parser->unread --, \ + parser->buffer.pointer += WIDTH(parser->buffer)) + +#define SKIP_LINE(parser) \ + (IS_CRLF(parser->buffer) ? \ + (parser->mark.index += 2, \ + parser->mark.column = 0, \ + parser->mark.line ++, \ + parser->unread -= 2, \ + parser->buffer.pointer += 2) : \ + IS_BREAK(parser->buffer) ? \ + (parser->mark.index ++, \ + parser->mark.column = 0, \ + parser->mark.line ++, \ + parser->unread --, \ + parser->buffer.pointer += WIDTH(parser->buffer)) : 0) + +/* + * Copy a character to a string buffer and advance pointers. + */ + +#define READ(parser,string) \ + (STRING_EXTEND(parser,string) ? \ + (COPY(string,parser->buffer), \ + parser->mark.index ++, \ + parser->mark.column ++, \ + parser->unread --, \ + 1) : 0) + +/* + * Copy a line break character to a string buffer and advance pointers. + */ + +#define READ_LINE(parser,string) \ + (STRING_EXTEND(parser,string) ? \ + (((CHECK_AT(parser->buffer,'\r',0) \ + && CHECK_AT(parser->buffer,'\n',1)) ? /* CR LF -> LF */ \ + (*((string).pointer++) = (yaml_char_t) '\n', \ + parser->buffer.pointer += 2, \ + parser->mark.index += 2, \ + parser->mark.column = 0, \ + parser->mark.line ++, \ + parser->unread -= 2) : \ + (CHECK_AT(parser->buffer,'\r',0) \ + || CHECK_AT(parser->buffer,'\n',0)) ? /* CR|LF -> LF */ \ + (*((string).pointer++) = (yaml_char_t) '\n', \ + parser->buffer.pointer ++, \ + parser->mark.index ++, \ + parser->mark.column = 0, \ + parser->mark.line ++, \ + parser->unread --) : \ + (CHECK_AT(parser->buffer,'\xC2',0) \ + && CHECK_AT(parser->buffer,'\x85',1)) ? /* NEL -> LF */ \ + (*((string).pointer++) = (yaml_char_t) '\n', \ + parser->buffer.pointer += 2, \ + parser->mark.index ++, \ + parser->mark.column = 0, \ + parser->mark.line ++, \ + parser->unread --) : \ + (CHECK_AT(parser->buffer,'\xE2',0) && \ + CHECK_AT(parser->buffer,'\x80',1) && \ + (CHECK_AT(parser->buffer,'\xA8',2) || \ + CHECK_AT(parser->buffer,'\xA9',2))) ? /* LS|PS -> LS|PS */ \ + (*((string).pointer++) = *(parser->buffer.pointer++), \ + *((string).pointer++) = *(parser->buffer.pointer++), \ + *((string).pointer++) = *(parser->buffer.pointer++), \ + parser->mark.index ++, \ + parser->mark.column = 0, \ + parser->mark.line ++, \ + parser->unread --) : 0), \ + 1) : 0) + +/* + * Public API declarations. + */ + +YAML_DECLARE(int) +yaml_parser_scan(yaml_parser_t *parser, yaml_token_t *token); + +/* + * Error handling. + */ + +static int +yaml_parser_set_scanner_error(yaml_parser_t *parser, const char *context, + yaml_mark_t context_mark, const char *problem); + +/* + * High-level token API. + */ + +YAML_DECLARE(int) +yaml_parser_fetch_more_tokens(yaml_parser_t *parser); + +static int +yaml_parser_fetch_next_token(yaml_parser_t *parser); + +/* + * Potential simple keys. + */ + +static int +yaml_parser_stale_simple_keys(yaml_parser_t *parser); + +static int +yaml_parser_save_simple_key(yaml_parser_t *parser); + +static int +yaml_parser_remove_simple_key(yaml_parser_t *parser); + +static int +yaml_parser_increase_flow_level(yaml_parser_t *parser); + +static int +yaml_parser_decrease_flow_level(yaml_parser_t *parser); + +/* + * Indentation treatment. + */ + +static int +yaml_parser_roll_indent(yaml_parser_t *parser, int column, + int number, yaml_token_type_t type, yaml_mark_t mark); + +static int +yaml_parser_unroll_indent(yaml_parser_t *parser, int column); + +/* + * Token fetchers. + */ + +static int +yaml_parser_fetch_stream_start(yaml_parser_t *parser); + +static int +yaml_parser_fetch_stream_end(yaml_parser_t *parser); + +static int +yaml_parser_fetch_directive(yaml_parser_t *parser); + +static int +yaml_parser_fetch_document_indicator(yaml_parser_t *parser, + yaml_token_type_t type); + +static int +yaml_parser_fetch_flow_collection_start(yaml_parser_t *parser, + yaml_token_type_t type); + +static int +yaml_parser_fetch_flow_collection_end(yaml_parser_t *parser, + yaml_token_type_t type); + +static int +yaml_parser_fetch_flow_entry(yaml_parser_t *parser); + +static int +yaml_parser_fetch_block_entry(yaml_parser_t *parser); + +static int +yaml_parser_fetch_key(yaml_parser_t *parser); + +static int +yaml_parser_fetch_value(yaml_parser_t *parser); + +static int +yaml_parser_fetch_anchor(yaml_parser_t *parser, yaml_token_type_t type); + +static int +yaml_parser_fetch_tag(yaml_parser_t *parser); + +static int +yaml_parser_fetch_block_scalar(yaml_parser_t *parser, int literal); + +static int +yaml_parser_fetch_flow_scalar(yaml_parser_t *parser, int single); + +static int +yaml_parser_fetch_plain_scalar(yaml_parser_t *parser); + +/* + * Token scanners. + */ + +static int +yaml_parser_scan_to_next_token(yaml_parser_t *parser); + +static int +yaml_parser_scan_directive(yaml_parser_t *parser, yaml_token_t *token); + +static int +yaml_parser_scan_directive_name(yaml_parser_t *parser, + yaml_mark_t start_mark, yaml_char_t **name); + +static int +yaml_parser_scan_version_directive_value(yaml_parser_t *parser, + yaml_mark_t start_mark, int *major, int *minor); + +static int +yaml_parser_scan_version_directive_number(yaml_parser_t *parser, + yaml_mark_t start_mark, int *number); + +static int +yaml_parser_scan_tag_directive_value(yaml_parser_t *parser, + yaml_mark_t mark, yaml_char_t **handle, yaml_char_t **prefix); + +static int +yaml_parser_scan_anchor(yaml_parser_t *parser, yaml_token_t *token, + yaml_token_type_t type); + +static int +yaml_parser_scan_tag(yaml_parser_t *parser, yaml_token_t *token); + +static int +yaml_parser_scan_tag_handle(yaml_parser_t *parser, int directive, + yaml_mark_t start_mark, yaml_char_t **handle); + +static int +yaml_parser_scan_tag_uri(yaml_parser_t *parser, int directive, + yaml_char_t *head, yaml_mark_t start_mark, yaml_char_t **uri); + +static int +yaml_parser_scan_uri_escapes(yaml_parser_t *parser, int directive, + yaml_mark_t start_mark, yaml_string_t *string); + +static int +yaml_parser_scan_block_scalar(yaml_parser_t *parser, yaml_token_t *token, + int literal); + +static int +yaml_parser_scan_block_scalar_breaks(yaml_parser_t *parser, + int *indent, yaml_string_t *breaks, + yaml_mark_t start_mark, yaml_mark_t *end_mark); + +static int +yaml_parser_scan_flow_scalar(yaml_parser_t *parser, yaml_token_t *token, + int single); + +static int +yaml_parser_scan_plain_scalar(yaml_parser_t *parser, yaml_token_t *token); + +/* + * Get the next token. + */ + +YAML_DECLARE(int) +yaml_parser_scan(yaml_parser_t *parser, yaml_token_t *token) +{ + assert(parser); /* Non-NULL parser object is expected. */ + assert(token); /* Non-NULL token object is expected. */ + + /* Erase the token object. */ + + memset(token, 0, sizeof(yaml_token_t)); + + /* No tokens after STREAM-END or error. */ + + if (parser->stream_end_produced || parser->error) { + return 1; + } + + /* Ensure that the tokens queue contains enough tokens. */ + + if (!parser->token_available) { + if (!yaml_parser_fetch_more_tokens(parser)) + return 0; + } + + /* Fetch the next token from the queue. */ + + *token = DEQUEUE(parser, parser->tokens); + parser->token_available = 0; + parser->tokens_parsed ++; + + if (token->type == YAML_STREAM_END_TOKEN) { + parser->stream_end_produced = 1; + } + + return 1; +} + +/* + * Set the scanner error and return 0. + */ + +static int +yaml_parser_set_scanner_error(yaml_parser_t *parser, const char *context, + yaml_mark_t context_mark, const char *problem) +{ + parser->error = YAML_SCANNER_ERROR; + parser->context = context; + parser->context_mark = context_mark; + parser->problem = problem; + parser->problem_mark = parser->mark; + + return 0; +} + +/* + * Ensure that the tokens queue contains at least one token which can be + * returned to the Parser. + */ + +YAML_DECLARE(int) +yaml_parser_fetch_more_tokens(yaml_parser_t *parser) +{ + int need_more_tokens; + + /* While we need more tokens to fetch, do it. */ + + while (1) + { + /* + * Check if we really need to fetch more tokens. + */ + + need_more_tokens = 0; + + if (parser->tokens.head == parser->tokens.tail) + { + /* Queue is empty. */ + + need_more_tokens = 1; + } + else + { + yaml_simple_key_t *simple_key; + + /* Check if any potential simple key may occupy the head position. */ + + if (!yaml_parser_stale_simple_keys(parser)) + return 0; + + for (simple_key = parser->simple_keys.start; + simple_key != parser->simple_keys.top; simple_key++) { + if (simple_key->possible + && simple_key->token_number == parser->tokens_parsed) { + need_more_tokens = 1; + break; + } + } + } + + /* We are finished. */ + + if (!need_more_tokens) + break; + + /* Fetch the next token. */ + + if (!yaml_parser_fetch_next_token(parser)) + return 0; + } + + parser->token_available = 1; + + return 1; +} + +/* + * The dispatcher for token fetchers. + */ + +static int +yaml_parser_fetch_next_token(yaml_parser_t *parser) +{ + /* Ensure that the buffer is initialized. */ + + if (!CACHE(parser, 1)) + return 0; + + /* Check if we just started scanning. Fetch STREAM-START then. */ + + if (!parser->stream_start_produced) + return yaml_parser_fetch_stream_start(parser); + + /* Eat whitespaces and comments until we reach the next token. */ + + if (!yaml_parser_scan_to_next_token(parser)) + return 0; + + /* Remove obsolete potential simple keys. */ + + if (!yaml_parser_stale_simple_keys(parser)) + return 0; + + /* Check the indentation level against the current column. */ + + if (!yaml_parser_unroll_indent(parser, parser->mark.column)) + return 0; + + /* + * Ensure that the buffer contains at least 4 characters. 4 is the length + * of the longest indicators ('--- ' and '... '). + */ + + if (!CACHE(parser, 4)) + return 0; + + /* Is it the end of the stream? */ + + if (IS_Z(parser->buffer)) + return yaml_parser_fetch_stream_end(parser); + + /* Is it a directive? */ + + if (parser->mark.column == 0 && CHECK(parser->buffer, '%')) + return yaml_parser_fetch_directive(parser); + + /* Is it the document start indicator? */ + + if (parser->mark.column == 0 + && CHECK_AT(parser->buffer, '-', 0) + && CHECK_AT(parser->buffer, '-', 1) + && CHECK_AT(parser->buffer, '-', 2) + && IS_BLANKZ_AT(parser->buffer, 3)) + return yaml_parser_fetch_document_indicator(parser, + YAML_DOCUMENT_START_TOKEN); + + /* Is it the document end indicator? */ + + if (parser->mark.column == 0 + && CHECK_AT(parser->buffer, '.', 0) + && CHECK_AT(parser->buffer, '.', 1) + && CHECK_AT(parser->buffer, '.', 2) + && IS_BLANKZ_AT(parser->buffer, 3)) + return yaml_parser_fetch_document_indicator(parser, + YAML_DOCUMENT_END_TOKEN); + + /* Is it the flow sequence start indicator? */ + + if (CHECK(parser->buffer, '[')) + return yaml_parser_fetch_flow_collection_start(parser, + YAML_FLOW_SEQUENCE_START_TOKEN); + + /* Is it the flow mapping start indicator? */ + + if (CHECK(parser->buffer, '{')) + return yaml_parser_fetch_flow_collection_start(parser, + YAML_FLOW_MAPPING_START_TOKEN); + + /* Is it the flow sequence end indicator? */ + + if (CHECK(parser->buffer, ']')) + return yaml_parser_fetch_flow_collection_end(parser, + YAML_FLOW_SEQUENCE_END_TOKEN); + + /* Is it the flow mapping end indicator? */ + + if (CHECK(parser->buffer, '}')) + return yaml_parser_fetch_flow_collection_end(parser, + YAML_FLOW_MAPPING_END_TOKEN); + + /* Is it the flow entry indicator? */ + + if (CHECK(parser->buffer, ',')) + return yaml_parser_fetch_flow_entry(parser); + + /* Is it the block entry indicator? */ + + if (CHECK(parser->buffer, '-') && IS_BLANKZ_AT(parser->buffer, 1)) + return yaml_parser_fetch_block_entry(parser); + + /* Is it the key indicator? */ + + if (CHECK(parser->buffer, '?') + && (parser->flow_level || IS_BLANKZ_AT(parser->buffer, 1))) + return yaml_parser_fetch_key(parser); + + /* Is it the value indicator? */ + + if (CHECK(parser->buffer, ':') + && (parser->flow_level || IS_BLANKZ_AT(parser->buffer, 1))) + return yaml_parser_fetch_value(parser); + + /* Is it an alias? */ + + if (CHECK(parser->buffer, '*')) + return yaml_parser_fetch_anchor(parser, YAML_ALIAS_TOKEN); + + /* Is it an anchor? */ + + if (CHECK(parser->buffer, '&')) + return yaml_parser_fetch_anchor(parser, YAML_ANCHOR_TOKEN); + + /* Is it a tag? */ + + if (CHECK(parser->buffer, '!')) + return yaml_parser_fetch_tag(parser); + + /* Is it a literal scalar? */ + + if (CHECK(parser->buffer, '|') && !parser->flow_level) + return yaml_parser_fetch_block_scalar(parser, 1); + + /* Is it a folded scalar? */ + + if (CHECK(parser->buffer, '>') && !parser->flow_level) + return yaml_parser_fetch_block_scalar(parser, 0); + + /* Is it a single-quoted scalar? */ + + if (CHECK(parser->buffer, '\'')) + return yaml_parser_fetch_flow_scalar(parser, 1); + + /* Is it a double-quoted scalar? */ + + if (CHECK(parser->buffer, '"')) + return yaml_parser_fetch_flow_scalar(parser, 0); + + /* + * Is it a plain scalar? + * + * A plain scalar may start with any non-blank characters except + * + * '-', '?', ':', ',', '[', ']', '{', '}', + * '#', '&', '*', '!', '|', '>', '\'', '\"', + * '%', '@', '`'. + * + * In the block context (and, for the '-' indicator, in the flow context + * too), it may also start with the characters + * + * '-', '?', ':' + * + * if it is followed by a non-space character. + * + * The last rule is more restrictive than the specification requires. + */ + + if (!(IS_BLANKZ(parser->buffer) || CHECK(parser->buffer, '-') + || CHECK(parser->buffer, '?') || CHECK(parser->buffer, ':') + || CHECK(parser->buffer, ',') || CHECK(parser->buffer, '[') + || CHECK(parser->buffer, ']') || CHECK(parser->buffer, '{') + || CHECK(parser->buffer, '}') || CHECK(parser->buffer, '#') + || CHECK(parser->buffer, '&') || CHECK(parser->buffer, '*') + || CHECK(parser->buffer, '!') || CHECK(parser->buffer, '|') + || CHECK(parser->buffer, '>') || CHECK(parser->buffer, '\'') + || CHECK(parser->buffer, '"') || CHECK(parser->buffer, '%') + || CHECK(parser->buffer, '@') || CHECK(parser->buffer, '`')) || + (CHECK(parser->buffer, '-') && !IS_BLANK_AT(parser->buffer, 1)) || + (!parser->flow_level && + (CHECK(parser->buffer, '?') || CHECK(parser->buffer, ':')) + && !IS_BLANKZ_AT(parser->buffer, 1))) + return yaml_parser_fetch_plain_scalar(parser); + + /* + * If we don't determine the token type so far, it is an error. + */ + + return yaml_parser_set_scanner_error(parser, + "while scanning for the next token", parser->mark, + "found character that cannot start any token"); +} + +/* + * Check the list of potential simple keys and remove the positions that + * cannot contain simple keys anymore. + */ + +static int +yaml_parser_stale_simple_keys(yaml_parser_t *parser) +{ + yaml_simple_key_t *simple_key; + + /* Check for a potential simple key for each flow level. */ + + for (simple_key = parser->simple_keys.start; + simple_key != parser->simple_keys.top; simple_key ++) + { + /* + * The specification requires that a simple key + * + * - is limited to a single line, + * - is shorter than 1024 characters. + */ + + if (simple_key->possible + && (simple_key->mark.line < parser->mark.line + || simple_key->mark.index+1024 < parser->mark.index)) { + + /* Check if the potential simple key to be removed is required. */ + + if (simple_key->required) { + return yaml_parser_set_scanner_error(parser, + "while scanning a simple key", simple_key->mark, + "could not found expected ':'"); + } + + simple_key->possible = 0; + } + } + + return 1; +} + +/* + * Check if a simple key may start at the current position and add it if + * needed. + */ + +static int +yaml_parser_save_simple_key(yaml_parser_t *parser) +{ + /* + * A simple key is required at the current position if the scanner is in + * the block context and the current column coincides with the indentation + * level. + */ + + int required = (!parser->flow_level + && parser->indent == parser->mark.column); + + /* + * A simple key is required only when it is the first token in the current + * line. Therefore it is always allowed. But we add a check anyway. + */ + + assert(parser->simple_key_allowed || !required); /* Impossible. */ + + /* + * If the current position may start a simple key, save it. + */ + + if (parser->simple_key_allowed) + { + yaml_simple_key_t simple_key = { 1, required, + parser->tokens_parsed + parser->tokens.tail - parser->tokens.head, + parser->mark }; + + if (!yaml_parser_remove_simple_key(parser)) return 0; + + *(parser->simple_keys.top-1) = simple_key; + } + + return 1; +} + +/* + * Remove a potential simple key at the current flow level. + */ + +static int +yaml_parser_remove_simple_key(yaml_parser_t *parser) +{ + yaml_simple_key_t *simple_key = parser->simple_keys.top-1; + + if (simple_key->possible) + { + /* If the key is required, it is an error. */ + + if (simple_key->required) { + return yaml_parser_set_scanner_error(parser, + "while scanning a simple key", simple_key->mark, + "could not found expected ':'"); + } + } + + /* Remove the key from the stack. */ + + simple_key->possible = 0; + + return 1; +} + +/* + * Increase the flow level and resize the simple key list if needed. + */ + +static int +yaml_parser_increase_flow_level(yaml_parser_t *parser) +{ + yaml_simple_key_t empty_simple_key = { 0, 0, 0, { 0, 0, 0 } }; + + /* Reset the simple key on the next level. */ + + if (!PUSH(parser, parser->simple_keys, empty_simple_key)) + return 0; + + /* Increase the flow level. */ + + parser->flow_level++; + + return 1; +} + +/* + * Decrease the flow level. + */ + +static int +yaml_parser_decrease_flow_level(yaml_parser_t *parser) +{ + if (parser->flow_level) { + parser->flow_level --; + POP(parser, parser->simple_keys); + } + + return 1; +} + +/* + * Push the current indentation level to the stack and set the new level + * the current column is greater than the indentation level. In this case, + * append or insert the specified token into the token queue. + * + */ + +static int +yaml_parser_roll_indent(yaml_parser_t *parser, int column, + int number, yaml_token_type_t type, yaml_mark_t mark) +{ + yaml_token_t token; + + /* In the flow context, do nothing. */ + + if (parser->flow_level) + return 1; + + if (parser->indent < column) + { + /* + * Push the current indentation level to the stack and set the new + * indentation level. + */ + + if (!PUSH(parser, parser->indents, parser->indent)) + return 0; + + parser->indent = column; + + /* Create a token and insert it into the queue. */ + + TOKEN_INIT(token, type, mark, mark); + + if (number == -1) { + if (!ENQUEUE(parser, parser->tokens, token)) + return 0; + } + else { + if (!QUEUE_INSERT(parser, + parser->tokens, number - parser->tokens_parsed, token)) + return 0; + } + } + + return 1; +} + +/* + * Pop indentation levels from the indents stack until the current level + * becomes less or equal to the column. For each intendation level, append + * the BLOCK-END token. + */ + + +static int +yaml_parser_unroll_indent(yaml_parser_t *parser, int column) +{ + yaml_token_t token; + + /* In the flow context, do nothing. */ + + if (parser->flow_level) + return 1; + + /* Loop through the intendation levels in the stack. */ + + while (parser->indent > column) + { + /* Create a token and append it to the queue. */ + + TOKEN_INIT(token, YAML_BLOCK_END_TOKEN, parser->mark, parser->mark); + + if (!ENQUEUE(parser, parser->tokens, token)) + return 0; + + /* Pop the indentation level. */ + + parser->indent = POP(parser, parser->indents); + } + + return 1; +} + +/* + * Initialize the scanner and produce the STREAM-START token. + */ + +static int +yaml_parser_fetch_stream_start(yaml_parser_t *parser) +{ + yaml_simple_key_t simple_key = { 0, 0, 0, { 0, 0, 0 } }; + yaml_token_t token; + + /* Set the initial indentation. */ + + parser->indent = -1; + + /* Initialize the simple key stack. */ + + if (!PUSH(parser, parser->simple_keys, simple_key)) + return 0; + + /* A simple key is allowed at the beginning of the stream. */ + + parser->simple_key_allowed = 1; + + /* We have started. */ + + parser->stream_start_produced = 1; + + /* Create the STREAM-START token and append it to the queue. */ + + STREAM_START_TOKEN_INIT(token, parser->encoding, + parser->mark, parser->mark); + + if (!ENQUEUE(parser, parser->tokens, token)) + return 0; + + return 1; +} + +/* + * Produce the STREAM-END token and shut down the scanner. + */ + +static int +yaml_parser_fetch_stream_end(yaml_parser_t *parser) +{ + yaml_token_t token; + + /* Reset the indentation level. */ + + if (!yaml_parser_unroll_indent(parser, -1)) + return 0; + + /* Reset simple keys. */ + + if (!yaml_parser_remove_simple_key(parser)) + return 0; + + parser->simple_key_allowed = 0; + + /* Create the STREAM-END token and append it to the queue. */ + + STREAM_END_TOKEN_INIT(token, parser->mark, parser->mark); + + if (!ENQUEUE(parser, parser->tokens, token)) + return 0; + + return 1; +} + +/* + * Produce a VERSION-DIRECTIVE or TAG-DIRECTIVE token. + */ + +static int +yaml_parser_fetch_directive(yaml_parser_t *parser) +{ + yaml_token_t token; + + /* Reset the indentation level. */ + + if (!yaml_parser_unroll_indent(parser, -1)) + return 0; + + /* Reset simple keys. */ + + if (!yaml_parser_remove_simple_key(parser)) + return 0; + + parser->simple_key_allowed = 0; + + /* Create the YAML-DIRECTIVE or TAG-DIRECTIVE token. */ + + if (!yaml_parser_scan_directive(parser, &token)) + return 0; + + /* Append the token to the queue. */ + + if (!ENQUEUE(parser, parser->tokens, token)) { + yaml_token_delete(&token); + return 0; + } + + return 1; +} + +/* + * Produce the DOCUMENT-START or DOCUMENT-END token. + */ + +static int +yaml_parser_fetch_document_indicator(yaml_parser_t *parser, + yaml_token_type_t type) +{ + yaml_mark_t start_mark, end_mark; + yaml_token_t token; + + /* Reset the indentation level. */ + + if (!yaml_parser_unroll_indent(parser, -1)) + return 0; + + /* Reset simple keys. */ + + if (!yaml_parser_remove_simple_key(parser)) + return 0; + + parser->simple_key_allowed = 0; + + /* Consume the token. */ + + start_mark = parser->mark; + + SKIP(parser); + SKIP(parser); + SKIP(parser); + + end_mark = parser->mark; + + /* Create the DOCUMENT-START or DOCUMENT-END token. */ + + TOKEN_INIT(token, type, start_mark, end_mark); + + /* Append the token to the queue. */ + + if (!ENQUEUE(parser, parser->tokens, token)) + return 0; + + return 1; +} + +/* + * Produce the FLOW-SEQUENCE-START or FLOW-MAPPING-START token. + */ + +static int +yaml_parser_fetch_flow_collection_start(yaml_parser_t *parser, + yaml_token_type_t type) +{ + yaml_mark_t start_mark, end_mark; + yaml_token_t token; + + /* The indicators '[' and '{' may start a simple key. */ + + if (!yaml_parser_save_simple_key(parser)) + return 0; + + /* Increase the flow level. */ + + if (!yaml_parser_increase_flow_level(parser)) + return 0; + + /* A simple key may follow the indicators '[' and '{'. */ + + parser->simple_key_allowed = 1; + + /* Consume the token. */ + + start_mark = parser->mark; + SKIP(parser); + end_mark = parser->mark; + + /* Create the FLOW-SEQUENCE-START of FLOW-MAPPING-START token. */ + + TOKEN_INIT(token, type, start_mark, end_mark); + + /* Append the token to the queue. */ + + if (!ENQUEUE(parser, parser->tokens, token)) + return 0; + + return 1; +} + +/* + * Produce the FLOW-SEQUENCE-END or FLOW-MAPPING-END token. + */ + +static int +yaml_parser_fetch_flow_collection_end(yaml_parser_t *parser, + yaml_token_type_t type) +{ + yaml_mark_t start_mark, end_mark; + yaml_token_t token; + + /* Reset any potential simple key on the current flow level. */ + + if (!yaml_parser_remove_simple_key(parser)) + return 0; + + /* Decrease the flow level. */ + + if (!yaml_parser_decrease_flow_level(parser)) + return 0; + + /* No simple keys after the indicators ']' and '}'. */ + + parser->simple_key_allowed = 0; + + /* Consume the token. */ + + start_mark = parser->mark; + SKIP(parser); + end_mark = parser->mark; + + /* Create the FLOW-SEQUENCE-END of FLOW-MAPPING-END token. */ + + TOKEN_INIT(token, type, start_mark, end_mark); + + /* Append the token to the queue. */ + + if (!ENQUEUE(parser, parser->tokens, token)) + return 0; + + return 1; +} + +/* + * Produce the FLOW-ENTRY token. + */ + +static int +yaml_parser_fetch_flow_entry(yaml_parser_t *parser) +{ + yaml_mark_t start_mark, end_mark; + yaml_token_t token; + + /* Reset any potential simple keys on the current flow level. */ + + if (!yaml_parser_remove_simple_key(parser)) + return 0; + + /* Simple keys are allowed after ','. */ + + parser->simple_key_allowed = 1; + + /* Consume the token. */ + + start_mark = parser->mark; + SKIP(parser); + end_mark = parser->mark; + + /* Create the FLOW-ENTRY token and append it to the queue. */ + + TOKEN_INIT(token, YAML_FLOW_ENTRY_TOKEN, start_mark, end_mark); + + if (!ENQUEUE(parser, parser->tokens, token)) + return 0; + + return 1; +} + +/* + * Produce the BLOCK-ENTRY token. + */ + +static int +yaml_parser_fetch_block_entry(yaml_parser_t *parser) +{ + yaml_mark_t start_mark, end_mark; + yaml_token_t token; + + /* Check if the scanner is in the block context. */ + + if (!parser->flow_level) + { + /* Check if we are allowed to start a new entry. */ + + if (!parser->simple_key_allowed) { + return yaml_parser_set_scanner_error(parser, NULL, parser->mark, + "block sequence entries are not allowed in this context"); + } + + /* Add the BLOCK-SEQUENCE-START token if needed. */ + + if (!yaml_parser_roll_indent(parser, parser->mark.column, -1, + YAML_BLOCK_SEQUENCE_START_TOKEN, parser->mark)) + return 0; + } + else + { + /* + * It is an error for the '-' indicator to occur in the flow context, + * but we let the Parser detect and report about it because the Parser + * is able to point to the context. + */ + } + + /* Reset any potential simple keys on the current flow level. */ + + if (!yaml_parser_remove_simple_key(parser)) + return 0; + + /* Simple keys are allowed after '-'. */ + + parser->simple_key_allowed = 1; + + /* Consume the token. */ + + start_mark = parser->mark; + SKIP(parser); + end_mark = parser->mark; + + /* Create the BLOCK-ENTRY token and append it to the queue. */ + + TOKEN_INIT(token, YAML_BLOCK_ENTRY_TOKEN, start_mark, end_mark); + + if (!ENQUEUE(parser, parser->tokens, token)) + return 0; + + return 1; +} + +/* + * Produce the KEY token. + */ + +static int +yaml_parser_fetch_key(yaml_parser_t *parser) +{ + yaml_mark_t start_mark, end_mark; + yaml_token_t token; + + /* In the block context, additional checks are required. */ + + if (!parser->flow_level) + { + /* Check if we are allowed to start a new key (not nessesary simple). */ + + if (!parser->simple_key_allowed) { + return yaml_parser_set_scanner_error(parser, NULL, parser->mark, + "mapping keys are not allowed in this context"); + } + + /* Add the BLOCK-MAPPING-START token if needed. */ + + if (!yaml_parser_roll_indent(parser, parser->mark.column, -1, + YAML_BLOCK_MAPPING_START_TOKEN, parser->mark)) + return 0; + } + + /* Reset any potential simple keys on the current flow level. */ + + if (!yaml_parser_remove_simple_key(parser)) + return 0; + + /* Simple keys are allowed after '?' in the block context. */ + + parser->simple_key_allowed = (!parser->flow_level); + + /* Consume the token. */ + + start_mark = parser->mark; + SKIP(parser); + end_mark = parser->mark; + + /* Create the KEY token and append it to the queue. */ + + TOKEN_INIT(token, YAML_KEY_TOKEN, start_mark, end_mark); + + if (!ENQUEUE(parser, parser->tokens, token)) + return 0; + + return 1; +} + +/* + * Produce the VALUE token. + */ + +static int +yaml_parser_fetch_value(yaml_parser_t *parser) +{ + yaml_mark_t start_mark, end_mark; + yaml_token_t token; + yaml_simple_key_t *simple_key = parser->simple_keys.top-1; + + /* Have we found a simple key? */ + + if (simple_key->possible) + { + + /* Create the KEY token and insert it into the queue. */ + + TOKEN_INIT(token, YAML_KEY_TOKEN, simple_key->mark, simple_key->mark); + + if (!QUEUE_INSERT(parser, parser->tokens, + simple_key->token_number - parser->tokens_parsed, token)) + return 0; + + /* In the block context, we may need to add the BLOCK-MAPPING-START token. */ + + if (!yaml_parser_roll_indent(parser, simple_key->mark.column, + simple_key->token_number, + YAML_BLOCK_MAPPING_START_TOKEN, simple_key->mark)) + return 0; + + /* Remove the simple key. */ + + simple_key->possible = 0; + + /* A simple key cannot follow another simple key. */ + + parser->simple_key_allowed = 0; + } + else + { + /* The ':' indicator follows a complex key. */ + + /* In the block context, extra checks are required. */ + + if (!parser->flow_level) + { + /* Check if we are allowed to start a complex value. */ + + if (!parser->simple_key_allowed) { + return yaml_parser_set_scanner_error(parser, NULL, parser->mark, + "mapping values are not allowed in this context"); + } + + /* Add the BLOCK-MAPPING-START token if needed. */ + + if (!yaml_parser_roll_indent(parser, parser->mark.column, -1, + YAML_BLOCK_MAPPING_START_TOKEN, parser->mark)) + return 0; + } + + /* Simple keys after ':' are allowed in the block context. */ + + parser->simple_key_allowed = (!parser->flow_level); + } + + /* Consume the token. */ + + start_mark = parser->mark; + SKIP(parser); + end_mark = parser->mark; + + /* Create the VALUE token and append it to the queue. */ + + TOKEN_INIT(token, YAML_VALUE_TOKEN, start_mark, end_mark); + + if (!ENQUEUE(parser, parser->tokens, token)) + return 0; + + return 1; +} + +/* + * Produce the ALIAS or ANCHOR token. + */ + +static int +yaml_parser_fetch_anchor(yaml_parser_t *parser, yaml_token_type_t type) +{ + yaml_token_t token; + + /* An anchor or an alias could be a simple key. */ + + if (!yaml_parser_save_simple_key(parser)) + return 0; + + /* A simple key cannot follow an anchor or an alias. */ + + parser->simple_key_allowed = 0; + + /* Create the ALIAS or ANCHOR token and append it to the queue. */ + + if (!yaml_parser_scan_anchor(parser, &token, type)) + return 0; + + if (!ENQUEUE(parser, parser->tokens, token)) { + yaml_token_delete(&token); + return 0; + } + return 1; +} + +/* + * Produce the TAG token. + */ + +static int +yaml_parser_fetch_tag(yaml_parser_t *parser) +{ + yaml_token_t token; + + /* A tag could be a simple key. */ + + if (!yaml_parser_save_simple_key(parser)) + return 0; + + /* A simple key cannot follow a tag. */ + + parser->simple_key_allowed = 0; + + /* Create the TAG token and append it to the queue. */ + + if (!yaml_parser_scan_tag(parser, &token)) + return 0; + + if (!ENQUEUE(parser, parser->tokens, token)) { + yaml_token_delete(&token); + return 0; + } + + return 1; +} + +/* + * Produce the SCALAR(...,literal) or SCALAR(...,folded) tokens. + */ + +static int +yaml_parser_fetch_block_scalar(yaml_parser_t *parser, int literal) +{ + yaml_token_t token; + + /* Remove any potential simple keys. */ + + if (!yaml_parser_remove_simple_key(parser)) + return 0; + + /* A simple key may follow a block scalar. */ + + parser->simple_key_allowed = 1; + + /* Create the SCALAR token and append it to the queue. */ + + if (!yaml_parser_scan_block_scalar(parser, &token, literal)) + return 0; + + if (!ENQUEUE(parser, parser->tokens, token)) { + yaml_token_delete(&token); + return 0; + } + + return 1; +} + +/* + * Produce the SCALAR(...,single-quoted) or SCALAR(...,double-quoted) tokens. + */ + +static int +yaml_parser_fetch_flow_scalar(yaml_parser_t *parser, int single) +{ + yaml_token_t token; + + /* A plain scalar could be a simple key. */ + + if (!yaml_parser_save_simple_key(parser)) + return 0; + + /* A simple key cannot follow a flow scalar. */ + + parser->simple_key_allowed = 0; + + /* Create the SCALAR token and append it to the queue. */ + + if (!yaml_parser_scan_flow_scalar(parser, &token, single)) + return 0; + + if (!ENQUEUE(parser, parser->tokens, token)) { + yaml_token_delete(&token); + return 0; + } + + return 1; +} + +/* + * Produce the SCALAR(...,plain) token. + */ + +static int +yaml_parser_fetch_plain_scalar(yaml_parser_t *parser) +{ + yaml_token_t token; + + /* A plain scalar could be a simple key. */ + + if (!yaml_parser_save_simple_key(parser)) + return 0; + + /* A simple key cannot follow a flow scalar. */ + + parser->simple_key_allowed = 0; + + /* Create the SCALAR token and append it to the queue. */ + + if (!yaml_parser_scan_plain_scalar(parser, &token)) + return 0; + + if (!ENQUEUE(parser, parser->tokens, token)) { + yaml_token_delete(&token); + return 0; + } + + return 1; +} + +/* + * Eat whitespaces and comments until the next token is found. + */ + +static int +yaml_parser_scan_to_next_token(yaml_parser_t *parser) +{ + /* Until the next token is not found. */ + + while (1) + { + /* Allow the BOM mark to start a line. */ + + if (!CACHE(parser, 1)) return 0; + + if (parser->mark.column == 0 && IS_BOM(parser->buffer)) + SKIP(parser); + + /* + * Eat whitespaces. + * + * Tabs are allowed: + * + * - in the flow context; + * - in the block context, but not at the beginning of the line or + * after '-', '?', or ':' (complex value). + */ + + if (!CACHE(parser, 1)) return 0; + + while (CHECK(parser->buffer,' ') || + ((parser->flow_level || !parser->simple_key_allowed) && + CHECK(parser->buffer, '\t'))) { + SKIP(parser); + if (!CACHE(parser, 1)) return 0; + } + + /* Eat a comment until a line break. */ + + if (CHECK(parser->buffer, '#')) { + while (!IS_BREAKZ(parser->buffer)) { + SKIP(parser); + if (!CACHE(parser, 1)) return 0; + } + } + + /* If it is a line break, eat it. */ + + if (IS_BREAK(parser->buffer)) + { + if (!CACHE(parser, 2)) return 0; + SKIP_LINE(parser); + + /* In the block context, a new line may start a simple key. */ + + if (!parser->flow_level) { + parser->simple_key_allowed = 1; + } + } + else + { + /* We have found a token. */ + + break; + } + } + + return 1; +} + +/* + * Scan a YAML-DIRECTIVE or TAG-DIRECTIVE token. + * + * Scope: + * %YAML 1.1 # a comment \n + * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + * %TAG !yaml! tag:yaml.org,2002: \n + * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + */ + +int +yaml_parser_scan_directive(yaml_parser_t *parser, yaml_token_t *token) +{ + yaml_mark_t start_mark, end_mark; + yaml_char_t *name = NULL; + int major, minor; + yaml_char_t *handle = NULL, *prefix = NULL; + + /* Eat '%'. */ + + start_mark = parser->mark; + + SKIP(parser); + + /* Scan the directive name. */ + + if (!yaml_parser_scan_directive_name(parser, start_mark, &name)) + goto error; + + /* Is it a YAML directive? */ + + if (strcmp((char *)name, "YAML") == 0) + { + /* Scan the VERSION directive value. */ + + if (!yaml_parser_scan_version_directive_value(parser, start_mark, + &major, &minor)) + goto error; + + end_mark = parser->mark; + + /* Create a VERSION-DIRECTIVE token. */ + + VERSION_DIRECTIVE_TOKEN_INIT(*token, major, minor, + start_mark, end_mark); + } + + /* Is it a TAG directive? */ + + else if (strcmp((char *)name, "TAG") == 0) + { + /* Scan the TAG directive value. */ + + if (!yaml_parser_scan_tag_directive_value(parser, start_mark, + &handle, &prefix)) + goto error; + + end_mark = parser->mark; + + /* Create a TAG-DIRECTIVE token. */ + + TAG_DIRECTIVE_TOKEN_INIT(*token, handle, prefix, + start_mark, end_mark); + } + + /* Unknown directive. */ + + else + { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "found uknown directive name"); + goto error; + } + + /* Eat the rest of the line including any comments. */ + + if (!CACHE(parser, 1)) goto error; + + while (IS_BLANK(parser->buffer)) { + SKIP(parser); + if (!CACHE(parser, 1)) goto error; + } + + if (CHECK(parser->buffer, '#')) { + while (!IS_BREAKZ(parser->buffer)) { + SKIP(parser); + if (!CACHE(parser, 1)) goto error; + } + } + + /* Check if we are at the end of the line. */ + + if (!IS_BREAKZ(parser->buffer)) { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "did not found expected comment or line break"); + goto error; + } + + /* Eat a line break. */ + + if (IS_BREAK(parser->buffer)) { + if (!CACHE(parser, 2)) goto error; + SKIP_LINE(parser); + } + + yaml_free(name); + + return 1; + +error: + yaml_free(prefix); + yaml_free(handle); + yaml_free(name); + return 0; +} + +/* + * Scan the directive name. + * + * Scope: + * %YAML 1.1 # a comment \n + * ^^^^ + * %TAG !yaml! tag:yaml.org,2002: \n + * ^^^ + */ + +static int +yaml_parser_scan_directive_name(yaml_parser_t *parser, + yaml_mark_t start_mark, yaml_char_t **name) +{ + yaml_string_t string = NULL_STRING; + + if (!STRING_INIT(parser, string, INITIAL_STRING_SIZE)) goto error; + + /* Consume the directive name. */ + + if (!CACHE(parser, 1)) goto error; + + while (IS_ALPHA(parser->buffer)) + { + if (!READ(parser, string)) goto error; + if (!CACHE(parser, 1)) goto error; + } + + /* Check if the name is empty. */ + + if (string.start == string.pointer) { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "cannot found expected directive name"); + goto error; + } + + /* Check for an blank character after the name. */ + + if (!IS_BLANKZ(parser->buffer)) { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "found unexpected non-alphabetical character"); + goto error; + } + + *name = string.start; + + return 1; + +error: + STRING_DEL(parser, string); + return 0; +} + +/* + * Scan the value of VERSION-DIRECTIVE. + * + * Scope: + * %YAML 1.1 # a comment \n + * ^^^^^^ + */ + +static int +yaml_parser_scan_version_directive_value(yaml_parser_t *parser, + yaml_mark_t start_mark, int *major, int *minor) +{ + /* Eat whitespaces. */ + + if (!CACHE(parser, 1)) return 0; + + while (IS_BLANK(parser->buffer)) { + SKIP(parser); + if (!CACHE(parser, 1)) return 0; + } + + /* Consume the major version number. */ + + if (!yaml_parser_scan_version_directive_number(parser, start_mark, major)) + return 0; + + /* Eat '.'. */ + + if (!CHECK(parser->buffer, '.')) { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "did not find expected digit or '.' character"); + } + + SKIP(parser); + + /* Consume the minor version number. */ + + if (!yaml_parser_scan_version_directive_number(parser, start_mark, minor)) + return 0; + + return 1; +} + +#define MAX_NUMBER_LENGTH 9 + +/* + * Scan the version number of VERSION-DIRECTIVE. + * + * Scope: + * %YAML 1.1 # a comment \n + * ^ + * %YAML 1.1 # a comment \n + * ^ + */ + +static int +yaml_parser_scan_version_directive_number(yaml_parser_t *parser, + yaml_mark_t start_mark, int *number) +{ + int value = 0; + size_t length = 0; + + /* Repeat while the next character is digit. */ + + if (!CACHE(parser, 1)) return 0; + + while (IS_DIGIT(parser->buffer)) + { + /* Check if the number is too long. */ + + if (++length > MAX_NUMBER_LENGTH) { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "found extremely long version number"); + } + + value = value*10 + AS_DIGIT(parser->buffer); + + SKIP(parser); + + if (!CACHE(parser, 1)) return 0; + } + + /* Check if the number was present. */ + + if (!length) { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "did not find expected version number"); + } + + *number = value; + + return 1; +} + +/* + * Scan the value of a TAG-DIRECTIVE token. + * + * Scope: + * %TAG !yaml! tag:yaml.org,2002: \n + * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + */ + +static int +yaml_parser_scan_tag_directive_value(yaml_parser_t *parser, + yaml_mark_t start_mark, yaml_char_t **handle, yaml_char_t **prefix) +{ + yaml_char_t *handle_value = NULL; + yaml_char_t *prefix_value = NULL; + + /* Eat whitespaces. */ + + if (!CACHE(parser, 1)) goto error; + + while (IS_BLANK(parser->buffer)) { + SKIP(parser); + if (!CACHE(parser, 1)) goto error; + } + + /* Scan a handle. */ + + if (!yaml_parser_scan_tag_handle(parser, 1, start_mark, &handle_value)) + goto error; + + /* Expect a whitespace. */ + + if (!CACHE(parser, 1)) goto error; + + if (!IS_BLANK(parser->buffer)) { + yaml_parser_set_scanner_error(parser, "while scanning a %TAG directive", + start_mark, "did not find expected whitespace"); + goto error; + } + + /* Eat whitespaces. */ + + while (IS_BLANK(parser->buffer)) { + SKIP(parser); + if (!CACHE(parser, 1)) goto error; + } + + /* Scan a prefix. */ + + if (!yaml_parser_scan_tag_uri(parser, 1, NULL, start_mark, &prefix_value)) + goto error; + + /* Expect a whitespace or line break. */ + + if (!CACHE(parser, 1)) goto error; + + if (!IS_BLANKZ(parser->buffer)) { + yaml_parser_set_scanner_error(parser, "while scanning a %TAG directive", + start_mark, "did not find expected whitespace or line break"); + goto error; + } + + *handle = handle_value; + *prefix = prefix_value; + + return 1; + +error: + yaml_free(handle_value); + yaml_free(prefix_value); + return 0; +} + +static int +yaml_parser_scan_anchor(yaml_parser_t *parser, yaml_token_t *token, + yaml_token_type_t type) +{ + int length = 0; + yaml_mark_t start_mark, end_mark; + yaml_string_t string = NULL_STRING; + + if (!STRING_INIT(parser, string, INITIAL_STRING_SIZE)) goto error; + + /* Eat the indicator character. */ + + start_mark = parser->mark; + + SKIP(parser); + + /* Consume the value. */ + + if (!CACHE(parser, 1)) goto error; + + while (IS_ALPHA(parser->buffer)) { + if (!READ(parser, string)) goto error; + if (!CACHE(parser, 1)) goto error; + length ++; + } + + end_mark = parser->mark; + + /* + * Check if length of the anchor is greater than 0 and it is followed by + * a whitespace character or one of the indicators: + * + * '?', ':', ',', ']', '}', '%', '@', '`'. + */ + + if (!length || !(IS_BLANKZ(parser->buffer) || CHECK(parser->buffer, '?') + || CHECK(parser->buffer, ':') || CHECK(parser->buffer, ',') + || CHECK(parser->buffer, ']') || CHECK(parser->buffer, '}') + || CHECK(parser->buffer, '%') || CHECK(parser->buffer, '@') + || CHECK(parser->buffer, '`'))) { + yaml_parser_set_scanner_error(parser, type == YAML_ANCHOR_TOKEN ? + "while scanning an anchor" : "while scanning an alias", start_mark, + "did not find expected alphabetic or numeric character"); + goto error; + } + + /* Create a token. */ + + if (type == YAML_ANCHOR_TOKEN) { + ANCHOR_TOKEN_INIT(*token, string.start, start_mark, end_mark); + } + else { + ALIAS_TOKEN_INIT(*token, string.start, start_mark, end_mark); + } + + return 1; + +error: + STRING_DEL(parser, string); + return 0; +} + +/* + * Scan a TAG token. + */ + +static int +yaml_parser_scan_tag(yaml_parser_t *parser, yaml_token_t *token) +{ + yaml_char_t *handle = NULL; + yaml_char_t *suffix = NULL; + yaml_mark_t start_mark, end_mark; + + start_mark = parser->mark; + + /* Check if the tag is in the canonical form. */ + + if (!CACHE(parser, 2)) goto error; + + if (CHECK_AT(parser->buffer, '<', 1)) + { + /* Set the handle to '' */ + + handle = yaml_malloc(1); + if (!handle) goto error; + handle[0] = '\0'; + + /* Eat '!<' */ + + SKIP(parser); + SKIP(parser); + + /* Consume the tag value. */ + + if (!yaml_parser_scan_tag_uri(parser, 0, NULL, start_mark, &suffix)) + goto error; + + /* Check for '>' and eat it. */ + + if (!CHECK(parser->buffer, '>')) { + yaml_parser_set_scanner_error(parser, "while scanning a tag", + start_mark, "did not find the expected '>'"); + goto error; + } + + SKIP(parser); + } + else + { + /* The tag has either the '!suffix' or the '!handle!suffix' form. */ + + /* First, try to scan a handle. */ + + if (!yaml_parser_scan_tag_handle(parser, 0, start_mark, &handle)) + goto error; + + /* Check if it is, indeed, handle. */ + + if (handle[0] == '!' && handle[1] != '\0' && handle[strlen((char *)handle)-1] == '!') + { + /* Scan the suffix now. */ + + if (!yaml_parser_scan_tag_uri(parser, 0, NULL, start_mark, &suffix)) + goto error; + } + else + { + /* It wasn't a handle after all. Scan the rest of the tag. */ + + if (!yaml_parser_scan_tag_uri(parser, 0, handle, start_mark, &suffix)) + goto error; + + /* Set the handle to '!'. */ + + yaml_free(handle); + handle = yaml_malloc(2); + if (!handle) goto error; + handle[0] = '!'; + handle[1] = '\0'; + + /* + * A special case: the '!' tag. Set the handle to '' and the + * suffix to '!'. + */ + + if (suffix[0] == '\0') { + yaml_char_t *tmp = handle; + handle = suffix; + suffix = tmp; + } + } + } + + /* Check the character which ends the tag. */ + + if (!CACHE(parser, 1)) goto error; + + if (!IS_BLANKZ(parser->buffer)) { + yaml_parser_set_scanner_error(parser, "while scanning a tag", + start_mark, "did not found expected whitespace or line break"); + goto error; + } + + end_mark = parser->mark; + + /* Create a token. */ + + TAG_TOKEN_INIT(*token, handle, suffix, start_mark, end_mark); + + return 1; + +error: + yaml_free(handle); + yaml_free(suffix); + return 0; +} + +/* + * Scan a tag handle. + */ + +static int +yaml_parser_scan_tag_handle(yaml_parser_t *parser, int directive, + yaml_mark_t start_mark, yaml_char_t **handle) +{ + yaml_string_t string = NULL_STRING; + + if (!STRING_INIT(parser, string, INITIAL_STRING_SIZE)) goto error; + + /* Check the initial '!' character. */ + + if (!CACHE(parser, 1)) goto error; + + if (!CHECK(parser->buffer, '!')) { + yaml_parser_set_scanner_error(parser, directive ? + "while scanning a tag directive" : "while scanning a tag", + start_mark, "did not find expected '!'"); + goto error; + } + + /* Copy the '!' character. */ + + if (!READ(parser, string)) goto error; + + /* Copy all subsequent alphabetical and numerical characters. */ + + if (!CACHE(parser, 1)) goto error; + + while (IS_ALPHA(parser->buffer)) + { + if (!READ(parser, string)) goto error; + if (!CACHE(parser, 1)) goto error; + } + + /* Check if the trailing character is '!' and copy it. */ + + if (CHECK(parser->buffer, '!')) + { + if (!READ(parser, string)) goto error; + } + else + { + /* + * It's either the '!' tag or not really a tag handle. If it's a %TAG + * directive, it's an error. If it's a tag token, it must be a part of + * URI. + */ + + if (directive && !(string.start[0] == '!' && string.start[1] == '\0')) { + yaml_parser_set_scanner_error(parser, "while parsing a tag directive", + start_mark, "did not find expected '!'"); + goto error; + } + } + + *handle = string.start; + + return 1; + +error: + STRING_DEL(parser, string); + return 0; +} + +/* + * Scan a tag. + */ + +static int +yaml_parser_scan_tag_uri(yaml_parser_t *parser, int directive, + yaml_char_t *head, yaml_mark_t start_mark, yaml_char_t **uri) +{ + size_t length = head ? strlen((char *)head) : 0; + yaml_string_t string = NULL_STRING; + + if (!STRING_INIT(parser, string, INITIAL_STRING_SIZE)) goto error; + + /* Resize the string to include the head. */ + + while (string.end - string.start <= length) { + if (!yaml_string_extend(&string.start, &string.pointer, &string.end)) { + parser->error = YAML_MEMORY_ERROR; + goto error; + } + } + + /* + * Copy the head if needed. + * + * Note that we don't copy the leading '!' character. + */ + + if (length > 1) { + memcpy(string.start, head+1, length-1); + string.pointer += length-1; + } + + /* Scan the tag. */ + + if (!CACHE(parser, 1)) goto error; + + /* + * The set of characters that may appear in URI is as follows: + * + * '0'-'9', 'A'-'Z', 'a'-'z', '_', '-', ';', '/', '?', ':', '@', '&', + * '=', '+', '$', ',', '.', '!', '~', '*', '\'', '(', ')', '[', ']', + * '%'. + */ + + while (IS_ALPHA(parser->buffer) || CHECK(parser->buffer, ';') + || CHECK(parser->buffer, '/') || CHECK(parser->buffer, '?') + || CHECK(parser->buffer, ':') || CHECK(parser->buffer, '@') + || CHECK(parser->buffer, '&') || CHECK(parser->buffer, '=') + || CHECK(parser->buffer, '+') || CHECK(parser->buffer, '$') + || CHECK(parser->buffer, ',') || CHECK(parser->buffer, '.') + || CHECK(parser->buffer, '!') || CHECK(parser->buffer, '~') + || CHECK(parser->buffer, '*') || CHECK(parser->buffer, '\'') + || CHECK(parser->buffer, '(') || CHECK(parser->buffer, ')') + || CHECK(parser->buffer, '[') || CHECK(parser->buffer, ']') + || CHECK(parser->buffer, '%')) + { + /* Check if it is a URI-escape sequence. */ + + if (CHECK(parser->buffer, '%')) { + if (!yaml_parser_scan_uri_escapes(parser, + directive, start_mark, &string)) goto error; + } + else { + if (!READ(parser, string)) goto error; + } + + length ++; + if (!CACHE(parser, 1)) goto error; + } + + /* Check if the tag is non-empty. */ + + if (!length) { + if (!STRING_EXTEND(parser, string)) + goto error; + + yaml_parser_set_scanner_error(parser, directive ? + "while parsing a %TAG directive" : "while parsing a tag", + start_mark, "did not find expected tag URI"); + goto error; + } + + *uri = string.start; + + return 1; + +error: + STRING_DEL(parser, string); + return 0; +} + +/* + * Decode an URI-escape sequence corresponding to a single UTF-8 character. + */ + +static int +yaml_parser_scan_uri_escapes(yaml_parser_t *parser, int directive, + yaml_mark_t start_mark, yaml_string_t *string) +{ + int width = 0; + + /* Decode the required number of characters. */ + + do { + + unsigned char octet = 0; + + /* Check for a URI-escaped octet. */ + + if (!CACHE(parser, 3)) return 0; + + if (!(CHECK(parser->buffer, '%') + && IS_HEX_AT(parser->buffer, 1) + && IS_HEX_AT(parser->buffer, 2))) { + return yaml_parser_set_scanner_error(parser, directive ? + "while parsing a %TAG directive" : "while parsing a tag", + start_mark, "did not find URI escaped octet"); + } + + /* Get the octet. */ + + octet = (AS_HEX_AT(parser->buffer, 1) << 4) + AS_HEX_AT(parser->buffer, 2); + + /* If it is the leading octet, determine the length of the UTF-8 sequence. */ + + if (!width) + { + width = (octet & 0x80) == 0x00 ? 1 : + (octet & 0xE0) == 0xC0 ? 2 : + (octet & 0xF0) == 0xE0 ? 3 : + (octet & 0xF8) == 0xF0 ? 4 : 0; + if (!width) { + return yaml_parser_set_scanner_error(parser, directive ? + "while parsing a %TAG directive" : "while parsing a tag", + start_mark, "found an incorrect leading UTF-8 octet"); + } + } + else + { + /* Check if the trailing octet is correct. */ + + if ((octet & 0xC0) != 0x80) { + return yaml_parser_set_scanner_error(parser, directive ? + "while parsing a %TAG directive" : "while parsing a tag", + start_mark, "found an incorrect trailing UTF-8 octet"); + } + } + + /* Copy the octet and move the pointers. */ + + *(string->pointer++) = octet; + SKIP(parser); + SKIP(parser); + SKIP(parser); + + } while (--width); + + return 1; +} + +/* + * Scan a block scalar. + */ + +static int +yaml_parser_scan_block_scalar(yaml_parser_t *parser, yaml_token_t *token, + int literal) +{ + yaml_mark_t start_mark; + yaml_mark_t end_mark; + yaml_string_t string = NULL_STRING; + yaml_string_t leading_break = NULL_STRING; + yaml_string_t trailing_breaks = NULL_STRING; + int chomping = 0; + int increment = 0; + int indent = 0; + int leading_blank = 0; + int trailing_blank = 0; + + if (!STRING_INIT(parser, string, INITIAL_STRING_SIZE)) goto error; + if (!STRING_INIT(parser, leading_break, INITIAL_STRING_SIZE)) goto error; + if (!STRING_INIT(parser, trailing_breaks, INITIAL_STRING_SIZE)) goto error; + + /* Eat the indicator '|' or '>'. */ + + start_mark = parser->mark; + + SKIP(parser); + + /* Scan the additional block scalar indicators. */ + + if (!CACHE(parser, 1)) goto error; + + /* Check for a chomping indicator. */ + + if (CHECK(parser->buffer, '+') || CHECK(parser->buffer, '-')) + { + /* Set the chomping method and eat the indicator. */ + + chomping = CHECK(parser->buffer, '+') ? +1 : -1; + + SKIP(parser); + + /* Check for an indentation indicator. */ + + if (!CACHE(parser, 1)) goto error; + + if (IS_DIGIT(parser->buffer)) + { + /* Check that the intendation is greater than 0. */ + + if (CHECK(parser->buffer, '0')) { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found an intendation indicator equal to 0"); + goto error; + } + + /* Get the intendation level and eat the indicator. */ + + increment = AS_DIGIT(parser->buffer); + + SKIP(parser); + } + } + + /* Do the same as above, but in the opposite order. */ + + else if (IS_DIGIT(parser->buffer)) + { + if (CHECK(parser->buffer, '0')) { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found an intendation indicator equal to 0"); + goto error; + } + + increment = AS_DIGIT(parser->buffer); + + SKIP(parser); + + if (!CACHE(parser, 1)) goto error; + + if (CHECK(parser->buffer, '+') || CHECK(parser->buffer, '-')) { + chomping = CHECK(parser->buffer, '+') ? +1 : -1; + + SKIP(parser); + } + } + + /* Eat whitespaces and comments to the end of the line. */ + + if (!CACHE(parser, 1)) goto error; + + while (IS_BLANK(parser->buffer)) { + SKIP(parser); + if (!CACHE(parser, 1)) goto error; + } + + if (CHECK(parser->buffer, '#')) { + while (!IS_BREAKZ(parser->buffer)) { + SKIP(parser); + if (!CACHE(parser, 1)) goto error; + } + } + + /* Check if we are at the end of the line. */ + + if (!IS_BREAKZ(parser->buffer)) { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "did not found expected comment or line break"); + goto error; + } + + /* Eat a line break. */ + + if (IS_BREAK(parser->buffer)) { + if (!CACHE(parser, 2)) goto error; + SKIP_LINE(parser); + } + + end_mark = parser->mark; + + /* Set the intendation level if it was specified. */ + + if (increment) { + indent = parser->indent >= 0 ? parser->indent+increment : increment; + } + + /* Scan the leading line breaks and determine the indentation level if needed. */ + + if (!yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, + start_mark, &end_mark)) goto error; + + /* Scan the block scalar content. */ + + if (!CACHE(parser, 1)) goto error; + + while (parser->mark.column == indent && !IS_Z(parser->buffer)) + { + /* + * We are at the beginning of a non-empty line. + */ + + /* Is it a trailing whitespace? */ + + trailing_blank = IS_BLANK(parser->buffer); + + /* Check if we need to fold the leading line break. */ + + if (!literal && (*leading_break.start == '\n') + && !leading_blank && !trailing_blank) + { + /* Do we need to join the lines by space? */ + + if (*trailing_breaks.start == '\0') { + if (!STRING_EXTEND(parser, string)) goto error; + *(string.pointer ++) = ' '; + } + + CLEAR(parser, leading_break); + } + else { + if (!JOIN(parser, string, leading_break)) goto error; + CLEAR(parser, leading_break); + } + + /* Append the remaining line breaks. */ + + if (!JOIN(parser, string, trailing_breaks)) goto error; + CLEAR(parser, trailing_breaks); + + /* Is it a leading whitespace? */ + + leading_blank = IS_BLANK(parser->buffer); + + /* Consume the current line. */ + + while (!IS_BREAKZ(parser->buffer)) { + if (!READ(parser, string)) goto error; + if (!CACHE(parser, 1)) goto error; + } + + /* Consume the line break. */ + + if (!CACHE(parser, 2)) goto error; + + if (!READ_LINE(parser, leading_break)) goto error; + + /* Eat the following intendation spaces and line breaks. */ + + if (!yaml_parser_scan_block_scalar_breaks(parser, + &indent, &trailing_breaks, start_mark, &end_mark)) goto error; + } + + /* Chomp the tail. */ + + if (chomping != -1) { + if (!JOIN(parser, string, leading_break)) goto error; + } + if (chomping == 1) { + if (!JOIN(parser, string, trailing_breaks)) goto error; + } + + /* Create a token. */ + + SCALAR_TOKEN_INIT(*token, string.start, string.pointer-string.start, + literal ? YAML_LITERAL_SCALAR_STYLE : YAML_FOLDED_SCALAR_STYLE, + start_mark, end_mark); + + STRING_DEL(parser, leading_break); + STRING_DEL(parser, trailing_breaks); + + return 1; + +error: + STRING_DEL(parser, string); + STRING_DEL(parser, leading_break); + STRING_DEL(parser, trailing_breaks); + + return 0; +} + +/* + * Scan intendation spaces and line breaks for a block scalar. Determine the + * intendation level if needed. + */ + +static int +yaml_parser_scan_block_scalar_breaks(yaml_parser_t *parser, + int *indent, yaml_string_t *breaks, + yaml_mark_t start_mark, yaml_mark_t *end_mark) +{ + int max_indent = 0; + + *end_mark = parser->mark; + + /* Eat the intendation spaces and line breaks. */ + + while (1) + { + /* Eat the intendation spaces. */ + + if (!CACHE(parser, 1)) return 0; + + while ((!*indent || parser->mark.column < *indent) + && IS_SPACE(parser->buffer)) { + SKIP(parser); + if (!CACHE(parser, 1)) return 0; + } + + if (parser->mark.column > max_indent) + max_indent = parser->mark.column; + + /* Check for a tab character messing the intendation. */ + + if ((!*indent || parser->mark.column < *indent) + && IS_TAB(parser->buffer)) { + return yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found a tab character where an intendation space is expected"); + } + + /* Have we found a non-empty line? */ + + if (!IS_BREAK(parser->buffer)) break; + + /* Consume the line break. */ + + if (!CACHE(parser, 2)) return 0; + if (!READ_LINE(parser, *breaks)) return 0; + *end_mark = parser->mark; + } + + /* Determine the indentation level if needed. */ + + if (!*indent) { + *indent = max_indent; + if (*indent < parser->indent + 1) + *indent = parser->indent + 1; + if (*indent < 1) + *indent = 1; + } + + return 1; +} + +/* + * Scan a quoted scalar. + */ + +static int +yaml_parser_scan_flow_scalar(yaml_parser_t *parser, yaml_token_t *token, + int single) +{ + yaml_mark_t start_mark; + yaml_mark_t end_mark; + yaml_string_t string = NULL_STRING; + yaml_string_t leading_break = NULL_STRING; + yaml_string_t trailing_breaks = NULL_STRING; + yaml_string_t whitespaces = NULL_STRING; + int leading_blanks; + + if (!STRING_INIT(parser, string, INITIAL_STRING_SIZE)) goto error; + if (!STRING_INIT(parser, leading_break, INITIAL_STRING_SIZE)) goto error; + if (!STRING_INIT(parser, trailing_breaks, INITIAL_STRING_SIZE)) goto error; + if (!STRING_INIT(parser, whitespaces, INITIAL_STRING_SIZE)) goto error; + + /* Eat the left quote. */ + + start_mark = parser->mark; + + SKIP(parser); + + /* Consume the content of the quoted scalar. */ + + while (1) + { + /* Check that there are no document indicators at the beginning of the line. */ + + if (!CACHE(parser, 4)) goto error; + + if (parser->mark.column == 0 && + ((CHECK_AT(parser->buffer, '-', 0) && + CHECK_AT(parser->buffer, '-', 1) && + CHECK_AT(parser->buffer, '-', 2)) || + (CHECK_AT(parser->buffer, '.', 0) && + CHECK_AT(parser->buffer, '.', 1) && + CHECK_AT(parser->buffer, '.', 2))) && + IS_BLANKZ_AT(parser->buffer, 3)) + { + yaml_parser_set_scanner_error(parser, "while scanning a quoted scalar", + start_mark, "found unexpected document indicator"); + goto error; + } + + /* Check for EOF. */ + + if (IS_Z(parser->buffer)) { + yaml_parser_set_scanner_error(parser, "while scanning a quoted scalar", + start_mark, "found unexpected end of stream"); + goto error; + } + + /* Consume non-blank characters. */ + + if (!CACHE(parser, 2)) goto error; + + leading_blanks = 0; + + while (!IS_BLANKZ(parser->buffer)) + { + /* Check for an escaped single quote. */ + + if (single && CHECK_AT(parser->buffer, '\'', 0) + && CHECK_AT(parser->buffer, '\'', 1)) + { + if (!STRING_EXTEND(parser, string)) goto error; + *(string.pointer++) = '\''; + SKIP(parser); + SKIP(parser); + } + + /* Check for the right quote. */ + + else if (CHECK(parser->buffer, single ? '\'' : '"')) + { + break; + } + + /* Check for an escaped line break. */ + + else if (!single && CHECK(parser->buffer, '\\') + && IS_BREAK_AT(parser->buffer, 1)) + { + if (!CACHE(parser, 3)) goto error; + SKIP(parser); + SKIP_LINE(parser); + leading_blanks = 1; + break; + } + + /* Check for an escape sequence. */ + + else if (!single && CHECK(parser->buffer, '\\')) + { + int code_length = 0; + + if (!STRING_EXTEND(parser, string)) goto error; + + /* Check the escape character. */ + + switch (parser->buffer.pointer[1]) + { + case '0': + *(string.pointer++) = '\0'; + break; + + case 'a': + *(string.pointer++) = '\x07'; + break; + + case 'b': + *(string.pointer++) = '\x08'; + break; + + case 't': + case '\t': + *(string.pointer++) = '\x09'; + break; + + case 'n': + *(string.pointer++) = '\x0A'; + break; + + case 'v': + *(string.pointer++) = '\x0B'; + break; + + case 'f': + *(string.pointer++) = '\x0C'; + break; + + case 'r': + *(string.pointer++) = '\x0D'; + break; + + case 'e': + *(string.pointer++) = '\x1B'; + break; + + case ' ': + *(string.pointer++) = '\x20'; + break; + + case '"': + *(string.pointer++) = '"'; + break; + + case '\'': + *(string.pointer++) = '\''; + break; + + case '\\': + *(string.pointer++) = '\\'; + break; + + case 'N': /* NEL (#x85) */ + *(string.pointer++) = '\xC2'; + *(string.pointer++) = '\x85'; + break; + + case '_': /* #xA0 */ + *(string.pointer++) = '\xC2'; + *(string.pointer++) = '\xA0'; + break; + + case 'L': /* LS (#x2028) */ + *(string.pointer++) = '\xE2'; + *(string.pointer++) = '\x80'; + *(string.pointer++) = '\xA8'; + break; + + case 'P': /* PS (#x2029) */ + *(string.pointer++) = '\xE2'; + *(string.pointer++) = '\x80'; + *(string.pointer++) = '\xA9'; + break; + + case 'x': + code_length = 2; + break; + + case 'u': + code_length = 4; + break; + + case 'U': + code_length = 8; + break; + + default: + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "found unknown escape character"); + goto error; + } + + SKIP(parser); + SKIP(parser); + + /* Consume an arbitrary escape code. */ + + if (code_length) + { + unsigned int value = 0; + int k; + + /* Scan the character value. */ + + if (!CACHE(parser, code_length)) goto error; + + for (k = 0; k < code_length; k ++) { + if (!IS_HEX_AT(parser->buffer, k)) { + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "did not find expected hexdecimal number"); + goto error; + } + value = (value << 4) + AS_HEX_AT(parser->buffer, k); + } + + /* Check the value and write the character. */ + + if ((value >= 0xD800 && value <= 0xDFFF) || value > 0x10FFFF) { + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "found invalid Unicode character escape code"); + goto error; + } + + if (value <= 0x7F) { + *(string.pointer++) = value; + } + else if (value <= 0x7FF) { + *(string.pointer++) = 0xC0 + (value >> 6); + *(string.pointer++) = 0x80 + (value & 0x3F); + } + else if (value <= 0xFFFF) { + *(string.pointer++) = 0xE0 + (value >> 12); + *(string.pointer++) = 0x80 + ((value >> 6) & 0x3F); + *(string.pointer++) = 0x80 + (value & 0x3F); + } + else { + *(string.pointer++) = 0xF0 + (value >> 18); + *(string.pointer++) = 0x80 + ((value >> 12) & 0x3F); + *(string.pointer++) = 0x80 + ((value >> 6) & 0x3F); + *(string.pointer++) = 0x80 + (value & 0x3F); + } + + /* Advance the pointer. */ + + for (k = 0; k < code_length; k ++) { + SKIP(parser); + } + } + } + + else + { + /* It is a non-escaped non-blank character. */ + + if (!READ(parser, string)) goto error; + } + + if (!CACHE(parser, 2)) goto error; + } + + /* Check if we are at the end of the scalar. */ + + if (CHECK(parser->buffer, single ? '\'' : '"')) + break; + + /* Consume blank characters. */ + + if (!CACHE(parser, 1)) goto error; + + while (IS_BLANK(parser->buffer) || IS_BREAK(parser->buffer)) + { + if (IS_BLANK(parser->buffer)) + { + /* Consume a space or a tab character. */ + + if (!leading_blanks) { + if (!READ(parser, whitespaces)) goto error; + } + else { + SKIP(parser); + } + } + else + { + if (!CACHE(parser, 2)) goto error; + + /* Check if it is a first line break. */ + + if (!leading_blanks) + { + CLEAR(parser, whitespaces); + if (!READ_LINE(parser, leading_break)) goto error; + leading_blanks = 1; + } + else + { + if (!READ_LINE(parser, trailing_breaks)) goto error; + } + } + if (!CACHE(parser, 1)) goto error; + } + + /* Join the whitespaces or fold line breaks. */ + + if (leading_blanks) + { + /* Do we need to fold line breaks? */ + + if (leading_break.start[0] == '\n') { + if (trailing_breaks.start[0] == '\0') { + if (!STRING_EXTEND(parser, string)) goto error; + *(string.pointer++) = ' '; + } + else { + if (!JOIN(parser, string, trailing_breaks)) goto error; + CLEAR(parser, trailing_breaks); + } + CLEAR(parser, leading_break); + } + else { + if (!JOIN(parser, string, leading_break)) goto error; + if (!JOIN(parser, string, trailing_breaks)) goto error; + CLEAR(parser, leading_break); + CLEAR(parser, trailing_breaks); + } + } + else + { + if (!JOIN(parser, string, whitespaces)) goto error; + CLEAR(parser, whitespaces); + } + } + + /* Eat the right quote. */ + + SKIP(parser); + + end_mark = parser->mark; + + /* Create a token. */ + + SCALAR_TOKEN_INIT(*token, string.start, string.pointer-string.start, + single ? YAML_SINGLE_QUOTED_SCALAR_STYLE : YAML_DOUBLE_QUOTED_SCALAR_STYLE, + start_mark, end_mark); + + STRING_DEL(parser, leading_break); + STRING_DEL(parser, trailing_breaks); + STRING_DEL(parser, whitespaces); + + return 1; + +error: + STRING_DEL(parser, string); + STRING_DEL(parser, leading_break); + STRING_DEL(parser, trailing_breaks); + STRING_DEL(parser, whitespaces); + + return 0; +} + +/* + * Scan a plain scalar. + */ + +static int +yaml_parser_scan_plain_scalar(yaml_parser_t *parser, yaml_token_t *token) +{ + yaml_mark_t start_mark; + yaml_mark_t end_mark; + yaml_string_t string = NULL_STRING; + yaml_string_t leading_break = NULL_STRING; + yaml_string_t trailing_breaks = NULL_STRING; + yaml_string_t whitespaces = NULL_STRING; + int leading_blanks = 0; + int indent = parser->indent+1; + + if (!STRING_INIT(parser, string, INITIAL_STRING_SIZE)) goto error; + if (!STRING_INIT(parser, leading_break, INITIAL_STRING_SIZE)) goto error; + if (!STRING_INIT(parser, trailing_breaks, INITIAL_STRING_SIZE)) goto error; + if (!STRING_INIT(parser, whitespaces, INITIAL_STRING_SIZE)) goto error; + + start_mark = end_mark = parser->mark; + + /* Consume the content of the plain scalar. */ + + while (1) + { + /* Check for a document indicator. */ + + if (!CACHE(parser, 4)) goto error; + + if (parser->mark.column == 0 && + ((CHECK_AT(parser->buffer, '-', 0) && + CHECK_AT(parser->buffer, '-', 1) && + CHECK_AT(parser->buffer, '-', 2)) || + (CHECK_AT(parser->buffer, '.', 0) && + CHECK_AT(parser->buffer, '.', 1) && + CHECK_AT(parser->buffer, '.', 2))) && + IS_BLANKZ_AT(parser->buffer, 3)) break; + + /* Check for a comment. */ + + if (CHECK(parser->buffer, '#')) + break; + + /* Consume non-blank characters. */ + + while (!IS_BLANKZ(parser->buffer)) + { + /* Check for 'x:x' in the flow context. TODO: Fix the test "spec-08-13". */ + + if (parser->flow_level + && CHECK(parser->buffer, ':') + && !IS_BLANKZ_AT(parser->buffer, 1)) { + yaml_parser_set_scanner_error(parser, "while scanning a plain scalar", + start_mark, "found unexpected ':'"); + goto error; + } + + /* Check for indicators that may end a plain scalar. */ + + if ((CHECK(parser->buffer, ':') && IS_BLANKZ_AT(parser->buffer, 1)) + || (parser->flow_level && + (CHECK(parser->buffer, ',') || CHECK(parser->buffer, ':') + || CHECK(parser->buffer, '?') || CHECK(parser->buffer, '[') + || CHECK(parser->buffer, ']') || CHECK(parser->buffer, '{') + || CHECK(parser->buffer, '}')))) + break; + + /* Check if we need to join whitespaces and breaks. */ + + if (leading_blanks || whitespaces.start != whitespaces.pointer) + { + if (leading_blanks) + { + /* Do we need to fold line breaks? */ + + if (leading_break.start[0] == '\n') { + if (trailing_breaks.start[0] == '\0') { + if (!STRING_EXTEND(parser, string)) goto error; + *(string.pointer++) = ' '; + } + else { + if (!JOIN(parser, string, trailing_breaks)) goto error; + CLEAR(parser, trailing_breaks); + } + CLEAR(parser, leading_break); + } + else { + if (!JOIN(parser, string, leading_break)) goto error; + if (!JOIN(parser, string, trailing_breaks)) goto error; + CLEAR(parser, leading_break); + CLEAR(parser, trailing_breaks); + } + + leading_blanks = 0; + } + else + { + if (!JOIN(parser, string, whitespaces)) goto error; + CLEAR(parser, whitespaces); + } + } + + /* Copy the character. */ + + if (!READ(parser, string)) goto error; + + end_mark = parser->mark; + + if (!CACHE(parser, 2)) goto error; + } + + /* Is it the end? */ + + if (!(IS_BLANK(parser->buffer) || IS_BREAK(parser->buffer))) + break; + + /* Consume blank characters. */ + + if (!CACHE(parser, 1)) goto error; + + while (IS_BLANK(parser->buffer) || IS_BREAK(parser->buffer)) + { + if (IS_BLANK(parser->buffer)) + { + /* Check for tab character that abuse intendation. */ + + if (leading_blanks && parser->mark.column < indent + && IS_TAB(parser->buffer)) { + yaml_parser_set_scanner_error(parser, "while scanning a plain scalar", + start_mark, "found a tab character that violate intendation"); + goto error; + } + + /* Consume a space or a tab character. */ + + if (!leading_blanks) { + if (!READ(parser, whitespaces)) goto error; + } + else { + SKIP(parser); + } + } + else + { + if (!CACHE(parser, 2)) goto error; + + /* Check if it is a first line break. */ + + if (!leading_blanks) + { + CLEAR(parser, whitespaces); + if (!READ_LINE(parser, leading_break)) goto error; + leading_blanks = 1; + } + else + { + if (!READ_LINE(parser, trailing_breaks)) goto error; + } + } + if (!CACHE(parser, 1)) goto error; + } + + /* Check intendation level. */ + + if (!parser->flow_level && parser->mark.column < indent) + break; + } + + /* Create a token. */ + + SCALAR_TOKEN_INIT(*token, string.start, string.pointer-string.start, + YAML_PLAIN_SCALAR_STYLE, start_mark, end_mark); + + /* Note that we change the 'simple_key_allowed' flag. */ + + if (leading_blanks) { + parser->simple_key_allowed = 1; + } + + STRING_DEL(parser, leading_break); + STRING_DEL(parser, trailing_breaks); + STRING_DEL(parser, whitespaces); + + return 1; + +error: + STRING_DEL(parser, string); + STRING_DEL(parser, leading_break); + STRING_DEL(parser, trailing_breaks); + STRING_DEL(parser, whitespaces); + + return 0; +} + diff --git a/yaml/src/scanner.lo b/yaml/src/scanner.lo new file mode 100644 index 00000000..a69ea182 --- /dev/null +++ b/yaml/src/scanner.lo @@ -0,0 +1,12 @@ +# scanner.lo - a libtool object file +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/scanner.o' + +# Name of the non-PIC object. +non_pic_object='scanner.o' + diff --git a/yaml/src/writer.c b/yaml/src/writer.c new file mode 100644 index 00000000..ec0e477d --- /dev/null +++ b/yaml/src/writer.c @@ -0,0 +1,141 @@ + +#include "yaml_private.h" + +/* + * Declarations. + */ + +static int +yaml_emitter_set_writer_error(yaml_emitter_t *emitter, const char *problem); + +YAML_DECLARE(int) +yaml_emitter_flush(yaml_emitter_t *emitter); + +/* + * Set the writer error and return 0. + */ + +static int +yaml_emitter_set_writer_error(yaml_emitter_t *emitter, const char *problem) +{ + emitter->error = YAML_WRITER_ERROR; + emitter->problem = problem; + + return 0; +} + +/* + * Flush the output buffer. + */ + +YAML_DECLARE(int) +yaml_emitter_flush(yaml_emitter_t *emitter) +{ + int low, high; + + assert(emitter); /* Non-NULL emitter object is expected. */ + assert(emitter->write_handler); /* Write handler must be set. */ + assert(emitter->encoding); /* Output encoding must be set. */ + + emitter->buffer.last = emitter->buffer.pointer; + emitter->buffer.pointer = emitter->buffer.start; + + /* Check if the buffer is empty. */ + + if (emitter->buffer.start == emitter->buffer.last) { + return 1; + } + + /* If the output encoding is UTF-8, we don't need to recode the buffer. */ + + if (emitter->encoding == YAML_UTF8_ENCODING) + { + if (emitter->write_handler(emitter->write_handler_data, + emitter->buffer.start, + emitter->buffer.last - emitter->buffer.start)) { + emitter->buffer.last = emitter->buffer.start; + emitter->buffer.pointer = emitter->buffer.start; + return 1; + } + else { + return yaml_emitter_set_writer_error(emitter, "Write error"); + } + } + + /* Recode the buffer into the raw buffer. */ + + low = (emitter->encoding == YAML_UTF16LE_ENCODING ? 0 : 1); + high = (emitter->encoding == YAML_UTF16LE_ENCODING ? 1 : 0); + + while (emitter->buffer.pointer != emitter->buffer.last) + { + unsigned char octet; + unsigned int width; + unsigned int value; + int k; + + /* + * See the "reader.c" code for more details on UTF-8 encoding. Note + * that we assume that the buffer contains a valid UTF-8 sequence. + */ + + /* Read the next UTF-8 character. */ + + octet = emitter->buffer.pointer[0]; + + width = (octet & 0x80) == 0x00 ? 1 : + (octet & 0xE0) == 0xC0 ? 2 : + (octet & 0xF0) == 0xE0 ? 3 : + (octet & 0xF8) == 0xF0 ? 4 : 0; + + value = (octet & 0x80) == 0x00 ? octet & 0x7F : + (octet & 0xE0) == 0xC0 ? octet & 0x1F : + (octet & 0xF0) == 0xE0 ? octet & 0x0F : + (octet & 0xF8) == 0xF0 ? octet & 0x07 : 0; + + for (k = 1; k < width; k ++) { + octet = emitter->buffer.pointer[k]; + value = (value << 6) + (octet & 0x3F); + } + + emitter->buffer.pointer += width; + + /* Write the character. */ + + if (value < 0x10000) + { + emitter->raw_buffer.last[high] = value >> 8; + emitter->raw_buffer.last[low] = value & 0xFF; + + emitter->raw_buffer.last += 2; + } + else + { + /* Write the character using a surrogate pair (check "reader.c"). */ + + value -= 0x10000; + emitter->raw_buffer.last[high] = 0xD8 + (value >> 18); + emitter->raw_buffer.last[low] = (value >> 10) & 0xFF; + emitter->raw_buffer.last[high+2] = 0xDC + ((value >> 8) & 0xFF); + emitter->raw_buffer.last[low+2] = value & 0xFF; + + emitter->raw_buffer.last += 4; + } + } + + /* Write the raw buffer. */ + + if (emitter->write_handler(emitter->write_handler_data, + emitter->raw_buffer.start, + emitter->raw_buffer.last - emitter->raw_buffer.start)) { + emitter->buffer.last = emitter->buffer.start; + emitter->buffer.pointer = emitter->buffer.start; + emitter->raw_buffer.last = emitter->raw_buffer.start; + emitter->raw_buffer.pointer = emitter->raw_buffer.start; + return 1; + } + else { + return yaml_emitter_set_writer_error(emitter, "Write error"); + } +} + diff --git a/yaml/src/writer.lo b/yaml/src/writer.lo new file mode 100644 index 00000000..87747a91 --- /dev/null +++ b/yaml/src/writer.lo @@ -0,0 +1,12 @@ +# writer.lo - a libtool object file +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/writer.o' + +# Name of the non-PIC object. +non_pic_object='writer.o' + diff --git a/yaml/src/yaml_private.h b/yaml/src/yaml_private.h new file mode 100644 index 00000000..08a02323 --- /dev/null +++ b/yaml/src/yaml_private.h @@ -0,0 +1,581 @@ + +#if HAVE_CONFIG_H +#include <config.h> +#endif + +#include <yaml.h> + +#include <assert.h> +#include <limits.h> + +/* + * Memory management. + */ + +YAML_DECLARE(void *) +yaml_malloc(size_t size); + +YAML_DECLARE(void *) +yaml_realloc(void *ptr, size_t size); + +YAML_DECLARE(void) +yaml_free(void *ptr); + +YAML_DECLARE(yaml_char_t *) +yaml_strdup(const yaml_char_t *); + +/* + * Reader: Ensure that the buffer contains at least `length` characters. + */ + +YAML_DECLARE(int) +yaml_parser_update_buffer(yaml_parser_t *parser, size_t length); + +/* + * Scanner: Ensure that the token stack contains at least one token ready. + */ + +YAML_DECLARE(int) +yaml_parser_fetch_more_tokens(yaml_parser_t *parser); + +/* + * The size of the input raw buffer. + */ + +#define INPUT_RAW_BUFFER_SIZE 16384 + +/* + * The size of the input buffer. + * + * It should be possible to decode the whole raw buffer. + */ + +#define INPUT_BUFFER_SIZE (INPUT_RAW_BUFFER_SIZE*3) + +/* + * The size of the output buffer. + */ + +#define OUTPUT_BUFFER_SIZE 16384 + +/* + * The size of the output raw buffer. + * + * It should be possible to encode the whole output buffer. + */ + +#define OUTPUT_RAW_BUFFER_SIZE (OUTPUT_BUFFER_SIZE*2+2) + +/* + * The size of other stacks and queues. + */ + +#define INITIAL_STACK_SIZE 16 +#define INITIAL_QUEUE_SIZE 16 +#define INITIAL_STRING_SIZE 16 + +/* + * Buffer management. + */ + +#define BUFFER_INIT(context,buffer,size) \ + (((buffer).start = yaml_malloc(size)) ? \ + ((buffer).last = (buffer).pointer = (buffer).start, \ + (buffer).end = (buffer).start+(size), \ + 1) : \ + ((context)->error = YAML_MEMORY_ERROR, \ + 0)) + +#define BUFFER_DEL(context,buffer) \ + (yaml_free((buffer).start), \ + (buffer).start = (buffer).pointer = (buffer).end = 0) + +/* + * String management. + */ + +typedef struct { + yaml_char_t *start; + yaml_char_t *end; + yaml_char_t *pointer; +} yaml_string_t; + +YAML_DECLARE(int) +yaml_string_extend(yaml_char_t **start, + yaml_char_t **pointer, yaml_char_t **end); + +YAML_DECLARE(int) +yaml_string_join( + yaml_char_t **a_start, yaml_char_t **a_pointer, yaml_char_t **a_end, + yaml_char_t **b_start, yaml_char_t **b_pointer, yaml_char_t **b_end); + +#define NULL_STRING { NULL, NULL, NULL } + +#define STRING(string,length) { (string), (string)+(length), (string) } + +#define STRING_INIT(context,string,size) \ + (((string).start = yaml_malloc(size)) ? \ + ((string).pointer = (string).start, \ + (string).end = (string).start+(size), \ + memset((string).start, 0, (size)), \ + 1) : \ + ((context)->error = YAML_MEMORY_ERROR, \ + 0)) + +#define STRING_DEL(context,string) \ + (yaml_free((string).start), \ + (string).start = (string).pointer = (string).end = 0) + +#define STRING_EXTEND(context,string) \ + (((string).pointer+5 < (string).end) \ + || yaml_string_extend(&(string).start, \ + &(string).pointer, &(string).end)) + +#define CLEAR(context,string) \ + ((string).pointer = (string).start, \ + memset((string).start, 0, (string).end-(string).start)) + +#define JOIN(context,string_a,string_b) \ + ((yaml_string_join(&(string_a).start, &(string_a).pointer, \ + &(string_a).end, &(string_b).start, \ + &(string_b).pointer, &(string_b).end)) ? \ + ((string_b).pointer = (string_b).start, \ + 1) : \ + ((context)->error = YAML_MEMORY_ERROR, \ + 0)) + +/* + * String check operations. + */ + +/* + * Check the octet at the specified position. + */ + +#define CHECK_AT(string,octet,offset) \ + ((string).pointer[offset] == (yaml_char_t)(octet)) + +/* + * Check the current octet in the buffer. + */ + +#define CHECK(string,octet) CHECK_AT((string),(octet),0) + +/* + * Check if the character at the specified position is an alphabetical + * character, a digit, '_', or '-'. + */ + +#define IS_ALPHA_AT(string,offset) \ + (((string).pointer[offset] >= (yaml_char_t) '0' && \ + (string).pointer[offset] <= (yaml_char_t) '9') || \ + ((string).pointer[offset] >= (yaml_char_t) 'A' && \ + (string).pointer[offset] <= (yaml_char_t) 'Z') || \ + ((string).pointer[offset] >= (yaml_char_t) 'a' && \ + (string).pointer[offset] <= (yaml_char_t) 'z') || \ + (string).pointer[offset] == '_' || \ + (string).pointer[offset] == '-') + +#define IS_ALPHA(string) IS_ALPHA_AT((string),0) + +/* + * Check if the character at the specified position is a digit. + */ + +#define IS_DIGIT_AT(string,offset) \ + (((string).pointer[offset] >= (yaml_char_t) '0' && \ + (string).pointer[offset] <= (yaml_char_t) '9')) + +#define IS_DIGIT(string) IS_DIGIT_AT((string),0) + +/* + * Get the value of a digit. + */ + +#define AS_DIGIT_AT(string,offset) \ + ((string).pointer[offset] - (yaml_char_t) '0') + +#define AS_DIGIT(string) AS_DIGIT_AT((string),0) + +/* + * Check if the character at the specified position is a hex-digit. + */ + +#define IS_HEX_AT(string,offset) \ + (((string).pointer[offset] >= (yaml_char_t) '0' && \ + (string).pointer[offset] <= (yaml_char_t) '9') || \ + ((string).pointer[offset] >= (yaml_char_t) 'A' && \ + (string).pointer[offset] <= (yaml_char_t) 'F') || \ + ((string).pointer[offset] >= (yaml_char_t) 'a' && \ + (string).pointer[offset] <= (yaml_char_t) 'f')) + +#define IS_HEX(string) IS_HEX_AT((string),0) + +/* + * Get the value of a hex-digit. + */ + +#define AS_HEX_AT(string,offset) \ + (((string).pointer[offset] >= (yaml_char_t) 'A' && \ + (string).pointer[offset] <= (yaml_char_t) 'F') ? \ + ((string).pointer[offset] - (yaml_char_t) 'A' + 10) : \ + ((string).pointer[offset] >= (yaml_char_t) 'a' && \ + (string).pointer[offset] <= (yaml_char_t) 'f') ? \ + ((string).pointer[offset] - (yaml_char_t) 'a' + 10) : \ + ((string).pointer[offset] - (yaml_char_t) '0')) + +#define AS_HEX(string) AS_HEX_AT((string),0) + +/* + * Check if the character is ASCII. + */ + +#define IS_ASCII_AT(string,offset) \ + ((string).pointer[offset] <= (yaml_char_t) '\x7F') + +#define IS_ASCII(string) IS_ASCII_AT((string),0) + +/* + * Check if the character can be printed unescaped. + */ + +#define IS_PRINTABLE_AT(string,offset) \ + (((string).pointer[offset] == 0x0A) /* . == #x0A */ \ + || ((string).pointer[offset] >= 0x20 /* #x20 <= . <= #x7E */ \ + && (string).pointer[offset] <= 0x7E) \ + || ((string).pointer[offset] == 0xC2 /* #0xA0 <= . <= #xD7FF */ \ + && (string).pointer[offset+1] >= 0xA0) \ + || ((string).pointer[offset] > 0xC2 \ + && (string).pointer[offset] < 0xED) \ + || ((string).pointer[offset] == 0xED \ + && (string).pointer[offset+1] < 0xA0) \ + || ((string).pointer[offset] == 0xEE) \ + || ((string).pointer[offset] == 0xEF /* #xE000 <= . <= #xFFFD */ \ + && !((string).pointer[offset+1] == 0xBB /* && . != #xFEFF */ \ + && (string).pointer[offset+2] == 0xBF) \ + && !((string).pointer[offset+1] == 0xBF \ + && ((string).pointer[offset+2] == 0xBE \ + || (string).pointer[offset+2] == 0xBF)))) + +#define IS_PRINTABLE(string) IS_PRINTABLE_AT((string),0) + +/* + * Check if the character at the specified position is NUL. + */ + +#define IS_Z_AT(string,offset) CHECK_AT((string),'\0',(offset)) + +#define IS_Z(string) IS_Z_AT((string),0) + +/* + * Check if the character at the specified position is BOM. + */ + +#define IS_BOM_AT(string,offset) \ + (CHECK_AT((string),'\xEF',(offset)) \ + && CHECK_AT((string),'\xBB',(offset)+1) \ + && CHECK_AT((string),'\xBF',(offset)+2)) /* BOM (#xFEFF) */ + +#define IS_BOM(string) IS_BOM_AT(string,0) + +/* + * Check if the character at the specified position is space. + */ + +#define IS_SPACE_AT(string,offset) CHECK_AT((string),' ',(offset)) + +#define IS_SPACE(string) IS_SPACE_AT((string),0) + +/* + * Check if the character at the specified position is tab. + */ + +#define IS_TAB_AT(string,offset) CHECK_AT((string),'\t',(offset)) + +#define IS_TAB(string) IS_TAB_AT((string),0) + +/* + * Check if the character at the specified position is blank (space or tab). + */ + +#define IS_BLANK_AT(string,offset) \ + (IS_SPACE_AT((string),(offset)) || IS_TAB_AT((string),(offset))) + +#define IS_BLANK(string) IS_BLANK_AT((string),0) + +/* + * Check if the character at the specified position is a line break. + */ + +#define IS_BREAK_AT(string,offset) \ + (CHECK_AT((string),'\r',(offset)) /* CR (#xD)*/ \ + || CHECK_AT((string),'\n',(offset)) /* LF (#xA) */ \ + || (CHECK_AT((string),'\xC2',(offset)) \ + && CHECK_AT((string),'\x85',(offset)+1)) /* NEL (#x85) */ \ + || (CHECK_AT((string),'\xE2',(offset)) \ + && CHECK_AT((string),'\x80',(offset)+1) \ + && CHECK_AT((string),'\xA8',(offset)+2)) /* LS (#x2028) */ \ + || (CHECK_AT((string),'\xE2',(offset)) \ + && CHECK_AT((string),'\x80',(offset)+1) \ + && CHECK_AT((string),'\xA9',(offset)+2))) /* PS (#x2029) */ + +#define IS_BREAK(string) IS_BREAK_AT((string),0) + +#define IS_CRLF_AT(string,offset) \ + (CHECK_AT((string),'\r',(offset)) && CHECK_AT((string),'\n',(offset)+1)) + +#define IS_CRLF(string) IS_CRLF_AT((string),0) + +/* + * Check if the character is a line break or NUL. + */ + +#define IS_BREAKZ_AT(string,offset) \ + (IS_BREAK_AT((string),(offset)) || IS_Z_AT((string),(offset))) + +#define IS_BREAKZ(string) IS_BREAKZ_AT((string),0) + +/* + * Check if the character is a line break, space, or NUL. + */ + +#define IS_SPACEZ_AT(string,offset) \ + (IS_SPACE_AT((string),(offset)) || IS_BREAKZ_AT((string),(offset))) + +#define IS_SPACEZ(string) IS_SPACEZ_AT((string),0) + +/* + * Check if the character is a line break, space, tab, or NUL. + */ + +#define IS_BLANKZ_AT(string,offset) \ + (IS_BLANK_AT((string),(offset)) || IS_BREAKZ_AT((string),(offset))) + +#define IS_BLANKZ(string) IS_BLANKZ_AT((string),0) + +/* + * Determine the width of the character. + */ + +#define WIDTH_AT(string,offset) \ + (((string).pointer[offset] & 0x80) == 0x00 ? 1 : \ + ((string).pointer[offset] & 0xE0) == 0xC0 ? 2 : \ + ((string).pointer[offset] & 0xF0) == 0xE0 ? 3 : \ + ((string).pointer[offset] & 0xF8) == 0xF0 ? 4 : 0) + +#define WIDTH(string) WIDTH_AT((string),0) + +/* + * Move the string pointer to the next character. + */ + +#define MOVE(string) ((string).pointer += WIDTH((string))) + +/* + * Copy a character and move the pointers of both strings. + */ + +#define COPY(string_a,string_b) \ + ((*(string_b).pointer & 0x80) == 0x00 ? \ + (*((string_a).pointer++) = *((string_b).pointer++)) : \ + (*(string_b).pointer & 0xE0) == 0xC0 ? \ + (*((string_a).pointer++) = *((string_b).pointer++), \ + *((string_a).pointer++) = *((string_b).pointer++)) : \ + (*(string_b).pointer & 0xF0) == 0xE0 ? \ + (*((string_a).pointer++) = *((string_b).pointer++), \ + *((string_a).pointer++) = *((string_b).pointer++), \ + *((string_a).pointer++) = *((string_b).pointer++)) : \ + (*(string_b).pointer & 0xF8) == 0xF0 ? \ + (*((string_a).pointer++) = *((string_b).pointer++), \ + *((string_a).pointer++) = *((string_b).pointer++), \ + *((string_a).pointer++) = *((string_b).pointer++), \ + *((string_a).pointer++) = *((string_b).pointer++)) : 0) + +/* + * Stack and queue management. + */ + +YAML_DECLARE(int) +yaml_stack_extend(void **start, void **top, void **end); + +YAML_DECLARE(int) +yaml_queue_extend(void **start, void **head, void **tail, void **end); + +#define STACK_INIT(context,stack,size) \ + (((stack).start = yaml_malloc((size)*sizeof(*(stack).start))) ? \ + ((stack).top = (stack).start, \ + (stack).end = (stack).start+(size), \ + 1) : \ + ((context)->error = YAML_MEMORY_ERROR, \ + 0)) + +#define STACK_DEL(context,stack) \ + (yaml_free((stack).start), \ + (stack).start = (stack).top = (stack).end = 0) + +#define STACK_EMPTY(context,stack) \ + ((stack).start == (stack).top) + +#define PUSH(context,stack,value) \ + (((stack).top != (stack).end \ + || yaml_stack_extend((void **)&(stack).start, \ + (void **)&(stack).top, (void **)&(stack).end)) ? \ + (*((stack).top++) = value, \ + 1) : \ + ((context)->error = YAML_MEMORY_ERROR, \ + 0)) + +#define POP(context,stack) \ + (*(--(stack).top)) + +#define QUEUE_INIT(context,queue,size) \ + (((queue).start = yaml_malloc((size)*sizeof(*(queue).start))) ? \ + ((queue).head = (queue).tail = (queue).start, \ + (queue).end = (queue).start+(size), \ + 1) : \ + ((context)->error = YAML_MEMORY_ERROR, \ + 0)) + +#define QUEUE_DEL(context,queue) \ + (yaml_free((queue).start), \ + (queue).start = (queue).head = (queue).tail = (queue).end = 0) + +#define QUEUE_EMPTY(context,queue) \ + ((queue).head == (queue).tail) + +#define ENQUEUE(context,queue,value) \ + (((queue).tail != (queue).end \ + || yaml_queue_extend((void **)&(queue).start, (void **)&(queue).head, \ + (void **)&(queue).tail, (void **)&(queue).end)) ? \ + (*((queue).tail++) = value, \ + 1) : \ + ((context)->error = YAML_MEMORY_ERROR, \ + 0)) + +#define DEQUEUE(context,queue) \ + (*((queue).head++)) + +#define QUEUE_INSERT(context,queue,index,value) \ + (((queue).tail != (queue).end \ + || yaml_queue_extend((void **)&(queue).start, (void **)&(queue).head, \ + (void **)&(queue).tail, (void **)&(queue).end)) ? \ + (memmove((queue).head+(index)+1,(queue).head+(index), \ + ((queue).tail-(queue).head-(index))*sizeof(*(queue).start)), \ + *((queue).head+(index)) = value, \ + (queue).tail++, \ + 1) : \ + ((context)->error = YAML_MEMORY_ERROR, \ + 0)) + +/* + * Token initializers. + */ + +#define TOKEN_INIT(token,token_type,token_start_mark,token_end_mark) \ + (memset(&(token), 0, sizeof(yaml_token_t)), \ + (token).type = (token_type), \ + (token).start_mark = (token_start_mark), \ + (token).end_mark = (token_end_mark)) + +#define STREAM_START_TOKEN_INIT(token,token_encoding,start_mark,end_mark) \ + (TOKEN_INIT((token),YAML_STREAM_START_TOKEN,(start_mark),(end_mark)), \ + (token).data.stream_start.encoding = (token_encoding)) + +#define STREAM_END_TOKEN_INIT(token,start_mark,end_mark) \ + (TOKEN_INIT((token),YAML_STREAM_END_TOKEN,(start_mark),(end_mark))) + +#define ALIAS_TOKEN_INIT(token,token_value,start_mark,end_mark) \ + (TOKEN_INIT((token),YAML_ALIAS_TOKEN,(start_mark),(end_mark)), \ + (token).data.alias.value = (token_value)) + +#define ANCHOR_TOKEN_INIT(token,token_value,start_mark,end_mark) \ + (TOKEN_INIT((token),YAML_ANCHOR_TOKEN,(start_mark),(end_mark)), \ + (token).data.anchor.value = (token_value)) + +#define TAG_TOKEN_INIT(token,token_handle,token_suffix,start_mark,end_mark) \ + (TOKEN_INIT((token),YAML_TAG_TOKEN,(start_mark),(end_mark)), \ + (token).data.tag.handle = (token_handle), \ + (token).data.tag.suffix = (token_suffix)) + +#define SCALAR_TOKEN_INIT(token,token_value,token_length,token_style,start_mark,end_mark) \ + (TOKEN_INIT((token),YAML_SCALAR_TOKEN,(start_mark),(end_mark)), \ + (token).data.scalar.value = (token_value), \ + (token).data.scalar.length = (token_length), \ + (token).data.scalar.style = (token_style)) + +#define VERSION_DIRECTIVE_TOKEN_INIT(token,token_major,token_minor,start_mark,end_mark) \ + (TOKEN_INIT((token),YAML_VERSION_DIRECTIVE_TOKEN,(start_mark),(end_mark)), \ + (token).data.version_directive.major = (token_major), \ + (token).data.version_directive.minor = (token_minor)) + +#define TAG_DIRECTIVE_TOKEN_INIT(token,token_handle,token_prefix,start_mark,end_mark) \ + (TOKEN_INIT((token),YAML_TAG_DIRECTIVE_TOKEN,(start_mark),(end_mark)), \ + (token).data.tag_directive.handle = (token_handle), \ + (token).data.tag_directive.prefix = (token_prefix)) + +/* + * Event initializers. + */ + +#define EVENT_INIT(event,event_type,event_start_mark,event_end_mark) \ + (memset(&(event), 0, sizeof(yaml_event_t)), \ + (event).type = (event_type), \ + (event).start_mark = (event_start_mark), \ + (event).end_mark = (event_end_mark)) + +#define STREAM_START_EVENT_INIT(event,event_encoding,start_mark,end_mark) \ + (EVENT_INIT((event),YAML_STREAM_START_EVENT,(start_mark),(end_mark)), \ + (event).data.stream_start.encoding = (event_encoding)) + +#define STREAM_END_EVENT_INIT(event,start_mark,end_mark) \ + (EVENT_INIT((event),YAML_STREAM_END_EVENT,(start_mark),(end_mark))) + +#define DOCUMENT_START_EVENT_INIT(event,event_version_directive, \ + event_tag_directives_start,event_tag_directives_end,event_implicit,start_mark,end_mark) \ + (EVENT_INIT((event),YAML_DOCUMENT_START_EVENT,(start_mark),(end_mark)), \ + (event).data.document_start.version_directive = (event_version_directive), \ + (event).data.document_start.tag_directives.start = (event_tag_directives_start), \ + (event).data.document_start.tag_directives.end = (event_tag_directives_end), \ + (event).data.document_start.implicit = (event_implicit)) + +#define DOCUMENT_END_EVENT_INIT(event,event_implicit,start_mark,end_mark) \ + (EVENT_INIT((event),YAML_DOCUMENT_END_EVENT,(start_mark),(end_mark)), \ + (event).data.document_end.implicit = (event_implicit)) + +#define ALIAS_EVENT_INIT(event,event_anchor,start_mark,end_mark) \ + (EVENT_INIT((event),YAML_ALIAS_EVENT,(start_mark),(end_mark)), \ + (event).data.alias.anchor = (event_anchor)) + +#define SCALAR_EVENT_INIT(event,event_anchor,event_tag,event_value,event_length, \ + event_plain_implicit, event_quoted_implicit,event_style,start_mark,end_mark) \ + (EVENT_INIT((event),YAML_SCALAR_EVENT,(start_mark),(end_mark)), \ + (event).data.scalar.anchor = (event_anchor), \ + (event).data.scalar.tag = (event_tag), \ + (event).data.scalar.value = (event_value), \ + (event).data.scalar.length = (event_length), \ + (event).data.scalar.plain_implicit = (event_plain_implicit), \ + (event).data.scalar.quoted_implicit = (event_quoted_implicit), \ + (event).data.scalar.style = (event_style)) + +#define SEQUENCE_START_EVENT_INIT(event,event_anchor,event_tag, \ + event_implicit,event_style,start_mark,end_mark) \ + (EVENT_INIT((event),YAML_SEQUENCE_START_EVENT,(start_mark),(end_mark)), \ + (event).data.sequence_start.anchor = (event_anchor), \ + (event).data.sequence_start.tag = (event_tag), \ + (event).data.sequence_start.implicit = (event_implicit), \ + (event).data.sequence_start.style = (event_style)) + +#define SEQUENCE_END_EVENT_INIT(event,start_mark,end_mark) \ + (EVENT_INIT((event),YAML_SEQUENCE_END_EVENT,(start_mark),(end_mark))) + +#define MAPPING_START_EVENT_INIT(event,event_anchor,event_tag, \ + event_implicit,event_style,start_mark,end_mark) \ + (EVENT_INIT((event),YAML_MAPPING_START_EVENT,(start_mark),(end_mark)), \ + (event).data.mapping_start.anchor = (event_anchor), \ + (event).data.mapping_start.tag = (event_tag), \ + (event).data.mapping_start.implicit = (event_implicit), \ + (event).data.mapping_start.style = (event_style)) + +#define MAPPING_END_EVENT_INIT(event,start_mark,end_mark) \ + (EVENT_INIT((event),YAML_MAPPING_END_EVENT,(start_mark),(end_mark))) + diff --git a/yaml/stamp-h1 b/yaml/stamp-h1 new file mode 100644 index 00000000..4547fe1b --- /dev/null +++ b/yaml/stamp-h1 @@ -0,0 +1 @@ +timestamp for config.h diff --git a/yaml/tests/.deps/example-deconstructor.Po b/yaml/tests/.deps/example-deconstructor.Po new file mode 100644 index 00000000..e91497a3 --- /dev/null +++ b/yaml/tests/.deps/example-deconstructor.Po @@ -0,0 +1,80 @@ +example-deconstructor.o example-deconstructor.o: example-deconstructor.c \ + ../include/yaml.h /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h + +../include/yaml.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: diff --git a/yaml/tests/.deps/example-reformatter.Po b/yaml/tests/.deps/example-reformatter.Po new file mode 100644 index 00000000..ea0f8d11 --- /dev/null +++ b/yaml/tests/.deps/example-reformatter.Po @@ -0,0 +1,80 @@ +example-reformatter.o example-reformatter.o: example-reformatter.c \ + ../include/yaml.h /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h + +../include/yaml.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: diff --git a/yaml/tests/.deps/run-emitter.Po b/yaml/tests/.deps/run-emitter.Po new file mode 100644 index 00000000..bc685389 --- /dev/null +++ b/yaml/tests/.deps/run-emitter.Po @@ -0,0 +1,83 @@ +run-emitter.o run-emitter.o: run-emitter.c ../include/yaml.h \ + /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/assert.h + +../include/yaml.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/assert.h: diff --git a/yaml/tests/.deps/run-parser.Po b/yaml/tests/.deps/run-parser.Po new file mode 100644 index 00000000..14f37c62 --- /dev/null +++ b/yaml/tests/.deps/run-parser.Po @@ -0,0 +1,83 @@ +run-parser.o run-parser.o: run-parser.c ../include/yaml.h \ + /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/assert.h + +../include/yaml.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/assert.h: diff --git a/yaml/tests/.deps/run-scanner.Po b/yaml/tests/.deps/run-scanner.Po new file mode 100644 index 00000000..3add70b7 --- /dev/null +++ b/yaml/tests/.deps/run-scanner.Po @@ -0,0 +1,83 @@ +run-scanner.o run-scanner.o: run-scanner.c ../include/yaml.h \ + /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-32.h \ + /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/assert.h + +../include/yaml.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-32.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/i486-linux-gnu/4.2.3/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/assert.h: diff --git a/yaml/tests/.deps/test-reader.Po b/yaml/tests/.deps/test-reader.Po new file mode 100644 index 00000000..9ce06a81 --- /dev/null +++ b/yaml/tests/.deps/test-reader.Po @@ -0,0 +1 @@ +# dummy diff --git a/yaml/tests/.deps/test-version.Po b/yaml/tests/.deps/test-version.Po new file mode 100644 index 00000000..9ce06a81 --- /dev/null +++ b/yaml/tests/.deps/test-version.Po @@ -0,0 +1 @@ +# dummy diff --git a/yaml/tests/.libs/example-deconstructor b/yaml/tests/.libs/example-deconstructor new file mode 100755 index 0000000000000000000000000000000000000000..795d9973c8583ec76abc9ec04588fa94aff39e2b GIT binary patch literal 32634 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 literal 0 HcmV?d00001 diff --git a/yaml/tests/.libs/example-reformatter b/yaml/tests/.libs/example-reformatter new file mode 100755 index 0000000000000000000000000000000000000000..4158b31907cf77c9d0330b2219a2e8c181586b81 GIT binary patch literal 22684 zcmb<-^>JflWMqH=CI)5(5br`e3x^2<14D}^M8<?cfq|VtgF%f!nSqUgfdM3E(!jz2 z!Vef27(kenfq{XAfq{XUfq_AUk%2*^k%a?<g&7zaKo}$kG8=@!rZ%u}Ff_1mY!PB$ z0AY}R1_1`J{UH99MJya3?7_&uP{POnwihJN#K6FCLWqIk#3B|B5Wc~{zyQJ^cY*8x zVGTwG28~7*4iHvgU|;}YkT?hjJ}pTB+mA-T^y}wjCh6y-=;mbRl~(8#=j$0k{3XBu zahtneC|D=R9Uwg%3=9l{3=9m?U{MAJ5e5bZ2?hoRPADHlf&2zi%g(^SAj!bMzzYo% zkem<$0|Ot_43HflF<e-Rfq_Akfq?;JH%tu|0|NsOG~BtNf}k)4xl0_%2l*Ss<Y!=D z5Cbuw7!+3^`$6V`+}FXNz}WD#fEy$RvIk_}uE&#VG-P{ZoL#TJS>yfqfW@b7nHz-> zGHIcS0y}#@^1Z(N9^`zei4Y3eAE2<8hX{j75Pu1n#lWD$#J~Wu%LU|M1_p)*1_-|# zDsRXI;b%bQH!(u^Z=v$Lpz6J$d{E4Q%!5U+0@VDQQ2BnS{yk7WOn)NOd`qZ#kx)K} z2AP)t<*PvDLFzz8T$6;jhXX2a#0=qgf+QIj7+~({1*OL&ETAZ15McQD-<y$vL176C z2Pj?y86+607#SG;EJn!dGcqu&>4(YlGX#OmM^fL2rrwT`fq?}{UY?PGp{EUEo)7~! zgE0dGLr*`9&&R-!lbKYRn46<(07~En4Ds>lx%qkV#U+VFCGqhL@m^)|L8<AP#U-gl z&N+$2#i_*%@oAZPnG7IJ@u|6)B_*jvU>a4VIJG3cG%qtbKP43+QIJ?voLUs0lA4oR zf+_@-fhdBR2hyFKn3tcInVgt|DwUa+S(2HUlUW5d1X)XdX-Pq8Nqkyn4w@tuTR~Q2 z=AkMFyQC-{$qFzV6h_IQ;4x!}_w<i1E=kGEi!UusO<@2t8FEu|i&INLocvNSm0DE9 zkXBxlS(3_-R#23gSCYmMAD@$%lnf2m+{Da0hWON!#F9jY`1qvaVu(0Hd}>|_gS(HX zlXJY0o&hxFK=L>!U%~{K7(fuhV`N}rU}S)h5EiIxVq{QdWB?VBU_}C%nY<uVCV|op z0|Uc?#Vj0bAoda#4puQpdSR7-q(fF=28IobSvc4k85p*JXl4e69Uz*8fng7bW@TVF z0HWC#7><Bwb_RwMAew`L;S7l8WMH@eqPZ9tu7GH628J6Tnumem4v6MuV0Zwc`4||U zfM|XOh8G}OfPvu+h!$jE2<?0t-28^+1<3KyjfZ(;85p`J|M~y_f9s_Z))#UN3=A)7 z85tN}tl(f^h=@LU_`m6j#Vj2ERo6iC&3{#p4>Ca7Uq1N%|NnngkWVr|dG6%}FdyWj z3{cVZ@&K3*@>vF`sD8Nt%m?`}15`Y{Tma^Se43%bz`*cw0+<i-aRw-YUN(UFAfIPg zfaD9nd{78vIDq&GU_K}$GCV;105BgEA{hZ7z5|#K3YiR0k@wO7%m;-~MgmA)0n7)5 zR0haHF9pDSP>5v|faDp#d{D?`RDk#&{{8<C^0?vKxXy>oPd)^M1Z8~aW8uhP=x5;w z49iI9VBvTn{r~^}FB4EeXy?=BHyjPNDxk8dgy*$P^8uE{KS05HX(5Q}7HGXx`uZ3v zNS^WJ;Rz7+3y&;f;b=WjBD4c!XX}9y&f_d9AhG`!P98=vzt=~FrTNK+|Al`-JD-M! z1qU|1iC|)2=w|HpWa*uH;otxNy?Y=0{r|tS^#q9QJpv*{RF1o-aDdXmaTgU(3CZxn z;otxNoi<?c4-5<paB&Tg39dVKf-0cS)&qb4|L@)lA`K7x`MkP$FUU|v{=Rlb1_u6Z zq8s{IIF7fT`3niE<E<CqtSeAf=hQoY|NlSUdgJf^|Dc@m+K7J}>!yAd4l8%2(xBcl z28ec$R5L_TH`w8pU=DxFa|Q;6?!6%0-K`+6bldFc+`H%R|Ns2k<gMp|%r52O-^RKT zY$9XHqVBCA$sL>fSvYorng)M5kAGfPGK+s3>#lwl4$H%(`rT7OD)_gt?gr^`Vl0*A z-^RKJ%w{SToB;6z$UQH!|Ns9#0czl0kb$5!0mQ(Y{M%ShLJX9H8+ZzA2qV}*r@?Hd z5^1RZGa&t-b_G~Jf9n%Q28QFUpilx^1xkJ0;DBsBP~zA<73@`}<18u-6IeJpT~t7r z<ps~*|NjjSG#&v(cw}^3d~9#xpTiIbgOUxzJP@mQFDM~&+Nivc{QLiZ>jC~&P~3O7 zf<&8tF!8r6VPs$^k8gg#IDx;#nTdg6A;S_D4p15aHD^F+0pzOVEGpa(>v>)*{PX`m zBzbj;s6bNK3*SHBB=jQm&;S1rN9_P<gS)Kx2Qz<5H6sH<^ADENx!qIW`~#Id{4L$g z3=G|^FaG`i-+X|v(?vz5yY&g2BhlS@1(Y;hR7AR4f53$Wx?8`1ghNz7&SVjp#KHm5 z%ma3MCyUApzCZu}zl`|*|9@{QI0LY#yzu@F@%<x4kc}YG<{zy5Ei0HnZertasRl7# zF!HxdXCxvF=Kcnm4GKe$b^ajURFIjSA}TKee`5~=SX6epsPJ@y6D}xp9YDcaqrw4q zdk{|TcR)e#>py?XF;Gruy#WaXo=z7P0Z2%J%)8bPNhNUen128N|I+8*|Nn?kzYY!q zib8$KM9fg1@$3KpmyiDb{|~ksl!SDk#R(`a9A{A}nFw|p&x<&a${nBr1>y@(h=Ai7 z<b%)XK5zi3?m{+K7uDQ`Nl<gyKq^!I{r|rZ)L!effhNyR7ZsKlT|fW-UkGXzcG{?b z1$O@Y|GyhtPQgUje}RfPP)>xWo6Z^)mKX6q|Nrj|-2u%?Au24O>?HLQoS<4Zg0h3_ zj_%kUy^ti}qQU}72D6~@{eS=eZ~o0xx(}pD6=V`TO{)I{W#X4+e?Sg-0xBF`R9JLD z3Bm;_K{)>W|NkY(l<roT8fkPjvLH3t-~dHLs{nFl;z1;l7m#Q`B)R)P{{Mfe33dfx z-4T$$M(AD$(*64P|No(#Ph$`FmZ&lG?okI7J&;=Ig+BuWL*wC@A`A@8Z+Ko5fB*l# zcQ>fY?QI5;n#T|RXKMXlqGI^1+f@KmzID5Tk~B-VD@P}b%Ks^wL8_XMF<O2vz1Mt% z2UOM_?v_zGJONZ+g4#3-LH*d~AOA~)3~&Fx(A~UY5erB2YnJ98|4TnKA7P1(1=X79 z?H>^ah8HnE{{N4RK6x0_PXo2~bTb%qbu&_P3K(>g8FY0Kjb+_Z23=iP%R4AFF(tJ~ zA+@L|zsO2Kwb)8QSv5i-u|z>Ng^K}Q5+?4MSCU$kmzV?5#>Eg0YRDoP!o}bUY4$@D zfXwA$2+b=>P0mlx%dARGQOGYS$;{6KON10vDkP{DD?l8Zppcedq>!6ml&X-KmzH0Y zn+Q^<$Hl;)TC5O_<c(Mm59*6p1siZfUBM30zURs>;sTkNp-=-gmMbU~VwggrLZqXw zk3w-tQEFl?7neWSA;nf)x*0l9wVa$OnZ*S;iIoZ^8JWcjpdeI8%u7*7t;j6l(oF^_ zg9j!jC&WgD%shpXj8p}<1jH7Iom{%5AWcxm!nKs<r4}bA7Nn*q<mKn-ItDv?dMYGm zBo-wmm!uXIgQ`>p-_+dvqDojO`sJ4>q~_(9re`SRLL@+81?rMy=B0zx2PY@y<snBW zD8_O!^HLR5Q*;!P^K(jb^FT4HT8u-2fq{WoGeCJF0NiDRxeuqQI3-9hgQ&0oclBU_ z!N34&e1O}!pe8WLE)WKl-Y^X61A*E;p#CptoCVbH1+^kQ8d*5L{`;TL(8R(48jtzW z%)$X0^YCb5;Q$5n97YBP(D(_cg8&-)0GSKQcS{ztaDe(@4WMx?=r|2%T!p8Ng#$G1 z^QM)B12jee>NtSLxj-F`fB*mIpJ`>``2YWZKFD1k{{PRP(hBK+gUlrbgT}aE>Mymi za6D>b;rP_X!ok$e!Xebo!lBg8!eP|T!r|1;!V%QY!jaU@!co-D!qL>u!ZE3xg=0}W z3&*B*7LG&h2>TB#V&PzLcXqZ?&~Wz))l@LiGtx6wFfuT(FfcSQQqU+UN-avwNlh$H z)l|@MNlnU3%mb@2(lym&prS@(vyF9)u$fJS60+S*MYAC>1R5V=V(5jAghIw(l%QiT zptJ!|#lRo~9>bFYjoN^PK>f1`pu`B~F)%>P=@EyFJTfrsXoHLeErE^+L6tEmg3ST( zKz5cgFrW`rfTTc)m5BjlS&<k6!&(sr2JlD(ND4Gg1xnit3@nV!pz+PEpg~^-28J)~ zEF2&VQpCi_Q3kSy3DiYlU}9l61Myhc4M7wm8>j=y!~_~aU|?op&CDxdVB%l}4X`nB zu!CAxOf0MiK>@<T&cw)8&%nUIDhsknvK>USGJ}S>*gzF91H>_)p*$8waP7>%z@VR0 znwgUVAyf3zL8B?UMtbHD0o{_K)KvXUV+%7~kc576ajAZCQAws=FfsZNh9wu5GPwJN zDmVr!80i^W=ov6DHspzc#!g~E4rlzq%fP_+jgx`l9xnp}D5^kR>$M=?JFzk_FkJ%; z2{1!~g#{7<%n&~_Lqd)j5^~ItAY+CE88bA<AYsJ}4J#FH1_oveP@kVEU66r+xz`S4 zjkGWW19KlJ5?EQ-*;v?F7J<flA)(3C&CkHVVz`BYfq|o)pMhZti*5-MX!Mzhfq_+k z(Hx{-nSrx~gMoonlyMH2%fjiv%fP@Y2IX>a_OLQAu!=*uJe<~?3=FIiP_6){sQ?25 zt0a^w!g-aEfq_*D%9Y^M6J}swm4<R<I9oxoGElApXEDeqIVe|!vx$X)fmI&L)!=Mn zW?*1dfO2&>i$QKyV%)^Uz`&$zz^N<5z`&})xC6{J;rs*As|NLv1!pKoRtw6t;Y{FX zU|`i@Yy^AIfwLGSYryCO=DKhi@Gvm28Zt(Kxo(`sAV(T8?gN|b&S?nJYsPpE%=O?* z0degad%%i)IA?G(FtB<s&H{5oIOl`7o=|QC=Q0r23(Ae*TnplQL%9i@TR>bNMpdxh z6wVdw3=FJ(P&a3As)B+pfbk00-W&!l&@eOW77i~C1_mD1U7%p#J`9SP-5@5DG6Od! zC?@tm0)&M-0~C4(ATi9rz|I2dAhNT7QUVVsfq=ZjI~|mR8Q57sX#y<zgo%LxEUM1H z&hm<hfq@UCmZ^Z7fq~7>m4ShQpMxz>o|%Dx`#CEE16we}cn0nokb+PMkA;EhfDi)% zTi7oqu=+@Ukoq1$1_rih5EJB7C6Mk|2#<w<o#j2qle{3oI4x!d1_2hf#71TY2EnJG zI#e)_hk=1n&{~**fl2TtKWGw(X(9&$16x`GL~YhuklLA`ITb-cevsNU0g&210${al zAhr2D5Vb|GL29)?<(l9O7LZzD4v^YaEDQ|Hf_i)m3@n2Dpnw!S&jXrPVoKv<U|_4= z!OXzG&%@TB$-=<EeTtcZfvpJ=Z4BH;1sE9ES|L0Z?h26CJ0Ls`1}0Y~1_rjyZxFjD zC$caw2#SN+1A>j5AiEcHf$aVc%FKcrm_c@nvoSERGB9y+GBB{sHDLjV#e#N_z7kN| zL$C)N78CeE1rXC!km*ZvAgWfZ1*xhBo6aN*GJO+xh?glE6glfAK~(K<Wo2Lx6a|fm z2~J=KshY<Kazj4Y4XL~!H@pWWaY0{R1_m}kXBGwqc0nm#1_lm6Z+->_PQgH71_my{ z$Djt0pe!c?1CJn&AOi!h;ACb720p<iZUzQ^K_-3%1_8mR+zbqYg4v*H8bNt}1_oil z3VsF#5y2WR&_orJ2^Rwc+tnQ`3=I4%Y!A~}85p<~L1FnA6!lEXVBzO=AmJ8}KVL$U z3t0H=RJibaxG)FX=UpISa8mmU73Q`CdE+~T#{!DO-|s+*z()Rs2s3ayfnxMOB-U6s zPk~&)$OwupCS?u=Ar3ZHMlm)922OCIXNTrc22OCQ=Y(=uK<aoI?Lg|lF5qW`n$8JM z?SfD)3xhBZ+r8;*3=AUKpoz;T0jvxRBCh-l3~aAJVIXn}<lqk=e~XqRrZcep0QptS z1C)Q57(pHs(*$J{E=G_)#LPh&g}}~Z;MZWgahr{Sf%`ou#oq?SG?Ov|=QB_W76H4A zNtuOH8N?N51f^sqWdY6|AOj?!Tp0#&FHp*pW&}A<f`v_w(U_fqK`;u`))n*@1f`dE z;56&W3d%2=nLz2q7F1vg`hk2Sn8E`}FPk|)>E#D#qEqlS9|HpygZM&_o9r2%voSCT zv9NhFMzAw5aDwC8mk}1>LL6*ij13@(O(0iAfZ0sS43eNp5Vj~N7gS(`g67f$*a8{% zf>eV8BpA#Fd6*rPT%y4?fIKY4!oa{52aP5k26h%u0Vc%4mc)1mq!}!o0+j|kE`#wa zNCF%YS<q->U=WgF%VPx17;u6m3SbhF;8-exa#=XRDXRp^<=_M-tukmK&%^l)l(s6M zwh3?wgWOgH<%&R3UJW$mNiYZrur)BQ<6vNbSlI+MlmTL83zW;k3HCx8)D#YgDIJWU zQiDmE2V_bQ;}^IoeNb&sQzk&UP*WzMnlgnERH}eXk&<EaU<~49U=RZ*TR%p7b_NEq zt)Rpd&)5cHPXr}^RK~*~HaI<Jg98|nbZfz3Dz*|7ubtpv6f*$%eJa?03_=!cPK+}+ z85lUhY1b8;>_Bk|PQ25>&IiRMIPuPcrd9<=;++HK>M)4E1SQ^iU}uU4voSERr88~d zWMGg6d+IzV1A`2xqLu-(K)GG!DyY(6X8~1h>?|M=AqlozCPgj=22M{<nUK!}sni%a zSwNYt2+C#QR0cV|lnJDTNtuIl56E8?Opr{)!ysM)(p<@Oo0EY-f`zS)={OeygWyR} z&r<LdsA((6!VM~Q*Rz3g(FHD0E?Nhw{smWnd>{xK7H1cH%>>Ft4t$_ecb6cj)Yau? zVBi)sU;~x9Zd{;J*PI<x>Z)>pO5JbVpi*})s2ULb0m^5BJY1ksR}i$|LNI}Yfk9Mo znh*nnm|!0l1A{n&_$`ntr!(n-N@yOo6HHv(3=Ev$tapkD6h`o@cLvI3;hX^~ht5H{ z91K!CY{!^%xEUD4tU=*(p6N0d1A`bJC~z);#TnRHR)Xfm1=wyfRltqE%>*qQAvyal zl*_`o7L=auL%AHBpBWe!*d9W;;FSD=X&>B_S5Rj_%ZE2mF4UBFP%hMz4^S@H6n<tF z9++1J!ECr!g`r#)PCJk<M4?;`&K^+C6^C*`#R#aV72;u2WOjs`r3_}n%~FMOStLvH z3mDkcp<GaN43w;dc-Rb?>)@J=!ECr@Qz#dz*&NCRX$GZFAs#jt=G}13ZeTWCvj>z5 z)$9f3f;5AYq7V;TAoCBn=3p=zt~nISg=!9mazUCw30#PWEt=Vs7Z!f8%%Bn*t~nmc zg=$WOayb};Ua&1-k_9y(+(0d>6-=O(7$}Qx0HvH&OrW+WD2s!f#kK~XvuZ$v`8sI6 z<KYCAV{99s8BKt56{xb@1l23Uc@f0j0+m(ZJPc}K8~|I&q^!eP$IigOc9;oN1b})F z6`=C!GC0vQDVs>9=BF{RU4vTWz!?duuO2ZOf%2)c3ui2-UH25~su0dlknBfrie^%d zfYf7Om>~6724^a$H24lxoC7HwenDMTz&Q)#Up8h?3Sd&M;hYchASam1tlYrJc^#Am zc%b|iM$TMNCY4|YC3|M&4n|H*kT0Z}K_w5f@(f1K3Xpm^sQNjKoIxP<8q8cg3=GW5 z3m7@eLF%=k@@p754}u)02jy>I<jeu_EtuWG>bEd*CV|v@Gq-^G2N*dofYQAm^KmYa zd1n|oK@CZ^2<C%e`3sDk;Mz8c`5%~nhmnDuWeFz(gE%`VDl)+7M7#^+#b3<U{IH@p zlpmug29=Y4nNRaGFbJlD20H{h_&}|VWEN04X(9wFCs*@;%E_Cc&YPe!$W?+D*+8w0 zi2|T<ayO`45Uk?`m6LBlO+3NVpsteODRxjfnam0*CtKJ+<)k>MIW8#11X`LUZVW2W z1Xw^W65?SqXW<iIV1PuvB@46+<O~C~psm6611N<uf(iy(7Es**Y9C7Ru$i(L2*Aof zJC^JGurkn*1ynYIYG7BEGLXUG!quGxrS$WJa-rpxH<Sx4w|t>oaJd!8vIlNTFwA+7 zGBgy*g_;r$<w8w~gmQTpgm~CWSU$r|DFd_Nxwit!h34KWC>NCVK~W<lz}CoOF9^%} z&0scMb1Re!EjrtwTxikR3FU%{PEbuR#KYFhQUf=up9NHm!p)ip<w6}Y8Or4Vxqmv# zX1KPQEGVVVY$zA1Z7!4x*0z)76-XPn^|l)tstlZ)KnZCtJZ`}am;Ee|%*g?Yxx*|5 zLJSO?;5PkHxHfB0E;|m_2JU5?gvxSof(muE(@<F+1|bEu^DLV{rhprV7oqAHAdSPz zP<1Sv2S9GQ3bUN^2q<S?hjMv1KY=plO(<7@^AV^Ny$$7xa4rC)<GWC<1f&gkp9Ru~ zkzo+}z$VEuTZDmu6I}QzvY-^c$}F(L7t~;3(+8^rHEZ61d}+i2DKU9CTR|n46F7^2 zx(?tX(hr>UnUrN9WnvUKor6kSaN9nX1yUy3aGnO00hv(uIdB$%Jd+LOx^QZNe4Y#C zdT=IyT0!|xt`BDhh+D`4>gF>k2S7@wYH(IyQVxL>P<1Sz^vR^0z!?a#sEg$%Xb3<# z1yUSNVR01%4I7m}N~?L`bO$bN!KLFuuuaU$J<!s336wv9k<$WX+Hxp=3M1!2P_ecW z%Adi=c@5<7)lmK%M$RpuN@XpSzkrbwJUXxe%3s3B2_7HV1m&+_<kSE~+ZHH)4I}3T zP>64X@;5MYt^>&*04I26<t>byk3ebS3^*k-D<5Fw`~WJ89)Oc5v+@N{>8sDrz#yIi zs;-`a)0`~hWKh2i(ocmAP=W@2EX5cY<aV$!Ffej}k~?UKS8f?-c!2{X16n01e+4v} z!Ud9TWnf^C2gM;HH;B6�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 BEbRaQ literal 0 HcmV?d00001 diff --git a/yaml/tests/.libs/run-emitter b/yaml/tests/.libs/run-emitter new file mode 100755 index 0000000000000000000000000000000000000000..92b3d0d08b22c7c95ccc0ad7a2968116a724b35e GIT binary patch literal 29628 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 Z^wg60g5>y;jMBVpy`&20Y%0jP3;^VD;Ftga literal 0 HcmV?d00001 diff --git a/yaml/tests/.libs/run-parser b/yaml/tests/.libs/run-parser new file mode 100755 index 0000000000000000000000000000000000000000..ef2dcfbdc9bf4ebea68cf1299a375cbcae6dfba9 GIT binary patch literal 17435 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 literal 0 HcmV?d00001 diff --git a/yaml/tests/.libs/run-scanner b/yaml/tests/.libs/run-scanner new file mode 100755 index 0000000000000000000000000000000000000000..75b839d240ea7db98f754c246e47b3d79a14e088 GIT binary patch literal 16019 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 literal 0 HcmV?d00001 diff --git a/yaml/tests/Makefile b/yaml/tests/Makefile new file mode 100644 index 00000000..2210d835 --- /dev/null +++ b/yaml/tests/Makefile @@ -0,0 +1,564 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# tests/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/yaml +pkglibdir = $(libdir)/yaml +pkgincludedir = $(includedir)/yaml +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = i686-pc-linux-gnu +host_triplet = i686-pc-linux-gnu +check_PROGRAMS = test-version$(EXEEXT) test-reader$(EXEEXT) +noinst_PROGRAMS = run-scanner$(EXEEXT) run-parser$(EXEEXT) \ + run-emitter$(EXEEXT) example-reformatter$(EXEEXT) \ + example-deconstructor$(EXEEXT) +subdir = tests +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +PROGRAMS = $(noinst_PROGRAMS) +example_deconstructor_SOURCES = example-deconstructor.c +example_deconstructor_OBJECTS = example-deconstructor.$(OBJEXT) +example_deconstructor_LDADD = $(LDADD) +example_deconstructor_DEPENDENCIES = $(top_builddir)/src/libyaml.la +example_reformatter_SOURCES = example-reformatter.c +example_reformatter_OBJECTS = example-reformatter.$(OBJEXT) +example_reformatter_LDADD = $(LDADD) +example_reformatter_DEPENDENCIES = $(top_builddir)/src/libyaml.la +run_emitter_SOURCES = run-emitter.c +run_emitter_OBJECTS = run-emitter.$(OBJEXT) +run_emitter_LDADD = $(LDADD) +run_emitter_DEPENDENCIES = $(top_builddir)/src/libyaml.la +run_parser_SOURCES = run-parser.c +run_parser_OBJECTS = run-parser.$(OBJEXT) +run_parser_LDADD = $(LDADD) +run_parser_DEPENDENCIES = $(top_builddir)/src/libyaml.la +run_scanner_SOURCES = run-scanner.c +run_scanner_OBJECTS = run-scanner.$(OBJEXT) +run_scanner_LDADD = $(LDADD) +run_scanner_DEPENDENCIES = $(top_builddir)/src/libyaml.la +test_reader_SOURCES = test-reader.c +test_reader_OBJECTS = test-reader.$(OBJEXT) +test_reader_LDADD = $(LDADD) +test_reader_DEPENDENCIES = $(top_builddir)/src/libyaml.la +test_version_SOURCES = test-version.c +test_version_OBJECTS = test-version.$(OBJEXT) +test_version_LDADD = $(LDADD) +test_version_DEPENDENCIES = $(top_builddir)/src/libyaml.la +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = example-deconstructor.c example-reformatter.c run-emitter.c \ + run-parser.c run-scanner.c test-reader.c test-version.c +DIST_SOURCES = example-deconstructor.c example-reformatter.c \ + run-emitter.c run-parser.c run-scanner.c test-reader.c \ + test-version.c +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /usr/local/src/yaml/config/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /usr/local/src/yaml/config/missing --run tar +AR = ar +AUTOCONF = ${SHELL} /usr/local/src/yaml/config/missing --run autoconf +AUTOHEADER = ${SHELL} /usr/local/src/yaml/config/missing --run autoheader +AUTOMAKE = ${SHELL} /usr/local/src/yaml/config/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DOXYGEN = true +DOXYGEN_FALSE = # +DOXYGEN_TRUE = +ECHO = echo +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +F77 = g77 +FFLAGS = -g -O2 +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = +LIBOBJS = +LIBS = +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LN_S = ln -s +LTLIBOBJS = +MAKEINFO = ${SHELL} /usr/local/src/yaml/config/missing --run makeinfo +OBJEXT = o +PACKAGE = yaml +PACKAGE_BUGREPORT = http://pyyaml.org/newticket?component=libyaml +PACKAGE_NAME = yaml +PACKAGE_STRING = yaml 0.0.1 +PACKAGE_TARNAME = yaml +PACKAGE_VERSION = 0.0.1 +PATH_SEPARATOR = : +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = strip +VERSION = 0.0.1 +YAML_LT_AGE = 0 +YAML_LT_CURRENT = 0 +YAML_LT_RELEASE = 0 +YAML_LT_REVISION = 0 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_F77 = g77 +ac_ct_RANLIB = ranlib +ac_ct_STRIP = strip +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = i686-pc-linux-gnu +build_alias = +build_cpu = i686 +build_os = linux-gnu +build_vendor = pc +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = i686-pc-linux-gnu +host_alias = +host_cpu = i686 +host_os = linux-gnu +host_vendor = pc +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /usr/local/src/yaml/config/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +sysconfdir = ${prefix}/etc +target_alias = +AM_CPPFLAGS = -I$(top_srcdir)/include +AM_CFLAGS = -Wno-pointer-sign +LDADD = $(top_builddir)/src/libyaml.la +TESTS = test-version test-reader +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign tests/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +example-deconstructor$(EXEEXT): $(example_deconstructor_OBJECTS) $(example_deconstructor_DEPENDENCIES) + @rm -f example-deconstructor$(EXEEXT) + $(LINK) $(example_deconstructor_LDFLAGS) $(example_deconstructor_OBJECTS) $(example_deconstructor_LDADD) $(LIBS) +example-reformatter$(EXEEXT): $(example_reformatter_OBJECTS) $(example_reformatter_DEPENDENCIES) + @rm -f example-reformatter$(EXEEXT) + $(LINK) $(example_reformatter_LDFLAGS) $(example_reformatter_OBJECTS) $(example_reformatter_LDADD) $(LIBS) +run-emitter$(EXEEXT): $(run_emitter_OBJECTS) $(run_emitter_DEPENDENCIES) + @rm -f run-emitter$(EXEEXT) + $(LINK) $(run_emitter_LDFLAGS) $(run_emitter_OBJECTS) $(run_emitter_LDADD) $(LIBS) +run-parser$(EXEEXT): $(run_parser_OBJECTS) $(run_parser_DEPENDENCIES) + @rm -f run-parser$(EXEEXT) + $(LINK) $(run_parser_LDFLAGS) $(run_parser_OBJECTS) $(run_parser_LDADD) $(LIBS) +run-scanner$(EXEEXT): $(run_scanner_OBJECTS) $(run_scanner_DEPENDENCIES) + @rm -f run-scanner$(EXEEXT) + $(LINK) $(run_scanner_LDFLAGS) $(run_scanner_OBJECTS) $(run_scanner_LDADD) $(LIBS) +test-reader$(EXEEXT): $(test_reader_OBJECTS) $(test_reader_DEPENDENCIES) + @rm -f test-reader$(EXEEXT) + $(LINK) $(test_reader_LDFLAGS) $(test_reader_OBJECTS) $(test_reader_LDADD) $(LIBS) +test-version$(EXEEXT): $(test_version_OBJECTS) $(test_version_DEPENDENCIES) + @rm -f test-version$(EXEEXT) + $(LINK) $(test_version_LDFLAGS) $(test_version_OBJECTS) $(test_version_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/example-deconstructor.Po +include ./$(DEPDIR)/example-reformatter.Po +include ./$(DEPDIR)/run-emitter.Po +include ./$(DEPDIR)/run-parser.Po +include ./$(DEPDIR)/run-scanner.Po +include ./$(DEPDIR)/test-reader.Po +include ./$(DEPDIR)/test-version.Po + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: + if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +check-TESTS: $(TESTS) + @failed=0; all=0; xfail=0; xpass=0; skip=0; \ + srcdir=$(srcdir); export srcdir; \ + list='$(TESTS)'; \ + if test -n "$$list"; then \ + for tst in $$list; do \ + if test -f ./$$tst; then dir=./; \ + elif test -f $$tst; then dir=; \ + else dir="$(srcdir)/"; fi; \ + if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *" $$tst "*) \ + xpass=`expr $$xpass + 1`; \ + failed=`expr $$failed + 1`; \ + echo "XPASS: $$tst"; \ + ;; \ + *) \ + echo "PASS: $$tst"; \ + ;; \ + esac; \ + elif test $$? -ne 77; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *" $$tst "*) \ + xfail=`expr $$xfail + 1`; \ + echo "XFAIL: $$tst"; \ + ;; \ + *) \ + failed=`expr $$failed + 1`; \ + echo "FAIL: $$tst"; \ + ;; \ + esac; \ + else \ + skip=`expr $$skip + 1`; \ + echo "SKIP: $$tst"; \ + fi; \ + done; \ + if test "$$failed" -eq 0; then \ + if test "$$xfail" -eq 0; then \ + banner="All $$all tests passed"; \ + else \ + banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ + fi; \ + else \ + if test "$$xpass" -eq 0; then \ + banner="$$failed of $$all tests failed"; \ + else \ + banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ + fi; \ + fi; \ + dashes="$$banner"; \ + skipped=""; \ + if test "$$skip" -ne 0; then \ + skipped="($$skip tests were not run)"; \ + test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$skipped"; \ + fi; \ + report=""; \ + if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ + report="Please report to $(PACKAGE_BUGREPORT)"; \ + test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$report"; \ + fi; \ + dashes=`echo "$$dashes" | sed s/./=/g`; \ + echo "$$dashes"; \ + echo "$$banner"; \ + test -z "$$skipped" || echo "$$skipped"; \ + test -z "$$report" || echo "$$report"; \ + echo "$$dashes"; \ + test "$$failed" -eq 0; \ + else :; fi + +distdir: $(DISTFILES) + @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 \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ + clean-noinstPROGRAMS mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ + clean-checkPROGRAMS clean-generic clean-libtool \ + clean-noinstPROGRAMS ctags distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags 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. +.NOEXPORT: diff --git a/yaml/tests/Makefile.am b/yaml/tests/Makefile.am new file mode 100644 index 00000000..e7880d65 --- /dev/null +++ b/yaml/tests/Makefile.am @@ -0,0 +1,6 @@ +AM_CPPFLAGS = -I$(top_srcdir)/include +AM_CFLAGS = -Wno-pointer-sign +LDADD = $(top_builddir)/src/libyaml.la +TESTS = test-version test-reader +check_PROGRAMS = test-version test-reader +noinst_PROGRAMS = run-scanner run-parser run-emitter example-reformatter example-deconstructor diff --git a/yaml/tests/Makefile.in b/yaml/tests/Makefile.in new file mode 100644 index 00000000..bbec7e00 --- /dev/null +++ b/yaml/tests/Makefile.in @@ -0,0 +1,564 @@ +# 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 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +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 +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +check_PROGRAMS = test-version$(EXEEXT) test-reader$(EXEEXT) +noinst_PROGRAMS = run-scanner$(EXEEXT) run-parser$(EXEEXT) \ + run-emitter$(EXEEXT) example-reformatter$(EXEEXT) \ + example-deconstructor$(EXEEXT) +subdir = tests +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +PROGRAMS = $(noinst_PROGRAMS) +example_deconstructor_SOURCES = example-deconstructor.c +example_deconstructor_OBJECTS = example-deconstructor.$(OBJEXT) +example_deconstructor_LDADD = $(LDADD) +example_deconstructor_DEPENDENCIES = $(top_builddir)/src/libyaml.la +example_reformatter_SOURCES = example-reformatter.c +example_reformatter_OBJECTS = example-reformatter.$(OBJEXT) +example_reformatter_LDADD = $(LDADD) +example_reformatter_DEPENDENCIES = $(top_builddir)/src/libyaml.la +run_emitter_SOURCES = run-emitter.c +run_emitter_OBJECTS = run-emitter.$(OBJEXT) +run_emitter_LDADD = $(LDADD) +run_emitter_DEPENDENCIES = $(top_builddir)/src/libyaml.la +run_parser_SOURCES = run-parser.c +run_parser_OBJECTS = run-parser.$(OBJEXT) +run_parser_LDADD = $(LDADD) +run_parser_DEPENDENCIES = $(top_builddir)/src/libyaml.la +run_scanner_SOURCES = run-scanner.c +run_scanner_OBJECTS = run-scanner.$(OBJEXT) +run_scanner_LDADD = $(LDADD) +run_scanner_DEPENDENCIES = $(top_builddir)/src/libyaml.la +test_reader_SOURCES = test-reader.c +test_reader_OBJECTS = test-reader.$(OBJEXT) +test_reader_LDADD = $(LDADD) +test_reader_DEPENDENCIES = $(top_builddir)/src/libyaml.la +test_version_SOURCES = test-version.c +test_version_OBJECTS = test-version.$(OBJEXT) +test_version_LDADD = $(LDADD) +test_version_DEPENDENCIES = $(top_builddir)/src/libyaml.la +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = example-deconstructor.c example-reformatter.c run-emitter.c \ + run-parser.c run-scanner.c test-reader.c test-version.c +DIST_SOURCES = example-deconstructor.c example-reformatter.c \ + run-emitter.c run-parser.c run-scanner.c test-reader.c \ + test-version.c +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DOXYGEN = @DOXYGEN@ +DOXYGEN_FALSE = @DOXYGEN_FALSE@ +DOXYGEN_TRUE = @DOXYGEN_TRUE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +YAML_LT_AGE = @YAML_LT_AGE@ +YAML_LT_CURRENT = @YAML_LT_CURRENT@ +YAML_LT_RELEASE = @YAML_LT_RELEASE@ +YAML_LT_REVISION = @YAML_LT_REVISION@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AM_CPPFLAGS = -I$(top_srcdir)/include +AM_CFLAGS = -Wno-pointer-sign +LDADD = $(top_builddir)/src/libyaml.la +TESTS = test-version test-reader +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign tests/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +example-deconstructor$(EXEEXT): $(example_deconstructor_OBJECTS) $(example_deconstructor_DEPENDENCIES) + @rm -f example-deconstructor$(EXEEXT) + $(LINK) $(example_deconstructor_LDFLAGS) $(example_deconstructor_OBJECTS) $(example_deconstructor_LDADD) $(LIBS) +example-reformatter$(EXEEXT): $(example_reformatter_OBJECTS) $(example_reformatter_DEPENDENCIES) + @rm -f example-reformatter$(EXEEXT) + $(LINK) $(example_reformatter_LDFLAGS) $(example_reformatter_OBJECTS) $(example_reformatter_LDADD) $(LIBS) +run-emitter$(EXEEXT): $(run_emitter_OBJECTS) $(run_emitter_DEPENDENCIES) + @rm -f run-emitter$(EXEEXT) + $(LINK) $(run_emitter_LDFLAGS) $(run_emitter_OBJECTS) $(run_emitter_LDADD) $(LIBS) +run-parser$(EXEEXT): $(run_parser_OBJECTS) $(run_parser_DEPENDENCIES) + @rm -f run-parser$(EXEEXT) + $(LINK) $(run_parser_LDFLAGS) $(run_parser_OBJECTS) $(run_parser_LDADD) $(LIBS) +run-scanner$(EXEEXT): $(run_scanner_OBJECTS) $(run_scanner_DEPENDENCIES) + @rm -f run-scanner$(EXEEXT) + $(LINK) $(run_scanner_LDFLAGS) $(run_scanner_OBJECTS) $(run_scanner_LDADD) $(LIBS) +test-reader$(EXEEXT): $(test_reader_OBJECTS) $(test_reader_DEPENDENCIES) + @rm -f test-reader$(EXEEXT) + $(LINK) $(test_reader_LDFLAGS) $(test_reader_OBJECTS) $(test_reader_LDADD) $(LIBS) +test-version$(EXEEXT): $(test_version_OBJECTS) $(test_version_DEPENDENCIES) + @rm -f test-version$(EXEEXT) + $(LINK) $(test_version_LDFLAGS) $(test_version_OBJECTS) $(test_version_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example-deconstructor.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example-reformatter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-emitter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-parser.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-scanner.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-reader.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-version.Po@am__quote@ + +.c.o: +@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@ 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) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +check-TESTS: $(TESTS) + @failed=0; all=0; xfail=0; xpass=0; skip=0; \ + srcdir=$(srcdir); export srcdir; \ + list='$(TESTS)'; \ + if test -n "$$list"; then \ + for tst in $$list; do \ + if test -f ./$$tst; then dir=./; \ + elif test -f $$tst; then dir=; \ + else dir="$(srcdir)/"; fi; \ + if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *" $$tst "*) \ + xpass=`expr $$xpass + 1`; \ + failed=`expr $$failed + 1`; \ + echo "XPASS: $$tst"; \ + ;; \ + *) \ + echo "PASS: $$tst"; \ + ;; \ + esac; \ + elif test $$? -ne 77; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *" $$tst "*) \ + xfail=`expr $$xfail + 1`; \ + echo "XFAIL: $$tst"; \ + ;; \ + *) \ + failed=`expr $$failed + 1`; \ + echo "FAIL: $$tst"; \ + ;; \ + esac; \ + else \ + skip=`expr $$skip + 1`; \ + echo "SKIP: $$tst"; \ + fi; \ + done; \ + if test "$$failed" -eq 0; then \ + if test "$$xfail" -eq 0; then \ + banner="All $$all tests passed"; \ + else \ + banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ + fi; \ + else \ + if test "$$xpass" -eq 0; then \ + banner="$$failed of $$all tests failed"; \ + else \ + banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ + fi; \ + fi; \ + dashes="$$banner"; \ + skipped=""; \ + if test "$$skip" -ne 0; then \ + skipped="($$skip tests were not run)"; \ + test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$skipped"; \ + fi; \ + report=""; \ + if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ + report="Please report to $(PACKAGE_BUGREPORT)"; \ + test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$report"; \ + fi; \ + dashes=`echo "$$dashes" | sed s/./=/g`; \ + echo "$$dashes"; \ + echo "$$banner"; \ + test -z "$$skipped" || echo "$$skipped"; \ + test -z "$$report" || echo "$$report"; \ + echo "$$dashes"; \ + test "$$failed" -eq 0; \ + else :; fi + +distdir: $(DISTFILES) + @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 \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ + clean-noinstPROGRAMS mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ + clean-checkPROGRAMS clean-generic clean-libtool \ + clean-noinstPROGRAMS ctags distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags 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. +.NOEXPORT: diff --git a/yaml/tests/example-deconstructor b/yaml/tests/example-deconstructor new file mode 100755 index 00000000..ea60e11f --- /dev/null +++ b/yaml/tests/example-deconstructor @@ -0,0 +1,117 @@ +#! /bin/sh + +# example-deconstructor - temporary wrapper script for .libs/example-deconstructor +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06) +# +# The example-deconstructor program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /usr/local/src/yaml/tests; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:.\"; export PATH; gcc -Wno-pointer-sign -g -O2 -o \$progdir/\$file example-deconstructor.o ../src/.libs/libyaml.so -Wl,--rpath -Wl,/usr/local/src/yaml/src/.libs)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variable: + notinst_deplibs=' ../src/libyaml.la' +else + # When we are sourced in execute mode, $file and $echo are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + echo="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : + else + # Restart under the correct shell, and then maybe $echo will work. + exec /bin/sh "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'example-deconstructor' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || \ + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $echo "$0: cannot exec $program ${1+"$@"}" + exit 1 + fi + else + # The program doesn't exist. + $echo "$0: error: \`$progdir/$program' does not exist" 1>&2 + $echo "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/yaml/tests/example-deconstructor.c b/yaml/tests/example-deconstructor.c new file mode 100644 index 00000000..57e6693c --- /dev/null +++ b/yaml/tests/example-deconstructor.c @@ -0,0 +1,1130 @@ + +#include <yaml.h> + +#include <stdlib.h> +#include <stdio.h> + +int +main(int argc, char *argv[]) +{ + int help = 0; + int canonical = 0; + int unicode = 0; + int k; + int done = 0; + + yaml_parser_t parser; + yaml_emitter_t emitter; + yaml_event_t input_event; + yaml_event_t output_event; + + /* Clear the objects. */ + + memset(&parser, 0, sizeof(parser)); + memset(&emitter, 0, sizeof(emitter)); + memset(&input_event, 0, sizeof(input_event)); + memset(&output_event, 0, sizeof(output_event)); + + /* Analyze command line options. */ + + for (k = 1; k < argc; k ++) + { + if (strcmp(argv[k], "-h") == 0 + || strcmp(argv[k], "--help") == 0) { + help = 1; + } + + else if (strcmp(argv[k], "-c") == 0 + || strcmp(argv[k], "--canonical") == 0) { + canonical = 1; + } + + else if (strcmp(argv[k], "-u") == 0 + || strcmp(argv[k], "--unicode") == 0) { + unicode = 1; + } + + else { + fprintf(stderr, "Unrecognized option: %s\n" + "Try `%s --help` for more information.\n", + argv[k], argv[0]); + return 1; + } + } + + /* Display the help string. */ + + if (help) + { + printf("%s <input\n" + "or\n%s -h | --help\nDeconstruct a YAML stream\n\nOptions:\n" + "-h, --help\t\tdisplay this help and exit\n" + "-c, --canonical\t\toutput in the canonical YAML format\n" + "-u, --unicode\t\toutput unescaped non-ASCII characters\n", + argv[0], argv[0]); + return 0; + } + + /* Initialize the parser and emitter objects. */ + + if (!yaml_parser_initialize(&parser)) { + fprintf(stderr, "Could not initialize the parser object\n"); + return 1; + } + + if (!yaml_emitter_initialize(&emitter)) { + yaml_parser_delete(&parser); + fprintf(stderr, "Could not inialize the emitter object\n"); + return 1; + } + + /* Set the parser parameters. */ + + yaml_parser_set_input_file(&parser, stdin); + + /* Set the emitter parameters. */ + + yaml_emitter_set_output_file(&emitter, stdout); + + yaml_emitter_set_canonical(&emitter, canonical); + yaml_emitter_set_unicode(&emitter, unicode); + + /* Create and emit the STREAM-START event. */ + + if (!yaml_stream_start_event_initialize(&output_event, YAML_UTF8_ENCODING)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Create and emit the DOCUMENT-START event. */ + + if (!yaml_document_start_event_initialize(&output_event, + NULL, NULL, NULL, 0)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Create and emit the SEQUENCE-START event. */ + + if (!yaml_sequence_start_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:seq", 1, + YAML_BLOCK_SEQUENCE_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Loop through the input events. */ + + while (!done) + { + /* Get the next event. */ + + if (!yaml_parser_parse(&parser, &input_event)) + goto parser_error; + + /* Check if this is the stream end. */ + + if (input_event.type == YAML_STREAM_END_EVENT) { + done = 1; + } + + /* Create and emit a MAPPING-START event. */ + + if (!yaml_mapping_start_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:map", 1, + YAML_BLOCK_MAPPING_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Analyze the event. */ + + switch (input_event.type) + { + case YAML_STREAM_START_EVENT: + + /* Write 'type'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "type", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'STREAM-START'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "STREAM-START", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Display encoding information. */ + + if (input_event.data.stream_start.encoding) + { + yaml_encoding_t encoding + = input_event.data.stream_start.encoding; + + /* Write 'encoding'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "encoding", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the stream encoding. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + (encoding == YAML_UTF8_ENCODING ? "utf-8" : + encoding == YAML_UTF16LE_ENCODING ? "utf-16-le" : + encoding == YAML_UTF16BE_ENCODING ? "utf-16-be" : + "unknown"), -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + break; + + case YAML_STREAM_END_EVENT: + + /* Write 'type'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "type", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'STREAM-END'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "STREAM-END", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + break; + + case YAML_DOCUMENT_START_EVENT: + + /* Write 'type'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "type", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'DOCUMENT-START'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "DOCUMENT-START", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Display the document version numbers. */ + + if (input_event.data.document_start.version_directive) + { + yaml_version_directive_t *version + = input_event.data.document_start.version_directive; + char number[64]; + + /* Write 'version'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "version", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write '{'. */ + + if (!yaml_mapping_start_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:map", 1, + YAML_FLOW_MAPPING_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'major'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "major", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write a number. */ + + sprintf(number, "%d", version->major); + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:int", number, -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'minor'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "minor", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write a number. */ + + sprintf(number, "%d", version->minor); + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:int", number, -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write '}'. */ + + if (!yaml_mapping_end_event_initialize(&output_event)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + /* Display the document tag directives. */ + + if (input_event.data.document_start.tag_directives.start + != input_event.data.document_start.tag_directives.end) + { + yaml_tag_directive_t *tag; + + /* Write 'tags'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "tags", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Start a block sequence. */ + + if (!yaml_sequence_start_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:seq", 1, + YAML_BLOCK_SEQUENCE_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + for (tag = input_event.data.document_start.tag_directives.start; + tag != input_event.data.document_start.tag_directives.end; + tag ++) + { + /* Write '{'. */ + + if (!yaml_mapping_start_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:map", 1, + YAML_FLOW_MAPPING_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'handle'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "handle", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the tag directive handle. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + tag->handle, -1, + 0, 1, YAML_DOUBLE_QUOTED_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'prefix'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "prefix", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the tag directive prefix. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + tag->prefix, -1, + 0, 1, YAML_DOUBLE_QUOTED_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write '}'. */ + + if (!yaml_mapping_end_event_initialize(&output_event)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + /* End a block sequence. */ + + if (!yaml_sequence_end_event_initialize(&output_event)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + /* Write 'implicit'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "implicit", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write if the document is implicit. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:bool", + (input_event.data.document_start.implicit ? + "true" : "false"), -1, + 1, 0, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + break; + + case YAML_DOCUMENT_END_EVENT: + + /* Write 'type'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "type", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'DOCUMENT-END'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "DOCUMENT-END", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'implicit'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "implicit", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write if the document is implicit. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:bool", + (input_event.data.document_end.implicit ? + "true" : "false"), -1, + 1, 0, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + break; + + case YAML_ALIAS_EVENT: + + /* Write 'type'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "type", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'ALIAS'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "ALIAS", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'anchor'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "anchor", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the alias anchor. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + input_event.data.alias.anchor, -1, + 0, 1, YAML_DOUBLE_QUOTED_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + break; + + case YAML_SCALAR_EVENT: + + /* Write 'type'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "type", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'SCALAR'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "SCALAR", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Display the scalar anchor. */ + + if (input_event.data.scalar.anchor) + { + /* Write 'anchor'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "anchor", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the scalar anchor. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + input_event.data.scalar.anchor, -1, + 0, 1, YAML_DOUBLE_QUOTED_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + /* Display the scalar tag. */ + + if (input_event.data.scalar.tag) + { + /* Write 'tag'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "tag", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the scalar tag. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + input_event.data.scalar.tag, -1, + 0, 1, YAML_DOUBLE_QUOTED_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + /* Display the scalar value. */ + + /* Write 'value'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "value", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the scalar value. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + input_event.data.scalar.value, + input_event.data.scalar.length, + 0, 1, YAML_DOUBLE_QUOTED_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Display if the scalar tag is implicit. */ + + /* Write 'implicit'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "implicit", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write '{'. */ + + if (!yaml_mapping_start_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:map", 1, + YAML_FLOW_MAPPING_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'plain'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "plain", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write if the scalar is implicit in the plain style. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:bool", + (input_event.data.scalar.plain_implicit ? + "true" : "false"), -1, + 1, 0, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'quoted'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "non-plain", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write if the scalar is implicit in a non-plain style. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:bool", + (input_event.data.scalar.quoted_implicit ? + "true" : "false"), -1, + 1, 0, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write '}'. */ + + if (!yaml_mapping_end_event_initialize(&output_event)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Display the style information. */ + + if (input_event.data.scalar.style) + { + yaml_scalar_style_t style = input_event.data.scalar.style; + + /* Write 'style'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "style", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the scalar style. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + (style == YAML_PLAIN_SCALAR_STYLE ? "plain" : + style == YAML_SINGLE_QUOTED_SCALAR_STYLE ? + "single-quoted" : + style == YAML_DOUBLE_QUOTED_SCALAR_STYLE ? + "double-quoted" : + style == YAML_LITERAL_SCALAR_STYLE ? "literal" : + style == YAML_FOLDED_SCALAR_STYLE ? "folded" : + "unknown"), -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + break; + + case YAML_SEQUENCE_START_EVENT: + + /* Write 'type'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "type", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'SEQUENCE-START'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "SEQUENCE-START", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Display the sequence anchor. */ + + if (input_event.data.sequence_start.anchor) + { + /* Write 'anchor'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "anchor", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the sequence anchor. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + input_event.data.sequence_start.anchor, -1, + 0, 1, YAML_DOUBLE_QUOTED_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + /* Display the sequence tag. */ + + if (input_event.data.sequence_start.tag) + { + /* Write 'tag'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "tag", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the sequence tag. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + input_event.data.sequence_start.tag, -1, + 0, 1, YAML_DOUBLE_QUOTED_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + /* Write 'implicit'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "implicit", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write if the sequence tag is implicit. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:bool", + (input_event.data.sequence_start.implicit ? + "true" : "false"), -1, + 1, 0, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Display the style information. */ + + if (input_event.data.sequence_start.style) + { + yaml_sequence_style_t style + = input_event.data.sequence_start.style; + + /* Write 'style'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "style", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the scalar style. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + (style == YAML_BLOCK_SEQUENCE_STYLE ? "block" : + style == YAML_FLOW_SEQUENCE_STYLE ? "flow" : + "unknown"), -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + break; + + case YAML_SEQUENCE_END_EVENT: + + /* Write 'type'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "type", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'SEQUENCE-END'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "SEQUENCE-END", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + break; + + case YAML_MAPPING_START_EVENT: + + /* Write 'type'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "type", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'MAPPING-START'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "MAPPING-START", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Display the mapping anchor. */ + + if (input_event.data.mapping_start.anchor) + { + /* Write 'anchor'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "anchor", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the mapping anchor. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + input_event.data.mapping_start.anchor, -1, + 0, 1, YAML_DOUBLE_QUOTED_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + /* Display the mapping tag. */ + + if (input_event.data.mapping_start.tag) + { + /* Write 'tag'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "tag", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the mapping tag. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + input_event.data.mapping_start.tag, -1, + 0, 1, YAML_DOUBLE_QUOTED_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + /* Write 'implicit'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "implicit", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write if the mapping tag is implicit. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:bool", + (input_event.data.mapping_start.implicit ? + "true" : "false"), -1, + 1, 0, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Display the style information. */ + + if (input_event.data.mapping_start.style) + { + yaml_mapping_style_t style + = input_event.data.mapping_start.style; + + /* Write 'style'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "style", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write the scalar style. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", + (style == YAML_BLOCK_MAPPING_STYLE ? "block" : + style == YAML_FLOW_MAPPING_STYLE ? "flow" : + "unknown"), -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + break; + + case YAML_MAPPING_END_EVENT: + + /* Write 'type'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "type", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Write 'MAPPING-END'. */ + + if (!yaml_scalar_event_initialize(&output_event, + NULL, "tag:yaml.org,2002:str", "MAPPING-END", -1, + 1, 1, YAML_PLAIN_SCALAR_STYLE)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + break; + + default: + /* It couldn't really happen. */ + break; + } + + /* Delete the event object. */ + + yaml_event_delete(&input_event); + + /* Create and emit a MAPPING-END event. */ + + if (!yaml_mapping_end_event_initialize(&output_event)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + } + + /* Create and emit the SEQUENCE-END event. */ + + if (!yaml_sequence_end_event_initialize(&output_event)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Create and emit the DOCUMENT-END event. */ + + if (!yaml_document_end_event_initialize(&output_event, 0)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + /* Create and emit the STREAM-END event. */ + + if (!yaml_stream_end_event_initialize(&output_event)) + goto event_error; + if (!yaml_emitter_emit(&emitter, &output_event)) + goto emitter_error; + + yaml_parser_delete(&parser); + yaml_emitter_delete(&emitter); + + return 0; + +parser_error: + + /* Display a parser error message. */ + + switch (parser.error) + { + case YAML_MEMORY_ERROR: + fprintf(stderr, "Memory error: Not enough memory for parsing\n"); + break; + + case YAML_READER_ERROR: + if (parser.problem_value != -1) { + fprintf(stderr, "Reader error: %s: #%X at %d\n", parser.problem, + parser.problem_value, parser.problem_offset); + } + else { + fprintf(stderr, "Reader error: %s at %d\n", parser.problem, + parser.problem_offset); + } + break; + + case YAML_SCANNER_ERROR: + if (parser.context) { + fprintf(stderr, "Scanner error: %s at line %d, column %d\n" + "%s at line %d, column %d\n", parser.context, + parser.context_mark.line+1, parser.context_mark.column+1, + parser.problem, parser.problem_mark.line+1, + parser.problem_mark.column+1); + } + else { + fprintf(stderr, "Scanner error: %s at line %d, column %d\n", + parser.problem, parser.problem_mark.line+1, + parser.problem_mark.column+1); + } + break; + + case YAML_PARSER_ERROR: + if (parser.context) { + fprintf(stderr, "Parser error: %s at line %d, column %d\n" + "%s at line %d, column %d\n", parser.context, + parser.context_mark.line+1, parser.context_mark.column+1, + parser.problem, parser.problem_mark.line+1, + parser.problem_mark.column+1); + } + else { + fprintf(stderr, "Parser error: %s at line %d, column %d\n", + parser.problem, parser.problem_mark.line+1, + parser.problem_mark.column+1); + } + break; + + default: + /* Couldn't happen. */ + fprintf(stderr, "Internal error\n"); + break; + } + + yaml_event_delete(&input_event); + yaml_event_delete(&output_event); + yaml_parser_delete(&parser); + yaml_emitter_delete(&emitter); + + return 1; + +emitter_error: + + /* Display an emitter error message. */ + + switch (emitter.error) + { + case YAML_MEMORY_ERROR: + fprintf(stderr, "Memory error: Not enough memory for emitting\n"); + break; + + case YAML_WRITER_ERROR: + fprintf(stderr, "Writer error: %s\n", emitter.problem); + break; + + case YAML_EMITTER_ERROR: + fprintf(stderr, "Emitter error: %s\n", emitter.problem); + break; + + default: + /* Couldn't happen. */ + fprintf(stderr, "Internal error\n"); + break; + } + + yaml_event_delete(&input_event); + yaml_event_delete(&output_event); + yaml_parser_delete(&parser); + yaml_emitter_delete(&emitter); + + return 1; + +event_error: + + fprintf(stderr, "Memory error: Not enough memory for creating an event\n"); + + yaml_event_delete(&input_event); + yaml_event_delete(&output_event); + yaml_parser_delete(&parser); + yaml_emitter_delete(&emitter); + + return 1; +} + diff --git a/yaml/tests/example-reformatter b/yaml/tests/example-reformatter new file mode 100755 index 00000000..2b1380a9 --- /dev/null +++ b/yaml/tests/example-reformatter @@ -0,0 +1,117 @@ +#! /bin/sh + +# example-reformatter - temporary wrapper script for .libs/example-reformatter +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06) +# +# The example-reformatter program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /usr/local/src/yaml/tests; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:.\"; export PATH; gcc -Wno-pointer-sign -g -O2 -o \$progdir/\$file example-reformatter.o ../src/.libs/libyaml.so -Wl,--rpath -Wl,/usr/local/src/yaml/src/.libs)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variable: + notinst_deplibs=' ../src/libyaml.la' +else + # When we are sourced in execute mode, $file and $echo are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + echo="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : + else + # Restart under the correct shell, and then maybe $echo will work. + exec /bin/sh "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'example-reformatter' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || \ + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $echo "$0: cannot exec $program ${1+"$@"}" + exit 1 + fi + else + # The program doesn't exist. + $echo "$0: error: \`$progdir/$program' does not exist" 1>&2 + $echo "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/yaml/tests/example-reformatter.c b/yaml/tests/example-reformatter.c new file mode 100644 index 00000000..946d5561 --- /dev/null +++ b/yaml/tests/example-reformatter.c @@ -0,0 +1,202 @@ + +#include <yaml.h> + +#include <stdlib.h> +#include <stdio.h> + +int +main(int argc, char *argv[]) +{ + int help = 0; + int canonical = 0; + int unicode = 0; + int k; + int done = 0; + + yaml_parser_t parser; + yaml_emitter_t emitter; + yaml_event_t event; + + /* Clear the objects. */ + + memset(&parser, 0, sizeof(parser)); + memset(&emitter, 0, sizeof(emitter)); + memset(&event, 0, sizeof(event)); + + /* Analyze command line options. */ + + for (k = 1; k < argc; k ++) + { + if (strcmp(argv[k], "-h") == 0 + || strcmp(argv[k], "--help") == 0) { + help = 1; + } + + else if (strcmp(argv[k], "-c") == 0 + || strcmp(argv[k], "--canonical") == 0) { + canonical = 1; + } + + else if (strcmp(argv[k], "-u") == 0 + || strcmp(argv[k], "--unicode") == 0) { + unicode = 1; + } + + else { + fprintf(stderr, "Unrecognized option: %s\n" + "Try `%s --help` for more information.\n", + argv[k], argv[0]); + return 1; + } + } + + /* Display the help string. */ + + if (help) + { + printf("%s [--canonical] [--unicode] <input >output\n" + "or\n%s -h | --help\nReformat a YAML stream\n\nOptions:\n" + "-h, --help\t\tdisplay this help and exit\n" + "-c, --canonical\t\toutput in the canonical YAML format\n" + "-u, --unicode\t\toutput unescaped non-ASCII characters\n", + argv[0], argv[0]); + return 0; + } + + /* Initialize the parser and emitter objects. */ + + if (!yaml_parser_initialize(&parser)) + goto parser_error; + + if (!yaml_emitter_initialize(&emitter)) + goto emitter_error; + + /* Set the parser parameters. */ + + yaml_parser_set_input_file(&parser, stdin); + + /* Set the emitter parameters. */ + + yaml_emitter_set_output_file(&emitter, stdout); + + yaml_emitter_set_canonical(&emitter, canonical); + yaml_emitter_set_unicode(&emitter, unicode); + + /* The main loop. */ + + while (!done) + { + /* Get the next event. */ + + if (!yaml_parser_parse(&parser, &event)) + goto parser_error; + + /* Check if this is the stream end. */ + + if (event.type == YAML_STREAM_END_EVENT) { + done = 1; + } + + /* Emit the event. */ + + if (!yaml_emitter_emit(&emitter, &event)) + goto emitter_error; + } + + yaml_parser_delete(&parser); + yaml_emitter_delete(&emitter); + + return 0; + +parser_error: + + /* Display a parser error message. */ + + switch (parser.error) + { + case YAML_MEMORY_ERROR: + fprintf(stderr, "Memory error: Not enough memory for parsing\n"); + break; + + case YAML_READER_ERROR: + if (parser.problem_value != -1) { + fprintf(stderr, "Reader error: %s: #%X at %d\n", parser.problem, + parser.problem_value, parser.problem_offset); + } + else { + fprintf(stderr, "Reader error: %s at %d\n", parser.problem, + parser.problem_offset); + } + break; + + case YAML_SCANNER_ERROR: + if (parser.context) { + fprintf(stderr, "Scanner error: %s at line %d, column %d\n" + "%s at line %d, column %d\n", parser.context, + parser.context_mark.line+1, parser.context_mark.column+1, + parser.problem, parser.problem_mark.line+1, + parser.problem_mark.column+1); + } + else { + fprintf(stderr, "Scanner error: %s at line %d, column %d\n", + parser.problem, parser.problem_mark.line+1, + parser.problem_mark.column+1); + } + break; + + case YAML_PARSER_ERROR: + if (parser.context) { + fprintf(stderr, "Parser error: %s at line %d, column %d\n" + "%s at line %d, column %d\n", parser.context, + parser.context_mark.line+1, parser.context_mark.column+1, + parser.problem, parser.problem_mark.line+1, + parser.problem_mark.column+1); + } + else { + fprintf(stderr, "Parser error: %s at line %d, column %d\n", + parser.problem, parser.problem_mark.line+1, + parser.problem_mark.column+1); + } + break; + + default: + /* Couldn't happen. */ + fprintf(stderr, "Internal error\n"); + break; + } + + yaml_parser_delete(&parser); + yaml_emitter_delete(&emitter); + + return 1; + +emitter_error: + + /* Display an emitter error message. */ + + switch (emitter.error) + { + case YAML_MEMORY_ERROR: + fprintf(stderr, "Memory error: Not enough memory for emitting\n"); + break; + + case YAML_WRITER_ERROR: + fprintf(stderr, "Writer error: %s\n", emitter.problem); + break; + + case YAML_EMITTER_ERROR: + fprintf(stderr, "Emitter error: %s\n", emitter.problem); + break; + + default: + /* Couldn't happen. */ + fprintf(stderr, "Internal error\n"); + break; + } + + yaml_parser_delete(&parser); + yaml_emitter_delete(&emitter); + + return 1; +} + diff --git a/yaml/tests/run-emitter b/yaml/tests/run-emitter new file mode 100755 index 00000000..813deda9 --- /dev/null +++ b/yaml/tests/run-emitter @@ -0,0 +1,117 @@ +#! /bin/sh + +# run-emitter - temporary wrapper script for .libs/run-emitter +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06) +# +# The run-emitter program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /usr/local/src/yaml/tests; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:.\"; export PATH; gcc -Wno-pointer-sign -g -O2 -o \$progdir/\$file run-emitter.o ../src/.libs/libyaml.so -Wl,--rpath -Wl,/usr/local/src/yaml/src/.libs)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variable: + notinst_deplibs=' ../src/libyaml.la' +else + # When we are sourced in execute mode, $file and $echo are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + echo="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : + else + # Restart under the correct shell, and then maybe $echo will work. + exec /bin/sh "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'run-emitter' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || \ + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $echo "$0: cannot exec $program ${1+"$@"}" + exit 1 + fi + else + # The program doesn't exist. + $echo "$0: error: \`$progdir/$program' does not exist" 1>&2 + $echo "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/yaml/tests/run-emitter.c b/yaml/tests/run-emitter.c new file mode 100644 index 00000000..3008ab54 --- /dev/null +++ b/yaml/tests/run-emitter.c @@ -0,0 +1,323 @@ +#include <yaml.h> + +#include <stdlib.h> +#include <stdio.h> +#include <assert.h> +#include <string.h> + +#define BUFFER_SIZE 65536 +#define MAX_EVENTS 1024 + +int copy_event(yaml_event_t *event_to, yaml_event_t *event_from) +{ + switch (event_from->type) + { + case YAML_STREAM_START_EVENT: + return yaml_stream_start_event_initialize(event_to, + event_from->data.stream_start.encoding); + + case YAML_STREAM_END_EVENT: + return yaml_stream_end_event_initialize(event_to); + + case YAML_DOCUMENT_START_EVENT: + return yaml_document_start_event_initialize(event_to, + event_from->data.document_start.version_directive, + event_from->data.document_start.tag_directives.start, + event_from->data.document_start.tag_directives.end, + event_from->data.document_start.implicit); + + case YAML_DOCUMENT_END_EVENT: + return yaml_document_end_event_initialize(event_to, + event_from->data.document_end.implicit); + + case YAML_ALIAS_EVENT: + return yaml_alias_event_initialize(event_to, + event_from->data.alias.anchor); + + case YAML_SCALAR_EVENT: + return yaml_scalar_event_initialize(event_to, + event_from->data.scalar.anchor, + event_from->data.scalar.tag, + event_from->data.scalar.value, + event_from->data.scalar.length, + event_from->data.scalar.plain_implicit, + event_from->data.scalar.quoted_implicit, + event_from->data.scalar.style); + + case YAML_SEQUENCE_START_EVENT: + return yaml_sequence_start_event_initialize(event_to, + event_from->data.sequence_start.anchor, + event_from->data.sequence_start.tag, + event_from->data.sequence_start.implicit, + event_from->data.sequence_start.style); + + case YAML_SEQUENCE_END_EVENT: + return yaml_sequence_end_event_initialize(event_to); + + case YAML_MAPPING_START_EVENT: + return yaml_mapping_start_event_initialize(event_to, + event_from->data.mapping_start.anchor, + event_from->data.mapping_start.tag, + event_from->data.mapping_start.implicit, + event_from->data.mapping_start.style); + + case YAML_MAPPING_END_EVENT: + return yaml_mapping_end_event_initialize(event_to); + + default: + assert(1); + } + + return 0; +} + +int compare_events(yaml_event_t *event1, yaml_event_t *event2) +{ + int k; + + if (event1->type != event2->type) + return 0; + + switch (event1->type) + { + case YAML_STREAM_START_EVENT: + return 1; + /* return (event1->data.stream_start.encoding == + event2->data.stream_start.encoding); */ + + case YAML_DOCUMENT_START_EVENT: + if ((event1->data.document_start.version_directive && !event2->data.document_start.version_directive) + || (!event1->data.document_start.version_directive && event2->data.document_start.version_directive) + || (event1->data.document_start.version_directive && event2->data.document_start.version_directive + && (event1->data.document_start.version_directive->major != event2->data.document_start.version_directive->major + || event1->data.document_start.version_directive->minor != event2->data.document_start.version_directive->minor))) + return 0; + if ((event1->data.document_start.tag_directives.end - event1->data.document_start.tag_directives.start) != + (event2->data.document_start.tag_directives.end - event2->data.document_start.tag_directives.start)) + return 0; + for (k = 0; k < (event1->data.document_start.tag_directives.end - event1->data.document_start.tag_directives.start); k ++) { + if ((strcmp((char *)event1->data.document_start.tag_directives.start[k].handle, + (char *)event2->data.document_start.tag_directives.start[k].handle) != 0) + || (strcmp((char *)event1->data.document_start.tag_directives.start[k].prefix, + (char *)event2->data.document_start.tag_directives.start[k].prefix) != 0)) + return 0; + } + /* if (event1->data.document_start.implicit != event2->data.document_start.implicit) + return 0; */ + return 1; + + case YAML_DOCUMENT_END_EVENT: + return 1; + /* return (event1->data.document_end.implicit == + event2->data.document_end.implicit); */ + + case YAML_ALIAS_EVENT: + return (strcmp((char *)event1->data.alias.anchor, + (char *)event2->data.alias.anchor) == 0); + + case YAML_SCALAR_EVENT: + if ((event1->data.scalar.anchor && !event2->data.scalar.anchor) + || (!event1->data.scalar.anchor && event2->data.scalar.anchor) + || (event1->data.scalar.anchor && event2->data.scalar.anchor + && strcmp((char *)event1->data.scalar.anchor, + (char *)event2->data.scalar.anchor) != 0)) + return 0; + if ((event1->data.scalar.tag && !event2->data.scalar.tag + && strcmp((char *)event1->data.scalar.tag, "!") != 0) + || (!event1->data.scalar.tag && event2->data.scalar.tag + && strcmp((char *)event2->data.scalar.tag, "!") != 0) + || (event1->data.scalar.tag && event2->data.scalar.tag + && strcmp((char *)event1->data.scalar.tag, + (char *)event2->data.scalar.tag) != 0)) + return 0; + if ((event1->data.scalar.length != event2->data.scalar.length) + || memcmp(event1->data.scalar.value, event2->data.scalar.value, + event1->data.scalar.length) != 0) + return 0; + if ((event1->data.scalar.plain_implicit != event2->data.scalar.plain_implicit) + || (event2->data.scalar.quoted_implicit != event2->data.scalar.quoted_implicit) + /* || (event2->data.scalar.style != event2->data.scalar.style) */) + return 0; + return 1; + + case YAML_SEQUENCE_START_EVENT: + if ((event1->data.sequence_start.anchor && !event2->data.sequence_start.anchor) + || (!event1->data.sequence_start.anchor && event2->data.sequence_start.anchor) + || (event1->data.sequence_start.anchor && event2->data.sequence_start.anchor + && strcmp((char *)event1->data.sequence_start.anchor, + (char *)event2->data.sequence_start.anchor) != 0)) + return 0; + if ((event1->data.sequence_start.tag && !event2->data.sequence_start.tag) + || (!event1->data.sequence_start.tag && event2->data.sequence_start.tag) + || (event1->data.sequence_start.tag && event2->data.sequence_start.tag + && strcmp((char *)event1->data.sequence_start.tag, + (char *)event2->data.sequence_start.tag) != 0)) + return 0; + if ((event1->data.sequence_start.implicit != event2->data.sequence_start.implicit) + /* || (event2->data.sequence_start.style != event2->data.sequence_start.style) */) + return 0; + return 1; + + case YAML_MAPPING_START_EVENT: + if ((event1->data.mapping_start.anchor && !event2->data.mapping_start.anchor) + || (!event1->data.mapping_start.anchor && event2->data.mapping_start.anchor) + || (event1->data.mapping_start.anchor && event2->data.mapping_start.anchor + && strcmp((char *)event1->data.mapping_start.anchor, + (char *)event2->data.mapping_start.anchor) != 0)) + return 0; + if ((event1->data.mapping_start.tag && !event2->data.mapping_start.tag) + || (!event1->data.mapping_start.tag && event2->data.mapping_start.tag) + || (event1->data.mapping_start.tag && event2->data.mapping_start.tag + && strcmp((char *)event1->data.mapping_start.tag, + (char *)event2->data.mapping_start.tag) != 0)) + return 0; + if ((event1->data.mapping_start.implicit != event2->data.mapping_start.implicit) + /* || (event2->data.mapping_start.style != event2->data.mapping_start.style) */) + return 0; + return 1; + + default: + return 1; + } +} + +int print_output(char *name, unsigned char *buffer, size_t size, int count) +{ + FILE *file; + char data[BUFFER_SIZE]; + size_t data_size = 1; + size_t total_size = 0; + if (count >= 0) { + printf("FAILED (at the event #%d)\nSOURCE:\n", count+1); + } + file = fopen(name, "rb"); + assert(file); + while (data_size > 0) { + data_size = fread(data, 1, BUFFER_SIZE, file); + assert(!ferror(file)); + if (!data_size) break; + assert(fwrite(data, 1, data_size, stdout) == data_size); + total_size += data_size; + if (feof(file)) break; + } + fclose(file); + printf("#### (length: %d)\n", total_size); + printf("OUTPUT:\n%s#### (length: %d)\n", buffer, size); + return 0; +} + +int +main(int argc, char *argv[]) +{ + int number; + int canonical = 0; + int unicode = 0; + + number = 1; + while (number < argc) { + if (strcmp(argv[number], "-c") == 0) { + canonical = 1; + } + else if (strcmp(argv[number], "-u") == 0) { + unicode = 1; + } + else if (argv[number][0] == '-') { + printf("Unknown option: '%s'\n", argv[number]); + return 0; + } + if (argv[number][0] == '-') { + if (number < argc-1) { + memmove(argv+number, argv+number+1, (argc-number-1)*sizeof(char *)); + } + argc --; + } + else { + number ++; + } + } + + if (argc < 2) { + printf("Usage: %s [-c] [-u] file1.yaml ...\n", argv[0]); + return 0; + } + + for (number = 1; number < argc; number ++) + { + FILE *file; + yaml_parser_t parser; + yaml_emitter_t emitter; + yaml_event_t event; + unsigned char buffer[BUFFER_SIZE]; + size_t written = 0; + yaml_event_t events[MAX_EVENTS]; + size_t event_number = 0; + int done = 0; + int count = 0; + int error = 0; + int k; + memset(buffer, 0, BUFFER_SIZE); + memset(events, 0, MAX_EVENTS); + + printf("[%d] Parsing, emitting, and parsing again '%s': ", number, argv[number]); + fflush(stdout); + + file = fopen(argv[number], "rb"); + assert(file); + + assert(yaml_parser_initialize(&parser)); + yaml_parser_set_input_file(&parser, file); + assert(yaml_emitter_initialize(&emitter)); + if (canonical) { + yaml_emitter_set_canonical(&emitter, 1); + } + if (unicode) { + yaml_emitter_set_unicode(&emitter, 1); + } + yaml_emitter_set_output_string(&emitter, buffer, BUFFER_SIZE, &written); + + while (!done) + { + if (!yaml_parser_parse(&parser, &event)) { + error = 1; + break; + } + + done = (event.type == YAML_STREAM_END_EVENT); + assert(event_number < MAX_EVENTS); + assert(copy_event(&(events[event_number++]), &event)); + assert(yaml_emitter_emit(&emitter, &event) || + (yaml_emitter_flush(&emitter) && print_output(argv[number], buffer, written, count))); + count ++; + } + + yaml_parser_delete(&parser); + assert(!fclose(file)); + yaml_emitter_delete(&emitter); + + if (!error) + { + count = done = 0; + assert(yaml_parser_initialize(&parser)); + yaml_parser_set_input_string(&parser, buffer, written); + + while (!done) + { + assert(yaml_parser_parse(&parser, &event) || print_output(argv[number], buffer, written, count)); + done = (event.type == YAML_STREAM_END_EVENT); + assert(compare_events(events+count, &event) || print_output(argv[number], buffer, written, count)); + yaml_event_delete(&event); + count ++; + } + yaml_parser_delete(&parser); + } + + for (k = 0; k < event_number; k ++) { + yaml_event_delete(events+k); + } + + printf("PASSED (length: %d)\n", written); + print_output(argv[number], buffer, written, -1); + } + + return 0; +} diff --git a/yaml/tests/run-parser b/yaml/tests/run-parser new file mode 100755 index 00000000..d7168e25 --- /dev/null +++ b/yaml/tests/run-parser @@ -0,0 +1,117 @@ +#! /bin/sh + +# run-parser - temporary wrapper script for .libs/run-parser +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06) +# +# The run-parser program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /usr/local/src/yaml/tests; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:.\"; export PATH; gcc -Wno-pointer-sign -g -O2 -o \$progdir/\$file run-parser.o ../src/.libs/libyaml.so -Wl,--rpath -Wl,/usr/local/src/yaml/src/.libs)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variable: + notinst_deplibs=' ../src/libyaml.la' +else + # When we are sourced in execute mode, $file and $echo are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + echo="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : + else + # Restart under the correct shell, and then maybe $echo will work. + exec /bin/sh "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'run-parser' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || \ + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $echo "$0: cannot exec $program ${1+"$@"}" + exit 1 + fi + else + # The program doesn't exist. + $echo "$0: error: \`$progdir/$program' does not exist" 1>&2 + $echo "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/yaml/tests/run-parser.c b/yaml/tests/run-parser.c new file mode 100644 index 00000000..8c1a5dbc --- /dev/null +++ b/yaml/tests/run-parser.c @@ -0,0 +1,59 @@ +#include <yaml.h> + +#include <stdlib.h> +#include <stdio.h> +#include <assert.h> + +int +main(int argc, char *argv[]) +{ + int number; + + if (argc < 2) { + printf("Usage: %s file1.yaml ...\n", argv[0]); + return 0; + } + + for (number = 1; number < argc; number ++) + { + FILE *file; + yaml_parser_t parser; + yaml_event_t event; + int done = 0; + int count = 0; + int error = 0; + + printf("[%d] Parsing '%s': ", number, argv[number]); + fflush(stdout); + + file = fopen(argv[number], "rb"); + assert(file); + + assert(yaml_parser_initialize(&parser)); + + yaml_parser_set_input_file(&parser, file); + + while (!done) + { + if (!yaml_parser_parse(&parser, &event)) { + error = 1; + break; + } + + done = (event.type == YAML_STREAM_END_EVENT); + + yaml_event_delete(&event); + + count ++; + } + + yaml_parser_delete(&parser); + + assert(!fclose(file)); + + printf("%s (%d events)\n", (error ? "FAILURE" : "SUCCESS"), count); + } + + return 0; +} + diff --git a/yaml/tests/run-scanner b/yaml/tests/run-scanner new file mode 100755 index 00000000..c6ecf2f0 --- /dev/null +++ b/yaml/tests/run-scanner @@ -0,0 +1,117 @@ +#! /bin/sh + +# run-scanner - temporary wrapper script for .libs/run-scanner +# Generated by ltmain.sh - GNU libtool 1.5.22 Debian 1.5.22-2 (1.1220.2.365 2005/12/18 22:14:06) +# +# The run-scanner program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /usr/local/src/yaml/tests; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:.\"; export PATH; gcc -Wno-pointer-sign -g -O2 -o \$progdir/\$file run-scanner.o ../src/.libs/libyaml.so -Wl,--rpath -Wl,/usr/local/src/yaml/src/.libs)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variable: + notinst_deplibs=' ../src/libyaml.la' +else + # When we are sourced in execute mode, $file and $echo are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + echo="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : + else + # Restart under the correct shell, and then maybe $echo will work. + exec /bin/sh "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'run-scanner' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || \ + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $echo "$0: cannot exec $program ${1+"$@"}" + exit 1 + fi + else + # The program doesn't exist. + $echo "$0: error: \`$progdir/$program' does not exist" 1>&2 + $echo "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/yaml/tests/run-scanner.c b/yaml/tests/run-scanner.c new file mode 100644 index 00000000..2c8d33e5 --- /dev/null +++ b/yaml/tests/run-scanner.c @@ -0,0 +1,59 @@ +#include <yaml.h> + +#include <stdlib.h> +#include <stdio.h> +#include <assert.h> + +int +main(int argc, char *argv[]) +{ + int number; + + if (argc < 2) { + printf("Usage: %s file1.yaml ...\n", argv[0]); + return 0; + } + + for (number = 1; number < argc; number ++) + { + FILE *file; + yaml_parser_t parser; + yaml_token_t token; + int done = 0; + int count = 0; + int error = 0; + + printf("[%d] Scanning '%s': ", number, argv[number]); + fflush(stdout); + + file = fopen(argv[number], "rb"); + assert(file); + + assert(yaml_parser_initialize(&parser)); + + yaml_parser_set_input_file(&parser, file); + + while (!done) + { + if (!yaml_parser_scan(&parser, &token)) { + error = 1; + break; + } + + done = (token.type == YAML_STREAM_END_TOKEN); + + yaml_token_delete(&token); + + count ++; + } + + yaml_parser_delete(&parser); + + assert(!fclose(file)); + + printf("%s (%d tokens)\n", (error ? "FAILURE" : "SUCCESS"), count); + } + + return 0; +} + diff --git a/yaml/tests/test-reader.c b/yaml/tests/test-reader.c new file mode 100644 index 00000000..49dc8746 --- /dev/null +++ b/yaml/tests/test-reader.c @@ -0,0 +1,350 @@ +#include <yaml.h> + +YAML_DECLARE(int) +yaml_parser_update_buffer(yaml_parser_t *parser, size_t length); + +#include <stdlib.h> +#include <stdio.h> +#include <assert.h> + +/* + * Test cases are stolen from + * http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt + */ + +typedef struct { + char *title; + char *test; + int result; +} test_case; + +test_case utf8_sequences[] = { + /* {"title", "test 1|test 2|...|test N!", (0 or 1)}, */ + + {"a simple test", "'test' is '\xd0\xbf\xd1\x80\xd0\xbe\xd0\xb2\xd0\xb5\xd1\x80\xd0\xba\xd0\xb0' in Russian!", 1}, + {"an empty line", "!", 1}, + + {"u-0 is a control character", "\x00!", 0}, + {"u-80 is a control character", "\xc2\x80!", 0}, + {"u-800 is valid", "\xe0\xa0\x80!", 1}, + {"u-10000 is valid", "\xf0\x90\x80\x80!", 1}, + {"5 bytes sequences are not allowed", "\xf8\x88\x80\x80\x80!", 0}, + {"6 bytes sequences are not allowed", "\xfc\x84\x80\x80\x80\x80!", 0}, + + {"u-7f is a control character", "\x7f!", 0}, + {"u-7FF is valid", "\xdf\xbf!", 1}, + {"u-FFFF is a control character", "\xef\xbf\xbf!", 0}, + {"u-1FFFFF is too large", "\xf7\xbf\xbf\xbf!", 0}, + {"u-3FFFFFF is 5 bytes", "\xfb\xbf\xbf\xbf\xbf!", 0}, + {"u-7FFFFFFF is 6 bytes", "\xfd\xbf\xbf\xbf\xbf\xbf!", 0}, + + {"u-D7FF", "\xed\x9f\xbf!", 1}, + {"u-E000", "\xee\x80\x80!", 1}, + {"u-FFFD", "\xef\xbf\xbd!", 1}, + {"u-10FFFF", "\xf4\x8f\xbf\xbf!", 1}, + {"u-110000", "\xf4\x90\x80\x80!", 0}, + + {"first continuation byte", "\x80!", 0}, + {"last continuation byte", "\xbf!", 0}, + + {"2 continuation bytes", "\x80\xbf!", 0}, + {"3 continuation bytes", "\x80\xbf\x80!", 0}, + {"4 continuation bytes", "\x80\xbf\x80\xbf!", 0}, + {"5 continuation bytes", "\x80\xbf\x80\xbf\x80!", 0}, + {"6 continuation bytes", "\x80\xbf\x80\xbf\x80\xbf!", 0}, + {"7 continuation bytes", "\x80\xbf\x80\xbf\x80\xbf\x80!", 0}, + + {"sequence of all 64 possible continuation bytes", + "\x80|\x81|\x82|\x83|\x84|\x85|\x86|\x87|\x88|\x89|\x8a|\x8b|\x8c|\x8d|\x8e|\x8f|" + "\x90|\x91|\x92|\x93|\x94|\x95|\x96|\x97|\x98|\x99|\x9a|\x9b|\x9c|\x9d|\x9e|\x9f|" + "\xa0|\xa1|\xa2|\xa3|\xa4|\xa5|\xa6|\xa7|\xa8|\xa9|\xaa|\xab|\xac|\xad|\xae|\xaf|" + "\xb0|\xb1|\xb2|\xb3|\xb4|\xb5|\xb6|\xb7|\xb8|\xb9|\xba|\xbb|\xbc|\xbd|\xbe|\xbf!", 0}, + {"32 first bytes of 2-byte sequences {0xc0-0xdf}", + "\xc0 |\xc1 |\xc2 |\xc3 |\xc4 |\xc5 |\xc6 |\xc7 |\xc8 |\xc9 |\xca |\xcb |\xcc |\xcd |\xce |\xcf |" + "\xd0 |\xd1 |\xd2 |\xd3 |\xd4 |\xd5 |\xd6 |\xd7 |\xd8 |\xd9 |\xda |\xdb |\xdc |\xdd |\xde |\xdf !", 0}, + {"16 first bytes of 3-byte sequences {0xe0-0xef}", + "\xe0 |\xe1 |\xe2 |\xe3 |\xe4 |\xe5 |\xe6 |\xe7 |\xe8 |\xe9 |\xea |\xeb |\xec |\xed |\xee |\xef !", 0}, + {"8 first bytes of 4-byte sequences {0xf0-0xf7}", "\xf0 |\xf1 |\xf2 |\xf3 |\xf4 |\xf5 |\xf6 |\xf7 !", 0}, + {"4 first bytes of 5-byte sequences {0xf8-0xfb}", "\xf8 |\xf9 |\xfa |\xfb !", 0}, + {"2 first bytes of 6-byte sequences {0xfc-0xfd}", "\xfc |\xfd !", 0}, + + {"sequences with last byte missing {u-0}", + "\xc0|\xe0\x80|\xf0\x80\x80|\xf8\x80\x80\x80|\xfc\x80\x80\x80\x80!", 0}, + {"sequences with last byte missing {u-...FF}", + "\xdf|\xef\xbf|\xf7\xbf\xbf|\xfb\xbf\xbf\xbf|\xfd\xbf\xbf\xbf\xbf!", 0}, + + {"impossible bytes", "\xfe|\xff|\xfe\xfe\xff\xff!", 0}, + + {"overlong sequences {u-2f}", + "\xc0\xaf|\xe0\x80\xaf|\xf0\x80\x80\xaf|\xf8\x80\x80\x80\xaf|\xfc\x80\x80\x80\x80\xaf!", 0}, + + {"maximum overlong sequences", + "\xc1\xbf|\xe0\x9f\xbf|\xf0\x8f\xbf\xbf|\xf8\x87\xbf\xbf\xbf|\xfc\x83\xbf\xbf\xbf\xbf!", 0}, + + {"overlong representation of the NUL character", + "\xc0\x80|\xe0\x80\x80|\xf0\x80\x80\x80|\xf8\x80\x80\x80\x80|\xfc\x80\x80\x80\x80\x80!", 0}, + + {"single UTF-16 surrogates", + "\xed\xa0\x80|\xed\xad\xbf|\xed\xae\x80|\xed\xaf\xbf|\xed\xb0\x80|\xed\xbe\x80|\xed\xbf\xbf!", 0}, + + {"paired UTF-16 surrogates", + "\xed\xa0\x80\xed\xb0\x80|\xed\xa0\x80\xed\xbf\xbf|\xed\xad\xbf\xed\xb0\x80|" + "\xed\xad\xbf\xed\xbf\xbf|\xed\xae\x80\xed\xb0\x80|\xed\xae\x80\xed\xbf\xbf|" + "\xed\xaf\xbf\xed\xb0\x80|\xed\xaf\xbf\xed\xbf\xbf!", 0}, + + {"other illegal code positions", "\xef\xbf\xbe|\xef\xbf\xbf!", 0}, + + {NULL, NULL, 0} +}; + +test_case boms[] = { + + /* {"title", "test!", lenth}, */ + + {"no bom (utf-8)", "Hi is \xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82!", 13}, + {"bom (utf-8)", "\xef\xbb\xbfHi is \xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82!", 13}, + {"bom (utf-16-le)", "\xff\xfeH\x00i\x00 \x00i\x00s\x00 \x00\x1f\x04@\x04""8\x04""2\x04""5\x04""B\x04!", 13}, + {"bom (utf-16-be)", "\xfe\xff\x00H\x00i\x00 \x00i\x00s\x00 \x04\x1f\x04@\x04""8\x04""2\x04""5\x04""B!", 13}, + {NULL, NULL, 0} +}; + +char *bom_original = "Hi is \xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82"; + +int check_utf8_sequences(void) +{ + yaml_parser_t parser; + int failed = 0; + int k; + printf("checking utf-8 sequences...\n"); + for (k = 0; utf8_sequences[k].test; k++) { + char *title = utf8_sequences[k].title; + int check = utf8_sequences[k].result; + int result; + char *start = utf8_sequences[k].test; + char *end = start; + printf("\t%s:\n", title); + while(1) { + while (*end != '|' && *end != '!') end++; + yaml_parser_initialize(&parser); + yaml_parser_set_input_string(&parser, (unsigned char *)start, end-start); + result = yaml_parser_update_buffer(&parser, end-start); + if (result != check) { + printf("\t\t- "); + failed ++; + } + else { + printf("\t\t+ "); + } + if (!parser.error) { + printf("(no error)\n"); + } + else if (parser.error == YAML_READER_ERROR) { + if (parser.problem_value != -1) { + printf("(reader error: %s: #%X at %d)\n", + parser.problem, parser.problem_value, parser.problem_offset); + } + else { + printf("(reader error: %s at %d)\n", + parser.problem, parser.problem_offset); + } + } + if (*end == '!') break; + start = ++end; + yaml_parser_delete(&parser); + }; + printf("\n"); + } + printf("checking utf-8 sequences: %d fail(s)\n", failed); + return failed; +} + +int check_boms(void) +{ + yaml_parser_t parser; + int failed = 0; + int k; + printf("checking boms...\n"); + for (k = 0; boms[k].test; k++) { + char *title = boms[k].title; + int check = boms[k].result; + int result; + char *start = boms[k].test; + char *end = start; + while (*end != '!') end++; + printf("\t%s: ", title); + yaml_parser_initialize(&parser); + yaml_parser_set_input_string(&parser, (unsigned char *)start, end-start); + result = yaml_parser_update_buffer(&parser, end-start); + if (!result) { + printf("- (reader error: %s at %d)\n", parser.problem, parser.problem_offset); + failed++; + } + else { + if (parser.unread != check) { + printf("- (length=%d while expected length=%d)\n", parser.unread, check); + failed++; + } + else if (memcmp(parser.buffer.start, bom_original, check) != 0) { + printf("- (value '%s' does not equal to the original value '%s')\n", parser.buffer.start, bom_original); + failed++; + } + else { + printf("+\n"); + } + } + yaml_parser_delete(&parser); + } + printf("checking boms: %d fail(s)\n", failed); + return failed; +} + +#define LONG 100000 + +int check_long_utf8(void) +{ + yaml_parser_t parser; + int k = 0; + int j; + int failed = 0; + unsigned char ch0, ch1; + unsigned char *buffer = malloc(3+LONG*2); + assert(buffer); + printf("checking a long utf8 sequence...\n"); + buffer[k++] = '\xef'; + buffer[k++] = '\xbb'; + buffer[k++] = '\xbf'; + for (j = 0; j < LONG; j ++) { + if (j % 2) { + buffer[k++] = '\xd0'; + buffer[k++] = '\x90'; + } + else { + buffer[k++] = '\xd0'; + buffer[k++] = '\xaf'; + } + } + yaml_parser_initialize(&parser); + yaml_parser_set_input_string(&parser, buffer, 3+LONG*2); + for (k = 0; k < LONG; k++) { + if (!parser.unread) { + if (!yaml_parser_update_buffer(&parser, 1)) { + printf("\treader error: %s at %d\n", parser.problem, parser.problem_offset); + failed = 1; + break; + } + } + if (!parser.unread) { + printf("\tnot enough characters at %d\n", k); + failed = 1; + break; + } + if (k % 2) { + ch0 = '\xd0'; + ch1 = '\x90'; + } + else { + ch0 = '\xd0'; + ch1 = '\xaf'; + } + if (parser.buffer.pointer[0] != ch0 || parser.buffer.pointer[1] != ch1) { + printf("\tincorrect UTF-8 sequence: %X %X instead of %X %X\n", + (int)parser.buffer.pointer[0], (int)parser.buffer.pointer[1], + (int)ch0, (int)ch1); + failed = 1; + break; + } + parser.buffer.pointer += 2; + parser.unread -= 1; + } + if (!failed) { + if (!yaml_parser_update_buffer(&parser, 1)) { + printf("\treader error: %s at %d\n", parser.problem, parser.problem_offset); + failed = 1; + } + else if (parser.buffer.pointer[0] != '\0') { + printf("\texpected NUL, found %X (eof=%d, unread=%d)\n", (int)parser.buffer.pointer[0], parser.eof, parser.unread); + failed = 1; + } + } + yaml_parser_delete(&parser); + free(buffer); + printf("checking a long utf8 sequence: %d fail(s)\n", failed); + return failed; +} + +int check_long_utf16(void) +{ + yaml_parser_t parser; + int k = 0; + int j; + int failed = 0; + unsigned char ch0, ch1; + unsigned char *buffer = malloc(2+LONG*2); + assert(buffer); + printf("checking a long utf16 sequence...\n"); + buffer[k++] = '\xff'; + buffer[k++] = '\xfe'; + for (j = 0; j < LONG; j ++) { + if (j % 2) { + buffer[k++] = '\x10'; + buffer[k++] = '\x04'; + } + else { + buffer[k++] = '/'; + buffer[k++] = '\x04'; + } + } + yaml_parser_initialize(&parser); + yaml_parser_set_input_string(&parser, buffer, 2+LONG*2); + for (k = 0; k < LONG; k++) { + if (!parser.unread) { + if (!yaml_parser_update_buffer(&parser, 1)) { + printf("\treader error: %s at %d\n", parser.problem, parser.problem_offset); + failed = 1; + break; + } + } + if (!parser.unread) { + printf("\tnot enough characters at %d\n", k); + failed = 1; + break; + } + if (k % 2) { + ch0 = '\xd0'; + ch1 = '\x90'; + } + else { + ch0 = '\xd0'; + ch1 = '\xaf'; + } + if (parser.buffer.pointer[0] != ch0 || parser.buffer.pointer[1] != ch1) { + printf("\tincorrect UTF-8 sequence: %X %X instead of %X %X\n", + (int)parser.buffer.pointer[0], (int)parser.buffer.pointer[1], + (int)ch0, (int)ch1); + failed = 1; + break; + } + parser.buffer.pointer += 2; + parser.unread -= 1; + } + if (!failed) { + if (!yaml_parser_update_buffer(&parser, 1)) { + printf("\treader error: %s at %d\n", parser.problem, parser.problem_offset); + failed = 1; + } + else if (parser.buffer.pointer[0] != '\0') { + printf("\texpected NUL, found %X (eof=%d, unread=%d)\n", (int)parser.buffer.pointer[0], parser.eof, parser.unread); + failed = 1; + } + } + yaml_parser_delete(&parser); + free(buffer); + printf("checking a long utf16 sequence: %d fail(s)\n", failed); + return failed; +} + +int +main(void) +{ + return check_utf8_sequences() + check_boms() + check_long_utf8() + check_long_utf16(); +} diff --git a/yaml/tests/test-version.c b/yaml/tests/test-version.c new file mode 100644 index 00000000..5982f7d7 --- /dev/null +++ b/yaml/tests/test-version.c @@ -0,0 +1,25 @@ +#include <yaml.h> + +#include <stdlib.h> +#include <stdio.h> +#include <assert.h> + +int +main(void) +{ + int major = -1; + int minor = -1; + int patch = -1; + char buf[64]; + + yaml_get_version(&major, &minor, &patch); + sprintf(buf, "%d.%d.%d", major, minor, patch); + assert(strcmp(buf, yaml_get_version_string()) == 0); + + /* Print structure sizes. */ + printf("sizeof(token) = %d\n", sizeof(yaml_token_t)); + printf("sizeof(event) = %d\n", sizeof(yaml_event_t)); + printf("sizeof(parser) = %d\n", sizeof(yaml_parser_t)); + + return 0; +} -- GitLab