Triton Repository branch, master, updated. 9674af0769270760ace98dbbaac29fc3f484d752
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Triton Repository". The branch, master has been updated via 9674af0769270760ace98dbbaac29fc3f484d752 (commit) via e6344ce34b5e2ce7d25289f42a0e273070cb1cc2 (commit) via a88736515493768666dbb8cc35900133cb77c020 (commit) via b161fa81d35604ba0685eabf1bb816bfc064e04b (commit) from c4d8ed95019f857d7e9416b053e1738b295762e7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 9674af0769270760ace98dbbaac29fc3f484d752 Merge: e6344ce34b5e2ce7d25289f42a0e273070cb1cc2 c4d8ed95019f857d7e9416b053e1738b295762e7 Author: slang <[email protected]> Date: Wed Sep 22 16:26:22 2010 -0500 fix conflict commit e6344ce34b5e2ce7d25289f42a0e273070cb1cc2 Merge: a88736515493768666dbb8cc35900133cb77c020 f0dd98c6b6dc871259b256b588dfc9b0f3468645 Author: slang <[email protected]> Date: Wed Sep 22 16:13:52 2010 -0500 new addr_t stuff merged with remote, changes to get things building on OS X commit a88736515493768666dbb8cc35900133cb77c020 Author: slang <[email protected]> Date: Wed Sep 22 15:46:26 2010 -0500 replace node_t with addr_t. removed msg_ctx from everywhere. fixes for builds on OSX, still needs some work with dylibs though... commit b161fa81d35604ba0685eabf1bb816bfc064e04b Author: slang <[email protected]> Date: Mon Sep 13 10:37:36 2010 -0500 get things working on mac ----------------------------------------------------------------------- Summary of changes: code/Makefile.in | 57 +- code/aclocal.m4 | 5 +- code/configure | 6730 ++++++++++++-------- code/configure.ac | 3 + code/maint/config/unix.m4 | 60 + code/maint/hs/syb-0.1.0.1.tar.gz | Bin 0 -> 10072 bytes code/src/aesop/ae-remote-parser.h | 2 +- code/src/aesop/op.h | 2 +- code/src/aesop/opcache.c | 4 +- code/src/aesop/opcache.h | 4 +- code/src/aesop/parser/CGen.lhs | 20 +- code/src/aesop/parser/Walker.lhs | 15 +- code/src/aesop/parser/ae-blocking-parser.lhs | 30 +- code/src/aesop/parser/ae-remote-parser.lhs | 23 +- .../tests/remote/test-remote-fault-injector.aer | 17 +- .../aesop/parser/tests/remote/test-remote-mock.aer | 44 +- .../aesop/parser/tests/remote/test-remote-mpi.aer | 19 +- code/src/common/tests/testhash.c | 14 +- code/src/common/tests/testlist.c | 2 +- code/src/common/triton-debug.c | 4 +- code/src/common/triton-error.c | 13 +- code/src/common/triton-error.h | 12 +- code/src/common/triton-error.h1 | 93 - code/src/common/triton-list.h | 8 +- code/src/common/triton-log.c | 2 +- code/src/common/triton-notify.c | 2 +- code/src/fakess/test/announce.ae | 2 +- code/src/fakess/test/observer.ae | 2 +- code/src/fakess/test/post-global.ae | 2 +- code/src/net/fault-injector/fault-method.ae | 62 +- code/src/net/mock/mock-method.ae | 187 +- code/src/net/module.mk.in | 2 +- code/src/net/mpi/mpi-method.ae | 88 +- code/src/net/mpi/mpi.c | 2 +- code/src/net/test/mock-client-server.ae | 28 +- code/src/net/test/mpi-client-server.ae | 30 +- code/src/net/triton-addr.h | 29 + code/src/net/triton-message-internal.hae | 12 - code/src/net/triton-message-method.hae | 110 +- code/src/net/triton-message.ae | 282 +- code/src/net/triton-message.hae | 53 +- code/src/net/triton-node.ae | 62 - code/src/net/triton-node.h | 48 - code/src/remote/encoding-pw.h | 4 +- code/src/remote/error-encoding.h | 10 +- code/src/remote/message.ae | 31 +- code/src/remote/message.hae | 10 +- code/src/remote/node-encoding.h | 6 +- code/src/remote/service.hae | 4 +- .../src/replicated-osd/tests/rosd-create-bench.aer | 12 +- code/src/replicated-osd/tests/rosd1.aer | 11 +- .../src/versioned-osd/prototype/tests/module.mk.in | 2 + code/src/versioned-osd/prototype/vosd-fd-cache.ae | 8 +- code/triton-config.h.in | 26 +- 54 files changed, 5006 insertions(+), 3304 deletions(-) create mode 100644 code/maint/config/unix.m4 create mode 100644 code/maint/hs/syb-0.1.0.1.tar.gz delete mode 100644 code/src/common/triton-error.h1 create mode 100644 code/src/net/triton-addr.h delete mode 100644 code/src/net/triton-message-internal.hae delete mode 100644 code/src/net/triton-node.ae delete mode 100644 code/src/net/triton-node.h Diff of changes: diff --git a/code/Makefile.in b/code/Makefile.in index 21c8c46..5e38f75 100644 --- a/code/Makefile.in +++ b/code/Makefile.in @@ -91,6 +91,8 @@ MPILIBS = @MPILIBS@ BUILD_MPI = @BUILD_MPI@ BUILD_OSD = @BUILD_OSD@ +USE_DYLIBS = @USE_DYLIBS@ + INSTALL = @INSTALL@ AELIBSRC := @@ -324,6 +326,8 @@ HSINT=$(patsubst %.lhs,%.hi,$(filter %.lhs,$(HSSRC))) \ AEBLOCKINGP=$(builddir)/src/aesop/parser/ae-blocking-parser AEREMOTEP=$(builddir)/src/aesop/parser/ae-remote-parser +AEBFLAGS=$(patsubst %,-g %,$(CFLAGS)) +AERFLAGS=$(patsubst %,-g %,$(CFLAGS)) DEPENDS = $(LIBOBJS_DEPENDS) \ $(TESTLIBOBJS_DEPENDS) \ @@ -348,13 +352,13 @@ $(TESTOBJS_DEPENDS) $(LIBOBJS_DEPENDS) $(TESTLIBOBJS_DEPENDS): %.d: %.c $(Q) " DEP $@" $(E)$(CC) -MT $(patsubst %.d,%.o,$@) -MM -MG -MF $@ $< $(LIBCFLAGS) $(CFLAGS) $(CWARNS) $(call MODCFLAGS,$*) -$(TEST): %: %.o lib/libtriton.a lib/libtriton-test.a +$(TEST): %: %.o $(LIBRARIES) $(Q) " LD $@" $(E)$(call MCC_C,$*) \ -o $@ $< $(LDFLAGS) $(LIBS) \ -L$(builddir)/lib -ltriton-test -ltriton -$(AETEST): %: %.o lib/libtriton.a lib/libtriton-test.a +$(AETEST): %: %.o $(LIBRARIES) $(Q) " LD $@" $(E)$(call MCC_AE,$*) \ -o $@ $< $(LDFLAGS) $(LIBS) \ @@ -380,7 +384,12 @@ $(TESTLIBOBJS): %.o: %.d $(call MODCFLAGS_C,$*) \ $(srcdir)/$(patsubst %.d,%.c,$<) +# for now we just use static if we're not on a mac +ifneq (,$(USE_DYLIBS)) +LIBRARIES=lib/libtriton.dylib lib/libtriton-test.dylib +else LIBRARIES=lib/libtriton.a lib/libtriton-test.a +endif lib/libtriton.a: $(AELIBOBJS) $(REMOTE_LIBOBJS) $(REMOTE_LIB_MODOBJS) $(LIBOBJS) $(Q) " RANLIB $@" @@ -399,6 +408,30 @@ lib/libosc-osd.a: $(LIBOSDOBJS) $(E)ar rcs $@ $(LIBOSDOBJS) endif +# shared objects + +lib/libtriton.so: $(AELIBOBJS) $(REMOTE_LIBOBJS) $(REMOTE_LIB_MODOBJS) $(LIBOBJS) + $(Q) " LDSO $@" + $(E)$(INSTALL) -d lib + $(E)$(LDSHARED) -Wl,-soname,libtriton.so -o $@ $(AELIBOBJS) $(REMOTE_LIBOBJS) $(REMOTE_LIB_MODOBJS) $(LIBOBJS) + +lib/libtriton-test.so: $(AETESTLIBOBJS) $(REMOTE_TESTLIBOBJS) $(REMOTE_TESTLIB_MODOBJS) $(TESTLIBOBJS) + $(Q) " LDSO $@" + $(E)$(INSTALL) -d lib + $(E)$(LDSHARED) -Wl,-soname,libtriton-test.so -o $@ $(AETESTLIBOBJS) $(REMOTE_TESTLIBOBJS) $(REMOTE_TESTLIB_MODOBJS) $(TESTLIBOBJS) + +lib/libtriton.dylib: $(AELIBOBJS) $(REMOTE_LIBOBJS) $(REMOTE_LIB_MODOBJS) $(LIBOBJS) + $(Q) " DYLIB $@" + $(E)$(INSTALL) -d lib + $(E)$(CC) -o lib/libtriton.dylib -dynamiclib -current_version 0.0.1 -install_name lib/libtriton.0.0.1.dylib \ + $(AELIBOBJS) $(REMOTE_LIBOBJS) $(REMOTE_LIB_MODOBJS) $(LIBOBJS) $(DEPLIBS) + +lib/libtriton-test.dylib: $(AETESTLIBOBJS) $(REMOTE_TESTLIBOBJS) $(REMOTE_TESTLIB_MODOBJS) $(TESTLIBOBJS) + $(Q) " DYLIB $@" + $(E)$(INSTALL) -d lib + $(E)$(CC) -o lib/libtriton-test.dylib -dynamiclib -current_version 0.0.1 -install_name lib/libtriton-test.0.0.1.dylib \ + $(AETESTLIBOBJS) $(REMOTE_TESTLIBOBJS) $(REMOTE_TESTLIB_MODOBJS) $(TESTLIBOBJS) $(DEPLIBS) -L$(builddir)/lib -ltriton + # AE rules compile *.ae files to object files: *.ae -> *.ae.i -> *.ae.s -> *.o # Also compile a dummy object to verify syntax: *.ae -> *.dummyobj @@ -414,7 +447,7 @@ $(AEOBJS): %.o: $(HSBIN) %.d %.ae.s %.ae.s: %.ae.i $(Q) " AECC $* (.ae -> .ae.s)" - $(E)$(AEBLOCKINGP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $*.ae $(AEPRETTY) $*.ae.i + $(E)$(AEBLOCKINGP) $(AEBFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $*.ae $(AEPRETTY) $*.ae.i KEEP_THESE = %.ae.i ifneq (,@AE_DEBUG@) @@ -460,7 +493,7 @@ $(AESOP_TRHDR_DEPENDS): %.hae.d: %.hae $(AESOP_TRHDR): %.h: %.hae.i $(HSBIN) $(Q) " AECC $*.hae" - $(E)$(AEBLOCKINGP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -j -r $(srcdir)/$*.hae -o $@ $(AEPRETTY) $*.hae.i + $(E)$(AEBLOCKINGP) $(AEBFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -j -r $(srcdir)/$*.hae -o $@ $(AEPRETTY) $*.hae.i # Generate header files (%.h) from AE remote header files # @@ -475,11 +508,11 @@ $(REMOTE_TRHDR_DEPENDS): %.haer.d: %.haer %.haer.r: %.haer.i $(Q) " AERCC $* (.haer -> .haer.r)" - $(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $(srcdir)/$*.haer $(AEPRETTY) + $(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $(srcdir)/$*.haer $(AEPRETTY) $(REMOTE_TRHDR): %.h: %.haer.r $(HSBIN) $(Q) " AECC $* (.haer.r -> .h)" - $(E)$(AEBLOCKINGP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -j -r $(srcdir)/$*.haer -o $@ $(AEPRETTY) $*.haer.r + $(E)$(AEBLOCKINGP) $(AEBFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -j -r $(srcdir)/$*.haer -o $@ $(AEPRETTY) $*.haer.r # AER rules compile sources with remote specifiers into ae sources: # @@ -497,7 +530,7 @@ $(REMOTE_OBJS): %.o: $(HSBIN) %.d %.aer.r.s $(LIBCFLAGS) \ $(CFLAGS) $(CWARNS) -Wno-redundant-decls $(call MODCFLAGS_AE,$*) $*.aer.r.s -$(REMOTE_TEST): %: %.o lib/libtriton.a lib/libtriton-test.a +$(REMOTE_TEST): %: %.o $(LIBRARIES) $(Q) " LD $@" $(E)$(call MCC_AE,$*) \ -o $@ $< $(LDFLAGS) $(LIBS) \ @@ -533,11 +566,11 @@ endif %.aer.r: %.aer.i $(HSBIN) $(Q) " AERCC $* (.aer -> .aer.r)" - $(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $*.aer $(AEPRETTY) $*.aer.i + $(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $*.aer $(AEPRETTY) $*.aer.i %.aer.r.s: %.aer.r $(HSBIN) $(Q) " AECC $* (.aer.r -> .aer.r.s)" - $(E)$(AEBLOCKINGP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $*.aer $(AEPRETTY) $*.aer.r + $(E)$(AEBLOCKINGP) $(AEBFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $*.aer $(AEPRETTY) $*.aer.r ifneq (,@AE_DEBUG@) .SECONDARY: %.aer.r %.aer.r.s @@ -555,14 +588,14 @@ $(REMOTE_TESTLIB_MODSRC_DEPENDS): %_module.ae.d: $(Q) " DEP $@" $(E)echo $*_module.ae $*_module.h: $(call TESTRMOD_FILES,$*) > $@ - $(E)echo " "$(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $(call bname,$*) -d $(call dirname,$*) $(call TESTRMOD_FILES,$*) >> $@ + $(E)echo " "$(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $(call bname,$*) -d $(call dirname,$*) $(call TESTRMOD_FILES,$*) >> $@ #$(REMOTE_TESTLIB_MODSRC): %_module.ae: $(HSBIN) %_module.ae.d -# $(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $(call bname,$*) -d $(call dirname,$@) $(call TESTRMOD_FILES,$*) +# $(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $(call bname,$*) -d $(call dirname,$@) $(call TESTRMOD_FILES,$*) $(REMOTE_LIB_MODSRC): %_module.ae: $(HSBIN) %_module.ae.d $(Q) " AERCC $(call bname,$*) -> $*_module.ae" - $(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $(call bname,$*) -d $(call dirname,$@) $(call RMOD_FILES,$*) + $(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $(call bname,$*) -d $(call dirname,$@) $(call RMOD_FILES,$*) $(REMOTE_TESTLIB_MODOBJS) $(REMOTE_LIB_MODOBJS): %.o: %.ae.s $(Q) " CC $*_module (.ae.s -> .o)" diff --git a/code/aclocal.m4 b/code/aclocal.m4 index 3a3c5b3..b99b49d 100644 --- a/code/aclocal.m4 +++ b/code/aclocal.m4 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- +# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,3 +13,4 @@ m4_include([maint/config/bdb.m4]) m4_include([maint/config/sqlite.m4]) +m4_include([maint/config/unix.m4]) diff --git a/code/configure b/code/configure index 336fb69..d2bbbd6 100755 --- a/code/configure +++ b/code/configure @@ -1,85 +1,62 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for triton 0.1.1. +# Generated by GNU Autoconf 2.61 for triton 0.1.1. # # Report bugs to <[email protected]>. # -# # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# -# +# 2002, 2003, 2004, 2005, 2006 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. ## -## -------------------- ## +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; esac + fi -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' + + +# PATH needs CR +# 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 - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' + PATH_SEPARATOR=: fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' + rm -f conf$$.sh fi -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false fi @@ -88,18 +65,20 @@ fi # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) +as_nl=' +' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in #(( +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 + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done IFS=$as_save_IFS ;; @@ -110,322 +89,354 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# 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'` # CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +$as_unset CDPATH + if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST + if (eval ":") 2>/dev/null; then + as_have_required=yes else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac + as_have_required=no fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes +if as_func_success; then + : else - as_have_required=no + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : +if as_func_ret_success; then + : else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + 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=. - as_found=: - case $as_dir in #( + case $as_dir in /*) for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac - as_found=false done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } IFS=$as_save_IFS - if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell [email protected] and -$0: [email protected] about your system, including any -$0: error possibly output before this message. Then install -$0: a modern shell, or manually run the script under such a -$0: shell if you do have one." - fi - exit 1 -fi fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 } -as_unset=as_fn_unset -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' +if as_func_ret_success; then + : else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith + exitcode=1 + echo positional parameters were not saved. +fi +test $exitcode = 0) || { (exit 1); exit 1; } -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. -as_fn_error () -{ - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 - fi - $as_echo "$as_me: error: $1" >&2 - as_fn_exit $as_status -} # as_fn_error +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : else - as_expr=false + exitcode=1 + echo as_func_success failed. fi -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : else - as_basename=false + exitcode=1 + echo as_func_ret_success failed. fi -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : else - as_dirname=false + exitcode=1 + echo positional parameters were not saved. fi -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell [email protected] about your system, + echo including any error possibly output before this + echo message +} + -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + # 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 after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, 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 + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= @@ -442,7 +453,8 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + { 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 @@ -452,40 +464,49 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits exit } + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( +case `echo -n x` in -n*) - case `echo 'xy\c'` in + case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; + *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' - fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln else as_ln_s='cp -p' fi @@ -493,7 +514,7 @@ rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' + as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false @@ -510,12 +531,12 @@ else as_test_x=' eval sh -c '\'' if test -d "$1"; then - test -d "$1/."; + test -d "$1/."; else - case $1 in #( - -*)set "./$1";; + case $1 in + -*)set "./$1";; esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' @@ -529,8 +550,8 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -test -n "$DJDIR" || exec 7<&0 </dev/null -exec 6>&1 + +exec 7<&0 </dev/null 6>&1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, @@ -548,6 +569,7 @@ cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='triton' @@ -555,7 +577,6 @@ PACKAGE_TARNAME='triton' PACKAGE_VERSION='0.1.1' PACKAGE_STRING='triton 0.1.1' PACKAGE_BUGREPORT='[email protected]' -PACKAGE_URL='' # Factoring default headers for most tests. ac_includes_default="\ @@ -593,95 +614,82 @@ ac_includes_default="\ # include <unistd.h> #endif" -ac_subst_vars='LTLIBOBJS -LIBOBJS -BUILD_OSD -TRITON_SQLITE_LIBS -TRITON_SQLITE_INCLUDES -THREAD_LIB -LIBCFLAGS -ENABLE_COVERAGE -AE_DEBUG -STRICT_CFLAGS -WARNINGS_AS_ERRORS -QUIET_COMPILE -SRC_ABSOLUTE_TOP -SRC_RELATIVE_TOP -BUILD_ABSOLUTE_TOP -BUILD_MPI -MPILIBS -MPILDFLAGS -MPICFLAGS -MPICC -DB_LIB -DB_CFLAGS -GHC -EGREP -GREP -CPP -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -TRITON_VERSION -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME +ac_subst_vars='SHELL PATH_SEPARATOR -SHELL' +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +TRITON_VERSION +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +CPP +GREP +EGREP +GHC +DB_CFLAGS +DB_LIB +MPICC +MPICFLAGS +MPILDFLAGS +MPILIBS +BUILD_MPI +USE_DYLIBS +BUILD_ABSOLUTE_TOP +SRC_RELATIVE_TOP +SRC_ABSOLUTE_TOP +QUIET_COMPILE +WARNINGS_AS_ERRORS +STRICT_CFLAGS +AE_DEBUG +ENABLE_COVERAGE +LIBCFLAGS +THREAD_LIB +TRITON_SQLITE_INCLUDES +TRITON_SQLITE_LIBS +BUILD_OSD +LIBOBJS +LTLIBOBJS' ac_subst_files='' -ac_user_opts=' -enable_option_checking -with_ghc -with_db -with_mpi -enable_verbose -enable_error_on_warning -enable_strict -enable_aesop_debug -enable_coverage -enable_thread_safety -with_sqlite -' ac_precious_vars='build_alias host_alias target_alias @@ -696,8 +704,6 @@ CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null @@ -796,20 +802,13 @@ do datarootdir=$ac_optarg ;; -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; + 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 ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; @@ -822,20 +821,13 @@ do dvidir=$ac_optarg ;; -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; + 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=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -1026,36 +1018,22 @@ do ac_init_version=: ;; -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; + 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=\$ac_optarg ;; -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; + 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. @@ -1075,25 +1053,25 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." + -*) { 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. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; - esac + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; @@ -1102,36 +1080,23 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } fi -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. +# Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' @@ -1145,7 +1110,7 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + 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 @@ -1161,21 +1126,23 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -1202,11 +1169,13 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1254,9 +1223,9 @@ Configuration: Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] + [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] + [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify @@ -1266,25 +1235,25 @@ for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/triton] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/triton] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF @@ -1298,7 +1267,6 @@ if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-verbose Enables verbose output during build process @@ -1323,7 +1291,7 @@ Some influential environment variables: LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CPP C preprocessor @@ -1338,17 +1306,15 @@ fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue + test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -1384,7 +1350,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix echo && $SHELL "$ac_srcdir/configure" --help=recursive else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done @@ -1394,489 +1360,21 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF triton configure 0.1.1 -generated by GNU Autoconf 2.65 +generated by GNU Autoconf 2.61 -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_header_compile - -# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -# -------------------------------------------- -# Tries to find the compile-time value of EXPR in a program that includes -# INCLUDES, setting VAR accordingly. Returns whether the value could be -# computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in #(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -#include <stdio.h> -#include <stdlib.h> -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 <conftest.val; ac_retval=0 -else - ac_retval=1 -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -rm -f conftest.val - - fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_compute_int - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## ------------------------------------- ## -## Report this to [email protected] ## -## ------------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_header_mongrel cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by triton $as_me 0.1.1, which was -generated by GNU Autoconf 2.65. Invocation command line was +generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -1912,8 +1410,8 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done + echo "PATH: $as_dir" +done IFS=$as_save_IFS } >&5 @@ -1947,12 +1445,12 @@ do | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) - as_fn_append ac_configure_args1 " '$ac_arg'" + 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 @@ -1968,13 +1466,13 @@ do -* ) ac_must_keep_next=true ;; esac fi - as_fn_append ac_configure_args " '$ac_arg'" + ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} +$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 @@ -1999,13 +1497,12 @@ _ASBOX case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; + *) $as_unset $ac_var ;; esac ;; esac done @@ -2034,9 +1531,9 @@ _ASBOX do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + echo "$ac_var='\''$ac_val'\''" done | sort echo @@ -2051,9 +1548,9 @@ _ASBOX do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + echo "$ac_var='\''$ac_val'\''" done | sort echo fi @@ -2069,88 +1566,83 @@ _ASBOX echo fi test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal + 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 -f -r conftest* confdefs.h -$as_echo "/* confdefs.h */" > confdefs.h - # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF + cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF + cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF + cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE +# Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site + set x "$prefix/share/config.site" "$prefix/etc/config.site" else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" +shift +for ac_site_file do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} + 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. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} + # 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;}
$cache_file fi
@@ -2164,56 +1656,68 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { 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) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { 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 - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + { 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=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) 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. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + { 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 -## -------------------- ## -## Main body of script. ## -## -------------------- ## + + + + + + + + + + + + + + + + + + + + + + + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -2245,16 +1749,24 @@ ac_config_headers="$ac_config_headers triton-config.h" ac_aux_dir= for ac_dir in maint/config "$srcdir"/maint/config; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi done if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in maint/config \"$srcdir\"/maint/config" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in maint/config \"$srcdir\"/maint/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in maint/config \"$srcdir\"/maint/config" >&2;} + { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, @@ -2280,23 +1792,22 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } +{ 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 : - $as_echo_n "(cached) " >&6 +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]/* | \ + # 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[\\/]* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -2314,29 +1825,17 @@ case $as_dir/ in #(( # program-specific install script used by HP pwplus--don't use. : else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 fi fi done done ;; esac - - done +done IFS=$as_save_IFS -rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then @@ -2349,8 +1848,8 @@ fi INSTALL=$ac_install_sh fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } +{ 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. @@ -2368,10 +1867,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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. @@ -2381,25 +1880,25 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi @@ -2408,10 +1907,10 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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. @@ -2421,25 +1920,25 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then @@ -2447,8 +1946,12 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to [email protected]." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to [email protected]." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -2461,10 +1964,10 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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. @@ -2474,25 +1977,25 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi @@ -2501,10 +2004,10 @@ fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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. @@ -2515,18 +2018,18 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then @@ -2545,11 +2048,11 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi @@ -2560,10 +2063,10 @@ if test -z "$CC"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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. @@ -2573,25 +2076,25 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi @@ -2604,10 +2107,10 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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. @@ -2617,25 +2120,25 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi @@ -2647,8 +2150,12 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to [email protected]." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to [email protected]." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -2658,37 +2165,51 @@ fi fi -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +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. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } -cat confdefs.h - <<_ACEOF >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. */ int @@ -2700,38 +2221,42 @@ main () } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +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. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles -if { { ac_try="$ac_link_default" +if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, @@ -2741,14 +2266,14 @@ for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -2767,42 +2292,78 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +{ { 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } + ac_exeext=$ac_cv_exeext -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# 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' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + 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 @@ -2810,90 +2371,37 @@ $as_echo "$ac_try_echo"; } >&5 for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } + { { 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 conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest$ac_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 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdio.h> -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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 confdefs.h - <<_ACEOF >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. */ int @@ -2905,46 +2413,51 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else - $as_echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } +{ { 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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 confdefs.h - <<_ACEOF >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. */ int @@ -2958,34 +2471,54 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else - ac_compiler_gnu=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi +{ 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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 ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int @@ -2996,11 +2529,34 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int @@ -3011,12 +2567,35 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : else - ac_c_werror_flag=$ac_save_c_werror_flag + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" - cat confdefs.h - <<_ACEOF >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. */ int @@ -3027,18 +2606,42 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } +{ 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 @@ -3054,14 +2657,18 @@ else CFLAGS= fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >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. */ #include <stdarg.h> #include <stdio.h> @@ -3118,9 +2725,31 @@ for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done @@ -3131,19 +2760,17 @@ fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac -if test "x$ac_cv_prog_cc_c89" != xno; then : -fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -3156,15 +2783,15 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } +{ 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 : - $as_echo_n "(cached) " >&6 + 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" @@ -3178,7 +2805,11 @@ do # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + 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> @@ -3187,34 +2818,76 @@ do #endif Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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 && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.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 nonexistent headers # can be detected and how. - cat confdefs.h - <<_ACEOF >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. */ #include <ac_nonexistent.h> _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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 && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.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 : +if $ac_preproc_ok; then break fi @@ -3226,8 +2899,8 @@ fi else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } +{ 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 @@ -3237,7 +2910,11 @@ do # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + 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> @@ -3246,40 +2923,83 @@ do #endif Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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 && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.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 nonexistent headers # can be detected and how. - cat confdefs.h - <<_ACEOF >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. */ #include <ac_nonexistent.h> _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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 && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.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 : - +if $ac_preproc_ok; then + : else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } + { { 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 @@ -3291,40 +3011,45 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -z "$GREP"; then ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" + echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val + ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" @@ -3336,61 +3061,77 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_GREP_found && break 3 - done - done + + $ac_path_GREP_found && break 3 done +done + +done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + else ac_cv_path_GREP=$GREP fi + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_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_path_EGREP="$GREP -E" else - if test -z "$EGREP"; then + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" + echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val + ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" @@ -3402,31 +3143,46 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - $ac_path_EGREP_found && break 3 - done - done + + $ac_path_EGREP_found && break 3 done +done + +done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + else ac_cv_path_EGREP=$EGREP fi + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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 confdefs.h - <<_ACEOF >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. */ #include <stdlib.h> #include <stdarg.h> @@ -3441,53 +3197,85 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else - ac_cv_header_stdc=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + 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 : - + $EGREP "memchr" >/dev/null 2>&1; then + : else ac_cv_header_stdc=no fi -rm -f conftest* +rm -f -r conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + 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 : - + $EGREP "free" >/dev/null 2>&1; then + : else ac_cv_header_stdc=no fi -rm -f conftest* +rm -f -r 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 : + if test "$cross_compiling" = yes; then : else - cat confdefs.h - <<_ACEOF >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. */ #include <ctype.h> #include <stdlib.h> @@ -3514,36 +3302,113 @@ main () return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : else - ac_cv_header_stdc=no + 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 core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } +{ 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 -$as_echo "#define STDC_HEADERS 1" >>confdefs.h +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=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +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 { as_var=$as_ac_Header; eval "test \"\${$as_var+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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi @@ -3551,257 +3416,640 @@ fi done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if test "${ac_cv_c_bigendian+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 +echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; } +if test "${ac_cv_c_bigendian+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # See if sys/param.h defines the BYTE_ORDER macro. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <sys/types.h> - #include <sys/param.h> +#include <sys/param.h> int main () { -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ + && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) + bogus endian macros +#endif ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >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. */ #include <sys/types.h> - #include <sys/param.h> +#include <sys/param.h> int main () { #if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif + not big endian +#endif ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_c_bigendian=yes else - ac_cv_c_bigendian=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_bigendian=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # It does not; compile a test program. +if test "$cross_compiling" = yes; then + # try to guess the endianness by grepping values into an object file + ac_cv_c_bigendian=unknown + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; +short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; +void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } +short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; +short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; +void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } +int +main () +{ + _ascii (); _ebcdic (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then + ac_cv_c_bigendian=yes +fi +if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include <limits.h> - +$ac_includes_default int main () { -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <limits.h> +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_bigendian=no +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_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 +echo "${ECHO_T}$ac_cv_c_bigendian" >&6; } +case $ac_cv_c_bigendian in + yes) + +cat >>confdefs.h <<\_ACEOF +#define WORDS_BIGENDIAN 1 +_ACEOF + ;; + no) + ;; + *) + { { echo "$as_me:$LINENO: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&5 +echo "$as_me: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} + { (exit 1); exit 1; }; } ;; +esac + + +{ echo "$as_me:$LINENO: checking for long int" >&5 +echo $ECHO_N "checking for long int... $ECHO_C" >&6; } +if test "${ac_cv_type_long_int+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 +typedef long int ac__type_new_; int main () { -#ifndef _BIG_ENDIAN - not big endian - #endif - +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_long_int=yes else - ac_cv_c_bigendian=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_long_int=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_cv_type_long_int" >&5 +echo "${ECHO_T}$ac_cv_type_long_int" >&6; } + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ echo "$as_me:$LINENO: checking size of long int" >&5 +echo $ECHO_N "checking size of long int... $ECHO_C" >&6; } +if test "${ac_cv_sizeof_long_int+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; +$ac_includes_default + typedef long int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + 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 + typedef long int ac__type_sizeof_; int main () { -return use_ascii (foo) == use_ebcdic (foo); +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + 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 + typedef long int ac__type_sizeof_; int main () { +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; +test_array [0] = 0 - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + 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 + typedef long int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; +test_array [0] = 0 ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break else - ac_cv_c_bigendian=yes + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo= ac_hi= fi - fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + 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 + typedef long int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 - ;; #( - *) - as_fn_error "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_lo=`expr '(' $ac_mid ')' + 1` +fi -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long int" >&5 -$as_echo_n "checking size of long int... " >&6; } -if test "${ac_cv_sizeof_long_int+set}" = set; then : - $as_echo_n "(cached) " >&6 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_long_int=$ac_lo;; +'') if test "$ac_cv_type_long_int" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (long int) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (long int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_long_int=0 + fi ;; +esac else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long int))" "ac_cv_sizeof_long_int" "$ac_includes_default"; then : + 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 + typedef long int ac__type_sizeof_; +static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } +static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } +#include <stdio.h> +#include <stdlib.h> +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (ac__type_sizeof_))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%ld\n", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%lu\n", i); + } + return ferror (f) || fclose (f) != 0; + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_long_int=`cat conftest.val` else - if test "$ac_cv_type_long_int" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (long int) -See \`config.log' for more details." "$LINENO" 5; }; } + 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 ) +if test "$ac_cv_type_long_int" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (long int) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (long int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } else ac_cv_sizeof_long_int=0 fi fi - +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_int" >&5 -$as_echo "$ac_cv_sizeof_long_int" >&6; } +rm -f conftest.val +fi +{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_int" >&5 +echo "${ECHO_T}$ac_cv_sizeof_long_int" >&6; } @@ -3810,32 +4058,403 @@ cat >>confdefs.h <<_ACEOF _ACEOF +{ echo "$as_me:$LINENO: checking for void *" >&5 +echo $ECHO_N "checking for void *... $ECHO_C" >&6; } +if test "${ac_cv_type_void_p+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 +typedef void * ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_void_p=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_void_p=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_void_p" >&5 +echo "${ECHO_T}$ac_cv_type_void_p" >&6; } + # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 -$as_echo_n "checking size of void *... " >&6; } -if test "${ac_cv_sizeof_void_p+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking size of void *" >&5 +echo $ECHO_N "checking size of void *... $ECHO_C" >&6; } +if test "${ac_cv_sizeof_void_p+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +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 + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + 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 + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - if test "$ac_cv_type_void_p" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (void *) -See \`config.log' for more details." "$LINENO" 5; }; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + 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 + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + 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 + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo= ac_hi= +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + 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 + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr '(' $ac_mid ')' + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_void_p=$ac_lo;; +'') if test "$ac_cv_type_void_p" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_void_p=0 + fi ;; +esac +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 + typedef void * ac__type_sizeof_; +static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } +static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } +#include <stdio.h> +#include <stdlib.h> +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (ac__type_sizeof_))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%ld\n", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%lu\n", i); + } + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_void_p=`cat conftest.val` +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 ) +if test "$ac_cv_type_void_p" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } else ac_cv_sizeof_void_p=0 fi fi - +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 -$as_echo "$ac_cv_sizeof_void_p" >&6; } +rm -f conftest.val +fi +{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_void_p" >&5 +echo "${ECHO_T}$ac_cv_sizeof_void_p" >&6; } @@ -3845,23 +4464,25 @@ _ACEOF -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for required gcc" >&5 -$as_echo_n "checking for required gcc... " >&6; } +{ echo "$as_me:$LINENO: checking for required gcc" >&5 +echo $ECHO_N "checking for required gcc... $ECHO_C" >&6; } if test "x$GCC" = "x"; then - as_fn_error "no" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: no" >&5 +echo "$as_me: error: no" >&2;} + { (exit 1); exit 1; }; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } # Check whether --with-ghc was given. -if test "${with_ghc+set}" = set; then : +if test "${with_ghc+set}" = set; then withval=$with_ghc; # Extract the first word of "${withval}/bin/ghc", so it can be a program name with args. set dummy ${withval}/bin/ghc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GHC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_GHC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GHC in [\\/]* | ?:[\\/]*) @@ -3873,14 +4494,14 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GHC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS ;; @@ -3888,21 +4509,21 @@ esac fi GHC=$ac_cv_path_GHC if test -n "$GHC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GHC" >&5 -$as_echo "$GHC" >&6; } + { echo "$as_me:$LINENO: result: $GHC" >&5 +echo "${ECHO_T}$GHC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi else # Extract the first word of "ghc", so it can be a program name with args. set dummy ghc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GHC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_GHC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GHC in [\\/]* | ?:[\\/]*) @@ -3914,14 +4535,14 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GHC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS ;; @@ -3929,11 +4550,11 @@ esac fi GHC=$ac_cv_path_GHC if test -n "$GHC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GHC" >&5 -$as_echo "$GHC" >&6; } + { echo "$as_me:$LINENO: result: $GHC" >&5 +echo "${ECHO_T}$GHC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi @@ -3943,43 +4564,84 @@ fi # Check whether --with-db was given. -if test "${with_db+set}" = set; then : +if test "${with_db+set}" = set; then withval=$with_db; dbpath=${withval} DB_LDFLAGS= - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for db library" >&5 -$as_echo_n "checking for db library... " >&6; } + { echo "$as_me:$LINENO: checking for db library" >&5 +echo $ECHO_N "checking for db library... $ECHO_C" >&6; } oldlibs=$LIBS lib=notfound if test "x$dbpath" != "x" ; then oldcflags=$CFLAGS for dbheader in db4 db3 notfound; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + cat >conftest.$ac_ext <<_ACEOF #include "$dbpath/include/$dbheader/db.h" _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then DB_CFLAGS="-I$dbpath/include/$dbheader/" break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done if test "x$dbheader" = "xnotfound"; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + cat >conftest.$ac_ext <<_ACEOF #include "$dbpath/include/db.h" _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then DB_CFLAGS="-I$dbpath/include/" else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "Invalid libdb path specified. No db.h found. -See \`config.log' for more details." "$LINENO" 5; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { { echo "$as_me:$LINENO: error: Invalid libdb path specified. No db.h found. +See \`config.log' for more details." >&5 +echo "$as_me: error: Invalid libdb path specified. No db.h found. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -3989,7 +4651,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext LIBS="${oldlibs} -ldb -lpthread" DB_LIB="-ldb" CFLAGS="$DB_CFLAGS $oldcflags" - cat confdefs.h - <<_ACEOF >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. */ #include <db.h> int @@ -4000,18 +4666,45 @@ DB *dbp; db_create(&dbp, NULL, 0); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then lib=db +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext CFLAGS=$oldcflags else for lib in db4 db3 db notfound; do LIBS="${oldlibs} -l$lib -lpthread" DB_LIB="-l$lib" - cat confdefs.h - <<_ACEOF >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. */ #include <db.h> int @@ -4022,30 +4715,59 @@ DB *dbp; db_create(&dbp, NULL, 0); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext done fi LIBS=$oldlibs if test "x$lib" = "xnotfound" ; then - as_fn_error "could not find DB libraries" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: could not find DB libraries" >&5 +echo "$as_me: error: could not find DB libraries" >&2;} + { (exit 1); exit 1; }; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lib" >&5 -$as_echo "$lib" >&6; } + { echo "$as_me:$LINENO: result: $lib" >&5 +echo "${ECHO_T}$lib" >&6; } fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dbenv parameter to DB error callback function" >&5 -$as_echo_n "checking for dbenv parameter to DB error callback function... " >&6; } + { echo "$as_me:$LINENO: checking for dbenv parameter to DB error callback function" >&5 +echo $ECHO_N "checking for dbenv parameter to DB error callback function... $ECHO_C" >&6; } oldcflags=$CFLAGS CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror" - cat confdefs.h - <<_ACEOF >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. */ #include <db.h> @@ -4069,24 +4791,50 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1 +_ACEOF have_dbenv_parameter_to_db_error_callback=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } have_dbenv_parameter_to_db_error_callback=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x$have_dbenv_parameter_to_db_error_callback" = "xyes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if third parameter to error callback function is const" >&5 -$as_echo_n "checking if third parameter to error callback function is const... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking if third parameter to error callback function is const" >&5 +echo $ECHO_N "checking if third parameter to error callback function is const... $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 <db.h> @@ -4110,23 +4858,49 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -$as_echo "#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK 1" >>confdefs.h + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK 1 +_ACEOF fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DB stat with malloc function ptr" >&5 -$as_echo_n "checking for DB stat with malloc function ptr... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for DB stat with malloc function ptr" >&5 +echo $ECHO_N "checking for DB stat with malloc function ptr... $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 <db.h> @@ -4147,25 +4921,51 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_UNKNOWN_PARAMETER_TO_DB_STAT 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_UNKNOWN_PARAMETER_TO_DB_STAT 1 +_ACEOF have_db_stat_malloc=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } have_db_stat_malloc=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x$have_db_stat_malloc" = "xno" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for txnid parameter to DB stat function" >&5 -$as_echo_n "checking for txnid parameter to DB stat function... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for txnid parameter to DB stat function" >&5 +echo $ECHO_N "checking for txnid parameter to DB stat function... $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 <db.h> @@ -4185,25 +4985,51 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1 +_ACEOF have_txnid_param_to_stat=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } have_txnid_param_to_stat=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for txnid parameter to DB open function" >&5 -$as_echo_n "checking for txnid parameter to DB open function... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for txnid parameter to DB open function" >&5 +echo $ECHO_N "checking for txnid parameter to DB open function... $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 <db.h> @@ -4227,21 +5053,47 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1 +_ACEOF else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DB_DIRTY_READ flag" >&5 -$as_echo_n "checking for DB_DIRTY_READ flag... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for DB_DIRTY_READ flag" >&5 +echo $ECHO_N "checking for DB_DIRTY_READ flag... $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 <db.h> @@ -4256,21 +5108,47 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_DB_DIRTY_READ 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DB_DIRTY_READ 1 +_ACEOF else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DB_BUFFER_SMALL error" >&5 -$as_echo_n "checking for DB_BUFFER_SMALL error... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for DB_BUFFER_SMALL error" >&5 +echo $ECHO_N "checking for DB_BUFFER_SMALL error... $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 <db.h> @@ -4286,21 +5164,47 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_DB_BUFFER_SMALL 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DB_BUFFER_SMALL 1 +_ACEOF else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for berkeley db get_pagesize function" >&5 -$as_echo_n "checking for berkeley db get_pagesize function... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for berkeley db get_pagesize function" >&5 +echo $ECHO_N "checking for berkeley db get_pagesize function... $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 <db.h> @@ -4319,16 +5223,38 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_DB_GET_PAGESIZE 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DB_GET_PAGESIZE 1 +_ACEOF else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$oldcflags" @@ -4338,38 +5264,79 @@ else dbpath="" DB_LDFLAGS= - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for db library" >&5 -$as_echo_n "checking for db library... " >&6; } + { echo "$as_me:$LINENO: checking for db library" >&5 +echo $ECHO_N "checking for db library... $ECHO_C" >&6; } oldlibs=$LIBS lib=notfound if test "x$dbpath" != "x" ; then oldcflags=$CFLAGS for dbheader in db4 db3 notfound; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + cat >conftest.$ac_ext <<_ACEOF #include "$dbpath/include/$dbheader/db.h" _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then DB_CFLAGS="-I$dbpath/include/$dbheader/" break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done if test "x$dbheader" = "xnotfound"; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + cat >conftest.$ac_ext <<_ACEOF #include "$dbpath/include/db.h" _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then DB_CFLAGS="-I$dbpath/include/" else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "Invalid libdb path specified. No db.h found. -See \`config.log' for more details." "$LINENO" 5; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { { echo "$as_me:$LINENO: error: Invalid libdb path specified. No db.h found. +See \`config.log' for more details." >&5 +echo "$as_me: error: Invalid libdb path specified. No db.h found. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -4379,7 +5346,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext LIBS="${oldlibs} -ldb -lpthread" DB_LIB="-ldb" CFLAGS="$DB_CFLAGS $oldcflags" - cat confdefs.h - <<_ACEOF >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. */ #include <db.h> int @@ -4390,18 +5361,45 @@ DB *dbp; db_create(&dbp, NULL, 0); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then lib=db +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext CFLAGS=$oldcflags else for lib in db4 db3 db notfound; do LIBS="${oldlibs} -l$lib -lpthread" DB_LIB="-l$lib" - cat confdefs.h - <<_ACEOF >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. */ #include <db.h> int @@ -4412,30 +5410,59 @@ DB *dbp; db_create(&dbp, NULL, 0); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext done fi LIBS=$oldlibs if test "x$lib" = "xnotfound" ; then - as_fn_error "could not find DB libraries" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: could not find DB libraries" >&5 +echo "$as_me: error: could not find DB libraries" >&2;} + { (exit 1); exit 1; }; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lib" >&5 -$as_echo "$lib" >&6; } + { echo "$as_me:$LINENO: result: $lib" >&5 +echo "${ECHO_T}$lib" >&6; } fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dbenv parameter to DB error callback function" >&5 -$as_echo_n "checking for dbenv parameter to DB error callback function... " >&6; } + { echo "$as_me:$LINENO: checking for dbenv parameter to DB error callback function" >&5 +echo $ECHO_N "checking for dbenv parameter to DB error callback function... $ECHO_C" >&6; } oldcflags=$CFLAGS CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror" - cat confdefs.h - <<_ACEOF >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. */ #include <db.h> @@ -4459,24 +5486,50 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1 +_ACEOF have_dbenv_parameter_to_db_error_callback=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } have_dbenv_parameter_to_db_error_callback=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x$have_dbenv_parameter_to_db_error_callback" = "xyes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if third parameter to error callback function is const" >&5 -$as_echo_n "checking if third parameter to error callback function is const... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking if third parameter to error callback function is const" >&5 +echo $ECHO_N "checking if third parameter to error callback function is const... $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 <db.h> @@ -4500,23 +5553,49 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK 1 +_ACEOF fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DB stat with malloc function ptr" >&5 -$as_echo_n "checking for DB stat with malloc function ptr... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for DB stat with malloc function ptr" >&5 +echo $ECHO_N "checking for DB stat with malloc function ptr... $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 <db.h> @@ -4537,25 +5616,51 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_UNKNOWN_PARAMETER_TO_DB_STAT 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_UNKNOWN_PARAMETER_TO_DB_STAT 1 +_ACEOF have_db_stat_malloc=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } have_db_stat_malloc=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x$have_db_stat_malloc" = "xno" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for txnid parameter to DB stat function" >&5 -$as_echo_n "checking for txnid parameter to DB stat function... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for txnid parameter to DB stat function" >&5 +echo $ECHO_N "checking for txnid parameter to DB stat function... $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 <db.h> @@ -4575,25 +5680,51 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1 +_ACEOF have_txnid_param_to_stat=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } have_txnid_param_to_stat=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for txnid parameter to DB open function" >&5 -$as_echo_n "checking for txnid parameter to DB open function... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for txnid parameter to DB open function" >&5 +echo $ECHO_N "checking for txnid parameter to DB open function... $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 <db.h> @@ -4617,21 +5748,47 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1 +_ACEOF else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DB_DIRTY_READ flag" >&5 -$as_echo_n "checking for DB_DIRTY_READ flag... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for DB_DIRTY_READ flag" >&5 +echo $ECHO_N "checking for DB_DIRTY_READ flag... $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 <db.h> @@ -4646,21 +5803,47 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_DB_DIRTY_READ 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DB_DIRTY_READ 1 +_ACEOF else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DB_BUFFER_SMALL error" >&5 -$as_echo_n "checking for DB_BUFFER_SMALL error... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for DB_BUFFER_SMALL error" >&5 +echo $ECHO_N "checking for DB_BUFFER_SMALL error... $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 <db.h> @@ -4676,21 +5859,47 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_DB_BUFFER_SMALL 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DB_BUFFER_SMALL 1 +_ACEOF else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for berkeley db get_pagesize function" >&5 -$as_echo_n "checking for berkeley db get_pagesize function... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for berkeley db get_pagesize function" >&5 +echo $ECHO_N "checking for berkeley db get_pagesize function... $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 <db.h> @@ -4709,16 +5918,38 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -$as_echo "#define HAVE_DB_GET_PAGESIZE 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DB_GET_PAGESIZE 1 +_ACEOF else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$oldcflags" @@ -4728,9 +5959,11 @@ fi # Check whether --with-mpi was given. -if test "${with_mpi+set}" = set; then : +if test "${with_mpi+set}" = set; then withval=$with_mpi; if test x$withval = xyes; then - as_fn_error "--with-mpi must be given a pathname" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: --with-mpi must be given a pathname" >&5 +echo "$as_me: error: --with-mpi must be given a pathname" >&2;} + { (exit 1); exit 1; }; } else MPICC="${withval}/bin/mpicc" MPICFLAGS="-I${withval}/include" @@ -4747,6 +5980,154 @@ fi + + + case $host in + darwin*-*-*) USE_DYLIBS=yes ;; + *) USE_DYLIBS="" + ;; +esac + + + + { echo "$as_me:$LINENO: checking for O_DIRECT" >&5 +echo $ECHO_N "checking for O_DIRECT... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF + +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +void testodirect(void) +{ + open(NULL, O_DIRECT); +} + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_ODIRECT 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +{ echo "$as_me:$LINENO: checking for O_NOATIME" >&5 +echo $ECHO_N "checking for O_NOATIME... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF + +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +void testnoatime(void) +{ + open(NULL, O_NOATIME); +} + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_NOATIME 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +{ echo "$as_me:$LINENO: checking for OS X blocks support" >&5 +echo $ECHO_N "checking for OS X blocks support... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +#include <stdlib.h> +#ifdef __BLOCKS__ +#error "OSX defines __BLOCKS__ and includes that aren't ANSI C" +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +CFLAGS="$CFLAGS -fno-blocks" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + + BUILD_ABSOLUTE_TOP=${PWD} SRC_RELATIVE_TOP=$srcdir SRC_ABSOLUTE_TOP=`cd $srcdir; pwd` @@ -4761,7 +6142,7 @@ SRC_ABSOLUTE_TOP=`cd $srcdir; pwd` # Check whether --enable-verbose was given. -if test "${enable_verbose+set}" = set; then : +if test "${enable_verbose+set}" = set; then enableval=$enable_verbose; QUIET_COMPILE=0 else QUIET_COMPILE=1 @@ -4770,7 +6151,7 @@ fi # Check whether --enable-error-on-warning was given. -if test "${enable_error_on_warning+set}" = set; then : +if test "${enable_error_on_warning+set}" = set; then enableval=$enable_error_on_warning; WARNINGS_AS_ERRORS=1 else WARNINGS_AS_ERRORS=0 @@ -4780,7 +6161,7 @@ fi STRICT_CFLAGS= # Check whether --enable-strict was given. -if test "${enable_strict+set}" = set; then : +if test "${enable_strict+set}" = set; then enableval=$enable_strict; STRICT_CFLAGS=1 fi @@ -4788,35 +6169,35 @@ fi AE_DEBUG= # Check whether --enable-aesop-debug was given. -if test "${enable_aesop_debug+set}" = set; then : +if test "${enable_aesop_debug+set}" = set; then enableval=$enable_aesop_debug; AE_DEBUG=1 fi # Check whether --enable-coverage was given. -if test "${enable_coverage+set}" = set; then : +if test "${enable_coverage+set}" = set; then enableval=$enable_coverage; CFLAGS="$CFLAGS -g -pg -ftest-coverage -O0" ENABLE_COVERAGE=1 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for client library thread safety support" >&5 -$as_echo_n "checking for client library thread safety support... " >&6; } +{ echo "$as_me:$LINENO: checking for client library thread safety support" >&5 +echo $ECHO_N "checking for client library thread safety support... $ECHO_C" >&6; } # Check whether --enable-thread-safety was given. -if test "${enable_thread_safety+set}" = set; then : +if test "${enable_thread_safety+set}" = set; then enableval=$enable_thread_safety; if test "x$enableval" = "xno" ; then LIBCFLAGS="$LIBCFLAGS -D__TRITON_NULL_LOCKING__" THREAD_LIB="" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi else LIBCFLAGS="$LIBCFLAGS -D__TRITON_POSIX_LOCKING__" THREAD_LIB="-lpthread" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } fi @@ -4837,15 +6218,17 @@ fi \+ $sqlite_min_micro` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking sqlite library" >&5 -$as_echo "$as_me: checking sqlite library" >&6;} + { echo "$as_me:$LINENO: checking sqlite library" >&5 +echo "$as_me: checking sqlite library" >&6;} # Check whether --with-sqlite was given. -if test "${with_sqlite+set}" = set; then : +if test "${with_sqlite+set}" = set; then withval=$with_sqlite; if test "$withval" = "yes" ; then - as_fn_error "--with-sqlite requires an argument." "$LINENO" 5 + { { echo "$as_me:$LINENO: error: --with-sqlite requires an argument." >&5 +echo "$as_me: error: --with-sqlite requires an argument." >&2;} + { (exit 1); exit 1; }; } else sqlite_dir="$withval" fi @@ -4868,12 +6251,145 @@ if test "${with_sqlite+set}" = set; then : LDFLAGS="$LDFLAGS -L$sqlite_dir/lib" fi - ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" "ac_cv_header_sqlite3_h" "$ac_includes_default" -if test "x$ac_cv_header_sqlite3_h" = x""yes; then : + if test "${ac_cv_header_sqlite3_h+set}" = set; then + { echo "$as_me:$LINENO: checking for sqlite3.h" >&5 +echo $ECHO_N "checking for sqlite3.h... $ECHO_C" >&6; } +if test "${ac_cv_header_sqlite3_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 +echo "${ECHO_T}$ac_cv_header_sqlite3_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking sqlite3.h usability" >&5 +echo $ECHO_N "checking sqlite3.h 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 <sqlite3.h> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking sqlite library version (via header)" >&5 -$as_echo_n "checking sqlite library version (via header)... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +# Is the header present? +{ echo "$as_me:$LINENO: checking sqlite3.h presence" >&5 +echo $ECHO_N "checking sqlite3.h 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 <sqlite3.h> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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 && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.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: sqlite3.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: sqlite3.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: sqlite3.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: sqlite3.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: sqlite3.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: sqlite3.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: sqlite3.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: sqlite3.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: sqlite3.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: sqlite3.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------- ## +## Report this to [email protected] ## +## ------------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for sqlite3.h" >&5 +echo $ECHO_N "checking for sqlite3.h... $ECHO_C" >&6; } +if test "${ac_cv_header_sqlite3_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_sqlite3_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 +echo "${ECHO_T}$ac_cv_header_sqlite3_h" >&6; } + +fi +if test $ac_cv_header_sqlite3_h = yes; then + + { echo "$as_me:$LINENO: checking sqlite library version (via header)" >&5 +echo $ECHO_N "checking sqlite library version (via header)... $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 "$sqlite_include" @@ -4882,17 +6398,21 @@ SQLITE_VERSION_OKAY #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "SQLITE_VERSION_OKAY" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: okay" >&5 -$as_echo "okay" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_close in -lsqlite3" >&5 -$as_echo_n "checking for sqlite3_close in -lsqlite3... " >&6; } -if test "${ac_cv_lib_sqlite3_sqlite3_close+set}" = set; then : - $as_echo_n "(cached) " >&6 + $EGREP "SQLITE_VERSION_OKAY" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: result: okay" >&5 +echo "${ECHO_T}okay" >&6; } + { echo "$as_me:$LINENO: checking for sqlite3_close in -lsqlite3" >&5 +echo $ECHO_N "checking for sqlite3_close in -lsqlite3... $ECHO_C" >&6; } +if test "${ac_cv_lib_sqlite3_sqlite3_close+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsqlite3 $LIBS" -cat confdefs.h - <<_ACEOF >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. */ /* Override any GCC internal prototype to avoid an error. @@ -4910,18 +6430,39 @@ return sqlite3_close (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then ac_cv_lib_sqlite3_sqlite3_close=yes else - ac_cv_lib_sqlite3_sqlite3_close=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_sqlite3_sqlite3_close=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_close" >&5 -$as_echo "$ac_cv_lib_sqlite3_sqlite3_close" >&6; } -if test "x$ac_cv_lib_sqlite3_sqlite3_close" = x""yes; then : +{ echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite3_sqlite3_close" >&5 +echo "${ECHO_T}$ac_cv_lib_sqlite3_sqlite3_close" >&6; } +if test $ac_cv_lib_sqlite3_sqlite3_close = yes; then triton_lib_sqlite="yes" if test -z "$sqlite_dir" -o ! -d "$sqlite_dir"; then @@ -4934,10 +6475,10 @@ if test "x$ac_cv_lib_sqlite3_sqlite3_close" = x""yes; then : fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported SQLite version" >&5 -$as_echo "unsupported SQLite version" >&6; } + { echo "$as_me:$LINENO: result: unsupported SQLite version" >&5 +echo "${ECHO_T}unsupported SQLite version" >&6; } fi -rm -f conftest* +rm -f -r conftest* fi @@ -4948,13 +6489,17 @@ fi LDFLAGS="$save_LDFLAGS" else - as_fn_error "$sqlite_dir is not a directory." "$LINENO" 5 + { { echo "$as_me:$LINENO: error: $sqlite_dir is not a directory." >&5 +echo "$as_me: error: $sqlite_dir is not a directory." >&2;} + { (exit 1); exit 1; }; } fi # if a --with-sqlite argument was given, then we should complain if we # can't find it there if test -z "$triton_lib_sqlite"; then - as_fn_error "no suitable sqlite found in $sqlite_dir" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: no suitable sqlite found in $sqlite_dir" >&5 +echo "$as_me: error: no suitable sqlite found in $sqlite_dir" >&2;} + { (exit 1); exit 1; }; } else BUILD_OSD=1 fi @@ -4979,12 +6524,145 @@ else LDFLAGS="$LDFLAGS -L$sqlite_dir/lib" fi - ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" "ac_cv_header_sqlite3_h" "$ac_includes_default" -if test "x$ac_cv_header_sqlite3_h" = x""yes; then : + if test "${ac_cv_header_sqlite3_h+set}" = set; then + { echo "$as_me:$LINENO: checking for sqlite3.h" >&5 +echo $ECHO_N "checking for sqlite3.h... $ECHO_C" >&6; } +if test "${ac_cv_header_sqlite3_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 +echo "${ECHO_T}$ac_cv_header_sqlite3_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking sqlite3.h usability" >&5 +echo $ECHO_N "checking sqlite3.h 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 <sqlite3.h> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking sqlite library version (via header)" >&5 -$as_echo_n "checking sqlite library version (via header)... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f core 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 sqlite3.h presence" >&5 +echo $ECHO_N "checking sqlite3.h 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 <sqlite3.h> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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 && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.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: sqlite3.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: sqlite3.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: sqlite3.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: sqlite3.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: sqlite3.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: sqlite3.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: sqlite3.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: sqlite3.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: sqlite3.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: sqlite3.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------- ## +## Report this to [email protected] ## +## ------------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for sqlite3.h" >&5 +echo $ECHO_N "checking for sqlite3.h... $ECHO_C" >&6; } +if test "${ac_cv_header_sqlite3_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_sqlite3_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 +echo "${ECHO_T}$ac_cv_header_sqlite3_h" >&6; } + +fi +if test $ac_cv_header_sqlite3_h = yes; then + + { echo "$as_me:$LINENO: checking sqlite library version (via header)" >&5 +echo $ECHO_N "checking sqlite library version (via header)... $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 "$sqlite_include" @@ -4993,17 +6671,21 @@ SQLITE_VERSION_OKAY #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "SQLITE_VERSION_OKAY" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: okay" >&5 -$as_echo "okay" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_close in -lsqlite3" >&5 -$as_echo_n "checking for sqlite3_close in -lsqlite3... " >&6; } -if test "${ac_cv_lib_sqlite3_sqlite3_close+set}" = set; then : - $as_echo_n "(cached) " >&6 + $EGREP "SQLITE_VERSION_OKAY" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: result: okay" >&5 +echo "${ECHO_T}okay" >&6; } + { echo "$as_me:$LINENO: checking for sqlite3_close in -lsqlite3" >&5 +echo $ECHO_N "checking for sqlite3_close in -lsqlite3... $ECHO_C" >&6; } +if test "${ac_cv_lib_sqlite3_sqlite3_close+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsqlite3 $LIBS" -cat confdefs.h - <<_ACEOF >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. */ /* Override any GCC internal prototype to avoid an error. @@ -5021,18 +6703,39 @@ return sqlite3_close (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then ac_cv_lib_sqlite3_sqlite3_close=yes else - ac_cv_lib_sqlite3_sqlite3_close=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_sqlite3_sqlite3_close=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_close" >&5 -$as_echo "$ac_cv_lib_sqlite3_sqlite3_close" >&6; } -if test "x$ac_cv_lib_sqlite3_sqlite3_close" = x""yes; then : +{ echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite3_sqlite3_close" >&5 +echo "${ECHO_T}$ac_cv_lib_sqlite3_sqlite3_close" >&6; } +if test $ac_cv_lib_sqlite3_sqlite3_close = yes; then triton_lib_sqlite="yes" if test -z "$sqlite_dir" -o ! -d "$sqlite_dir"; then @@ -5045,10 +6748,10 @@ if test "x$ac_cv_lib_sqlite3_sqlite3_close" = x""yes; then : fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported SQLite version" >&5 -$as_echo "unsupported SQLite version" >&6; } + { echo "$as_me:$LINENO: result: unsupported SQLite version" >&5 +echo "${ECHO_T}unsupported SQLite version" >&6; } fi -rm -f conftest* +rm -f -r conftest* fi @@ -5063,8 +6766,8 @@ fi if test -z "$triton_lib_sqlite"; then if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking sqlite library version (via pkg-config)" >&5 -$as_echo_n "checking sqlite library version (via pkg-config)... " >&6; } + { echo "$as_me:$LINENO: checking sqlite library version (via pkg-config)" >&5 +echo $ECHO_N "checking sqlite library version (via pkg-config)... $ECHO_C" >&6; } sqlite_version=`$PKG_CONFIG $SQLITE_PKGNAME --modversion --silence-errors` if test -n "$sqlite_version"; then @@ -5081,21 +6784,21 @@ $as_echo_n "checking sqlite library version (via pkg-config)... " >&6; } if test "$sqlite_ver_num" -ge "$sqlite_min_ver_num"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $sqlite_version" >&5 -$as_echo "$sqlite_version" >&6; } + { echo "$as_me:$LINENO: result: $sqlite_version" >&5 +echo "${ECHO_T}$sqlite_version" >&6; } triton_lib_sqlite="yes" TRITON_SQLITE_INCLUDES="`$PKG_CONFIG $SQLITE_PKGNAME --cflags`" TRITON_SQLITE_LIBS="`$PKG_CONFIG $SQLITE_PKGNAME --libs`" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none or unsupported $sqlite_version" >&5 -$as_echo "none or unsupported $sqlite_version" >&6; } + { echo "$as_me:$LINENO: result: none or unsupported $sqlite_version" >&5 +echo "${ECHO_T}none or unsupported $sqlite_version" >&6; } fi fi fi if test -z "$triton_lib_sqlite"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi fi @@ -5144,13 +6847,12 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; + *) $as_unset $ac_var ;; esac ;; esac done @@ -5158,8 +6860,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. + # `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" @@ -5182,12 +6884,12 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -5203,11 +6905,11 @@ ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs @@ -5215,15 +6917,12 @@ LTLIBOBJS=$ac_ltlibobjs - : ${CONFIG_STATUS=./config.status} -ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +{ 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. @@ -5233,79 +6932,59 @@ cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 debug=false ac_cs_recheck=false ac_cs_silent=false - SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; esac + fi -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' + + +# PATH needs CR +# 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 - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' + PATH_SEPARATOR=: fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' + rm -f conf$$.sh fi -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false fi @@ -5314,18 +6993,20 @@ fi # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) +as_nl=' +' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in #(( +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 + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done IFS=$as_save_IFS ;; @@ -5336,111 +7017,32 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. -as_fn_error () -{ - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi - $as_echo "$as_me: error: $1" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - +done +# Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -5454,17 +7056,13 @@ else as_basename=false fi -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -5479,103 +7077,104 @@ $as_echo X/"$0" | } s/.*/./; q'` -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # 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 after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, 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 + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { 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 sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( +case `echo -n x` in -n*) - case `echo 'xy\c'` in + case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; + *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' - 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$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" - - -} # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' + as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false @@ -5592,12 +7191,12 @@ else as_test_x=' eval sh -c '\'' if test -d "$1"; then - test -d "$1/."; + test -d "$1/."; else - case $1 in #( - -*)set "./$1";; + case $1 in + -*)set "./$1";; esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' @@ -5612,19 +7211,13 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to +# Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by triton $as_me 0.1.1, which was -generated by GNU Autoconf 2.65. Invocation command line was +generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -5637,41 +7230,29 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q` _ACEOF -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. +\`$as_me' instantiates files from templates according to the +current configuration. -Usage: $0 [OPTION]... [TAG]... +Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages + -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 + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE Configuration files: $config_files @@ -5679,28 +7260,27 @@ $config_files Configuration headers: $config_headers -Report bugs to <[email protected]>." +Report bugs to <[email protected]>." _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ triton config.status 0.1.1 -configured by $0, generated by GNU Autoconf 2.65, - with options \\"\$ac_cs_config\\" +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' -test -n "\$AWK" || AWK=awk _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. +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 @@ -5722,40 +7302,34 @@ do -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; + echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" + CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; + echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. - -*) as_fn_error "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; - *) as_fn_append ac_config_targets " $1" + *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac @@ -5770,32 +7344,30 @@ if $ac_cs_silent; then fi _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL export CONFIG_SHELL - exec "\$@" + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX - $as_echo "$ac_log" + echo "$ac_log" } >&5 _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets @@ -5833,7 +7405,9 @@ do "src/zeroconf/module.mk") CONFIG_FILES="$CONFIG_FILES src/zeroconf/module.mk" ;; "src/net/mock/module.mk") CONFIG_FILES="$CONFIG_FILES src/net/mock/module.mk" ;; - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) { { 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 @@ -5859,7 +7433,7 @@ $debug || trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 - trap 'as_fn_exit 1' 1 2 13 15 + trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. @@ -5870,140 +7444,142 @@ $debug || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} +# +# Set up the sed scripts for CONFIG_FILES section. +# -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' -else - ac_cs_awk_cr=$ac_cr -fi +# 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 -echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + ac_delim='%!_!# ' for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +TRITON_VERSION!$TRITON_VERSION$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +CPP!$CPP$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +GHC!$GHC$ac_delim +DB_CFLAGS!$DB_CFLAGS$ac_delim +DB_LIB!$DB_LIB$ac_delim +MPICC!$MPICC$ac_delim +MPICFLAGS!$MPICFLAGS$ac_delim +MPILDFLAGS!$MPILDFLAGS$ac_delim +MPILIBS!$MPILIBS$ac_delim +BUILD_MPI!$BUILD_MPI$ac_delim +USE_DYLIBS!$USE_DYLIBS$ac_delim +BUILD_ABSOLUTE_TOP!$BUILD_ABSOLUTE_TOP$ac_delim +SRC_RELATIVE_TOP!$SRC_RELATIVE_TOP$ac_delim +SRC_ABSOLUTE_TOP!$SRC_ABSOLUTE_TOP$ac_delim +QUIET_COMPILE!$QUIET_COMPILE$ac_delim +WARNINGS_AS_ERRORS!$WARNINGS_AS_ERRORS$ac_delim +STRICT_CFLAGS!$STRICT_CFLAGS$ac_delim +AE_DEBUG!$AE_DEBUG$ac_delim +ENABLE_COVERAGE!$ENABLE_COVERAGE$ac_delim +LIBCFLAGS!$LIBCFLAGS$ac_delim +THREAD_LIB!$THREAD_LIB$ac_delim +TRITON_SQLITE_INCLUDES!$TRITON_SQLITE_INCLUDES$ac_delim +TRITON_SQLITE_LIBS!$TRITON_SQLITE_LIBS$ac_delim +BUILD_OSD!$BUILD_OSD$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 75; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' <conf$$subs.awk | sed ' -/^[^""]/{ - N - s/\n// -} -' >>$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi -_ACAWK +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS <conf$$subs.sed +rm -f conf$$subs.sed +cat >>$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof _ACEOF + # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty @@ -6019,128 +7595,20 @@ s/^[^=]*=[ ]*$// }' fi -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then - break - elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' <confdefs.h | sed ' -s/'"$ac_delim"'/"\\\ -"/g' >>$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " -shift -for ac_tag +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -6168,34 +7636,26 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" + ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac @@ -6205,7 +7665,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | +echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -6223,15 +7683,55 @@ $as_echo X"$ac_file" | q } s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -6271,12 +7771,12 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix esac _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { + +case `sed -n '/datarootdir/ { p q } @@ -6284,37 +7784,36 @@ ac_sed_dataroot=' /@docdir@/p /@infodir@/p /@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +/@mandir@/p +' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; + s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub $extrasub _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t +s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t @@ -6324,48 +7823,119 @@ s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; - esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac ;; :H) # # CONFIG_HEADER # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} else - rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + rm -f $ac_file + mv "$tmp/config.h" $ac_file fi else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 + echo "/* $configure_input */" + cat "$ac_result" fi + rm -f "$tmp/out12" ;; @@ -6374,13 +7944,11 @@ $as_echo "$as_me: $ac_file is unchanged" >&6;} done # for ac_tag -as_fn_exit 0 +{ (exit 0); exit 0; } _ACEOF +chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save -test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 - # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. @@ -6400,10 +7968,6 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit $? -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + $ac_cs_success || { (exit 1); exit 1; } fi diff --git a/code/configure.ac b/code/configure.ac index 64cf2b6..b702780 100644 --- a/code/configure.ac +++ b/code/configure.ac @@ -73,6 +73,9 @@ AC_SUBST(MPILDFLAGS) AC_SUBST(MPILIBS) AC_SUBST(BUILD_MPI) +dnl check for unix variants +AX_UNIX("") + BUILD_ABSOLUTE_TOP=${PWD} SRC_RELATIVE_TOP=$srcdir SRC_ABSOLUTE_TOP=`cd $srcdir; pwd` diff --git a/code/maint/config/unix.m4 b/code/maint/config/unix.m4 new file mode 100644 index 0000000..babc01e --- /dev/null +++ b/code/maint/config/unix.m4 @@ -0,0 +1,60 @@ + +AC_DEFUN([AX_UNIX], +[ + + dnl figure out the library type + dnl Darwin/OSX doesn't allow static linking + dnl and dynamic libraries are .dylib files rather + dnl than shared objects + AS_CASE([$host], + [darwin*-*-*], [USE_DYLIBS=yes], + [USE_DYLIBS=""] + ) + AC_SUBST([USE_DYLIBS]) + + dnl Need to check for O_DIRECT, doesn't exist on Darwin/OSX + AC_MSG_CHECKING(for O_DIRECT) + AC_COMPILE_IFELSE([ +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +void testodirect(void) +{ + open(NULL, O_DIRECT); +} +], +AC_MSG_RESULT(yes) +AC_DEFINE(HAVE_ODIRECT, 1, Define if O_DIRECT exists), +AC_MSG_RESULT(no)) + +dnl Need to check for O_NOATIME, doesn't exist on Darwin/OSX +AC_MSG_CHECKING(for O_NOATIME) +AC_COMPILE_IFELSE([ +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +void testnoatime(void) +{ + open(NULL, O_NOATIME); +} +], +AC_MSG_RESULT(yes) +AC_DEFINE(HAVE_NOATIME, 1, Define if O_NOATIME exists), +AC_MSG_RESULT(no)) + +dnl OSX >= 10.5 has blocks support, which defaults to including some nasty non-ANSI C code in standard headers +AC_MSG_CHECKING([for OS X blocks support]) +AC_COMPILE_IFELSE( +[#include <stdlib.h> +#ifdef __BLOCKS__ +#error "OSX defines __BLOCKS__ and includes that aren't ANSI C" +#endif +], +[AC_MSG_RESULT(no)], +[AC_MSG_RESULT(yes) +CFLAGS="$CFLAGS -fno-blocks"]) + + +]) diff --git a/code/maint/hs/syb-0.1.0.1.tar.gz b/code/maint/hs/syb-0.1.0.1.tar.gz new file mode 100644 index 0000000..490a7df Binary files /dev/null and b/code/maint/hs/syb-0.1.0.1.tar.gz differ diff --git a/code/src/aesop/ae-remote-parser.h b/code/src/aesop/ae-remote-parser.h index 0a7c942..56c0e1e 100644 --- a/code/src/aesop/ae-remote-parser.h +++ b/code/src/aesop/ae-remote-parser.h @@ -231,7 +231,7 @@ #define AER_MK_DESTROY_STMTS_END() #define AER_MK_STUB_DECL(__ret__, __fname__, params...) \ - __blocking __ret__ remote_##__fname__(triton_node_t id, ##params); + __blocking __ret__ remote_##__fname__(triton_addr_t id, ##params); #define AER_MK_STUB_DECLS(__fname__) \ aer_message_t send_message; \ diff --git a/code/src/aesop/op.h b/code/src/aesop/op.h index 9fd9014..51343a6 100644 --- a/code/src/aesop/op.h +++ b/code/src/aesop/op.h @@ -69,7 +69,7 @@ static inline ae_op_t *ae_ops_peek(ae_ops_t *queue) return ae_op_from_link(llink); } -#define ae_ops_for_each(_pos, _safe, _ops) triton_list_for_each_entry(_pos, _safe, _ops, link) +#define ae_ops_for_each(_pos, _safe, _ops) triton_list_for_each_entry(_pos, _safe, _ops, struct ae_op, link) #define ae_ops_exists(_ops, _op) triton_list_exists(_ops, _op) #define ae_ops_count(_ops) triton_list_count(_ops) #define ae_ops_find(_ops, _compare, _ptr) triton_list_find(_ops, _compare, _ptr) diff --git a/code/src/aesop/opcache.c b/code/src/aesop/opcache.c index 321eb8d..d18b1aa 100644 --- a/code/src/aesop/opcache.c +++ b/code/src/aesop/opcache.c @@ -85,12 +85,12 @@ void ae_opcache_destroy(ae_opcache_t cache) return; } -inline int ae_opcache_size(ae_opcache_t cache) +int ae_opcache_size(ae_opcache_t cache) { return cache->size; } -inline int ae_opcache_count(ae_opcache_t cache) +int ae_opcache_count(ae_opcache_t cache) { int count; diff --git a/code/src/aesop/opcache.h b/code/src/aesop/opcache.h index 8af370f..994636c 100644 --- a/code/src/aesop/opcache.h +++ b/code/src/aesop/opcache.h @@ -32,9 +32,9 @@ struct ae_op *ae_opcache_get(ae_opcache_t cache); void ae_opcache_put(ae_opcache_t cache, struct ae_op *op); -inline int ae_opcache_size(ae_opcache_t cache); +int ae_opcache_size(ae_opcache_t cache); -inline int ae_opcache_count(ae_opcache_t cache); +int ae_opcache_count(ae_opcache_t cache); struct ae_op *ae_opcache_lookup(ae_opcache_t cache, int id); diff --git a/code/src/aesop/parser/CGen.lhs b/code/src/aesop/parser/CGen.lhs index 84fed83..2fc9a53 100644 --- a/code/src/aesop/parser/CGen.lhs +++ b/code/src/aesop/parser/CGen.lhs @@ -108,7 +108,7 @@ Functions to generate AST objects from C template code
-- parse succeeded, so we return the declaration (Right (CDeclExt decl)) -> decl -- parse failed, so we assert fail for now. The CDecl empty constructor is needed to match types
-> (Left pe) -> assert False (CDecl [] [] ni) +> (Left pe) -> trace ("Parse Error in:\n\n" ++ ("mkStmtFromC failed: " ++ s) ++ (show pe)) $ assert False (CDecl [] [] ni)
mkStmtFromC :: NodeInfo -> String -> CStat mkStmtFromC ni s = @@ -125,9 +125,9 @@ Functions to generate AST objects from C template code
data MacroParser = MacroParser { macheader :: FilePath, typedefs :: [Ident] }
-> getTypeIdents :: [FilePath] -> [(String, String)] -> FilePath -> IO [Ident] -> getTypeIdents idirs defines macheader = do -> rfile <- myCPP idirs defines (Just macheader) [] (Left "\n") +> getTypeIdents :: [FilePath] -> [(String, String)] -> FilePath -> [String] -> IO [Ident] +> getTypeIdents idirs defines macheader gccopts = do +> rfile <- myCPP idirs defines (Just macheader) gccopts (Left "\n")
result <- readFile rfile removeFile rfile -- run the C parser on the result stream
@@ -136,12 +136,12 @@ Functions to generate AST objects from C template code
case parsed of (Right (CTranslUnit [] _)) -> return [] (Right (CTranslUnit decls _)) -> return $ getTypedefIdentsFromDecls decls
-> (Left pe) -> trace ("Error parsing declarations from header " ++ macheader) (assert False (return [])) +> (Left pe) -> trace ("Error parsing declarations from header " ++ macheader ++ ": " ++ (show pe)) (assert False (return [])) -> mkParser :: [FilePath] -> [(String, String)] -> FilePath -> IO MacroParser -> mkParser idirs defines macheader = do -> types <- getTypeIdents idirs defines macheader -> result <- myCPP idirs defines Nothing ["-imacros", macheader, "-dM", "-P"] (Left "\n") +> mkParser :: [FilePath] -> [(String, String)] -> FilePath -> [String] -> IO MacroParser +> mkParser idirs defines macheader gccopts = do +> types <- getTypeIdents idirs defines macheader gccopts +> result <- myCPP idirs defines Nothing (["-imacros", macheader, "-dM", "-P"] ++ gccopts) (Left "\n")
(errorFP, errorH) <- tmpHandle (outFile, outH) <- tmpHandle pid <- runProcess "grep" ["-v", "__STDC", result] Nothing Nothing Nothing (Just outH) (Just errorH)
@@ -283,7 +283,7 @@ Functions to generate AST objects from C template code
case result of -- parse succeeded, so we return the expression (Right expr) -> expr
-> (Left pe) -> assert False (CVar (newIdent "blah" ni) ni) +> (Left pe) -> trace ("Error constructing expression:\n" ++ s ++ (show pe)) (assert False (CVar (newIdent "blah" ni) ni)) funDefDecl creates the return type declaration for a given function. The parameters to funDefDecl are the function definition and the name of the return type. For example, a function defined as: diff --git a/code/src/aesop/parser/Walker.lhs b/code/src/aesop/parser/Walker.lhs index 5175644..186245d 100644 --- a/code/src/aesop/parser/Walker.lhs +++ b/code/src/aesop/parser/Walker.lhs @@ -108,10 +108,19 @@ filename, prefix stack, blocking call registry, and blocking function pointer re
blockingParser :: Maybe MacroParser }
-> newWalkerState :: String -> [String] -> [(String, String)] -> (Walker -> String -> ReturnType -> String -> NodeInfo -> [CStat]) -> (Walker -> BlockingContext -> NodeInfo -> [CStat]) -> (CStat -> CStat -> WalkerT CStat) -> FilePath -> IO Walker -> newWalkerState fname includes defines errorWriter pbranchDone transExit macroHeader = do +> newWalkerState :: String -> +> [String] -> +> [(String, String)] -> +> (Walker -> String -> ReturnType -> String -> NodeInfo -> [CStat]) -> +> (Walker -> BlockingContext -> NodeInfo -> [CStat]) -> +> (CStat -> CStat -> WalkerT CStat) -> +> FilePath -> +> [String] -> +> IO Walker + +> newWalkerState fname includes defines errorWriter pbranchDone transExit macroHeader gccopts = do
varReg <- newVarRegistry -> bp <- mkParser includes defines macroHeader +> bp <- mkParser includes defines macroHeader gccopts return $ Walker fname includes defines ["ctl"] errorWriter pbranchDone transExit [] [] varReg (Just bp)
setBlockingParser :: MacroParser -> WalkerT () diff --git a/code/src/aesop/parser/ae-blocking-parser.lhs b/code/src/aesop/parser/ae-blocking-parser.lhs index cb2e99b..ce46926 100644 --- a/code/src/aesop/parser/ae-blocking-parser.lhs +++ b/code/src/aesop/parser/ae-blocking-parser.lhs @@ -1695,20 +1695,20 @@ CStat: The blocking statement input_stream <- readInputStream input_file let parse_result = parseC input_stream (position 0 input_file 1 1) case parse_result of -> Left parse_err -> error (show parse_err) +> Left parse_err -> error $ "Parse failed for input file: " ++ input_file ++ ": " ++ (show parse_err) Right ast -> return ast
generateASTWithCPP :: FilePath -> [String] -> IO CTranslUnit generateASTWithCPP input_file includes = do parseResult <- parseCFile (newGCC "gcc") Nothing (("-x c"):includes) input_file case parseResult of -> Left p -> error (show p) +> Left p -> error $ "CPP/Parse failed for input file: " ++ input_file ++ ": " ++ (show p) Right ast -> return ast
-> parseHeader :: FilePath -> [String] -> [(String, String)] -> Maybe FilePath -> FilePath -> IO () -> parseHeader headerfile includes defs report outfile = do +> parseHeader :: FilePath -> [String] -> [(String, String)] -> Maybe FilePath -> FilePath -> [String]-> IO () +> parseHeader headerfile includes defs report outfile gccopts = do
let r = if isJust report then fromJust report else headerfile -> w <- newWalkerState r includes defs mkErrorPostHandler mkPBranchPostDoneStmts transformFuncReturnStmts "src/aesop/ae-blocking-parser.h" +> w <- newWalkerState r includes defs mkErrorPostHandler mkPBranchPostDoneStmts transformFuncReturnStmts "src/aesop/ae-blocking-parser.h" gccopts ctu <- generateAST headerfile (pairs, w) <- runStateT (getBlockingHeaderDecls ctu) w writeFile outfile "\n\n/* This is an auto-generated file created by the ae-blocking-parser tool. DO NOT MODIFY! */\n\n" @@ -1718,10 +1718,10 @@ CStat: The blocking statement removeFile $ macheader $ fromJust $ blockingParser w return ()
-> parseFile :: Bool -> [String] -> [(String, String)] -> FilePath -> Maybe FilePath -> FilePath -> IO () -> parseFile p includes defs outfile report f = do +> parseFile :: Bool -> [String] -> [(String, String)] -> FilePath -> Maybe FilePath -> [String] -> FilePath -> IO () +> parseFile p includes defs outfile report gccopts f = do
let r = if isJust report then fromJust report else f -> w <- newWalkerState r includes defs mkErrorPostHandler mkPBranchPostDoneStmts transformFuncReturnStmts "src/aesop/ae-blocking-parser.h" +> w <- newWalkerState r includes defs mkErrorPostHandler mkPBranchPostDoneStmts transformFuncReturnStmts "src/aesop/ae-blocking-parser.h" gccopts ctu <- generateAST f (ctuWithPostDecls, w) <- runStateT (registerBlockingFunDecls ctu) w -- runStateT (printRegisteredBlockingCalls) w @@ -1735,7 +1735,7 @@ CStat: The blocking statement removeFile $ macheader $ fromJust $ blockingParser w return ()
-> data ParserOpts = Pretty | Help | Include String | Report String | Outfile String | Header | Define (String, String) +> data ParserOpts = Pretty | Help | Include String | Report String | Outfile String | Header | Define (String, String) | GCCOpt String
getIncludes :: [ParserOpts] -> [String] getIncludes ((Include s):ps) = s:(getIncludes ps) @@ -1765,6 +1765,11 @@ CStat: The blocking statement getDefs (_:ps) = getDefs ps getDefs [] = []
+> getGCCOpts :: [ParserOpts] -> [String] +> getGCCOpts ((GCCOpt s):ps) = s:(getGCCOpts ps) +> getGCCOpts (_:ps) = getGCCOpts ps +> getGCCOpts [] = [] +
parserOpts :: [OptDescr ParserOpts] parserOpts = [ Option ['p'] ["pretty"] (NoArg Pretty) @@ -1781,6 +1786,8 @@ CStat: The blocking statement "parse header file instead of source" , Option ['D'] ["define"] (ReqArg (\s -> newDefine s) "<cpp def>") "define a CPP macro or variable" +> , Option ['g'] ["gccopt"] (ReqArg (\s -> GCCOpt s) "<gcc option>") +> "pass the option to invocations of gcc" ]
optPretty :: ParserOpts -> Bool @@ -1806,11 +1813,12 @@ CStat: The blocking statement outfile = getOutfile opts pheader = any optHeader opts defines = getDefs opts +> gccopts = getGCCOpts opts header = "Usage: ae-blocking-parser [OPTIONS...] files..." when (not $ null errs) $ ioError $ userError ((concat errs) ++ (usageInfo header parserOpts)) when help $ do { putStrLn $ usageInfo header parserOpts ; exitWith (ExitFailure 1) } when (isNothing outfile) $ ioError $ userError "No output file specified." -> when pheader $ do { mapM_ (\f -> parseHeader f includes defines report (fromJust outfile)) files ; exitWith (ExitSuccess) } -> mapM_ (parseFile pretty includes defines (fromJust outfile) report) files +> when pheader $ do { mapM_ (\f -> parseHeader f includes defines report (fromJust outfile) gccopts) files ; exitWith (ExitSuccess) } +> mapM_ (parseFile pretty includes defines (fromJust outfile) report gccopts) files
diff --git a/code/src/aesop/parser/ae-remote-parser.lhs b/code/src/aesop/parser/ae-remote-parser.lhs index 81ce30c..4b64680 100644 --- a/code/src/aesop/parser/ae-remote-parser.lhs +++ b/code/src/aesop/parser/ae-remote-parser.lhs @@ -138,10 +138,10 @@ is set to true.
when (isJust res) $ invalid (s ++ " already has encoding functions defined.\n") ni liftIO $ Data.HashTable.insert (typeReg r) s (True, True, True, True, True)
-> newRemoteState :: String -> [FilePath] -> [(String, String)] -> FilePath -> IO Remote -> newRemoteState fname includes defs macroHeader = do +> newRemoteState :: String -> [FilePath] -> [(String, String)] -> FilePath -> [String] -> IO Remote +> newRemoteState fname includes defs macroHeader gccopts = do
r <- Data.HashTable.new (==) Data.HashTable.hashString
-> bp <- mkParser includes defs macroHeader +> bp <- mkParser includes defs macroHeader gccopts
return $ Remote fname r [] includes defs (Just bp)
getRemoteTypeName :: CTypeSpec -> Maybe String @@ -538,7 +538,7 @@ CTypeOfType CDecl NodeInfo newdecls <- liftM concat $ sequence $ map registerRemoteDecl decls return $ CTranslUnit newdecls ni
-> data ParserOpts = Pretty | Help | Include String | Report String | Outfile String | Header | ServiceName String | RegistryDir String | Define (String, String) +> data ParserOpts = Pretty | Help | Include String | Report String | Outfile String | Header | ServiceName String | RegistryDir String | Define (String, String) | GCCOpt String
newDefine :: String -> ParserOpts newDefine s = Define $ parseDef ([], []) s @@ -578,6 +578,11 @@ CTypeOfType CDecl NodeInfo getIncludeOpts (_:ps) = getIncludeOpts ps getIncludeOpts [] = []
+> getGCCOpts :: [ParserOpts] -> [String] +> getGCCOpts ((GCCOpt o):ps) = o:(getGCCOpts ps) +> getGCCOpts (_:ps) = getGCCOpts ps +> getGCCOpts [] = [] +
parserOpts :: [OptDescr ParserOpts] parserOpts = [ Option ['p'] ["pretty"] (NoArg Pretty) @@ -598,6 +603,8 @@ CTypeOfType CDecl NodeInfo "registry directory path to use for generated service files" , Option ['D'] ["define"] (ReqArg (\s -> newDefine s) "<cpp define>") "define a CPP macro or variable" +> , Option ['g'] ["gccopt"] (ReqArg (\s -> GCCOpt s) "<gcc option>") +> "pass this gcc option when gcc is invoked" ]
optPretty :: ParserOpts -> Bool @@ -648,7 +655,7 @@ CTypeOfType CDecl NodeInfo return $ mkFunDef ((CTypeDef (newIdent "triton_ret_t" ni) ni), []) -- return type newspecs -- get the storage specs for the function ("remote_" ++ fname) -- the function name for the stub -> ((genCDecl "triton_node_t" "id" ni) : params) -- parameters +> ((genCDecl "triton_addr_t" "id" ni) : params) -- parameters stubStmts
mkServiceFun :: CFunDef -> RemoteT CExtDecl @@ -778,7 +785,7 @@ CTypeOfType CDecl NodeInfo input_stream <- readInputStream input_file let parse_result = parseC input_stream (position 0 input_file 1 1) case parse_result of -> Left parse_err -> error (show parse_err) +> Left parse_err -> error $ "Parse failed for input file: " ++ input_file ++ ": " ++ (show parse_err) Right ast -> return ast
getRegistryDecl :: String -> NodeInfo -> CTranslUnit @@ -841,6 +848,7 @@ CTypeOfType CDecl NodeInfo sname = getServiceName opts regdir = getRegistryDir opts defs = getDefs opts +> gccopts = getGCCOpts opts header = "Usage: ae-remote-parser [OPTIONS...] files..."
when (not $ null errs) $ ioError $ userError ((concat errs) ++ @@ -850,7 +858,8 @@ CTypeOfType CDecl NodeInfo when (isNothing outfile && isNothing sname) $ ioError $ userError "No output file specified."
when pheader $ do { mapM_ (\f -> parseRemoteHeader f report (fromJust outfile)) files ; exitWith (ExitSuccess) }
-> r <- newRemoteState "" includes defs "src/aesop/ae-remote-parser.h" -- empty string here because the parseRemote function sets the filename for each file +> -- empty string here because the parseRemote function sets the filename for each file +> r <- newRemoteState "" includes defs "src/aesop/ae-remote-parser.h" gccopts
let remotes = map (\f -> parseRemote pretty includes outfile report f) files :: [RemoteT ()] r <- foldM (flip execStateT) r remotes when (isJust sname) $ do { runStateT (writeRegistryFiles (fromJust sname) regdir) r; return () }
diff --git a/code/src/aesop/parser/tests/remote/test-remote-fault-injector.aer b/code/src/aesop/parser/tests/remote/test-remote-fault-injector.aer index e7d342f..72046a9 100644 --- a/code/src/aesop/parser/tests/remote/test-remote-fault-injector.aer +++ b/code/src/aesop/parser/tests/remote/test-remote-fault-injector.aer @@ -20,7 +20,6 @@ #include "mpi.h" -static triton_msg_ctx_t mpi_msg_ctx; static float failure_rate = 0; __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out); @@ -30,7 +29,7 @@ __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out) triton_ret_t ret, ret1 = TRITON_SUCCESS, ret2 = TRITON_SUCCESS; - triton_node_t from, self, n1, n2; + triton_addr_t from, self, n1, n2; triton_string_t fromstr, selfstr; int rank, r1, r2, size; char n1str[100], n2str[100]; @@ -53,10 +52,12 @@ __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out) r2 = r1 + 2; } - sprintf(n1str, "%d", r1); - n1 = triton_node_lookup(mpi_msg_ctx, n1str); - sprintf(n2str, "%d", r2); - n2 = triton_node_lookup(mpi_msg_ctx, n2str); + sprintf(n1str, "mpi://%d", r1); + ret = triton_addr_lookup(n1str, &n1); + assert(ret == TRITON_SUCCESS); + sprintf(n2str, "mpi://%d", r2); + ret = triton_addr_lookup(n2str, &n2); + assert(ret == TRITON_SUCCESS); pwait { @@ -206,10 +207,6 @@ int main(int argc, char *argv[]) ret = aer_service_init(); assert(ret == TRITON_SUCCESS); - /* we need the mpi context so that we can lookup nodes */ - mpi_msg_ctx = aer_service_get_context(); - assert(mpi_msg_ctx); - ret = aer_remote_register_test_remote_fault(); assert(ret == TRITON_SUCCESS); diff --git a/code/src/aesop/parser/tests/remote/test-remote-mock.aer b/code/src/aesop/parser/tests/remote/test-remote-mock.aer index a95509b..95d68d6 100644 --- a/code/src/aesop/parser/tests/remote/test-remote-mock.aer +++ b/code/src/aesop/parser/tests/remote/test-remote-mock.aer @@ -5,16 +5,16 @@ #include "src/aesop/hints.h" #include "src/remote/encoding.h" #include "src/remote/remote.hae" +#include "src/net/triton-addr.h" #include "src/net/triton-message.hae" #include "src/net/triton-message-method.hae" #include "src/net/mock/mock-method.h" #include "src/common/resources/scheduling/sched.hae" #include "src/common/resources/timer/timer.hae" +#include "src/zeroconf/zeroconf.h" #include "src/remote/service.hae" -static triton_msg_ctx_t mock_ctx; - __remote struct myremotes { int32_t t1; @@ -26,7 +26,7 @@ __remote __blocking triton_ret_t remotefun1(int32_t in, int32_t *out); __remote __blocking triton_ret_t remotefun1(int32_t in, int32_t *out) { triton_ret_t ret; - triton_node_t from, self; + triton_addr_t from, self; triton_string_t fromstr, selfstr; /* do a blocking call here just so we have something */ @@ -39,7 +39,7 @@ __remote __blocking triton_ret_t remotefun1(int32_t in, int32_t *out) { return ret; } - ret = triton_node_to_string(mock_ctx, self, &selfstr); + ret = triton_addr_to_string(self, &selfstr); if(ret != TRITON_SUCCESS) { return ret; @@ -51,7 +51,7 @@ __remote __blocking triton_ret_t remotefun1(int32_t in, int32_t *out) { return ret; } - ret = triton_node_to_string(mock_ctx, from, &fromstr); + ret = triton_addr_to_string(from, &fromstr); if(ret != TRITON_SUCCESS) { return ret; @@ -70,7 +70,7 @@ __remote __blocking triton_ret_t remotefun2(struct myremotes *in, struct myremot __remote __blocking triton_ret_t remotefun2(struct myremotes *in, struct myremotes *out) { triton_ret_t ret; - triton_node_t from, self; + triton_addr_t from, self; triton_string_t fromstr, selfstr; /* do a blocking call here just so we have something */ @@ -84,7 +84,7 @@ __remote __blocking triton_ret_t remotefun2(struct myremotes *in, struct myremot { return ret; } - ret = triton_node_to_string(mock_ctx, self, &selfstr); + ret = triton_addr_to_string(self, &selfstr); if(ret != TRITON_SUCCESS) { return ret; @@ -95,13 +95,15 @@ __remote __blocking triton_ret_t remotefun2(struct myremotes *in, struct myremot { return ret; } - ret = triton_node_to_string(mock_ctx, from, &fromstr); + ret = triton_addr_to_string(from, &fromstr); if(ret != TRITON_SUCCESS) { return ret; } - printf("remotefun2 invoked from (%s -> %s): in: (%d,%d) out: (%d,%d)\n", fromstr.string, selfstr.string, in->t1, in->ut1, out->t1, out->ut1); + printf("remotefun2 invoked from (%s -> %s): in: (%d,%llu) out: (%d,%llu)\n", + fromstr.string, selfstr.string, + in->t1, (unsigned long long)in->ut1, out->t1, (unsigned long long)out->ut1); triton_string_destroy(&fromstr); @@ -116,7 +118,7 @@ __blocking void do_remote_clients(int count) pwait { - pprivate triton_node_t self, node0; + pprivate triton_addr_t self, node0; pprivate int i; pprivate char nodestr[100]; @@ -124,12 +126,19 @@ __blocking void do_remote_clients(int count) { pbranch { - sprintf(nodestr, "%d", i); - self = triton_node_lookup(mock_ctx, nodestr); + /* kind of a hack, we setup the nodes here by doing a lookup of a node string + * in the mock method and then for this pbranch, tell the mock method what its + * current address is using hints. + * Future triton_addr_self() calls will return this addr. + */ + sprintf(nodestr, "mock://%d", i); + ret = triton_addr_lookup(nodestr, &self); + assert(ret == TRITON_SUCCESS); ret = aesop_hints_put("triton.mock.self", sizeof(self), &self); assert(ret == TRITON_SUCCESS); - node0 = triton_node_lookup(mock_ctx, "0"); + ret = triton_addr_lookup("mock://0", &node0); + assert(ret == TRITON_SUCCESS); ret = remote_remotefun1(node0, 10, &fun1res); assert(ret == TRITON_SUCCESS); @@ -153,11 +162,14 @@ __blocking void do_remote_test(int count) pwait { - pprivate triton_node_t self; + pprivate triton_addr_t self; pbranch { - self = triton_node_lookup(mock_ctx, "0"); + /* tell the server what its address is */ + + ret = triton_addr_lookup("0", &self); + assert(ret == TRITON_SUCCESS); ret = aesop_hints_put("triton.mock.self", sizeof(self), &self); assert(ret == TRITON_SUCCESS); @@ -214,7 +226,7 @@ int main(int argc, char *argv[]) ret = triton_msg_mock_init(); assert(ret == TRITON_SUCCESS); - ret = triton_msg_enable_method("mock", &mock_ctx); + ret = triton_msg_enable_method("mock"); assert(ret == TRITON_SUCCESS); if(argc > 2) diff --git a/code/src/aesop/parser/tests/remote/test-remote-mpi.aer b/code/src/aesop/parser/tests/remote/test-remote-mpi.aer index 106427a..3ad0724 100644 --- a/code/src/aesop/parser/tests/remote/test-remote-mpi.aer +++ b/code/src/aesop/parser/tests/remote/test-remote-mpi.aer @@ -19,8 +19,6 @@ #include "mpi.h" -static triton_msg_ctx_t mpi_msg_ctx; - __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out); __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out) @@ -28,7 +26,7 @@ __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out) triton_ret_t ret, ret1 = TRITON_SUCCESS, ret2 = TRITON_SUCCESS; - triton_node_t from, self, n1, n2; + triton_addr_t from, self, n1, n2; triton_string_t fromstr, selfstr; int rank, r1, r2, size; char n1str[100], n2str[100]; @@ -51,10 +49,13 @@ __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out) r2 = r1 + 2; } - sprintf(n1str, "%d", r1); - n1 = triton_node_lookup(mpi_msg_ctx, n1str); - sprintf(n2str, "%d", r2); - n2 = triton_node_lookup(mpi_msg_ctx, n2str); + sprintf(n1str, "mpi://%d", r1); + ret = triton_addr_lookup(n1str, &n1); + assert(ret == TRITON_SUCCESS); + + sprintf(n2str, "mpi://%d", r2); + ret = triton_addr_lookup(n2str, &n2); + assert(ret == TRITON_SUCCESS); pwait { @@ -183,10 +184,6 @@ int main(int argc, char *argv[]) ret = aer_service_init(); assert(ret == TRITON_SUCCESS); - /* we need the mpi context so that we can lookup nodes */ - mpi_msg_ctx = aer_service_get_context(); - assert(mpi_msg_ctx); - ret = aer_remote_register_test_remote_mpi(); assert(ret == TRITON_SUCCESS); diff --git a/code/src/common/tests/testhash.c b/code/src/common/tests/testhash.c index 2a79dfb..48905aa 100644 --- a/code/src/common/tests/testhash.c +++ b/code/src/common/tests/testhash.c @@ -5,7 +5,7 @@ #include "src/common/triton-hash.h" #include "src/common/triton-string.h" -#include "src/net/triton-node.h" +#include "src/net/triton-addr.h" struct e { @@ -21,14 +21,14 @@ struct s struct n { - triton_node_t *node; + triton_addr_t *node; triton_list_link_t link; }; struct k { - triton_node_t from; - triton_node_t to; + triton_addr_t from; + triton_addr_t to; int32_t tag; }; @@ -75,7 +75,7 @@ static int s_compare(void *key, struct triton_hash_link *link) static int n_compare(void *key, struct triton_hash_link *link) { - triton_node_t *value1 = (triton_node_t *)key; + triton_addr_t *value1 = (triton_addr_t *)key; struct n *value2 = triton_hash_get_entry(link, struct n, link); assert(key); assert(link); @@ -176,7 +176,7 @@ int main(int argc, char *argv[]) for(i = 0; i < 3; ++i) { ns = malloc(sizeof(*ns)); - ns->node = malloc(sizeof(triton_node_t)); + ns->node = malloc(sizeof(triton_addr_t)); ns->node->l = i*i; ns->node->u = i+i; triton_hash_add(table, ns->node, &(ns->link)); @@ -184,7 +184,7 @@ int main(int argc, char *argv[]) for(i = 0; i < 3; ++i) { - triton_node_t node; + triton_addr_t node; node.l = i*i; node.u = i+i; result = triton_hash_search(table, &node); diff --git a/code/src/common/tests/testlist.c b/code/src/common/tests/testlist.c index 6f984ec..cd404ac 100644 --- a/code/src/common/tests/testlist.c +++ b/code/src/common/tests/testlist.c @@ -144,7 +144,7 @@ int main(int argc, char *argv[]) } i = 0; - triton_list_for_each_entry(ep, esc, &l, link) + triton_list_for_each_entry(ep, esc, &l, struct e, link) { assert(ep->v == i); triton_list_del(&ep->link); diff --git a/code/src/common/triton-debug.c b/code/src/common/triton-debug.c index 3df655e..e308763 100644 --- a/code/src/common/triton-debug.c +++ b/code/src/common/triton-debug.c @@ -312,7 +312,7 @@ triton_ret_t triton_debug_enable(const char *file, const char *masks) { /* unknown mask */ free(tmpmasks); - return triton_error_wrap(TRITON_ERR_INVAL, TRITON_NODE_NULL, "Unknown debug mask '%s'", s); + return triton_error_wrap(TRITON_ERR_INVAL, TRITON_ADDR_NULL, "Unknown debug mask '%s'", s); } entry = triton_hash_get_entry(llink, struct triton_debug_mask_entry, link); assert(entry); @@ -347,7 +347,7 @@ void triton_debug_disable(void) triton_debug_enabled_none = 1; triton_debug_enabled_all = 0; triton_bitarray_clear(triton_debug_enabled_minor, TRITON_DEBUG_MAXSIZE); - triton_list_for_each_entry(m, sm, &allocated_masks, link) + triton_list_for_each_entry(m, sm, &allocated_masks, triton_debug_mask_t, link) { free(m->string); triton_list_del(&m->link); diff --git a/code/src/common/triton-error.c b/code/src/common/triton-error.c index a8dcee7..98219be 100644 --- a/code/src/common/triton-error.c +++ b/code/src/common/triton-error.c @@ -82,7 +82,7 @@ triton_ret_t triton_error_from_errno(int errno_val) static inline triton_ret_t error_wrap_va( triton_ret_t parent, - triton_node_t node, + triton_addr_t node, triton_error_code_t error_code, const char *format, va_list ap) @@ -120,7 +120,7 @@ static inline triton_ret_t error_wrap_va( return err; } -triton_ret_t triton_error_wrap(triton_ret_t parent, triton_node_t node, const char *format, ...) +triton_ret_t triton_error_wrap(triton_ret_t parent, triton_addr_t node, const char *format, ...) { triton_ret_t ret; va_list ap; @@ -130,7 +130,7 @@ triton_ret_t triton_error_wrap(triton_ret_t parent, triton_node_t node, const ch return ret; } -triton_ret_t triton_error_wrap_with_code(triton_ret_t parent, triton_node_t node, triton_error_code_t error_code, const char *format, ...) +triton_ret_t triton_error_wrap_with_code(triton_ret_t parent, triton_addr_t node, triton_error_code_t error_code, const char *format, ...) { triton_ret_t ret; va_list ap; @@ -160,7 +160,7 @@ void triton_error_destroy(triton_ret_t error) return; } -triton_ret_t triton_error_to_strings(triton_ret_t error, triton_msg_ctx_t msg_ctx, triton_string_t **strings, int *count) +triton_ret_t triton_error_to_strings(triton_ret_t error, triton_string_t **strings, int *count) { triton_ret_t tmperr; triton_string_t *strs; @@ -182,9 +182,10 @@ triton_ret_t triton_error_to_strings(triton_ret_t error, triton_msg_ctx_t msg_ct triton_string_t nodestr; triton_ret_t ret; - ret = triton_node_to_string(msg_ctx, tmperr->node, &nodestr); + ret = triton_addr_to_string(tmperr->node, &nodestr); - triton_string_init(&strs[ind], "{%s} %s", (ret == TRITON_SUCCESS) ? triton_string_get(&nodestr) : "none", triton_string_get(&tmperr->message)); + triton_string_init(&strs[ind], "{%s} %s", + (ret == TRITON_SUCCESS) ? triton_string_get(&nodestr) : "none", triton_string_get(&tmperr->message)); if(ret == TRITON_SUCCESS) triton_string_destroy(&nodestr); tmperr = tmperr->base; } diff --git a/code/src/common/triton-error.h b/code/src/common/triton-error.h index 6334105..241e345 100644 --- a/code/src/common/triton-error.h +++ b/code/src/common/triton-error.h @@ -26,11 +26,11 @@ typedef int32_t triton_error_code_t; typedef struct triton_error *triton_ret_t; -#include "src/net/triton-node.h" +#include "src/net/triton-addr.h" struct triton_error { - triton_node_t node; + triton_addr_t node; triton_error_code_t error_code; triton_string_t message; int count; @@ -45,7 +45,7 @@ extern triton_ret_t TRITON_##__name__ #define TRITON_ERROR_DEF(__name__, __val__, __msg__) \ triton_error_code_t TRITON_##__name__##_CODE = __val__; \ -struct triton_error static_triton_##__name__ = { TRITON_NODE_NULL_STATIC_INITIALIZER, __val__, triton_string_init_const(__msg__), 0, NULL}; \ +struct triton_error static_triton_##__name__ = { TRITON_ADDR_NULL_STATIC_INITIALIZER, __val__, triton_string_init_const(__msg__), 0, NULL}; \ triton_ret_t TRITON_##__name__ = &static_triton_##__name__ TRITON_ERROR_DECL(ERR_NULL); @@ -106,13 +106,13 @@ triton_ret_t triton_error_from_error_code(triton_error_code_t ec); */ triton_ret_t triton_error_wrap( triton_ret_t parent, - triton_node_t node, + triton_addr_t node, const char *message, /** An optional message to add to the error */ ...); triton_ret_t triton_error_wrap_with_code( triton_ret_t parent, - triton_node_t node, + triton_addr_t node, triton_error_code_t error_code, const char *format, ...); @@ -121,6 +121,6 @@ triton_ret_t triton_error_wrap_with_code( */ void triton_error_destroy(triton_ret_t error); -triton_ret_t triton_error_to_strings(triton_ret_t error, triton_msg_ctx_t msg_ctx, triton_string_t **error_strings, int *count); +triton_ret_t triton_error_to_strings(triton_ret_t error, triton_string_t **error_strings, int *count); #endif /* __TRITON_ERROR_H__ */ diff --git a/code/src/common/triton-error.h1 b/code/src/common/triton-error.h1 deleted file mode 100644 index 19e3a09..0000000 --- a/code/src/common/triton-error.h1 +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef __TRITON_ERROR_H__ -#define __TRITON_ERROR_H__ - -#include <errno.h> - -#include "src/common/triton-types.h" -#include "src/common/triton-string.h" -#include "src/net/triton-node.h" - -/* The number of errors that can be chained together to form a single error */ -#define TRITON_MAX_ERRORS 256 - -typedef int32_t triton_error_code_t; - -/** - * The error type allows errors to be wrapped in an error type, useful - * for managing error codes, logging errors in a consistent format, and - * later finger-pointing of errors. This structure and the - * companion error interfaces should be used throughout the entire framework. - * Errors in responses should - * be in the triton_ret_t format, and errors from resources and other components - * should use this type as well. - * The error structure consists of a single error code for the - * error, the source node where the error is generated, and optional error - * messages. - */ - -typedef struct triton_error *triton_ret_t; -__remote struct triton_error -{ - triton_node_t node; - triton_error_code_t error_code; - triton_string_t message; - int count; - triton_ret_t base; -}; - -#define TRITON_ERROR_DECL(__name__) \ -extern triton_error_code_t TRITON_##__name__##_CODE; \ -extern struct triton_error static_triton_##__name__; \ -extern triton_ret_t TRITON_##__name__ - -#define TRITON_ERROR_DEF(__name__, __val__, __msg__) \ -triton_error_code_t TRITON_##__name__##_CODE = __val__; \ -struct triton_error static_triton_##__name__ = { TRITON_NODE_NULL, __val__, triton_string_init_const(__msg__), 0, NULL}; \ -triton_ret_t TRITON_##__name__ = &static_triton_##__name__ - -TRITON_ERROR_DECL(ERR_NULL); - -TRITON_ERROR_DECL(SUCCESS); -TRITON_ERROR_DECL(ERR_NOMEM); -TRITON_ERROR_DECL(ERR_INVAL); -TRITON_ERROR_DECL(ERR_FAULT); -TRITON_ERROR_DECL(ERR_CANCEL); -TRITON_ERROR_DECL(ERR_NOSYS); -TRITON_ERROR_DECL(ERR_OVERFLOW); - -TRITON_ERROR_DECL(ERR_UNKNOWN); - -/** - * Get the error pointer of a given errno. If the errno is not known, just return - * an unknown error pointer. - */ -triton_ret_t triton_error_from_errno(int errno_val); - -/** - * Create a triton_ret_t type from a base error, and include a message - * about the error. The returned error structure is a heap variable, - * a companion call to triton_error_destroy is required. - * - * This function allows errors to be chained, allowing for proper - * finger pointer as errors are passed from node to node. - * - * If no terminal error already exists, TRITON_ERR_NULL should be used. - */ -triton_ret_t triton_error_wrap( - triton_ret_t terminal, - const char *message, /** An optional message to add to the error */ - ...); - -triton_ret_t triton_error_wrap_with_code( - triton_ret_t terminal, - triton_error_code_t error_code, - const char *format, ...); - -/** - * Free an error that was created with triton_error_wrap. - */ -void triton_error_destroy(triton_ret_t error); - -triton_ret_t triton_error_to_strings(triton_ret_t error, triton_string_t **error_strings, int *count); - -#endif /* __TRITON_ERROR_H__ */ diff --git a/code/src/common/triton-list.h b/code/src/common/triton-list.h index cde2460..41103e8 100644 --- a/code/src/common/triton-list.h +++ b/code/src/common/triton-list.h @@ -123,12 +123,12 @@ static inline uint64_t triton_list_count(triton_list_t *list) * @head: the head for your list. * @member: the name of the list_struct within the struct. */ -#define triton_list_for_each_entry(__pos, __scratch, __list, __member) \ - for (__pos = triton_list_get_entry((triton_list_tolink(__list))->next, typeof(*__pos), __member), \ - __scratch = triton_list_get_entry((triton_list_tolink(__list))->next->next, typeof(*__scratch), __member); \ +#define triton_list_for_each_entry(__pos, __scratch, __list, __type, __member) \ + for (__pos = triton_list_get_entry((triton_list_tolink(__list))->next, __type, __member), \ + __scratch = triton_list_get_entry((triton_list_tolink(__list))->next->next, __type, __member); \ (__pos) && (&(__pos)->__member != (triton_list_tolink(__list))); \ __pos = __scratch, \ - __scratch = triton_list_get_entry((__pos)->__member.next, typeof(*__scratch), __member)) + __scratch = triton_list_get_entry((__pos)->__member.next, __type, __member)) static inline int triton_list_exists(triton_list_t *list, struct triton_list_link *llink) { diff --git a/code/src/common/triton-log.c b/code/src/common/triton-log.c index be8c0f0..dcd5780 100644 --- a/code/src/common/triton-log.c +++ b/code/src/common/triton-log.c @@ -43,7 +43,7 @@ triton_ret_t triton_log_error(triton_log_t log, triton_ret_t error, const char * /* TODO: for now we just spit out the error to stderr, need to fix this later */ - ret = triton_error_to_strings(error, NULL, &strings, &count); + ret = triton_error_to_strings(error, &strings, &count); if(ret != TRITON_SUCCESS) { return ret; diff --git a/code/src/common/triton-notify.c b/code/src/common/triton-notify.c index 6f18d01..dad974f 100644 --- a/code/src/common/triton-notify.c +++ b/code/src/common/triton-notify.c @@ -29,7 +29,7 @@ void triton_notify(triton_noter_t *noter, void *message) triton_listener_entry_t *entry; triton_listener_entry_t *scratch; - triton_list_for_each_entry(entry, scratch, noter->listeners, link) + triton_list_for_each_entry(entry, scratch, noter->listeners, struct triton_listener_entry, link) { entry->listener(noter, message); } diff --git a/code/src/fakess/test/announce.ae b/code/src/fakess/test/announce.ae index ff4a3a2..c60dae7 100644 --- a/code/src/fakess/test/announce.ae +++ b/code/src/fakess/test/announce.ae @@ -26,7 +26,7 @@ static __blocking void receiver() triton_fakess_recv(MPI_COMM_WORLD); triton_list_for_each_entry(peer, scratch, &triton_fakess_peers, - link) + triton_fakess_peer_t, link) { printf("peer: mpi rank: %i node: (%lu.%lu)\n", peer->rank, peer->node.u, peer->node.l); diff --git a/code/src/fakess/test/observer.ae b/code/src/fakess/test/observer.ae index 06cbc0a..b189f2f 100644 --- a/code/src/fakess/test/observer.ae +++ b/code/src/fakess/test/observer.ae @@ -42,7 +42,7 @@ __blocking void callback(int a) static __blocking void receiver() { - triton_node_t node; + triton_addr_t node; triton_fakess_data_t *data; triton_string_t key; char *value; diff --git a/code/src/fakess/test/post-global.ae b/code/src/fakess/test/post-global.ae index b34fea2..41bd017 100644 --- a/code/src/fakess/test/post-global.ae +++ b/code/src/fakess/test/post-global.ae @@ -30,7 +30,7 @@ static __blocking void sender() static __blocking void receiver() { - triton_node_t node; + triton_addr_t node; triton_fakess_data_t *data; triton_string_t key; char *value; diff --git a/code/src/net/fault-injector/fault-method.ae b/code/src/net/fault-injector/fault-method.ae index 1fd0840..40a9ac8 100644 --- a/code/src/net/fault-injector/fault-method.ae +++ b/code/src/net/fault-injector/fault-method.ae @@ -4,7 +4,7 @@ #include "src/net/fault-injector/fault-method.h" #include "src/common/triton-hash.h" -#include "src/net/triton-node.h" +#include "src/net/triton-addr.h" #include "src/net/triton-message.hae" #include "src/net/triton-message-method.hae" #include "src/common/resources/timer/timer.hae" @@ -39,34 +39,34 @@ static int should_fail(void) return 0; } -static triton_node_t triton_msg_fault_node_self(void) +static triton_msg_method_addr_t fault_addr_self(void) { - return(base_method->node_self()); + return(base_method->addr_self()); } -static triton_ret_t triton_msg_fault_node_to_string(triton_node_t node, triton_string_t *nodestr) +static triton_ret_t fault_addr_to_string(triton_msg_method_addr_t node, triton_string_t *nodestr) { - return(base_method->node_to_string(node, nodestr)); + return(base_method->addr_to_string(node, nodestr)); } -static triton_node_t triton_msg_fault_node_lookup(const char *name) +static triton_ret_t fault_addr_lookup(const char *name, triton_msg_method_addr_t *addr) { - return(base_method->node_lookup(name)); + return(base_method->addr_lookup(name, addr)); } -static triton_ret_t triton_msg_fault_group_add(const char *service_name, triton_msg_group_t *group) +static triton_ret_t fault_group_add(const char *service_name, triton_msg_method_group_t *group) { return(base_method->group_add(service_name, group)); } -static triton_msg_tag_t triton_msg_fault_new_tag(triton_msg_group_t group) +static triton_msg_tag_t fault_new_tag(triton_msg_group_t group) { return(base_method->new_tag(group)); } -static __blocking triton_ret_t triton_msg_fault_send( - triton_node_t to, - triton_msg_group_t group, +static __blocking triton_ret_t fault_send( + triton_msg_method_addr_t to, + triton_msg_method_group_t group, triton_msg_tag_t tag, int count, char **buffers, @@ -81,9 +81,9 @@ static __blocking triton_ret_t triton_msg_fault_send( return(base_method->send(to, group, tag, count, buffers, sizes)); } -static __blocking triton_ret_t triton_msg_fault_recv( - triton_node_t from, - triton_msg_group_t group, +static __blocking triton_ret_t fault_recv( + triton_msg_method_addr_t from, + triton_msg_method_group_t group, triton_msg_tag_t tag, int count, char **buffers, @@ -99,9 +99,9 @@ static __blocking triton_ret_t triton_msg_fault_recv( return(base_method->recv(from, group, tag, count, buffers, sizes, bytes_received)); } -static __blocking triton_ret_t triton_msg_fault_recv_any( - triton_msg_group_t group, - triton_node_t *from, +static __blocking triton_ret_t fault_recv_any( + triton_msg_method_group_t group, + triton_msg_method_addr_t *from, triton_msg_tag_t *tag, int count, char **buffers, @@ -116,12 +116,12 @@ static __blocking triton_ret_t triton_msg_fault_recv_any( return(base_method->recv_any(group, from, tag, count, buffers, sizes, bytes_received)); } -static triton_ret_t triton_msg_fault_enable(void) +static triton_ret_t fault_enable(void) { return(base_method->enable()); } -static void triton_msg_fault_disable(void) +static void fault_disable(void) { return(base_method->disable()); } @@ -129,20 +129,20 @@ static void triton_msg_fault_disable(void) static struct triton_msg_method triton_msg_fault_method = { .name = "fault-injector", - .id = FAULT_METHOD_ID, - .node_self = triton_msg_fault_node_self, - .node_to_string = triton_msg_fault_node_to_string, - .node_lookup = triton_msg_fault_node_lookup, - .new_tag = triton_msg_fault_new_tag, + .addr_self = fault_addr_self, + .addr_equal = fault_addr_equal, + .addr_to_string = fault_addr_to_string, + .addr_lookup = fault_addr_lookup, + .new_tag = fault_new_tag, - .enable = triton_msg_fault_enable, - .disable = triton_msg_fault_disable, + .enable = fault_enable, + .disable = fault_disable, - .group_add = triton_msg_fault_group_add, - .send = triton_msg_fault_send, - .recv = triton_msg_fault_recv, - .recv_any = triton_msg_fault_recv_any + .group_add = fault_group_add, + .send = fault_send, + .recv = fault_recv, + .recv_any = fault_recv_any }; /* __attribute__((constructor)) void triton_msg_fault_init(const char* base_method_name) */ diff --git a/code/src/net/mock/mock-method.ae b/code/src/net/mock/mock-method.ae index 7634c7d..3730f77 100644 --- a/code/src/net/mock/mock-method.ae +++ b/code/src/net/mock/mock-method.ae @@ -1,7 +1,7 @@ #include "src/common/triton-hash.h" #include "src/aesop/hints.h" -#include "src/net/triton-node.h" +#include "src/net/triton-addr.h" #include "src/net/triton-message.hae" #include "src/net/triton-message-method.hae" #include "src/common/resources/scheduling/sched.hae" @@ -9,38 +9,36 @@ #include <stdint.h> -#define MOCK_METHOD_ID 2 +static triton_msg_method_addr_t triton_mock_zero = 0; -static uint128_t triton_mock_zero = {0, triton_method_id_mask(MOCK_METHOD_ID)}; +static triton_debug_mask_t mock_dbg_mask; -triton_debug_mask_t mock_dbg_mask; - -static triton_node_t triton_msg_mock_node_self(void) +static triton_msg_method_addr_t mock_addr_self(void) { return triton_mock_zero; } -static triton_ret_t triton_msg_mock_node_to_string(triton_node_t node, triton_string_t *rstr) +static int mock_addr_equal(triton_msg_method_addr_t a1, triton_msg_method_addr_t a2) { - assert(node.u == triton_method_id_mask(MOCK_METHOD_ID)); - - triton_string_init(rstr, "%d", node.l); + return a1 == a2; +} +static triton_ret_t mock_addr_to_string(triton_msg_method_addr_t addr, triton_string_t *rstr) +{ + triton_string_init(rstr, "%d", addr); return TRITON_SUCCESS; } -static triton_node_t triton_msg_mock_node_lookup(const char *name) +static triton_ret_t mock_addr_lookup(const char *name, triton_msg_method_addr_t *addr) { - triton_node_t n; - triton_node_set_method_id(n, MOCK_METHOD_ID); - n.l = atoi(name); - return n; + *addr = atoi(name); + return TRITON_SUCCESS; } struct match_key { - triton_node_t from; - triton_node_t to; + triton_msg_method_addr_t from; + triton_msg_method_addr_t to; triton_msg_tag_t tag; uint32_t __padding; }; @@ -76,8 +74,8 @@ struct recv struct recvany { - triton_node_t self; - triton_node_t *from; + triton_msg_method_addr_t self; + triton_msg_method_addr_t *from; triton_msg_tag_t *tag; int count; char **buffers; @@ -89,9 +87,9 @@ struct recvany struct triton_list_link link; }; -struct node_waiting_entry +struct addr_waiting_entry { - triton_node_t node; + triton_msg_method_addr_t addr; triton_list_t queue; struct triton_hash_link hash_link; }; @@ -99,7 +97,7 @@ struct node_waiting_entry struct triton_mock_group { char *name; - triton_msg_group_t group; + triton_msg_method_group_t group; int tag_counter; triton_mutex_t match_mutex; @@ -114,10 +112,10 @@ struct triton_mock_group */ struct triton_hash_table *recvh; - /* hash of node to node_waiting_entry struct (holds queue of waiting sends) to be checked by recvany */ + /* hash of addr to addr_waiting_entry struct (holds queue of waiting sends) to be checked by recvany */ struct triton_hash_table *sendq; - /* hash of node to node_waiting_entry struct (holds queue of wiating recvanys) to be checked by send */ + /* hash of addr to addr_waiting_entry struct (holds queue of wiating recvanys) to be checked by send */ struct triton_hash_table *recvanyq; /* hash entry for groups hash */ @@ -145,7 +143,7 @@ static void group_entry_free(void *x) static int mock_enabled = 0; -static void triton_msg_mock_disable(void) +static void mock_disable(void) { mock_enabled--; assert(mock_enabled >= 0); @@ -169,7 +167,7 @@ static int group_hash(void *key, int table_size) return (*(uint32_t *)key) & (table_size - 1); } -static triton_ret_t triton_msg_mock_enable(void) +static triton_ret_t mock_enable(void) { if(mock_enabled == 0) { @@ -189,7 +187,8 @@ static int send_compare(void *k, struct triton_hash_link *l) struct match_key *key = (struct match_key *)k; struct send *s = triton_hash_get_entry(l, struct send, hash_link); - return (!memcmp(&s->key.from, &key->from, sizeof(key->from)) && !memcmp(&s->key.to, &key->to, sizeof(key->to)) && s->key.tag == key->tag); + return (!memcmp(&s->key.from, &key->from, sizeof(key->from)) && + !memcmp(&s->key.to, &key->to, sizeof(key->to)) && s->key.tag == key->tag); } static int recv_compare(void *k, struct triton_hash_link *l) @@ -197,7 +196,8 @@ static int recv_compare(void *k, struct triton_hash_link *l) struct match_key *key = (struct match_key *)k; struct recv *r = triton_hash_get_entry(l, struct recv, link); - return (!memcmp(&r->key.from, &key->from, sizeof(key->from)) && !memcmp(&r->key.to, &key->to, sizeof(key->to)) && r->key.tag == key->tag); + return (!memcmp(&r->key.from, &key->from, sizeof(key->from)) && + !memcmp(&r->key.to, &key->to, sizeof(key->to)) && r->key.tag == key->tag); } static int match_key_hash(void *k, int table_size) @@ -211,17 +211,17 @@ static int match_key_hash(void *k, int table_size) return a; } -static int node_compare(void *k, struct triton_hash_link *l) +static int addr_compare(void *k, struct triton_hash_link *l) { - triton_node_t *n = (triton_node_t *)k; - struct node_waiting_entry *nw = triton_hash_get_entry(l, struct node_waiting_entry, hash_link); - return !memcmp(n, &nw->node, sizeof(*n)); + triton_msg_method_addr_t *n = (triton_msg_method_addr_t *)k; + struct addr_waiting_entry *nw = triton_hash_get_entry(l, struct addr_waiting_entry, hash_link); + return !memcmp(n, &nw->addr, sizeof(*n)); } -static int node_hash(void *k, int table_size) +static int addr_hash(void *k, int table_size) { uint32_t h1 = 0, h2 = 0; - triton_node_t *n = (triton_node_t *)k; + triton_msg_method_addr_t *n = (triton_msg_method_addr_t *)k; bj_hashlittle2(n, sizeof(*n), &h1, &h2); return h1 & (table_size - 1); } @@ -229,7 +229,7 @@ static int node_hash(void *k, int table_size) static triton_ret_t send_queue_enqueue(struct triton_mock_group *g, struct send *send) { struct triton_hash_link *l = triton_hash_search(g->sendq, &send->key.to); - struct node_waiting_entry *e; + struct addr_waiting_entry *e; if(!l) { @@ -239,23 +239,23 @@ static triton_ret_t send_queue_enqueue(struct triton_mock_group *g, struct send return TRITON_ERR_NOMEM; } - e->node = send->key.to; + e->addr = send->key.to; triton_list_init(&e->queue); triton_list_link_clear(&e->hash_link); - triton_hash_add(g->sendq, &e->node, &e->hash_link); + triton_hash_add(g->sendq, &e->addr, &e->hash_link); } else { - e = triton_hash_get_entry(l, struct node_waiting_entry, hash_link); + e = triton_hash_get_entry(l, struct addr_waiting_entry, hash_link); } triton_queue_enqueue(&send->queue_link, &e->queue); return TRITON_SUCCESS; } -static struct send *send_queue_dequeue(struct triton_mock_group *g, triton_node_t dest) +static struct send *send_queue_dequeue(struct triton_mock_group *g, triton_msg_method_addr_t dest) { - struct node_waiting_entry *e; + struct addr_waiting_entry *e; struct triton_hash_link *l = triton_hash_search(g->sendq, &dest); struct triton_list_link *ll; struct send *send; @@ -265,7 +265,7 @@ static struct send *send_queue_dequeue(struct triton_mock_group *g, triton_node_ return NULL; } - e = triton_hash_get_entry(l, struct node_waiting_entry, hash_link); + e = triton_hash_get_entry(l, struct addr_waiting_entry, hash_link); ll = triton_queue_dequeue(&e->queue); if(!ll) @@ -281,7 +281,7 @@ static struct send *send_queue_dequeue(struct triton_mock_group *g, triton_node_ static triton_ret_t recvany_queue_enqueue(struct triton_mock_group *g, struct recvany *recvany) { struct triton_hash_link *l = triton_hash_search(g->recvanyq, &recvany->self); - struct node_waiting_entry *e; + struct addr_waiting_entry *e; if(!l) { @@ -291,23 +291,23 @@ static triton_ret_t recvany_queue_enqueue(struct triton_mock_group *g, struct re return TRITON_ERR_NOMEM; } - e->node = recvany->self; + e->addr = recvany->self; triton_list_init(&e->queue); triton_list_link_clear(&e->hash_link); - triton_hash_add(g->recvanyq, &e->node, &e->hash_link); + triton_hash_add(g->recvanyq, &e->addr, &e->hash_link); } else { - e = triton_hash_get_entry(l, struct node_waiting_entry, hash_link); + e = triton_hash_get_entry(l, struct addr_waiting_entry, hash_link); } triton_queue_enqueue(&recvany->link, &e->queue); return TRITON_SUCCESS; } -static struct recvany *recvany_queue_dequeue(struct triton_mock_group *g, triton_node_t dest) +static struct recvany *recvany_queue_dequeue(struct triton_mock_group *g, triton_msg_method_addr_t dest) { - struct node_waiting_entry *e; + struct addr_waiting_entry *e; struct triton_hash_link *l = triton_hash_search(g->recvanyq, &dest); struct triton_list_link *ll; struct recvany *recvany; @@ -317,7 +317,7 @@ static struct recvany *recvany_queue_dequeue(struct triton_mock_group *g, triton return NULL; } - e = triton_hash_get_entry(l, struct node_waiting_entry, hash_link); + e = triton_hash_get_entry(l, struct addr_waiting_entry, hash_link); ll = triton_queue_dequeue(&e->queue); if(!ll) @@ -330,7 +330,7 @@ static struct recvany *recvany_queue_dequeue(struct triton_mock_group *g, triton return recvany; } -static triton_ret_t triton_msg_mock_group_add(const char *service_name, triton_msg_group_t *group) +static triton_ret_t mock_group_add(const char *service_name, triton_msg_method_group_t *group) { int ret; uint32_t h1 = 0, h2 = 0; @@ -351,8 +351,8 @@ static triton_ret_t triton_msg_mock_group_add(const char *service_name, triton_m newgroup->sendh = triton_hash_init(send_compare, match_key_hash, bj_hashsize(17)); newgroup->recvh = triton_hash_init(recv_compare, match_key_hash, bj_hashsize(17)); - newgroup->sendq = triton_hash_init(node_compare, node_hash, bj_hashsize(17)); - newgroup->recvanyq = triton_hash_init(node_compare, node_hash, bj_hashsize(17)); + newgroup->sendq = triton_hash_init(addr_compare, addr_hash, bj_hashsize(17)); + newgroup->recvanyq = triton_hash_init(addr_compare, addr_hash, bj_hashsize(17)); triton_mutex_init(&newgroup->match_mutex, NULL); *group = newgroup->group; @@ -364,7 +364,7 @@ static triton_ret_t triton_msg_mock_group_add(const char *service_name, triton_m return TRITON_SUCCESS; } -static triton_msg_tag_t triton_msg_mock_new_tag(triton_msg_group_t group) +static triton_msg_tag_t mock_new_tag(triton_msg_method_group_t group) { struct triton_hash_link *groupl; struct triton_mock_group *group_entry; @@ -424,9 +424,9 @@ static triton_ret_t copy_buffers(char **inbuffers, uint32_t *insizes, int incoun * Step 2: Look for receive with matching from/to/tag tuple. If none exists: * Step 3: Allocate send structure, queue send into table for receive any, then queue send for recv. */ -static __blocking triton_ret_t triton_msg_mock_send( - triton_node_t to, - triton_msg_group_t g, +static __blocking triton_ret_t mock_send( + triton_msg_method_addr_t to, + triton_msg_method_group_t g, triton_msg_tag_t tag, int count, char **buffers, @@ -439,18 +439,21 @@ static __blocking triton_ret_t triton_msg_mock_send( struct recvany *rany; struct recv *recv; int i, total_size = 0, rindex; - triton_node_t self; + triton_addr_t self; + triton_msg_method_addr_t mself; struct match_key mkey; struct send *send; triton_string_t selfstr, tostr; - /* get self node from hints hidden by aesop framework */ + /* get self addr from hints hidden by aesop framework */ ret = aesop_hints_get("triton.mock.self", sizeof(self), &self); if(ret != TRITON_SUCCESS) { return ret; } + mself = self.l; + for(i = 0; i < count; ++i) { total_size += sizes[i]; @@ -458,8 +461,8 @@ static __blocking triton_ret_t triton_msg_mock_send( if(triton_debug_enabled(mock_dbg_mask)) { - triton_msg_mock_node_to_string(self, &selfstr); - triton_msg_mock_node_to_string(to, &tostr); + mock_addr_to_string(mself, &selfstr); + mock_addr_to_string(to, &tostr); triton_debug(mock_dbg_mask, "mock_send: from=%s, to=%s, group=%u, tag=%d\n", selfstr.string, tostr.string, g, tag); } @@ -482,7 +485,7 @@ static __blocking triton_ret_t triton_msg_mock_send( triton_mutex_unlock(&group->match_mutex); /* copy send info to recv any */ - *rany->from = self; + *rany->from = mself; *rany->tag = tag; if(rany->total_size < total_size) { @@ -509,11 +512,11 @@ static __blocking triton_ret_t triton_msg_mock_send( } match_key_init(&mkey); - mkey.from = self; + mkey.from = mself; mkey.to = to; mkey.tag = tag; - /* no recv any, look for recv with matching node/tag */ + /* no recv any, look for recv with matching addr/tag */ recvl = triton_hash_search_and_remove(group->recvh, &mkey); if(recvl != NULL) { @@ -551,7 +554,7 @@ static __blocking triton_ret_t triton_msg_mock_send( } match_key_init(&send->key); - send->key.from = self; + send->key.from = mself; send->key.to = to; send->key.tag = tag; send->count = count; @@ -596,16 +599,17 @@ static __blocking triton_ret_t triton_msg_mock_send( return ret; } -static __blocking triton_ret_t triton_msg_mock_recv( - triton_node_t from, - triton_msg_group_t group, +static __blocking triton_ret_t mock_recv( + triton_msg_method_addr_t from, + triton_msg_method_group_t group, triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes, uint32_t *bytes_received) { - triton_node_t to, self; + triton_addr_t self; + triton_msg_method_addr_t to, mself; struct triton_hash_link *groupl; struct triton_mock_group *group_entry; struct match_key mkey; @@ -621,10 +625,12 @@ static __blocking triton_ret_t triton_msg_mock_recv( return ret; } + mself = self.l; + if(triton_debug_enabled(mock_dbg_mask)) { - triton_msg_mock_node_to_string(from, &fromstr); - triton_msg_mock_node_to_string(self, &selfstr); + mock_addr_to_string(from, &fromstr); + mock_addr_to_string(mself, &selfstr); triton_debug(mock_dbg_mask, "mock_recv: from=%s, to=%s, group=%u, tag=%d\n", fromstr.string, selfstr.string, group, tag); } @@ -640,7 +646,7 @@ static __blocking triton_ret_t triton_msg_mock_recv( /* look in unmatched send table for match */ triton_mutex_lock(&group_entry->match_mutex); match_key_init(&mkey); - mkey.to = self; + mkey.to = mself; mkey.from = from; mkey.tag = tag; sendl = triton_hash_search_and_remove(group_entry->sendh, &mkey); @@ -677,7 +683,7 @@ static __blocking triton_ret_t triton_msg_mock_recv( } match_key_init(&recv->key); - recv->key.to = self; + recv->key.to = mself; recv->key.from = from; recv->key.tag = tag; recv->count = count; @@ -712,9 +718,9 @@ static __blocking triton_ret_t triton_msg_mock_recv( return ret; } -static __blocking triton_ret_t triton_msg_mock_recv_any( - triton_msg_group_t group, - triton_node_t *from, +static __blocking triton_ret_t mock_recv_any( + triton_msg_method_group_t group, + triton_msg_method_addr_t *from, triton_msg_tag_t *tag, int count, char **buffers, @@ -727,7 +733,8 @@ static __blocking triton_ret_t triton_msg_mock_recv_any( triton_ret_t ret; struct send *send; struct recvany *rany; - triton_node_t self; + triton_addr_t self; + triton_msg_method_addr_t mself; triton_string_t selfstr; ret = aesop_hints_get("triton.mock.self", sizeof(self), &self); @@ -736,6 +743,8 @@ static __blocking triton_ret_t triton_msg_mock_recv_any( return ret; } + mself = self.l; + for(i = 0; i < count; ++i) { total_size += sizes[i]; @@ -743,7 +752,7 @@ static __blocking triton_ret_t triton_msg_mock_recv_any( if(triton_debug_enabled(mock_dbg_mask)) { - triton_msg_mock_node_to_string(self, &selfstr); + mock_addr_to_string(mself, &selfstr); triton_debug(mock_dbg_mask, "mock_recv_any: to=%s, group=%u\n", selfstr.string, group); } @@ -762,7 +771,7 @@ static __blocking triton_ret_t triton_msg_mock_recv_any( triton_mutex_lock(&group_entry->match_mutex); - send = send_queue_dequeue(group_entry, self); + send = send_queue_dequeue(group_entry, mself); if(send != NULL) { triton_debug(mock_dbg_mask, @@ -798,7 +807,7 @@ static __blocking triton_ret_t triton_msg_mock_recv_any( /* no send found, add to recv any queue */ rany = malloc(sizeof(*rany)); - rany->self = self; + rany->self = mself; rany->from = from; rany->tag = tag; rany->count = count; @@ -838,20 +847,20 @@ static __blocking triton_ret_t triton_msg_mock_recv_any( static struct triton_msg_method triton_msg_mock_method = { .name = "mock", - .id = MOCK_METHOD_ID, - .node_self = triton_msg_mock_node_self, - .node_to_string = triton_msg_mock_node_to_string, - .node_lookup = triton_msg_mock_node_lookup, - .new_tag = triton_msg_mock_new_tag, + .addr_self = mock_addr_self, + .addr_equal = mock_addr_equal, + .addr_to_string = mock_addr_to_string, + .addr_lookup = mock_addr_lookup, + .new_tag = mock_new_tag, - .enable = triton_msg_mock_enable, - .disable = triton_msg_mock_disable, + .enable = mock_enable, + .disable = mock_disable, - .group_add = triton_msg_mock_group_add, - .send = triton_msg_mock_send, - .recv = triton_msg_mock_recv, - .recv_any = triton_msg_mock_recv_any + .group_add = mock_group_add, + .send = mock_send, + .recv = mock_recv, + .recv_any = mock_recv_any }; triton_ret_t triton_msg_mock_init(void) diff --git a/code/src/net/module.mk.in b/code/src/net/module.mk.in index 695e3f0..7eb49fc 100644 --- a/code/src/net/module.mk.in +++ b/code/src/net/module.mk.in @@ -4,5 +4,5 @@ AESOP_HDR += $(DIR)/triton-message.hae \ $(DIR)/triton-message-method.hae \ $(DIR)/triton-message-internal.hae -AELIBSRC += $(DIR)/triton-message.ae $(DIR)/triton-node.ae +AELIBSRC += $(DIR)/triton-message.ae diff --git a/code/src/net/mpi/mpi-method.ae b/code/src/net/mpi/mpi-method.ae index 780c602..ee42cb4 100644 --- a/code/src/net/mpi/mpi-method.ae +++ b/code/src/net/mpi/mpi-method.ae @@ -5,37 +5,35 @@ #include <mpi.h> #include "src/net/mpi/mpi.hae" -#include "src/net/triton-node.h" +#include "src/net/triton-addr.h" #include "src/net/mpi/errors.h" #include "src/net/triton-message.hae" #include "src/net/triton-message-method.hae" #include "src/net/mpi/mpi-method.h" -#define MPI_METHOD_ID 1 -#define node2rank(node) ((int)((node).l)) -#define rank2node(rank, node) (node).l = (rank); triton_node_set_method_id((node), MPI_METHOD_ID) +static triton_msg_method_addr_t mpi_rank; -static uint128_t triton_mpi_rank; +static triton_msg_method_addr_t mpi_addr_self(void) +{ + return mpi_rank; +} -static triton_node_t triton_msg_mpi_node_self(void) +static int mpi_addr_equal(triton_msg_method_addr_t a1, triton_msg_method_addr_t a2) { - return triton_mpi_rank; + return a1 == a2; } -static triton_ret_t triton_msg_mpi_node_to_string(triton_node_t node, triton_string_t *nodestr) +static triton_ret_t mpi_addr_to_string(triton_msg_method_addr_t addr, triton_string_t *addrstr) { - assert(node.u == triton_method_id_mask(MPI_METHOD_ID)); - triton_string_init(nodestr, "%d", node2rank(node)); + triton_string_init(addrstr, "%ud", (uint32_t)addr); return TRITON_SUCCESS; } -static triton_node_t triton_msg_mpi_node_lookup(const char *name) +static triton_addr_t mpi_addr_lookup(const char *name) { int rank; - triton_node_t node; rank = atoi(name); - rank2node(rank, node); - return node; + return (uint64_t)rank; } struct triton_mpi_group @@ -50,7 +48,7 @@ struct triton_mpi_group static struct triton_hash_table *group_table = NULL; -static triton_ret_t triton_msg_mpi_group_add(const char *service_name, triton_msg_group_t *group) +static triton_ret_t mpi_group_add(const char *service_name, triton_msg_method_group_t *group) { int ret; uint32_t h1 = 0, h2 = 0; @@ -81,7 +79,7 @@ static triton_ret_t triton_msg_mpi_group_add(const char *service_name, triton_ms return TRITON_SUCCESS; } -static triton_msg_tag_t triton_msg_mpi_new_tag(triton_msg_group_t group) +static triton_msg_tag_t mpi_new_tag(triton_msg_method_group_t group) { struct triton_hash_link *groupl; struct triton_mpi_group *group_entry; @@ -102,15 +100,15 @@ static triton_msg_tag_t triton_msg_mpi_new_tag(triton_msg_group_t group) } -static __blocking triton_ret_t triton_msg_mpi_send( - triton_node_t to, - triton_msg_group_t group, +static __blocking triton_ret_t mpi_send( + triton_msg_method_addr_t to, + triton_msg_method_group_t group, triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes) { - int ret, rank, i; + int ret, i; MPI_Datatype hind_type; MPI_Aint *offsets; struct triton_hash_link *groupl; @@ -146,9 +144,7 @@ static __blocking triton_ret_t triton_msg_mpi_send( groupl = triton_hash_search(group_table, &group); group_entry = triton_hash_get_entry(groupl, struct triton_mpi_group, link); - rank = node2rank(to); - - ret = triton_mpi_send(MPI_BOTTOM, 1, hind_type, rank, tag, group_entry->comm); + ret = triton_mpi_send(MPI_BOTTOM, 1, hind_type, (int)to, tag, group_entry->comm); if(ret != MPI_SUCCESS) { free(offsets); @@ -161,16 +157,16 @@ static __blocking triton_ret_t triton_msg_mpi_send( return TRITON_SUCCESS; } -static __blocking triton_ret_t triton_msg_mpi_recv( - triton_node_t from, - triton_msg_group_t group, +static __blocking triton_ret_t mpi_recv( + triton_msg_method_addr_t from, + triton_msg_method_group_t group, triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes, uint32_t *bytes_received) { - int ret, rank, i; + int ret, i; MPI_Datatype hind_type; MPI_Aint *offsets; struct triton_hash_link *groupl; @@ -207,9 +203,7 @@ static __blocking triton_ret_t triton_msg_mpi_recv( groupl = triton_hash_search(group_table, &group); group_entry = triton_hash_get_entry(groupl, struct triton_mpi_group, link); - rank = node2rank(from); - - ret = triton_mpi_recv(MPI_BOTTOM, 1, hind_type, rank, tag, group_entry->comm, &status); + ret = triton_mpi_recv(MPI_BOTTOM, 1, hind_type, (int)from, tag, group_entry->comm, &status); if(ret != MPI_SUCCESS) { free(offsets); @@ -230,9 +224,9 @@ static __blocking triton_ret_t triton_msg_mpi_recv( return TRITON_SUCCESS; } -static __blocking triton_ret_t triton_msg_mpi_recv_any( +static __blocking triton_ret_t mpi_recv_any( triton_msg_group_t group, - triton_node_t *from, + triton_addr_t *from, triton_msg_tag_t *tag, int count, char **buffers, @@ -292,7 +286,7 @@ static __blocking triton_ret_t triton_msg_mpi_recv_any( return triton_error_from_mpi(ret); } - rank2node(status.MPI_SOURCE, *from); + rank2addr(status.MPI_SOURCE, *from); *tag = status.MPI_TAG; @@ -313,7 +307,7 @@ static int mpi_group_compare(void *key, struct triton_hash_link *link) static int mpi_enabled = 0; -static triton_ret_t triton_msg_mpi_enable(void) +static triton_ret_t mpi_enable(void) { int rank, ret; int mpi_thread_level; @@ -340,7 +334,7 @@ static triton_ret_t triton_msg_mpi_enable(void) } /* set my rank */ - rank2node(rank, triton_mpi_rank); + mpi_rank = (triton_msg_method_addr_t)rank; assert(group_table == NULL); group_table = triton_hash_init(mpi_group_compare, triton_hash_32bit_hash, 1024); @@ -365,7 +359,7 @@ static void group_entry_free(void *x) free(g); } -static void triton_msg_mpi_disable(void) +static void mpi_disable(void) { mpi_enabled--; assert(mpi_enabled >= 0); @@ -380,20 +374,20 @@ static void triton_msg_mpi_disable(void) static struct triton_msg_method triton_msg_mpi_method = { .name = "mpi", - .id = MPI_METHOD_ID, - .node_self = triton_msg_mpi_node_self, - .node_to_string = triton_msg_mpi_node_to_string, - .node_lookup = triton_msg_mpi_node_lookup, - .new_tag = triton_msg_mpi_new_tag, + .addr_self = mpi_addr_self, + .addr_equal = mpi_addr_equal, + .addr_to_string = mpi_addr_to_string, + .addr_lookup = mpi_addr_lookup, + .new_tag = mpi_new_tag, - .enable = triton_msg_mpi_enable, - .disable = triton_msg_mpi_disable, + .enable = mpi_enable, + .disable = mpi_disable, - .group_add = triton_msg_mpi_group_add, - .send = triton_msg_mpi_send, - .recv = triton_msg_mpi_recv, - .recv_any = triton_msg_mpi_recv_any + .group_add = mpi_group_add, + .send = mpi_send, + .recv = mpi_recv, + .recv_any = mpi_recv_any }; __attribute__((constructor)) void triton_msg_mpi_init(void) diff --git a/code/src/net/mpi/mpi.c b/code/src/net/mpi/mpi.c index b6df7fe..12086c4 100644 --- a/code/src/net/mpi/mpi.c +++ b/code/src/net/mpi/mpi.c @@ -804,7 +804,7 @@ triton_ret_t triton_error_from_mpi(int r) int size; char mpi_error_msg[MPI_MAX_ERROR_STRING]; int rank, class; - triton_node_t node; + triton_addr_t node; if(r == MPI_SUCCESS) { diff --git a/code/src/net/test/mock-client-server.ae b/code/src/net/test/mock-client-server.ae index 064f92b..630e3d6 100644 --- a/code/src/net/test/mock-client-server.ae +++ b/code/src/net/test/mock-client-server.ae @@ -11,7 +11,7 @@ __blocking void do_server(triton_msg_ctx_t mock_ctx, triton_msg_group_t unexp_gr triton_ret_t ret; char *buffer; uint32_t buffer_size, recved; - triton_node_t from, self; + triton_addr_t from, self; triton_msg_tag_t tag; int count = 0; triton_string_t nstr, selfstr, tostr; @@ -21,14 +21,14 @@ __blocking void do_server(triton_msg_ctx_t mock_ctx, triton_msg_group_t unexp_gr assert(buffer); aesop_hints_get("triton.mock.self", sizeof(self), &self); - ret = triton_node_to_string(mock_ctx, self, &selfstr); + ret = triton_addr_to_string(mock_ctx, self, &selfstr); assert(ret == TRITON_SUCCESS); while(count < (total-1)) { ret = triton_msg_recv_any(mock_ctx, unexp_group, &from, &tag, 1, &buffer, &buffer_size, &recved); assert(ret == TRITON_SUCCESS); - ret = triton_node_to_string(mock_ctx, from, &nstr); + ret = triton_addr_to_string(mock_ctx, from, &nstr); assert(ret == TRITON_SUCCESS); printf("%s: <- %s, tag=%d\n", selfstr.string, nstr.string, tag); ret = triton_msg_send(mock_ctx, from, exp_group, tag, 1, &buffer, &recved); @@ -44,20 +44,20 @@ __blocking void do_server(triton_msg_ctx_t mock_ctx, triton_msg_group_t unexp_gr __blocking void do_client(triton_msg_ctx_t mock_ctx, triton_msg_group_t unexp_group, triton_msg_group_t exp_group) { - triton_node_t to, self; + triton_addr_t to, self; triton_string_t selfstr, tostr; triton_msg_tag_t tag; triton_ret_t ret; char *buffer; uint32_t buffer_size, recved; - to = triton_node_lookup(mock_ctx, "0"); + ret = triton_addr_lookup(mock_ctx, "mock://0", &to); tag = triton_msg_new_tag(mock_ctx, unexp_group); - ret = triton_node_to_string(mock_ctx, to, &tostr); + ret = triton_addr_to_string(to, &tostr); aesop_hints_get("triton.mock.self", sizeof(self), &self); - ret = triton_node_to_string(mock_ctx, self, &selfstr); + ret = triton_addr_to_string(self, &selfstr); buffer_size = 16 * 1024; buffer = malloc(buffer_size); @@ -89,10 +89,9 @@ int main(int argc, char *argv[]) ae_op_id_t op_id; ae_hints_t h[100]; ae_context_t ctx; - triton_msg_ctx_t mock_ctx; triton_msg_group_t unexp_group, exp_group; int i; - triton_node_t node; + triton_addr_t node; aesop_init(); @@ -111,13 +110,13 @@ int main(int argc, char *argv[]) triton_msg_init(); triton_msg_mock_init(); - ret = triton_msg_enable_method("mock", &mock_ctx); + ret = triton_msg_enable_method("mock"); assert(ret == TRITON_SUCCESS); - ret = triton_msg_group_add(mock_ctx, "test-server-unexp", &unexp_group); + ret = triton_msg_group_add("test-server-unexp", &unexp_group); assert(ret == TRITON_SUCCESS); - ret = triton_msg_group_add(mock_ctx, "test-server-exp", &exp_group); + ret = triton_msg_group_add("test-server-exp", &exp_group); assert(ret == TRITON_SUCCESS); ret = ae_hints_type_register("triton.mock.self", 0, &aer_encoder_uint128_t); @@ -126,8 +125,9 @@ int main(int argc, char *argv[]) for(i = 0; i < 100; ++i) { char nodestr[100]; - sprintf(nodestr, "%d", i); - node = triton_node_lookup(mock_ctx, nodestr); + sprintf(nodestr, "mock://%d", i); + ret = triton_addr_lookup(nodestr, &node); + assert(ret == TRITON_SUCCESS); h[i] = NULL; ret = ae_hints_put(&h[i], "triton.mock.self", sizeof(node), &node); assert(ret == TRITON_SUCCESS); diff --git a/code/src/net/test/mpi-client-server.ae b/code/src/net/test/mpi-client-server.ae index c6f93c6..0606504 100644 --- a/code/src/net/test/mpi-client-server.ae +++ b/code/src/net/test/mpi-client-server.ae @@ -10,11 +10,10 @@ __blocking void do_server(void) { triton_ret_t ret; - triton_msg_ctx_t mpi_ctx; triton_msg_group_t unexp_group, exp_group; char *buffer; uint32_t buffer_size, recved; - triton_node_t from, to, me; + triton_addr_t from, to, me; triton_msg_tag_t tag; int count = 0, total = 0; triton_string_t nstr, mestr, tostr; @@ -27,21 +26,22 @@ __blocking void do_server(void) triton_mpi_init(); triton_msg_mpi_init(); - ret = triton_msg_enable_method("mpi", &mpi_ctx); + ret = triton_msg_enable_method("mpi"); assert(ret == TRITON_SUCCESS); - ret = triton_msg_group_add(mpi_ctx, "test-server-unexp", &unexp_group); + ret = triton_msg_group_add("mpi", "test-server-unexp", &unexp_group); assert(ret == TRITON_SUCCESS); - ret = triton_msg_group_add(mpi_ctx, "test-server-exp", &exp_group); + ret = triton_msg_group_add("mpi", "test-server-exp", &exp_group); assert(ret == TRITON_SUCCESS); buffer_size = 16 * 1024; buffer = malloc(buffer_size); assert(buffer); - me = triton_node_self(mpi_ctx); - ret = triton_node_to_string(mpi_ctx, me, &mestr); + ret = triton_addr_self("mpi", &me); + assert(ret == TRITON_SUCCESS); + ret = triton_addr_to_string(me, &mestr); assert(ret == TRITON_SUCCESS); MPI_Comm_size(MPI_COMM_WORLD, &total); @@ -51,12 +51,12 @@ __blocking void do_server(void) /* I'm a server! */ while(count < (total-1)) { - ret = triton_msg_recv_any(mpi_ctx, unexp_group, &from, &tag, 1, &buffer, &buffer_size, &recved); + ret = triton_msg_recv_any(unexp_group, &from, &tag, 1, &buffer, &buffer_size, &recved); assert(ret == TRITON_SUCCESS); - ret = triton_node_to_string(mpi_ctx, from, &nstr); + ret = triton_addr_to_string(from, &nstr); assert(ret == TRITON_SUCCESS); printf("Node %s received message from: %s, with tag: %d\n", mestr.string, nstr.string, tag); - ret = triton_msg_send(mpi_ctx, from, exp_group, tag, 1, &buffer, &recved); + ret = triton_msg_send(from, exp_group, tag, 1, &buffer, &recved); printf("Node %s sent response to: %s, with tag: %d\n", mestr.string, nstr.string, tag); triton_string_destroy(&nstr); @@ -66,19 +66,19 @@ __blocking void do_server(void) } else { - to = triton_node_lookup(mpi_ctx, "0"); - tag = triton_msg_new_tag(mpi_ctx, unexp_group); + ret = triton_addr_lookup("mpi://0", &to); + tag = triton_msg_new_tag(unexp_group); - ret = triton_node_to_string(mpi_ctx, to, &tostr); + ret = triton_addr_to_string(to, &tostr); assert(ret == TRITON_SUCCESS); /* I'm a client */ - ret = triton_msg_send(mpi_ctx, to, unexp_group, tag, 1, &buffer, &buffer_size); + ret = triton_msg_send(to, unexp_group, tag, 1, &buffer, &buffer_size); printf("Node %s sent message to: %s, with tag: %d\n", mestr.string, tostr.string, tag); assert(ret == TRITON_SUCCESS); printf("Node %s receiving message from: %s, with tag: %d\n", mestr.string, tostr.string, tag); - ret = triton_msg_recv(mpi_ctx, to, exp_group, tag, 1, &buffer, &buffer_size, &recved); + ret = triton_msg_recv(to, exp_group, tag, 1, &buffer, &buffer_size, &recved); printf("Node %s received message from: %s, with tag: %d\n", mestr.string, tostr.string, tag); triton_string_destroy(&tostr); diff --git a/code/src/net/triton-addr.h b/code/src/net/triton-addr.h new file mode 100644 index 0000000..e411a5a --- /dev/null +++ b/code/src/net/triton-addr.h @@ -0,0 +1,29 @@ +#ifndef __TRITON_ADDR_H__ +#define __TRITON_ADDR_H__ + +#include "src/common/triton-string.h" +#include "src/common/triton-types.h" + +/** + * The triton_addr_t is an opaque object for a node in the system. Internally, this + * address holds the messaging context (state for the method), and the method specific + * structures for the address. + */ +typedef uint128_t triton_addr_t; + +#define TRITON_ADDR_NULL_STATIC_INITIALIZER { .u = 0, .l = 0 } + +extern triton_addr_t triton_addr_null; +#define TRITON_ADDR_NULL triton_addr_null + +triton_addr_t triton_addr_self(const char *method); + +#include "src/common/triton-error.h" + +triton_ret_t triton_addr_to_string(triton_addr_t addr, triton_string_t *str); + +triton_ret_t triton_addr_lookup(const char *method, triton_addr_t *addr); + +int triton_addr_equal(triton_addr_t a1, triton_addr_t a2); + +#endif /* __TRITON_ADDR_H__ */ diff --git a/code/src/net/triton-message-internal.hae b/code/src/net/triton-message-internal.hae deleted file mode 100644 index 0a0d445..0000000 --- a/code/src/net/triton-message-internal.hae +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef __TRITON_MESSAGE_INTERNAL_HAE__ -#define __TRITON_MESSAGE_INTERNAL_HAE__ - -#include "src/net/triton-message-method.hae" - -struct msg_ctx -{ - struct triton_msg_method *method; -}; - -#endif - diff --git a/code/src/net/triton-message-method.hae b/code/src/net/triton-message-method.hae index 1e8f92e..b7f08d5 100644 --- a/code/src/net/triton-message-method.hae +++ b/code/src/net/triton-message-method.hae @@ -1,44 +1,118 @@ #ifndef __TRITON_MESSAGE_METHOD_HAE__ #define __TRITON_MESSAGE_METHOD_HAE__ -#include "src/net/triton-node.h" +#include "src/net/triton-addr.h" #include "src/net/triton-message.hae" -triton_ret_t triton_msg_enable_method(const char *method, triton_msg_ctx_t *new_ctx); -void triton_msg_disable_method(triton_msg_ctx_t *c); +triton_ret_t triton_msg_enable_method(const char *method); +void triton_msg_disable_method(const char *method); -triton_ret_t triton_msg_create_ctx_from_id(uint32_t id, triton_msg_ctx_t *c); -void triton_msg_ctx_destroy(triton_msg_ctx_t c); +typedef uint64_t triton_msg_method_addr_t; +typedef uint32_t triton_msg_method_group_t; struct triton_msg_method { + /** + * The name of this method. Must match the endpoint method prefix. e.g. endpoint=mpi://20, name=mpi + */ const char *name; - uint32_t id; - triton_node_t (*node_self)(void); - triton_ret_t (*node_to_string)(triton_node_t node, triton_string_t *str); - triton_node_t (*node_lookup)(const char *name); + /** + * Get the local address. + */ + triton_msg_method_addr_t (*addr_self)(void); + int (*addr_equal)(triton_msg_method_addr_t a1, triton_msg_method_addr_t a2); + + /** + * Get the endpoint string for this address, *without* including the endpoint method prefix. + */ + triton_ret_t (*addr_to_string)(triton_msg_method_addr_t addr, triton_string_t *str); + + /** + * Lookup an address contained in a string. The format depends on the method type, but should + * not include the endpoint method prefix. + */ + triton_ret_t (*addr_lookup)(const char *name, triton_msg_method_addr_t *addr); + + /** + * Enable this method. Enabling/disabling a method may affect polling times and resources used. + */ triton_ret_t (*enable)(void); + + /** + * Disable this method. + */ void (*disable)(void); - triton_ret_t (*group_add)(const char *service_name, triton_msg_group_t *group); + /** + * Add a group with the given service name. + */ + triton_ret_t (*group_add)(const char *service_name, triton_msg_method_group_t *group); + + /** + * Get a new tag that can be used for matching sends and receives. + */ + triton_msg_tag_t (*new_tag)(triton_msg_method_group_t group); - triton_msg_tag_t (*new_tag)(triton_msg_group_t group); + /** + * Allocate a buffer for sending and receiving. Method can use this + * call to pin a buffer. + * TODO: Should we include information about the type of buffer to allocate? + */ + char * (*buffer_allocate)(uint64_t size); - char * (*buffer_allocate)(uint32_t size); + /** + * Free a buffer allocated with buffer_allocate. + */ void (*buffer_free)(char *buffer); - __blocking triton_ret_t (*send)( - triton_node_t to, triton_msg_group_t group, triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes); - __blocking triton_ret_t (*recv)( - triton_node_t from, triton_msg_group_t group, triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes, uint32_t *bytes_received); - __blocking triton_ret_t (*recv_any)( - triton_msg_group_t group, triton_node_t *from, triton_msg_tag_t *tag, int count, char **buffers, uint32_t *sizes, uint32_t *bytes_received); + /** + * Send a message using a particular group and tag + */ + __blocking triton_ret_t (*send)(triton_msg_method_addr_t to, + triton_msg_method_group_t group, + triton_msg_tag_t tag, + int count, + char **buffers, + uint32_t *sizes); + + /** + * Receive (pre-posted) a message from a specific address, on a specific group, with a specific tag. + */ + __blocking triton_ret_t (*recv)(triton_msg_method_addr_t from, + triton_msg_method_group_t group, + triton_msg_tag_t tag, + int count, + char **buffers, + uint32_t *sizes, + uint32_t *bytes_received); + + /** + * Receive a message from a specific group, but from any address with any tag. + */ + __blocking triton_ret_t (*recv_any)(triton_msg_method_group_t group, + triton_msg_method_addr_t *from, + triton_msg_tag_t *tag, + int count, + char **buffers, + uint32_t *sizes, + uint32_t *bytes_received); }; +/** + * Methods must register their implementations to the message layer. + */ triton_ret_t triton_msg_method_register(struct triton_msg_method *method); + +/** + * Unregister a method if its being finalized. + */ void triton_msg_method_unregister(const char *name); + +/** + * Lookup a registered method based on method name. + */ struct triton_msg_method* triton_msg_lookup_method(const char* method); #endif diff --git a/code/src/net/triton-message.ae b/code/src/net/triton-message.ae index 44742a0..4d7e849 100644 --- a/code/src/net/triton-message.ae +++ b/code/src/net/triton-message.ae @@ -5,13 +5,45 @@ #include "src/net/triton-message-method.hae" #include "src/common/triton-hash.h" +triton_addr_t triton_addr_null = TRITON_ADDR_NULL_STATIC_INITIALIZER; + +/** + * Methods register themselves through the triton_msg_method_register call. + * Once registered, an entry in the method_table keeps track of a method + * keyed on its name. The entry also contains a list of group structures + * so that the group structures can be freed once the method entry structure + * is removed from the method_table. + */ + static struct triton_hash_table *method_table = NULL; -static struct triton_hash_table *method_id_table = NULL; +static struct triton_hash_table *address_table = NULL; + +static inline void addr_split(triton_addr_t addr, struct triton_msg_method **method, triton_msg_method_addr_t *method_addr) +{ + if(method) *method = (struct triton_msg_method *)addr.u; + if(method_addr) *method_addr = addr.l; +} + +static triton_addr_t addr_wrap(struct triton_msg_method *method, triton_msg_method_addr_t method_addr) +{ + triton_addr_t addr; + addr.u = (uint64_t)(uintptr_t)method; + addr.l = method_addr; + return addr; +} + +struct triton_msg_group +{ + uint32_t group; + struct triton_msg_method *method; + struct triton_list_link link; +}; struct method_entry { char *name; struct triton_msg_method *method; + triton_list_t groups; struct triton_hash_link link; struct triton_hash_link id_link; }; @@ -22,28 +54,26 @@ static int method_compare(void *k, struct triton_hash_link *l) return (!strcmp(m->method->name, (char *)k)); } -static int method_id_compare(void *k, struct triton_hash_link *l) -{ - struct method_entry *m = triton_hash_get_entry(l, struct method_entry, id_link); - return m->method->id == *(int *)k; -} - triton_ret_t triton_msg_init(void) { if(!method_table) { method_table = triton_hash_init(method_compare, triton_hash_strhash, 1024); if(!method_table) return TRITON_ERR_NOMEM; - method_id_table = triton_hash_init(method_id_compare, triton_hash_32bit_hash, 1024); - if(!method_id_table) return TRITON_ERR_NOMEM; } - return TRITON_SUCCESS; } static void free_method(void *x) { + struct triton_msg_group *g1, *g2; struct method_entry *m = (struct method_entry *)x; + triton_list_for_each_entry(g1, g2, &m->groups, struct triton_msg_group, link) + { + triton_list_del(&g1->link); + free(g1); + } + free(m->name); free(m); } @@ -52,8 +82,6 @@ void triton_msg_finalize(void) { if(method_table) { - triton_hash_finalize(method_id_table); - method_id_table = NULL; triton_hash_destroy_and_finalize(method_table, struct method_entry, link, free_method); method_table = NULL; } @@ -70,11 +98,11 @@ triton_ret_t triton_msg_method_register(struct triton_msg_method *method) ret = triton_msg_init(); assert(ret == TRITON_SUCCESS); - l = triton_hash_search(method_id_table, &method->id); + l = triton_hash_search(method_table, &method->name); if(l) { - /* method with this ID already exists! Either the same method is being - * registered, or another method is trying to use an ID already in use. + /* method with this name already exists! Either the same method is being + * registered, or another method is trying to use an method already in use. */ return TRITON_ERR_METHOD_ID_INUSE; } @@ -84,11 +112,10 @@ triton_ret_t triton_msg_method_register(struct triton_msg_method *method) m->method = method; m->name = strdup(m->method->name); + triton_list_init(&m->groups); triton_list_link_clear(&m->link); triton_hash_add(method_table, m->name, &m->link); - triton_list_link_clear(&m->id_link); - triton_hash_add(method_id_table, &m->method->id, &m->id_link); } void triton_msg_method_unregister(const char *name) @@ -96,43 +123,12 @@ void triton_msg_method_unregister(const char *name) struct triton_hash_link *link; struct method_entry *m; - link = triton_hash_search_and_remove(method_table, name); + link = triton_hash_search_and_remove(method_table, (char *)name); m = triton_hash_get_entry(link, struct method_entry, link); - triton_hash_search_and_remove(method_id_table, &m->method->id); free(m->name); free(m); } -struct msg_ctx -{ - struct triton_msg_method *method; -}; - -triton_ret_t triton_msg_create_ctx_from_id(uint32_t id, triton_msg_ctx_t *c) -{ - struct triton_hash_link *l; - struct method_entry *m; - struct msg_ctx *ctx; - - l = triton_hash_search(method_id_table, &id); - if(!l) return TRITON_ERR_MSG_METHOD_NOTFOUND; - - m = triton_hash_get_entry(l, struct method_entry, link); - - ctx = malloc(sizeof(*ctx)); - if(ctx == NULL) return TRITON_ERR_NOMEM; - - ctx->method = m->method; - - *c = (void *)ctx; - return TRITON_SUCCESS; -} - -void triton_msg_ctx_destroy(triton_msg_ctx_t c) -{ - free(c); -} - /* finds the method structure matching the specified name */ struct triton_msg_method* triton_msg_lookup_method(const char* method) { @@ -145,12 +141,11 @@ struct triton_msg_method* triton_msg_lookup_method(const char* method) return(m->method); } -triton_ret_t triton_msg_enable_method(const char *method, triton_msg_ctx_t *new_ctx) +triton_ret_t triton_msg_enable_method(const char *method) { triton_ret_t ret; struct triton_hash_link *link; struct method_entry *m; - struct msg_ctx *ctx; triton_msg_init(); @@ -164,59 +159,86 @@ triton_ret_t triton_msg_enable_method(const char *method, triton_msg_ctx_t *new_ if(ret != TRITON_SUCCESS) return ret; } - ctx = malloc(sizeof(*ctx)); - if(ctx == NULL) return TRITON_ERR_NOMEM; - - ctx->method = m->method; - - *new_ctx = (void *)ctx; return TRITON_SUCCESS; } -void triton_msg_disable_method(triton_msg_ctx_t *c) +void triton_msg_disable_method(const char *method) { - struct msg_ctx *ctx; + struct triton_msg_method *m = triton_msg_lookup_method(method); + if(!m) + { + return; + } - ctx = (struct msg_ctx *)(*c); - if(ctx->method->disable) + if(m->disable) { - ctx->method->disable(); + m->disable(); } - free(ctx); - *c = NULL; + return; } -triton_ret_t triton_msg_group_add(triton_msg_ctx_t ctx, const char *service_name, triton_msg_group_t *group) +triton_ret_t triton_msg_group_add(const char *method, const char *service_name, triton_msg_group_t *group) { - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - return c->method->group_add(service_name, group); + triton_ret_t ret; + struct triton_hash_link *link; + struct triton_msg_group *g; + struct method_entry *m; + + link = triton_hash_search(method_table, (void *)method); + if(!link) return TRITON_ERR_MSG_METHOD_NOTFOUND; + m = triton_hash_get_entry(link, struct method_entry, link); + + g = malloc(sizeof(*g)); + if(!g) + { + return TRITON_ERR_NOMEM; + } + + g->method = m->method; + ret = m->method->group_add(service_name, &g->group); + if(ret != TRITON_SUCCESS) + { + free(g); + return ret; + } + + /* need to keep track of groups so we can free stuff when a method is disabled */ + triton_queue_enqueue(&g->link, &m->groups); + + *group = g; + return TRITON_SUCCESS; } -triton_msg_tag_t triton_msg_new_tag(triton_msg_ctx_t ctx, triton_msg_group_t group) +triton_msg_tag_t triton_msg_new_tag(triton_msg_group_t group) { - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - return c->method->new_tag(group); + struct triton_msg_group *g = (struct triton_msg_group *)group; + return g->method->new_tag(g->group); } __blocking triton_ret_t triton_msg_send( - triton_msg_ctx_t ctx, - triton_node_t to, + triton_addr_t to, triton_msg_group_t group, triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes) { - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - return c->method->send(to, group, tag, count, buffers, sizes); + struct triton_msg_method *tm; + triton_msg_method_addr_t maddr; + struct triton_msg_group *g = (struct triton_msg_group *)group; + + addr_split(to, &tm, &maddr); + + /* group method should be the same as the to method. + * TODO: Make this a real error. + */ + assert(g->method == tm); + + return g->method->send(maddr, g->group, tag, count, buffers, sizes); } __blocking triton_ret_t triton_msg_recv( - triton_msg_ctx_t ctx, - triton_node_t from, + triton_addr_t from, triton_msg_group_t group, triton_msg_tag_t tag, int count, @@ -224,24 +246,110 @@ __blocking triton_ret_t triton_msg_recv( uint32_t *sizes, uint32_t *bytes_received) { - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - return c->method->recv(from, group, tag, count, buffers, sizes, bytes_received); + struct triton_msg_method *fm; + triton_msg_method_addr_t maddr; + struct triton_msg_group *g = (struct triton_msg_group *)group; + + addr_split(from, &fm, &maddr); + + /* from method should match group method + * TODO: fix this to be a real error */ + assert(fm == g->method); + + return g->method->recv(maddr, g->group, tag, count, buffers, sizes, bytes_received); } __blocking triton_ret_t triton_msg_recv_any( - triton_msg_ctx_t ctx, triton_msg_group_t group, - triton_node_t *from, + triton_addr_t *from, triton_msg_tag_t *tag, int count, char **buffers, uint32_t *sizes, uint32_t *bytes_received) { - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - return c->method->recv_any(group, from, tag, count, buffers, sizes, bytes_received); + triton_ret_t ret; + triton_msg_method_addr_t method_from; + + struct triton_msg_group *g = (struct triton_msg_group *)group; + ret = g->method->recv_any(g->group, &method_from, tag, count, buffers, sizes, bytes_received); + if(ret != TRITON_SUCCESS) + { + return ret; + } + + /* set the from field properly */ + *from = addr_wrap(g->method, method_from); + return TRITON_SUCCESS; +} + +/** + * Address functions. + */ +int triton_addr_equal(triton_addr_t a1, triton_addr_t a2) +{ + struct triton_msg_method *m1, *m2; + triton_msg_method_addr_t ma1, ma2; + + addr_split(a1, &m1, &ma1); + addr_split(a2, &m2, &ma2); + return (m1 == m2) && m1->addr_equal(ma1, ma2); +} + +triton_addr_t triton_addr_self(const char *method) +{ + triton_msg_method_addr_t maddr; + triton_ret_t ret; + + struct triton_msg_method *m = triton_msg_lookup_method(method); + maddr = m->addr_self(); + return addr_wrap(m, maddr); +} + +triton_ret_t triton_addr_to_string(triton_addr_t addr, triton_string_t *str) +{ + triton_ret_t ret; + triton_string_t methodstr; + struct triton_msg_method *m; + triton_msg_method_addr_t maddr; + + addr_split(addr, &m, &maddr); + ret = m->addr_to_string(maddr, &methodstr); + if(ret != TRITON_SUCCESS) + { + return ret; + } + triton_string_init(str, "%s://%s", m->name, str->string); + triton_string_destroy(&methodstr); + return TRITON_SUCCESS; +} + +triton_ret_t triton_addr_lookup(const char *name, triton_addr_t *addr) +{ + char prefix[256]; + char method_name[1024]; + triton_msg_method_addr_t maddr; + struct triton_addr *a; + triton_ret_t ret; + + /* parse addr endpoint prefix, so that we can lookup the method */ + sscanf(name, "%256s://%1024s", prefix, method_name); + + struct triton_msg_method *m = triton_msg_lookup_method(method_name); + if(!m) + { + /* TODO: Add some debugging and/or wrap the error up with prefix and method_name info */ + return TRITON_ERR_MSG_METHOD_NOTFOUND; + } + + ret = m->addr_lookup(method_name, &maddr); + if(ret != TRITON_SUCCESS) + { + return ret; + } + + *addr = addr_wrap(m, maddr); + return TRITON_SUCCESS; } /* diff --git a/code/src/net/triton-message.hae b/code/src/net/triton-message.hae index f8bd642..bbb8b17 100644 --- a/code/src/net/triton-message.hae +++ b/code/src/net/triton-message.hae @@ -5,37 +5,61 @@ #include "src/common/triton-types.h" #include "src/common/triton-error.h" #include "src/aesop/aesop.h" -#include "src/net/triton-node.h" +#include "src/net/triton-addr.h" +/** + * Right now we use 32-bits for the tag. + */ typedef int32_t triton_msg_tag_t; -typedef uint32_t triton_msg_group_t; +/** + * Groups allow users of the message interface to logically group messages together + * based on a particular service. This provides scoping for the message tag values + * (tags from different groups can have the same value) and also allows different + * types of messages to be received. For example, unexpected messages could be received + * using recv_any on an unexpected group, while expected messages can be received + * using the recv call with a tag specified. + * + * At the moment, the MPI method simply creates a new communicator for each new group + * that gets added. Various interfaces could create separate groups and send messages + * using different groups on different ae_context_t variables, allowing for separate + * polling of the different groups through the different aesop contexts. + */ + +struct triton_msg_group; +typedef struct triton_msg_group *triton_msg_group_t; +/** + * Initialize the messaging interface. + */ triton_ret_t triton_msg_init(void); + +/** + * Finalize the messaging interface. + */ void triton_msg_finalize(void); /** * Add a message group. Examples: * - * Allow for unexpected messages to be received via group_recv. + * Allow for unexpected messages to be received via recv_any, without also receiving expected receives. * - * group_add(ctx, "aesop.remote.unexpected", &ae_remote_unexp_group); - * group_add(ctx, "aesop.remote.expexted", &ae_remote_exp_group); + * group_add(method_name, "aesop.remote.unexpected", &ae_remote_unexp_group); + * group_add(method_name, "aesop.remote.expexted", &ae_remote_exp_group); */ -triton_ret_t triton_msg_group_add(triton_msg_ctx_t ctx, const char *service_name, triton_msg_group_t *group); +triton_ret_t triton_msg_group_add(const char *method_name, const char *service_name, triton_msg_group_t *group); /** * Get a new tag from the message context. */ -int32_t triton_msg_new_tag(triton_msg_ctx_t ctx, triton_msg_group_t group); +triton_msg_tag_t triton_msg_new_tag(triton_msg_group_t group); /** - * Sends a message using the method from the ctx. + * Sends a message using the method the group was created on. * Group and tag fields must be specified to allow for proper matching at the receive side. */ __blocking triton_ret_t triton_msg_send( - triton_msg_ctx_t ctx, - triton_node_t to, + triton_addr_t to, triton_msg_group_t group, triton_msg_tag_t tag, int count, @@ -43,13 +67,12 @@ __blocking triton_ret_t triton_msg_send( uint32_t *sizes); /** - * Receive a message using the method from the ctx. + * Receive a message using the method the group was created on. * The received message will match on the group and tag fields passed in * and the message buffers will be filled. This call does an expected receive. */ __blocking triton_ret_t triton_msg_recv( - triton_msg_ctx_t ctx, - triton_node_t from, + triton_addr_t from, triton_msg_group_t group, triton_msg_tag_t tag, int count, @@ -58,14 +81,12 @@ __blocking triton_ret_t triton_msg_recv( uint32_t *bytes_received); __blocking triton_ret_t triton_msg_recv_any( - triton_msg_ctx_t ctx, triton_msg_group_t group, - triton_node_t *from, + triton_addr_t *from, triton_msg_tag_t *tag, int count, char **buffers, uint32_t *sizes, uint32_t *bytes_received); - #endif /* __TRITON_MESSAGE_HAE__ */ diff --git a/code/src/net/triton-node.ae b/code/src/net/triton-node.ae deleted file mode 100644 index 7986552..0000000 --- a/code/src/net/triton-node.ae +++ /dev/null @@ -1,62 +0,0 @@ - -#include "src/net/triton-node.h" -#include "src/net/triton-message-internal.hae" -#include "src/aesop/aesop.h" - -triton_node_t triton_node_null = { .u = 0, .l = 0 }; -uint128_t triton_node_diff_max = { .u = UINT64_MAX, .l = UINT64_MAX}; - -triton_node_t triton_node_self(triton_msg_ctx_t ctx) -{ - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - - return c->method->node_self(); -} - -triton_ret_t triton_node_to_string(triton_msg_ctx_t ctx, triton_node_t node, triton_string_t *str) -{ - struct msg_ctx *c; - triton_ret_t ret; - c = (struct msg_ctx *)ctx; - - if(triton_node_is_null(&node)) - { - triton_string_init(str, "none"); - return TRITON_SUCCESS; - } - - if(c == NULL) - { - /* guess context from node type. methods within the messaging layer can use all 128 bits - * of the node type for their purposes (IPv6 for example), but if a method doesn't use - * all 128 bits, they can use a flag in the upper 64 bits to indicate the type of method - */ - ret = triton_node_get_ctx(node, &ctx); - if(ret != TRITON_SUCCESS) - { - return ret; - } - - ret = c->method->node_to_string(node, str); - triton_msg_ctx_destroy(ctx); - return ret; - } - - return c->method->node_to_string(node, str); -} - -triton_node_t triton_node_lookup(triton_msg_ctx_t ctx, const char *name) -{ - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - - return c->method->node_lookup(name); -} - -triton_ret_t triton_node_get_ctx(triton_node_t node, triton_msg_ctx_t *ctx) -{ - uint32_t id = triton_node_get_method_id(node); - return triton_msg_create_ctx_from_id(id, ctx); -} - diff --git a/code/src/net/triton-node.h b/code/src/net/triton-node.h deleted file mode 100644 index a3ecc4c..0000000 --- a/code/src/net/triton-node.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef __TRITON_NODE_H__ -#define __TRITON_NODE_H__ - -#include "src/common/triton-string.h" -#include "src/common/triton-types.h" - -/** - * A message context is used to group messaging methods (mpi for example). - * See src/net/triton-message-method.hae for more details. - */ -typedef void *triton_msg_ctx_t; - -/** - * The triton_node_t is an opaque address for a node in the system. - */ -typedef uint128_t triton_node_t; - -extern uint128_t triton_node_diff_max; - -extern triton_node_t triton_node_null; -#define TRITON_NODE_NULL triton_node_null - -#define TRITON_NODE_NULL_STATIC_INITIALIZER { .l = 0, .u = 0 } - -#define triton_node_is_null(node) ((node)->l == 0 && (node)->u == 0) - -triton_node_t triton_node_self(triton_msg_ctx_t ctx); - -#include "src/common/triton-error.h" - -triton_ret_t triton_node_to_string(triton_msg_ctx_t ctx, triton_node_t node, triton_string_t *str); - -triton_node_t triton_node_lookup(triton_msg_ctx_t ctx, const char *name); - -#define triton_node_eq(n1,n2) ((n1).l==(n2).l && (n1).u==(n2).u) - -/* messaging methods can optionally store a flag in the upper part of the node bits - * to allow a node's originating method to be identified. This is optional, some - * methods may choose to use all 128 bits for the node itself. Thus far, figuring - * out the originating method of a node is only needed for triton_node_to_string. - */ -#define triton_node_get_method_id(node) ((int)(node.u >> 56) & 0x000000FF) -#define triton_method_id_mask(id) (0xFF00000000000000ULL & (((uint64_t)id) << 56)) -#define triton_node_set_method_id(node, method) (node.u = triton_method_id_mask(method)) - -triton_ret_t triton_node_get_ctx(triton_node_t node, triton_msg_ctx_t *ctx); - -#endif /* __TRITON_NODE_H__ */ diff --git a/code/src/remote/encoding-pw.h b/code/src/remote/encoding-pw.h index 8cd8c72..4398249 100644 --- a/code/src/remote/encoding-pw.h +++ b/code/src/remote/encoding-pw.h @@ -537,7 +537,7 @@ static struct aer_encoder aer_encoder_triton_buffer_t = #define aer_encode_size_triton_list_t(__list, __varname, __typename, __size) do { \ __typename *__pos; \ __sum = 0; \ - triton_list_for_each_entry(__pos, __list) \ + triton_list_for_each_entry(__pos, __typename, __list) \ { \ __sum += aer_encode_size_##__typename(NULL, __pos); \ } \ @@ -551,7 +551,7 @@ static struct aer_encoder aer_encoder_triton_buffer_t = mret = aer_encode_uint64_t(__buf, NULL, triton_list_size(__list)); \ if(mret == TRITON_SUCCESS) \ { \ - triton_list_for_each_entry(__pos, __list, __member) \ + triton_list_for_each_entry(__pos, __list, __typename, __member) \ { \ mret = aer_encode_##__typename(__buf, NULL, __pos); \ if(mret != TRITON_SUCCESS) break; \ diff --git a/code/src/remote/error-encoding.h b/code/src/remote/error-encoding.h index 5a5d3e6..9473cf5 100644 --- a/code/src/remote/error-encoding.h +++ b/code/src/remote/error-encoding.h @@ -11,7 +11,7 @@ static inline uint64_t aer_encode_size_triton_ret_t(const char *name, void *x) triton_ret_t *ret = (triton_ret_t *)x; size += aer_encode_size_triton_ret_t("base", &(*ret)->base); - size += aer_encode_triton_node_t("node", &(*ret)->node); + size += aer_encode_triton_addr_t("node", &(*ret)->node); size += aer_encode_size_uint32_t("error_code", &(*ret)->error_code); size += aer_encode_size_triton_string_t("message", &(*ret)->message); return size; @@ -21,7 +21,7 @@ static inline triton_ret_t aer_encode_inner_error(triton_buffer_t *buf, triton_r { triton_ret_t err; - err = aer_encode_triton_node_t(buf, "node", &(*ret)->node); + err = aer_encode_triton_addr_t(buf, "node", &(*ret)->node); if(err != TRITON_SUCCESS) { return err; @@ -63,7 +63,7 @@ static inline triton_ret_t aer_decode_inner_error(triton_buffer_t *buf, triton_r { triton_ret_t err; - err = aer_decode_triton_node_t(buf, NULL, &(*ret)->node); + err = aer_decode_triton_addr_t(buf, NULL, &(*ret)->node); if(err != TRITON_SUCCESS) return err; err = aer_decode_uint32_t(buf, NULL, &(*ret)->error_code); @@ -82,7 +82,7 @@ static inline triton_ret_t aer_decode_triton_ret_t(triton_buffer_t *buf, char ** triton_ret_t prev, first; uint32_t count; struct triton_error *newerror; - triton_node_t base_node; + triton_addr_t base_node; uint32_t base_err_code; assert(ret != NULL); @@ -114,7 +114,7 @@ static inline triton_ret_t aer_decode_triton_ret_t(triton_buffer_t *buf, char ** } - err = aer_decode_triton_node_t(buf, NULL, &base_node); + err = aer_decode_triton_addr_t(buf, NULL, &base_node); if(err != TRITON_SUCCESS) return err; /* TODO: fix leaked errors */ err = aer_decode_uint32_t(buf, NULL, &base_err_code); diff --git a/code/src/remote/message.ae b/code/src/remote/message.ae index 41957b8..2f8833e 100644 --- a/code/src/remote/message.ae +++ b/code/src/remote/message.ae @@ -4,11 +4,10 @@ extern triton_msg_group_t ae_remote_unexp_group; extern triton_msg_group_t ae_remote_exp_group; -extern triton_msg_ctx_t ae_remote_msg_ctx; static triton_msg_tag_t aer_remote_next_tag(void) { - return triton_msg_new_tag(ae_remote_msg_ctx, ae_remote_unexp_group); + return triton_msg_new_tag(ae_remote_unexp_group); } void aer_message_reset(aer_message_t *m) @@ -40,11 +39,10 @@ uint64_t aer_message_get_op(aer_message_t *m) return m->header.op; } -__blocking triton_ret_t aer_message_send_unexp(triton_node_t dest, triton_msg_tag_t tag, aer_message_t *msg) +__blocking triton_ret_t aer_message_send_unexp(triton_addr_t dest, triton_msg_tag_t tag, aer_message_t *msg) { /* TODO: timeout/retry.. */ - return triton_msg_send(ae_remote_msg_ctx, - dest, + return triton_msg_send(dest, ae_remote_unexp_group, aer_remote_next_tag(), 1, @@ -52,11 +50,10 @@ __blocking triton_ret_t aer_message_send_unexp(triton_node_t dest, triton_msg_ta &msg->buffer.size); } -__blocking triton_ret_t aer_message_send_exp(triton_node_t dest, triton_msg_tag_t tag, aer_message_t *msg) +__blocking triton_ret_t aer_message_send_exp(triton_addr_t dest, triton_msg_tag_t tag, aer_message_t *msg) { /* TODO: timeout/retry.. */ - return triton_msg_send(ae_remote_msg_ctx, - dest, + return triton_msg_send(dest, ae_remote_exp_group, tag, 1, @@ -64,12 +61,11 @@ __blocking triton_ret_t aer_message_send_exp(triton_node_t dest, triton_msg_tag_ &msg->buffer.size); } -__blocking triton_ret_t aer_message_recv_any(triton_node_t *from, aer_message_t *msg) +__blocking triton_ret_t aer_message_recv_any(triton_addr_t *from, aer_message_t *msg) { triton_ret_t ret; - ret = triton_msg_recv_any(ae_remote_msg_ctx, - ae_remote_unexp_group, + ret = triton_msg_recv_any(ae_remote_unexp_group, from, &msg->header.tag, 1, @@ -85,11 +81,10 @@ __blocking triton_ret_t aer_message_recv_any(triton_node_t *from, aer_message_t } -__blocking triton_ret_t aer_message_recv(triton_node_t from, aer_message_t *msg) +__blocking triton_ret_t aer_message_recv(triton_addr_t from, aer_message_t *msg) { /* TODO: timeout/retry.. */ - return triton_msg_recv(ae_remote_msg_ctx, - from, + return triton_msg_recv(from, ae_remote_exp_group, msg->header.tag, 1, @@ -98,7 +93,7 @@ __blocking triton_ret_t aer_message_recv(triton_node_t from, aer_message_t *msg) &msg->buffer.size); } -__blocking triton_ret_t aer_message_sendrecv(triton_node_t dest, +__blocking triton_ret_t aer_message_sendrecv(triton_addr_t dest, aer_message_t *send, aer_message_t *recv) { @@ -110,8 +105,7 @@ __blocking triton_ret_t aer_message_sendrecv(triton_node_t dest, { pbranch { - recv_ret = triton_msg_recv(ae_remote_msg_ctx, - dest, + recv_ret = triton_msg_recv(dest, ae_remote_exp_group, tag, 1, @@ -122,8 +116,7 @@ __blocking triton_ret_t aer_message_sendrecv(triton_node_t dest, pbranch { - send_ret = triton_msg_send(ae_remote_msg_ctx, - dest, + send_ret = triton_msg_send(dest, ae_remote_unexp_group, tag, 1, diff --git a/code/src/remote/message.hae b/code/src/remote/message.hae index 4fbc0e5..680f249 100644 --- a/code/src/remote/message.hae +++ b/code/src/remote/message.hae @@ -43,26 +43,26 @@ uint64_t aer_message_get_op(aer_message_t *message); * Send an aesop remote message to the destination. This message is sent * using the aesop remote unexpected group, with the tag specified in the message. */ -__blocking triton_ret_t aer_message_send_unexp(triton_node_t dest, triton_msg_tag_t tag, aer_message_t *msg); +__blocking triton_ret_t aer_message_send_unexp(triton_addr_t dest, triton_msg_tag_t tag, aer_message_t *msg); /** * Send the aesop remote message to the destination, with the message sent using * the expected group. */ -__blocking triton_ret_t aer_message_send_exp(triton_node_t dest, triton_msg_tag_t tag, aer_message_t *msg); +__blocking triton_ret_t aer_message_send_exp(triton_addr_t dest, triton_msg_tag_t tag, aer_message_t *msg); /** * Receive an aesop remote message from a given source. All receives in this case * are expected, and should have a matching send_exp. */ -__blocking triton_ret_t aer_message_recv(triton_node_t source, aer_message_t *msg); +__blocking triton_ret_t aer_message_recv(triton_addr_t source, aer_message_t *msg); -__blocking triton_ret_t aer_message_sendrecv(triton_node_t dest, aer_message_t *send, aer_message_t *recv); +__blocking triton_ret_t aer_message_sendrecv(triton_addr_t dest, aer_message_t *send, aer_message_t *recv); /** * Receive an aesop remote message from anyone, returning the message and the source. */ -__blocking triton_ret_t aer_message_recv_any(triton_node_t *from, aer_message_t *msg); +__blocking triton_ret_t aer_message_recv_any(triton_addr_t *from, aer_message_t *msg); uint32_t aer_message_header_size(void); diff --git a/code/src/remote/node-encoding.h b/code/src/remote/node-encoding.h index 78c2791..067d5b9 100644 --- a/code/src/remote/node-encoding.h +++ b/code/src/remote/node-encoding.h @@ -4,17 +4,17 @@ #include "remote/encoding.h" -static inline uint64_t aer_encode_triton_node_t(const char *name, void *x) +static inline uint64_t aer_encode_triton_addr_t(const char *name, void *x) { return aer_encode_uint128_t(name, x); } -static inline triton_ret_t aer_encode_triton_node_t(triton_buffer_t *buf, const char *name, void *x) +static inline triton_ret_t aer_encode_triton_addr_t(triton_buffer_t *buf, const char *name, void *x) { return aer_encode_uint128_t(buf, name, x); } -static inline triton_ret_t aer_decode_triton_node_t(triton_buffer_t *buf, char **name, void *x) +static inline triton_ret_t aer_decode_triton_addr_t(triton_buffer_t *buf, char **name, void *x) { return aer_encode_uint128_t(buf, name, x); } diff --git a/code/src/remote/service.hae b/code/src/remote/service.hae index 3476e15..e7b8821 100644 --- a/code/src/remote/service.hae +++ b/code/src/remote/service.hae @@ -6,13 +6,11 @@ uint64_t aer_service_unique_id(const char *opname); -triton_msg_ctx_t aer_service_get_context(void); - triton_ret_t aer_service_register(uint64_t service_id, const char *service, __blocking triton_ret_t (*service_fn)(aer_message_t *in, aer_message_t *out)); -__blocking triton_ret_t aer_service_invoke(triton_node_t from, uint64_t service_id, aer_message_t *in, aer_message_t *out); +__blocking triton_ret_t aer_service_invoke(triton_addr_t from, uint64_t service_id, aer_message_t *in, aer_message_t *out); triton_ret_t aer_service_init(void); diff --git a/code/src/replicated-osd/tests/rosd-create-bench.aer b/code/src/replicated-osd/tests/rosd-create-bench.aer index 194cef0..8e28ff0 100644 --- a/code/src/replicated-osd/tests/rosd-create-bench.aer +++ b/code/src/replicated-osd/tests/rosd-create-bench.aer @@ -41,7 +41,7 @@ __blocking void do_remote_server(void) int rank; uint128_t oid; int32_t out; - triton_node_t svr; + triton_addr_t svr; int nprocs; MPI_Comm_rank(MPI_COMM_WORLD, &rank); @@ -81,11 +81,12 @@ __blocking void do_remote_remove(void) int rank; uint128_t oid; int32_t out; - triton_node_t svr; + triton_addr_t svr; MPI_Comm_rank(MPI_COMM_WORLD, &rank); - svr = triton_node_lookup(mpi_msg_ctx, "0"); + ret = triton_addr_lookup("mpi://0", &svr); + assert(ret == TRITON_SUCCESS); /* TODO: clean this up; I'm cheating for convenience... */ oid = triton_uint128_from_uint64(0); @@ -128,11 +129,12 @@ __blocking void do_remote_test(void) int rank; uint128_t oid; int32_t out; - triton_node_t svr; + triton_addr_t svr; MPI_Comm_rank(MPI_COMM_WORLD, &rank); - svr = triton_node_lookup(mpi_msg_ctx, "0"); + ret = triton_addr_lookup("mpi://0", &svr); + assert(ret == TRITON_SUCCESS); /* TODO: clean this up; I'm cheating for convenience... */ oid = triton_uint128_from_uint64(0); diff --git a/code/src/replicated-osd/tests/rosd1.aer b/code/src/replicated-osd/tests/rosd1.aer index 3e0932e..8757dfc 100644 --- a/code/src/replicated-osd/tests/rosd1.aer +++ b/code/src/replicated-osd/tests/rosd1.aer @@ -22,8 +22,6 @@ #include "mpi.h" -static triton_msg_ctx_t mpi_msg_ctx; - __blocking void do_remote_test(void) { triton_ret_t ret; @@ -31,7 +29,7 @@ __blocking void do_remote_test(void) int rank; uint128_t oid; int32_t out; - triton_node_t svr; + triton_addr_t svr; struct rosd_create_req req; MPI_Comm_rank(MPI_COMM_WORLD, &rank); @@ -51,7 +49,8 @@ __blocking void do_remote_test(void) ret = triton_timer(2000); assert(ret == TRITON_SUCCESS); - svr = triton_node_lookup(mpi_msg_ctx, "0"); + ret = triton_addr_lookup("mpi://0", &svr); + assert(ret == TRITON_SUCCESS); oid = triton_uint128_from_uint64(rank); @@ -116,10 +115,6 @@ int main(int argc, char *argv[]) ret = aer_service_init(); assert(ret == TRITON_SUCCESS); - /* we need the mpi context so that we can lookup nodes */ - mpi_msg_ctx = aer_service_get_context(); - assert(mpi_msg_ctx); - ret = aer_remote_register_rosd(); assert(ret == TRITON_SUCCESS); diff --git a/code/src/versioned-osd/prototype/tests/module.mk.in b/code/src/versioned-osd/prototype/tests/module.mk.in index d7827e5..c529d81 100644 --- a/code/src/versioned-osd/prototype/tests/module.mk.in +++ b/code/src/versioned-osd/prototype/tests/module.mk.in @@ -12,3 +12,5 @@ AELIBSRC += $(DIR)/faker.ae LIBSRC += $(DIR)/fake-resource.c MODLIBS_$(DIR) = -lpthread -ldb + +DEPLIBS += -ldb diff --git a/code/src/versioned-osd/prototype/vosd-fd-cache.ae b/code/src/versioned-osd/prototype/vosd-fd-cache.ae index 6574d93..8efe4d4 100644 --- a/code/src/versioned-osd/prototype/vosd-fd-cache.ae +++ b/code/src/versioned-osd/prototype/vosd-fd-cache.ae @@ -147,9 +147,13 @@ __blocking triton_ret_t fd_cache_get(struct fd_cache_entry **entry, uint128_t oi struct stat statbuf; triton_ret_t tret; triton_ret_t tret_tmp; - int posix_open_flags = O_RDWR|O_CREAT|O_NOATIME; + int posix_open_flags = O_RDWR|O_CREAT; char oid_str[TRITON_UINT128_STRLEN]; +#ifdef HAVE_NOATIME + posix_open_flags |= O_NOATIME; +#endif + triton_mutex_lock(&fd_mutex); assert(oid_table); @@ -179,7 +183,9 @@ __blocking triton_ret_t fd_cache_get(struct fd_cache_entry **entry, uint128_t oi tmp_entry->ref_count = 1; if(flags & VOSD_INIT_FLAG_DATA_ODIRECT) +#ifdef HAVE_ODIRECT posix_open_flags |= O_DIRECT; +#endif /* note: if data coalescing is enabled then we leave it to the vosd to * decide when to sync. Otherwise we turn it on automatically */ diff --git a/code/triton-config.h.in b/code/triton-config.h.in index f2b1def..6685feb 100644 --- a/code/triton-config.h.in +++ b/code/triton-config.h.in @@ -1,8 +1,5 @@ /* triton-config.h.in. Generated from configure.ac by autoheader. */ -/* Define if building universal (internal helper macro) */ -#undef AC_APPLE_UNIVERSAL_BUILD - /* Define if third param (message) to DB error callback function is const */ #undef HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK @@ -24,6 +21,12 @@ /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H +/* Define if O_NOATIME exists */ +#undef HAVE_NOATIME + +/* Define if O_DIRECT exists */ +#undef HAVE_ODIRECT + /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H @@ -66,9 +69,6 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME -/* Define to the home page for this package. */ -#undef PACKAGE_URL - /* Define to the version of this package. */ #undef PACKAGE_VERSION @@ -90,14 +90,6 @@ /* sub version number */ #undef TRITON_VERSION_SUB -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -# undef WORDS_BIGENDIAN -# endif -#endif +/* Define to 1 if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +#undef WORDS_BIGENDIAN hooks/post-receive -- Triton Repository
Ok! I've committed the changes we discussed yesterday. In particular, the triton_node_t is now a triton_addr_t, and the message context no longer exists (we keep track of the message method in the address structure). I have a bunch of conflicts with the fakess/placement code. I'm quite sure this commit will break those components, they probably won't even compile. Justin, I'm going to let you figure out what needs to be changed in that code, since just swapping out the triton_node_t with triton_addr_t probably isn't going to be enough. I've tried to just merge all the remote code, but there were a lot of conflicts, so I'm not sure if that worked entirely. I also included some changes to get builds working on OS X. They don't quite work yet, but are a lot closer than before. Apple now provides blocks support (part of GCD) by default, which is of course not ANSI, so the parser breaks on some of the standard include headers. I think I've worked around that, but Apple also doesn't allow static linking for user binaries. We have to create .dylib libraries rather than .a files. I think I've mostly solved that too, but its not quite working yet. I'm going to go through now and make sure things build (except for fakess/placement). Just keep in mind that builds might break till we fixup all the deps on the triton_node_t stuff. -sam On Sep 22, 2010, at 4:26 PM, git wrote:
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Triton Repository".
The branch, master has been updated via 9674af0769270760ace98dbbaac29fc3f484d752 (commit) via e6344ce34b5e2ce7d25289f42a0e273070cb1cc2 (commit) via a88736515493768666dbb8cc35900133cb77c020 (commit) via b161fa81d35604ba0685eabf1bb816bfc064e04b (commit) from c4d8ed95019f857d7e9416b053e1738b295762e7 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 9674af0769270760ace98dbbaac29fc3f484d752 Merge: e6344ce34b5e2ce7d25289f42a0e273070cb1cc2 c4d8ed95019f857d7e9416b053e1738b295762e7 Author: slang <[email protected]> Date: Wed Sep 22 16:26:22 2010 -0500
fix conflict
commit e6344ce34b5e2ce7d25289f42a0e273070cb1cc2 Merge: a88736515493768666dbb8cc35900133cb77c020 f0dd98c6b6dc871259b256b588dfc9b0f3468645 Author: slang <[email protected]> Date: Wed Sep 22 16:13:52 2010 -0500
new addr_t stuff merged with remote, changes to get things building on OS X
commit a88736515493768666dbb8cc35900133cb77c020 Author: slang <[email protected]> Date: Wed Sep 22 15:46:26 2010 -0500
replace node_t with addr_t. removed msg_ctx from everywhere. fixes for builds on OSX, still needs some work with dylibs though...
commit b161fa81d35604ba0685eabf1bb816bfc064e04b Author: slang <[email protected]> Date: Mon Sep 13 10:37:36 2010 -0500
get things working on mac
-----------------------------------------------------------------------
Summary of changes: code/Makefile.in | 57 +- code/aclocal.m4 | 5 +- code/configure | 6730 ++++++++++++-------- code/configure.ac | 3 + code/maint/config/unix.m4 | 60 + code/maint/hs/syb-0.1.0.1.tar.gz | Bin 0 -> 10072 bytes code/src/aesop/ae-remote-parser.h | 2 +- code/src/aesop/op.h | 2 +- code/src/aesop/opcache.c | 4 +- code/src/aesop/opcache.h | 4 +- code/src/aesop/parser/CGen.lhs | 20 +- code/src/aesop/parser/Walker.lhs | 15 +- code/src/aesop/parser/ae-blocking-parser.lhs | 30 +- code/src/aesop/parser/ae-remote-parser.lhs | 23 +- .../tests/remote/test-remote-fault-injector.aer | 17 +- .../aesop/parser/tests/remote/test-remote-mock.aer | 44 +- .../aesop/parser/tests/remote/test-remote-mpi.aer | 19 +- code/src/common/tests/testhash.c | 14 +- code/src/common/tests/testlist.c | 2 +- code/src/common/triton-debug.c | 4 +- code/src/common/triton-error.c | 13 +- code/src/common/triton-error.h | 12 +- code/src/common/triton-error.h1 | 93 - code/src/common/triton-list.h | 8 +- code/src/common/triton-log.c | 2 +- code/src/common/triton-notify.c | 2 +- code/src/fakess/test/announce.ae | 2 +- code/src/fakess/test/observer.ae | 2 +- code/src/fakess/test/post-global.ae | 2 +- code/src/net/fault-injector/fault-method.ae | 62 +- code/src/net/mock/mock-method.ae | 187 +- code/src/net/module.mk.in | 2 +- code/src/net/mpi/mpi-method.ae | 88 +- code/src/net/mpi/mpi.c | 2 +- code/src/net/test/mock-client-server.ae | 28 +- code/src/net/test/mpi-client-server.ae | 30 +- code/src/net/triton-addr.h | 29 + code/src/net/triton-message-internal.hae | 12 - code/src/net/triton-message-method.hae | 110 +- code/src/net/triton-message.ae | 282 +- code/src/net/triton-message.hae | 53 +- code/src/net/triton-node.ae | 62 - code/src/net/triton-node.h | 48 - code/src/remote/encoding-pw.h | 4 +- code/src/remote/error-encoding.h | 10 +- code/src/remote/message.ae | 31 +- code/src/remote/message.hae | 10 +- code/src/remote/node-encoding.h | 6 +- code/src/remote/service.hae | 4 +- .../src/replicated-osd/tests/rosd-create-bench.aer | 12 +- code/src/replicated-osd/tests/rosd1.aer | 11 +- .../src/versioned-osd/prototype/tests/module.mk.in | 2 + code/src/versioned-osd/prototype/vosd-fd-cache.ae | 8 +- code/triton-config.h.in | 26 +- 54 files changed, 5006 insertions(+), 3304 deletions(-) create mode 100644 code/maint/config/unix.m4 create mode 100644 code/maint/hs/syb-0.1.0.1.tar.gz delete mode 100644 code/src/common/triton-error.h1 create mode 100644 code/src/net/triton-addr.h delete mode 100644 code/src/net/triton-message-internal.hae delete mode 100644 code/src/net/triton-node.ae delete mode 100644 code/src/net/triton-node.h
Diff of changes: diff --git a/code/Makefile.in b/code/Makefile.in index 21c8c46..5e38f75 100644 --- a/code/Makefile.in +++ b/code/Makefile.in @@ -91,6 +91,8 @@ MPILIBS = @MPILIBS@ BUILD_MPI = @BUILD_MPI@ BUILD_OSD = @BUILD_OSD@
+USE_DYLIBS = @USE_DYLIBS@ + INSTALL = @INSTALL@
AELIBSRC := @@ -324,6 +326,8 @@ HSINT=$(patsubst %.lhs,%.hi,$(filter %.lhs,$(HSSRC))) \ AEBLOCKINGP=$(builddir)/src/aesop/parser/ae-blocking-parser AEREMOTEP=$(builddir)/src/aesop/parser/ae-remote-parser
+AEBFLAGS=$(patsubst %,-g %,$(CFLAGS)) +AERFLAGS=$(patsubst %,-g %,$(CFLAGS))
DEPENDS = $(LIBOBJS_DEPENDS) \ $(TESTLIBOBJS_DEPENDS) \ @@ -348,13 +352,13 @@ $(TESTOBJS_DEPENDS) $(LIBOBJS_DEPENDS) $(TESTLIBOBJS_DEPENDS): %.d: %.c $(Q) " DEP $@" $(E)$(CC) -MT $(patsubst %.d,%.o,$@) -MM -MG -MF $@ $< $(LIBCFLAGS) $(CFLAGS) $(CWARNS) $(call MODCFLAGS,$*)
-$(TEST): %: %.o lib/libtriton.a lib/libtriton-test.a +$(TEST): %: %.o $(LIBRARIES) $(Q) " LD $@" $(E)$(call MCC_C,$*) \ -o $@ $< $(LDFLAGS) $(LIBS) \ -L$(builddir)/lib -ltriton-test -ltriton
-$(AETEST): %: %.o lib/libtriton.a lib/libtriton-test.a +$(AETEST): %: %.o $(LIBRARIES) $(Q) " LD $@" $(E)$(call MCC_AE,$*) \ -o $@ $< $(LDFLAGS) $(LIBS) \ @@ -380,7 +384,12 @@ $(TESTLIBOBJS): %.o: %.d $(call MODCFLAGS_C,$*) \ $(srcdir)/$(patsubst %.d,%.c,$<)
+# for now we just use static if we're not on a mac +ifneq (,$(USE_DYLIBS)) +LIBRARIES=lib/libtriton.dylib lib/libtriton-test.dylib +else LIBRARIES=lib/libtriton.a lib/libtriton-test.a +endif
lib/libtriton.a: $(AELIBOBJS) $(REMOTE_LIBOBJS) $(REMOTE_LIB_MODOBJS) $(LIBOBJS) $(Q) " RANLIB $@" @@ -399,6 +408,30 @@ lib/libosc-osd.a: $(LIBOSDOBJS) $(E)ar rcs $@ $(LIBOSDOBJS) endif
+# shared objects + +lib/libtriton.so: $(AELIBOBJS) $(REMOTE_LIBOBJS) $(REMOTE_LIB_MODOBJS) $(LIBOBJS) + $(Q) " LDSO $@" + $(E)$(INSTALL) -d lib + $(E)$(LDSHARED) -Wl,-soname,libtriton.so -o $@ $(AELIBOBJS) $(REMOTE_LIBOBJS) $(REMOTE_LIB_MODOBJS) $(LIBOBJS) + +lib/libtriton-test.so: $(AETESTLIBOBJS) $(REMOTE_TESTLIBOBJS) $(REMOTE_TESTLIB_MODOBJS) $(TESTLIBOBJS) + $(Q) " LDSO $@" + $(E)$(INSTALL) -d lib + $(E)$(LDSHARED) -Wl,-soname,libtriton-test.so -o $@ $(AETESTLIBOBJS) $(REMOTE_TESTLIBOBJS) $(REMOTE_TESTLIB_MODOBJS) $(TESTLIBOBJS) + +lib/libtriton.dylib: $(AELIBOBJS) $(REMOTE_LIBOBJS) $(REMOTE_LIB_MODOBJS) $(LIBOBJS) + $(Q) " DYLIB $@" + $(E)$(INSTALL) -d lib + $(E)$(CC) -o lib/libtriton.dylib -dynamiclib -current_version 0.0.1 -install_name lib/libtriton.0.0.1.dylib \ + $(AELIBOBJS) $(REMOTE_LIBOBJS) $(REMOTE_LIB_MODOBJS) $(LIBOBJS) $(DEPLIBS) + +lib/libtriton-test.dylib: $(AETESTLIBOBJS) $(REMOTE_TESTLIBOBJS) $(REMOTE_TESTLIB_MODOBJS) $(TESTLIBOBJS) + $(Q) " DYLIB $@" + $(E)$(INSTALL) -d lib + $(E)$(CC) -o lib/libtriton-test.dylib -dynamiclib -current_version 0.0.1 -install_name lib/libtriton-test.0.0.1.dylib \ + $(AETESTLIBOBJS) $(REMOTE_TESTLIBOBJS) $(REMOTE_TESTLIB_MODOBJS) $(TESTLIBOBJS) $(DEPLIBS) -L$(builddir)/lib -ltriton + # AE rules compile *.ae files to object files: *.ae -> *.ae.i -> *.ae.s -> *.o # Also compile a dummy object to verify syntax: *.ae -> *.dummyobj
@@ -414,7 +447,7 @@ $(AEOBJS): %.o: $(HSBIN) %.d %.ae.s
%.ae.s: %.ae.i $(Q) " AECC $* (.ae -> .ae.s)" - $(E)$(AEBLOCKINGP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $*.ae $(AEPRETTY) $*.ae.i + $(E)$(AEBLOCKINGP) $(AEBFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $*.ae $(AEPRETTY) $*.ae.i
KEEP_THESE = %.ae.i ifneq (,@AE_DEBUG@) @@ -460,7 +493,7 @@ $(AESOP_TRHDR_DEPENDS): %.hae.d: %.hae
$(AESOP_TRHDR): %.h: %.hae.i $(HSBIN) $(Q) " AECC $*.hae" - $(E)$(AEBLOCKINGP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -j -r $(srcdir)/$*.hae -o $@ $(AEPRETTY) $*.hae.i + $(E)$(AEBLOCKINGP) $(AEBFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -j -r $(srcdir)/$*.hae -o $@ $(AEPRETTY) $*.hae.i
# Generate header files (%.h) from AE remote header files # @@ -475,11 +508,11 @@ $(REMOTE_TRHDR_DEPENDS): %.haer.d: %.haer
%.haer.r: %.haer.i $(Q) " AERCC $* (.haer -> .haer.r)" - $(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $(srcdir)/$*.haer $(AEPRETTY) + $(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $(srcdir)/$*.haer $(AEPRETTY)
$(REMOTE_TRHDR): %.h: %.haer.r $(HSBIN) $(Q) " AECC $* (.haer.r -> .h)" - $(E)$(AEBLOCKINGP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -j -r $(srcdir)/$*.haer -o $@ $(AEPRETTY) $*.haer.r + $(E)$(AEBLOCKINGP) $(AEBFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -j -r $(srcdir)/$*.haer -o $@ $(AEPRETTY) $*.haer.r
# AER rules compile sources with remote specifiers into ae sources: # @@ -497,7 +530,7 @@ $(REMOTE_OBJS): %.o: $(HSBIN) %.d %.aer.r.s $(LIBCFLAGS) \ $(CFLAGS) $(CWARNS) -Wno-redundant-decls $(call MODCFLAGS_AE,$*) $*.aer.r.s
-$(REMOTE_TEST): %: %.o lib/libtriton.a lib/libtriton-test.a +$(REMOTE_TEST): %: %.o $(LIBRARIES) $(Q) " LD $@" $(E)$(call MCC_AE,$*) \ -o $@ $< $(LDFLAGS) $(LIBS) \ @@ -533,11 +566,11 @@ endif
%.aer.r: %.aer.i $(HSBIN) $(Q) " AERCC $* (.aer -> .aer.r)" - $(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $*.aer $(AEPRETTY) $*.aer.i + $(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $*.aer $(AEPRETTY) $*.aer.i
%.aer.r.s: %.aer.r $(HSBIN) $(Q) " AECC $* (.aer.r -> .aer.r.s)" - $(E)$(AEBLOCKINGP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $*.aer $(AEPRETTY) $*.aer.r + $(E)$(AEBLOCKINGP) $(AEBFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o $@ -r $*.aer $(AEPRETTY) $*.aer.r
ifneq (,@AE_DEBUG@) .SECONDARY: %.aer.r %.aer.r.s @@ -555,14 +588,14 @@ $(REMOTE_TESTLIB_MODSRC_DEPENDS): %_module.ae.d: $(Q) " DEP $@" $(E)echo $*_module.ae $*_module.h: $(call TESTRMOD_FILES,$*) > $@
- $(E)echo " "$(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $(call bname,$*) -d $(call dirname,$*) $(call TESTRMOD_FILES,$*) >> $@ + $(E)echo " "$(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $(call bname,$*) -d $(call dirname,$*) $(call TESTRMOD_FILES,$*) >> $@
#$(REMOTE_TESTLIB_MODSRC): %_module.ae: $(HSBIN) %_module.ae.d -# $(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $(call bname,$*) -d $(call dirname,$@) $(call TESTRMOD_FILES,$*) +# $(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $(call bname,$*) -d $(call dirname,$@) $(call TESTRMOD_FILES,$*)
$(REMOTE_LIB_MODSRC): %_module.ae: $(HSBIN) %_module.ae.d $(Q) " AERCC $(call bname,$*) -> $*_module.ae" - $(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $(call bname,$*) -d $(call dirname,$@) $(call RMOD_FILES,$*) + $(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $(call bname,$*) -d $(call dirname,$@) $(call RMOD_FILES,$*)
$(REMOTE_TESTLIB_MODOBJS) $(REMOTE_LIB_MODOBJS): %.o: %.ae.s $(Q) " CC $*_module (.ae.s -> .o)" diff --git a/code/aclocal.m4 b/code/aclocal.m4 index 3a3c5b3..b99b49d 100644 --- a/code/aclocal.m4 +++ b/code/aclocal.m4 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- +# generated automatically by aclocal 1.10 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,3 +13,4 @@
m4_include([maint/config/bdb.m4]) m4_include([maint/config/sqlite.m4]) +m4_include([maint/config/unix.m4]) diff --git a/code/configure b/code/configure index 336fb69..d2bbbd6 100755 --- a/code/configure +++ b/code/configure @@ -1,85 +1,62 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for triton 0.1.1. +# Generated by GNU Autoconf 2.61 for triton 0.1.1. # # Report bugs to <[email protected]>. # -# # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# -# +# 2002, 2003, 2004, 2005, 2006 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. ## -## -------------------- ## +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ##
# Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; esac + fi
-as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' + + +# PATH needs CR +# 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 - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' + PATH_SEPARATOR=: fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' + rm -f conf$$.sh fi
-# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false fi
@@ -88,18 +65,20 @@ fi # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) +as_nl=' +' IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator. -case $0 in #(( +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 + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done IFS=$as_save_IFS
;; @@ -110,322 +89,354 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } fi
-# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ '
# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# 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'`
# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +$as_unset CDPATH +
if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST + if (eval ":") 2>/dev/null; then + as_have_required=yes else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac + as_have_required=no fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +}
exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes +if as_func_success; then + : else - as_have_required=no + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+if as_func_ret_success; then + : else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + 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=. - as_found=: - case $as_dir in #( + case $as_dir in /*) for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac - as_found=false done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } IFS=$as_save_IFS
- if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac
- if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell [email protected] and -$0: [email protected] about your system, including any -$0: error possibly output before this message. Then install -$0: a modern shell, or manually run the script under such a -$0: shell if you do have one." - fi - exit 1 -fi fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS
-## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 } -as_unset=as_fn_unset
-# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi
-# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi
- case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' +if as_func_ret_success; then + : else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith + exitcode=1 + echo positional parameters were not saved. +fi
+test $exitcode = 0) || { (exit 1); exit 1; }
-# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. -as_fn_error () -{ - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 - fi - $as_echo "$as_me: error: $1" >&2 - as_fn_exit $as_status -} # as_fn_error +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : else - as_expr=false + exitcode=1 + echo as_func_success failed. fi
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : else - as_basename=false + exitcode=1 + echo as_func_ret_success failed. fi
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : else - as_dirname=false + exitcode=1 + echo positional parameters were not saved. fi
-as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell [email protected] about your system, + echo including any error possibly output before this + echo message +} +
-# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits
+ as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
- as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + # 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 after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, 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 + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= @@ -442,7 +453,8 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + { 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 @@ -452,40 +464,49 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits exit }
+ +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( +case `echo -n x` in -n*) - case `echo 'xy\c'` in + case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; + *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac
+if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' - fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln else as_ln_s='cp -p' fi @@ -493,7 +514,7 @@ rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' + as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false @@ -510,12 +531,12 @@ else as_test_x=' eval sh -c '\'' if test -d "$1"; then - test -d "$1/."; + test -d "$1/."; else - case $1 in #( - -*)set "./$1";; + case $1 in + -*)set "./$1";; esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' @@ -529,8 +550,8 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-test -n "$DJDIR" || exec 7<&0 </dev/null -exec 6>&1 + +exec 7<&0 </dev/null 6>&1
# Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, @@ -548,6 +569,7 @@ cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package. PACKAGE_NAME='triton' @@ -555,7 +577,6 @@ PACKAGE_TARNAME='triton' PACKAGE_VERSION='0.1.1' PACKAGE_STRING='triton 0.1.1' PACKAGE_BUGREPORT='[email protected]' -PACKAGE_URL=''
# Factoring default headers for most tests. ac_includes_default="\ @@ -593,95 +614,82 @@ ac_includes_default="\ # include <unistd.h> #endif"
-ac_subst_vars='LTLIBOBJS -LIBOBJS -BUILD_OSD -TRITON_SQLITE_LIBS -TRITON_SQLITE_INCLUDES -THREAD_LIB -LIBCFLAGS -ENABLE_COVERAGE -AE_DEBUG -STRICT_CFLAGS -WARNINGS_AS_ERRORS -QUIET_COMPILE -SRC_ABSOLUTE_TOP -SRC_RELATIVE_TOP -BUILD_ABSOLUTE_TOP -BUILD_MPI -MPILIBS -MPILDFLAGS -MPICFLAGS -MPICC -DB_LIB -DB_CFLAGS -GHC -EGREP -GREP -CPP -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -TRITON_VERSION -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME +ac_subst_vars='SHELL PATH_SEPARATOR -SHELL' +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +TRITON_VERSION +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +CPP +GREP +EGREP +GHC +DB_CFLAGS +DB_LIB +MPICC +MPICFLAGS +MPILDFLAGS +MPILIBS +BUILD_MPI +USE_DYLIBS +BUILD_ABSOLUTE_TOP +SRC_RELATIVE_TOP +SRC_ABSOLUTE_TOP +QUIET_COMPILE +WARNINGS_AS_ERRORS +STRICT_CFLAGS +AE_DEBUG +ENABLE_COVERAGE +LIBCFLAGS +THREAD_LIB +TRITON_SQLITE_INCLUDES +TRITON_SQLITE_LIBS +BUILD_OSD +LIBOBJS +LTLIBOBJS' ac_subst_files='' -ac_user_opts=' -enable_option_checking -with_ghc -with_db -with_mpi -enable_verbose -enable_error_on_warning -enable_strict -enable_aesop_debug -enable_coverage -enable_thread_safety -with_sqlite -' ac_precious_vars='build_alias host_alias target_alias @@ -696,8 +704,6 @@ CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null @@ -796,20 +802,13 @@ do datarootdir=$ac_optarg ;;
-disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; + 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 ;;
-docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; @@ -822,20 +821,13 @@ do dvidir=$ac_optarg ;;
-enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; + 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=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -1026,36 +1018,22 @@ do ac_init_version=: ;;
-with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; + 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=\$ac_optarg ;;
-without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; + 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. @@ -1075,25 +1053,25 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;;
- -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." + -*) { 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. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; - esac + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;;
*) # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;;
@@ -1102,36 +1080,23 @@ done
if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } fi
-if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. +# Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } done
# There might be people who depend on the old broken behavior: `$host' @@ -1145,7 +1110,7 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + 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 @@ -1161,21 +1126,23 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; }
# Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -1202,11 +1169,13 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1254,9 +1223,9 @@ Configuration:
Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] + [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] + [PREFIX]
By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify @@ -1266,25 +1235,25 @@ for instance \`--prefix=\$HOME'. For better control, use the options below.
Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/triton] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/triton] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] _ACEOF
cat <<\_ACEOF @@ -1298,7 +1267,6 @@ if test -n "$ac_init_help"; then cat <<\_ACEOF
Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-verbose Enables verbose output during build process @@ -1323,7 +1291,7 @@ Some influential environment variables: LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CPP C preprocessor
@@ -1338,17 +1306,15 @@ fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue + test -d "$ac_dir" || continue ac_builddir=.
case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -1384,7 +1350,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix echo && $SHELL "$ac_srcdir/configure" --help=recursive else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done @@ -1394,489 +1360,21 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF triton configure 0.1.1 -generated by GNU Autoconf 2.65 +generated by GNU Autoconf 2.61
-Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_header_compile - -# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -# -------------------------------------------- -# Tries to find the compile-time value of EXPR in a program that includes -# INCLUDES, setting VAR accordingly. Returns whether the value could be -# computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in #(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -#include <stdio.h> -#include <stdlib.h> -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 <conftest.val; ac_retval=0 -else - ac_retval=1 -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -rm -f conftest.val - - fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_compute_int - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## ------------------------------------- ## -## Report this to [email protected] ## -## ------------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_header_mongrel cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake.
It was created by triton $as_me 0.1.1, which was -generated by GNU Autoconf 2.65. Invocation command line was +generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -1912,8 +1410,8 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done + echo "PATH: $as_dir" +done IFS=$as_save_IFS
} >&5 @@ -1947,12 +1445,12 @@ do | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) - as_fn_append ac_configure_args1 " '$ac_arg'" + 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 @@ -1968,13 +1466,13 @@ do -* ) ac_must_keep_next=true ;; esac fi - as_fn_append ac_configure_args " '$ac_arg'" + ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} +$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 @@ -1999,13 +1497,12 @@ _ASBOX case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; + *) $as_unset $ac_var ;; esac ;; esac done @@ -2034,9 +1531,9 @@ _ASBOX do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + echo "$ac_var='\''$ac_val'\''" done | sort echo
@@ -2051,9 +1548,9 @@ _ASBOX do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + echo "$ac_var='\''$ac_val'\''" done | sort echo fi @@ -2069,88 +1566,83 @@ _ASBOX echo fi test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal + 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 -f -r conftest* confdefs.h
-$as_echo "/* confdefs.h */" > confdefs.h - # Predefined preprocessor variables.
cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF
+ cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF
+ cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF
+ cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF
-cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF
cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF
# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE +# Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site + set x "$prefix/share/config.site" "$prefix/etc/config.site" else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" +shift +for ac_site_file do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} + 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. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} + # 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;}
$cache_file fi
@@ -2164,56 +1656,68 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { 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) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { 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 - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + { 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=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) 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. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + { 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 -## -------------------- ## -## Main body of script. ## -## -------------------- ## + + + + + + + + + + + + + + + + + + + + + + + +
ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -2245,16 +1749,24 @@ ac_config_headers="$ac_config_headers triton-config.h"
ac_aux_dir= for ac_dir in maint/config "$srcdir"/maint/config; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi done if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in maint/config \"$srcdir\"/maint/config" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in maint/config \"$srcdir\"/maint/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in maint/config \"$srcdir\"/maint/config" >&2;} + { (exit 1); exit 1; }; } fi
# These three variables are undocumented and unsupported, @@ -2280,23 +1792,22 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } +{ 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 : - $as_echo_n "(cached) " >&6 +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]/* | \ + # 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[\\/]* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -2314,29 +1825,17 @@ case $as_dir/ in #(( # program-specific install script used by HP pwplus--don't use. : else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 fi fi done done ;; esac - - done +done IFS=$as_save_IFS
-rm -rf conftest.one conftest.two conftest.dir
fi if test "${ac_cv_path_install+set}" = set; then @@ -2349,8 +1848,8 @@ fi INSTALL=$ac_install_sh fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } +{ 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. @@ -2368,10 +1867,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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. @@ -2381,25 +1880,25 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS
fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi
@@ -2408,10 +1907,10 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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. @@ -2421,25 +1920,25 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS
fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi
if test "x$ac_ct_CC" = x; then @@ -2447,8 +1946,12 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to [email protected]." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to [email protected]." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -2461,10 +1964,10 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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. @@ -2474,25 +1977,25 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS
fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi
@@ -2501,10 +2004,10 @@ fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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. @@ -2515,18 +2018,18 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then @@ -2545,11 +2048,11 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi
@@ -2560,10 +2063,10 @@ if test -z "$CC"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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. @@ -2573,25 +2076,25 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS
fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi
@@ -2604,10 +2107,10 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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. @@ -2617,25 +2120,25 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS
fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi
@@ -2647,8 +2150,12 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to [email protected]." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to [email protected]." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -2658,37 +2165,51 @@ fi fi
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +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. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }
-cat confdefs.h - <<_ACEOF >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. */
int @@ -2700,38 +2221,42 @@ main () } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +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. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles
-if { { ac_try="$ac_link_default" +if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, @@ -2741,14 +2266,14 @@ for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -2767,42 +2292,78 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +{ { 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } + ac_exeext=$ac_cv_exeext
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# 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' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + 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 @@ -2810,90 +2371,37 @@ $as_echo "$ac_try_echo"; } >&5 for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } + { { 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 conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest$ac_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 -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdio.h> -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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 confdefs.h - <<_ACEOF >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. */
int @@ -2905,46 +2413,51 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else - $as_echo "$as_me: failed program was:" >&5 + echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } +{ { 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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 confdefs.h - <<_ACEOF >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. */
int @@ -2958,34 +2471,54 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else - ac_compiler_gnu=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi +{ 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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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 ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */
int @@ -2996,11 +2529,34 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */
int @@ -3011,12 +2567,35 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : else - ac_c_werror_flag=$ac_save_c_werror_flag + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" - cat confdefs.h - <<_ACEOF >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. */
int @@ -3027,18 +2606,42 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } +{ 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 @@ -3054,14 +2657,18 @@ else CFLAGS= fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >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. */ #include <stdarg.h> #include <stdio.h> @@ -3118,9 +2725,31 @@ for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done @@ -3131,19 +2760,17 @@ fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac -if test "x$ac_cv_prog_cc_c89" != xno; then :
-fi
ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -3156,15 +2783,15 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } +{ 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 : - $as_echo_n "(cached) " >&6 + 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" @@ -3178,7 +2805,11 @@ do # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + 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> @@ -3187,34 +2818,76 @@ do #endif Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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 && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.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 nonexistent headers # can be detected and how. - cat confdefs.h - <<_ACEOF >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. */ #include <ac_nonexistent.h> _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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 && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.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 : +if $ac_preproc_ok; then break fi
@@ -3226,8 +2899,8 @@ fi else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } +{ 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 @@ -3237,7 +2910,11 @@ do # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + 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> @@ -3246,40 +2923,83 @@ do #endif Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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 && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.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 nonexistent headers # can be detected and how. - cat confdefs.h - <<_ACEOF >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. */ #include <ac_nonexistent.h> _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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 && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.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 : - +if $ac_preproc_ok; then + : else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } + { { 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 @@ -3291,40 +3011,45 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test -z "$GREP"; then ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -# Check for GNU ac_path_GREP and select it if it is found. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" + echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val + ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" @@ -3336,61 +3061,77 @@ case `"$ac_path_GREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac
- $ac_path_GREP_found && break 3 - done - done + + $ac_path_GREP_found && break 3 done +done + +done IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + else ac_cv_path_GREP=$GREP fi
+ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_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_path_EGREP="$GREP -E" else - if test -z "$EGREP"; then + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -# Check for GNU ac_path_EGREP and select it if it is found. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" + echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val + ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" @@ -3402,31 +3143,46 @@ case `"$ac_path_EGREP" --version 2>&1` in rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac
- $ac_path_EGREP_found && break 3 - done - done + + $ac_path_EGREP_found && break 3 done +done + +done IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + else ac_cv_path_EGREP=$EGREP fi
+ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ 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 confdefs.h - <<_ACEOF >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. */ #include <stdlib.h> #include <stdarg.h> @@ -3441,53 +3197,85 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else - ac_cv_header_stdc=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + 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 : - + $EGREP "memchr" >/dev/null 2>&1; then + : else ac_cv_header_stdc=no fi -rm -f conftest* +rm -f -r conftest*
fi
if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + 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 : - + $EGREP "free" >/dev/null 2>&1; then + : else ac_cv_header_stdc=no fi -rm -f conftest* +rm -f -r 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 : + if test "$cross_compiling" = yes; then : else - cat confdefs.h - <<_ACEOF >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. */ #include <ctype.h> #include <stdlib.h> @@ -3514,36 +3302,113 @@ main () return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : else - ac_cv_header_stdc=no + 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 core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi
+ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } +{ 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
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h +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=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +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 { as_var=$as_ac_Header; eval "test \"\${$as_var+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 { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF
fi @@ -3551,257 +3416,640 @@ fi done
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if test "${ac_cv_c_bigendian+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 +echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; } +if test "${ac_cv_c_bigendian+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # See if sys/param.h defines the BYTE_ORDER macro. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <sys/types.h> - #include <sys/param.h> +#include <sys/param.h>
int main () { -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ + && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) + bogus endian macros +#endif
; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >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. */ #include <sys/types.h> - #include <sys/param.h> +#include <sys/param.h>
int main () { #if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif + not big endian +#endif
; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_c_bigendian=yes else - ac_cv_c_bigendian=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_bigendian=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # It does not; compile a test program. +if test "$cross_compiling" = yes; then + # try to guess the endianness by grepping values into an object file + ac_cv_c_bigendian=unknown + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; +short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; +void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } +short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; +short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; +void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } +int +main () +{ + _ascii (); _ebcdic (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then + ac_cv_c_bigendian=yes +fi +if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include <limits.h> - +$ac_includes_default int main () { -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1;
; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <limits.h> +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_bigendian=no +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_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi
+ +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 +echo "${ECHO_T}$ac_cv_c_bigendian" >&6; } +case $ac_cv_c_bigendian in + yes) + +cat >>confdefs.h <<\_ACEOF +#define WORDS_BIGENDIAN 1 +_ACEOF + ;; + no) + ;; + *) + { { echo "$as_me:$LINENO: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&5 +echo "$as_me: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} + { (exit 1); exit 1; }; } ;; +esac + + +{ echo "$as_me:$LINENO: checking for long int" >&5 +echo $ECHO_N "checking for long int... $ECHO_C" >&6; } +if test "${ac_cv_type_long_int+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 +typedef long int ac__type_new_; int main () { -#ifndef _BIG_ENDIAN - not big endian - #endif - +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_long_int=yes else - ac_cv_c_bigendian=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_long_int=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_cv_type_long_int" >&5 +echo "${ECHO_T}$ac_cv_type_long_int" >&6; } + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ echo "$as_me:$LINENO: checking size of long int" >&5 +echo $ECHO_N "checking size of long int... $ECHO_C" >&6; } +if test "${ac_cv_sizeof_long_int+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; +$ac_includes_default + typedef long int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; +test_array [0] = 0
+ ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + 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 + typedef long int ac__type_sizeof_; int main () { -return use_ascii (foo) == use_ebcdic (foo); +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + 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 + typedef long int ac__type_sizeof_; int main () { +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; +test_array [0] = 0
- /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + 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 + typedef long int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; +test_array [0] = 0
; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break else - ac_cv_c_bigendian=yes + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo= ac_hi= fi
- fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal)
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + 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 + typedef long int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0
- ;; #( - *) - as_fn_error "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5
+ ac_lo=`expr '(' $ac_mid ')' + 1` +fi
-# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long int" >&5 -$as_echo_n "checking size of long int... " >&6; } -if test "${ac_cv_sizeof_long_int+set}" = set; then : - $as_echo_n "(cached) " >&6 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_long_int=$ac_lo;; +'') if test "$ac_cv_type_long_int" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (long int) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (long int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_long_int=0 + fi ;; +esac else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long int))" "ac_cv_sizeof_long_int" "$ac_includes_default"; then : + 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 + typedef long int ac__type_sizeof_; +static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } +static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } +#include <stdio.h> +#include <stdlib.h> +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (ac__type_sizeof_))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%ld\n", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%lu\n", i); + } + return ferror (f) || fclose (f) != 0;
+ ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_long_int=`cat conftest.val` else - if test "$ac_cv_type_long_int" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (long int) -See \`config.log' for more details." "$LINENO" 5; }; } + 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 ) +if test "$ac_cv_type_long_int" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (long int) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (long int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } else ac_cv_sizeof_long_int=0 fi fi - +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_int" >&5 -$as_echo "$ac_cv_sizeof_long_int" >&6; } +rm -f conftest.val +fi +{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_int" >&5 +echo "${ECHO_T}$ac_cv_sizeof_long_int" >&6; }
@@ -3810,32 +4058,403 @@ cat >>confdefs.h <<_ACEOF _ACEOF
+{ echo "$as_me:$LINENO: checking for void *" >&5 +echo $ECHO_N "checking for void *... $ECHO_C" >&6; } +if test "${ac_cv_type_void_p+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 +typedef void * ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_void_p=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_void_p=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_void_p" >&5 +echo "${ECHO_T}$ac_cv_type_void_p" >&6; } + # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 -$as_echo_n "checking size of void *... " >&6; } -if test "${ac_cv_sizeof_void_p+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking size of void *" >&5 +echo $ECHO_N "checking size of void *... $ECHO_C" >&6; } +if test "${ac_cv_sizeof_void_p+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +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 + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; +test_array [0] = 0
+ ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + 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 + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - if test "$ac_cv_type_void_p" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (void *) -See \`config.log' for more details." "$LINENO" 5; }; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + 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 + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + 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 + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo= ac_hi= +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + 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 + typedef void * ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr '(' $ac_mid ')' + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_void_p=$ac_lo;; +'') if test "$ac_cv_type_void_p" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_void_p=0 + fi ;; +esac +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 + typedef void * ac__type_sizeof_; +static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } +static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } +#include <stdio.h> +#include <stdlib.h> +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (ac__type_sizeof_))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%ld\n", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%lu\n", i); + } + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_void_p=`cat conftest.val` +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 ) +if test "$ac_cv_type_void_p" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } else ac_cv_sizeof_void_p=0 fi fi - +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 -$as_echo "$ac_cv_sizeof_void_p" >&6; } +rm -f conftest.val +fi +{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_void_p" >&5 +echo "${ECHO_T}$ac_cv_sizeof_void_p" >&6; }
@@ -3845,23 +4464,25 @@ _ACEOF
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for required gcc" >&5 -$as_echo_n "checking for required gcc... " >&6; } +{ echo "$as_me:$LINENO: checking for required gcc" >&5 +echo $ECHO_N "checking for required gcc... $ECHO_C" >&6; } if test "x$GCC" = "x"; then - as_fn_error "no" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: no" >&5 +echo "$as_me: error: no" >&2;} + { (exit 1); exit 1; }; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
# Check whether --with-ghc was given. -if test "${with_ghc+set}" = set; then : +if test "${with_ghc+set}" = set; then withval=$with_ghc; # Extract the first word of "${withval}/bin/ghc", so it can be a program name with args. set dummy ${withval}/bin/ghc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GHC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_GHC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GHC in [\\/]* | ?:[\\/]*) @@ -3873,14 +4494,14 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GHC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS
;; @@ -3888,21 +4509,21 @@ esac fi GHC=$ac_cv_path_GHC if test -n "$GHC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GHC" >&5 -$as_echo "$GHC" >&6; } + { echo "$as_me:$LINENO: result: $GHC" >&5 +echo "${ECHO_T}$GHC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi
else # Extract the first word of "ghc", so it can be a program name with args. set dummy ghc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GHC+set}" = set; then : - $as_echo_n "(cached) " >&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_GHC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GHC in [\\/]* | ?:[\\/]*) @@ -3914,14 +4535,14 @@ 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 + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GHC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS
;; @@ -3929,11 +4550,11 @@ esac fi GHC=$ac_cv_path_GHC if test -n "$GHC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GHC" >&5 -$as_echo "$GHC" >&6; } + { echo "$as_me:$LINENO: result: $GHC" >&5 +echo "${ECHO_T}$GHC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi
@@ -3943,43 +4564,84 @@ fi
# Check whether --with-db was given. -if test "${with_db+set}" = set; then : +if test "${with_db+set}" = set; then withval=$with_db; dbpath=${withval}
DB_LDFLAGS= - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for db library" >&5 -$as_echo_n "checking for db library... " >&6; } + { echo "$as_me:$LINENO: checking for db library" >&5 +echo $ECHO_N "checking for db library... $ECHO_C" >&6; } oldlibs=$LIBS lib=notfound
if test "x$dbpath" != "x" ; then oldcflags=$CFLAGS for dbheader in db4 db3 notfound; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + cat >conftest.$ac_ext <<_ACEOF #include "$dbpath/include/$dbheader/db.h" _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then DB_CFLAGS="-I$dbpath/include/$dbheader/" break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done
if test "x$dbheader" = "xnotfound"; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + cat >conftest.$ac_ext <<_ACEOF #include "$dbpath/include/db.h" _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then DB_CFLAGS="-I$dbpath/include/" else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "Invalid libdb path specified. No db.h found. -See \`config.log' for more details." "$LINENO" 5; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { { echo "$as_me:$LINENO: error: Invalid libdb path specified. No db.h found. +See \`config.log' for more details." >&5 +echo "$as_me: error: Invalid libdb path specified. No db.h found. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi
@@ -3989,7 +4651,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext LIBS="${oldlibs} -ldb -lpthread" DB_LIB="-ldb" CFLAGS="$DB_CFLAGS $oldcflags" - cat confdefs.h - <<_ACEOF >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. */ #include <db.h> int @@ -4000,18 +4666,45 @@ DB *dbp; db_create(&dbp, NULL, 0); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then lib=db +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext CFLAGS=$oldcflags
else for lib in db4 db3 db notfound; do LIBS="${oldlibs} -l$lib -lpthread" DB_LIB="-l$lib" - cat confdefs.h - <<_ACEOF >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. */ #include <db.h> int @@ -4022,30 +4715,59 @@ DB *dbp; db_create(&dbp, NULL, 0); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext done fi
LIBS=$oldlibs if test "x$lib" = "xnotfound" ; then - as_fn_error "could not find DB libraries" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: could not find DB libraries" >&5 +echo "$as_me: error: could not find DB libraries" >&2;} + { (exit 1); exit 1; }; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lib" >&5 -$as_echo "$lib" >&6; } + { echo "$as_me:$LINENO: result: $lib" >&5 +echo "${ECHO_T}$lib" >&6; } fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dbenv parameter to DB error callback function" >&5 -$as_echo_n "checking for dbenv parameter to DB error callback function... " >&6; } + { echo "$as_me:$LINENO: checking for dbenv parameter to DB error callback function" >&5 +echo $ECHO_N "checking for dbenv parameter to DB error callback function... $ECHO_C" >&6; } oldcflags=$CFLAGS CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror" - cat confdefs.h - <<_ACEOF >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. */
#include <db.h> @@ -4069,24 +4791,50 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1 +_ACEOF
have_dbenv_parameter_to_db_error_callback=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } have_dbenv_parameter_to_db_error_callback=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test "x$have_dbenv_parameter_to_db_error_callback" = "xyes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if third parameter to error callback function is const" >&5 -$as_echo_n "checking if third parameter to error callback function is const... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking if third parameter to error callback function is const" >&5 +echo $ECHO_N "checking if third parameter to error callback function is const... $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 <db.h> @@ -4110,23 +4858,49 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5
-$as_echo "#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK 1" >>confdefs.h + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK 1 +_ACEOF
fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi
CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DB stat with malloc function ptr" >&5 -$as_echo_n "checking for DB stat with malloc function ptr... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for DB stat with malloc function ptr" >&5 +echo $ECHO_N "checking for DB stat with malloc function ptr... $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 <db.h> @@ -4147,25 +4921,51 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_UNKNOWN_PARAMETER_TO_DB_STAT 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_UNKNOWN_PARAMETER_TO_DB_STAT 1 +_ACEOF
have_db_stat_malloc=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } have_db_stat_malloc=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test "x$have_db_stat_malloc" = "xno" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for txnid parameter to DB stat function" >&5 -$as_echo_n "checking for txnid parameter to DB stat function... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for txnid parameter to DB stat function" >&5 +echo $ECHO_N "checking for txnid parameter to DB stat function... $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 <db.h> @@ -4185,25 +4985,51 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1 +_ACEOF
have_txnid_param_to_stat=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } have_txnid_param_to_stat=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for txnid parameter to DB open function" >&5 -$as_echo_n "checking for txnid parameter to DB open function... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for txnid parameter to DB open function" >&5 +echo $ECHO_N "checking for txnid parameter to DB open function... $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 <db.h> @@ -4227,21 +5053,47 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1 +_ACEOF
else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DB_DIRTY_READ flag" >&5 -$as_echo_n "checking for DB_DIRTY_READ flag... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for DB_DIRTY_READ flag" >&5 +echo $ECHO_N "checking for DB_DIRTY_READ flag... $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 <db.h> @@ -4256,21 +5108,47 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_DB_DIRTY_READ 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DB_DIRTY_READ 1 +_ACEOF
else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DB_BUFFER_SMALL error" >&5 -$as_echo_n "checking for DB_BUFFER_SMALL error... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for DB_BUFFER_SMALL error" >&5 +echo $ECHO_N "checking for DB_BUFFER_SMALL error... $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 <db.h> @@ -4286,21 +5164,47 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_DB_BUFFER_SMALL 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DB_BUFFER_SMALL 1 +_ACEOF
else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for berkeley db get_pagesize function" >&5 -$as_echo_n "checking for berkeley db get_pagesize function... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for berkeley db get_pagesize function" >&5 +echo $ECHO_N "checking for berkeley db get_pagesize function... $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 <db.h> @@ -4319,16 +5223,38 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_DB_GET_PAGESIZE 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DB_GET_PAGESIZE 1 +_ACEOF
else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$oldcflags" @@ -4338,38 +5264,79 @@ else dbpath=""
DB_LDFLAGS= - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for db library" >&5 -$as_echo_n "checking for db library... " >&6; } + { echo "$as_me:$LINENO: checking for db library" >&5 +echo $ECHO_N "checking for db library... $ECHO_C" >&6; } oldlibs=$LIBS lib=notfound
if test "x$dbpath" != "x" ; then oldcflags=$CFLAGS for dbheader in db4 db3 notfound; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + cat >conftest.$ac_ext <<_ACEOF #include "$dbpath/include/$dbheader/db.h" _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then DB_CFLAGS="-I$dbpath/include/$dbheader/" break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done
if test "x$dbheader" = "xnotfound"; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + cat >conftest.$ac_ext <<_ACEOF #include "$dbpath/include/db.h" _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then DB_CFLAGS="-I$dbpath/include/" else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "Invalid libdb path specified. No db.h found. -See \`config.log' for more details." "$LINENO" 5; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { { echo "$as_me:$LINENO: error: Invalid libdb path specified. No db.h found. +See \`config.log' for more details." >&5 +echo "$as_me: error: Invalid libdb path specified. No db.h found. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi
@@ -4379,7 +5346,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext LIBS="${oldlibs} -ldb -lpthread" DB_LIB="-ldb" CFLAGS="$DB_CFLAGS $oldcflags" - cat confdefs.h - <<_ACEOF >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. */ #include <db.h> int @@ -4390,18 +5361,45 @@ DB *dbp; db_create(&dbp, NULL, 0); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then lib=db +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext CFLAGS=$oldcflags
else for lib in db4 db3 db notfound; do LIBS="${oldlibs} -l$lib -lpthread" DB_LIB="-l$lib" - cat confdefs.h - <<_ACEOF >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. */ #include <db.h> int @@ -4412,30 +5410,59 @@ DB *dbp; db_create(&dbp, NULL, 0); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext done fi
LIBS=$oldlibs if test "x$lib" = "xnotfound" ; then - as_fn_error "could not find DB libraries" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: could not find DB libraries" >&5 +echo "$as_me: error: could not find DB libraries" >&2;} + { (exit 1); exit 1; }; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lib" >&5 -$as_echo "$lib" >&6; } + { echo "$as_me:$LINENO: result: $lib" >&5 +echo "${ECHO_T}$lib" >&6; } fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dbenv parameter to DB error callback function" >&5 -$as_echo_n "checking for dbenv parameter to DB error callback function... " >&6; } + { echo "$as_me:$LINENO: checking for dbenv parameter to DB error callback function" >&5 +echo $ECHO_N "checking for dbenv parameter to DB error callback function... $ECHO_C" >&6; } oldcflags=$CFLAGS CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror" - cat confdefs.h - <<_ACEOF >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. */
#include <db.h> @@ -4459,24 +5486,50 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1 +_ACEOF
have_dbenv_parameter_to_db_error_callback=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } have_dbenv_parameter_to_db_error_callback=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test "x$have_dbenv_parameter_to_db_error_callback" = "xyes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if third parameter to error callback function is const" >&5 -$as_echo_n "checking if third parameter to error callback function is const... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking if third parameter to error callback function is const" >&5 +echo $ECHO_N "checking if third parameter to error callback function is const... $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 <db.h> @@ -4500,23 +5553,49 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK 1 +_ACEOF
fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi
CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DB stat with malloc function ptr" >&5 -$as_echo_n "checking for DB stat with malloc function ptr... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for DB stat with malloc function ptr" >&5 +echo $ECHO_N "checking for DB stat with malloc function ptr... $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 <db.h> @@ -4537,25 +5616,51 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_UNKNOWN_PARAMETER_TO_DB_STAT 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_UNKNOWN_PARAMETER_TO_DB_STAT 1 +_ACEOF
have_db_stat_malloc=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } have_db_stat_malloc=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test "x$have_db_stat_malloc" = "xno" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for txnid parameter to DB stat function" >&5 -$as_echo_n "checking for txnid parameter to DB stat function... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for txnid parameter to DB stat function" >&5 +echo $ECHO_N "checking for txnid parameter to DB stat function... $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 <db.h> @@ -4575,25 +5680,51 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1 +_ACEOF
have_txnid_param_to_stat=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } have_txnid_param_to_stat=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for txnid parameter to DB open function" >&5 -$as_echo_n "checking for txnid parameter to DB open function... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for txnid parameter to DB open function" >&5 +echo $ECHO_N "checking for txnid parameter to DB open function... $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 <db.h> @@ -4617,21 +5748,47 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1 +_ACEOF
else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DB_DIRTY_READ flag" >&5 -$as_echo_n "checking for DB_DIRTY_READ flag... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for DB_DIRTY_READ flag" >&5 +echo $ECHO_N "checking for DB_DIRTY_READ flag... $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 <db.h> @@ -4646,21 +5803,47 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_DB_DIRTY_READ 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DB_DIRTY_READ 1 +_ACEOF
else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DB_BUFFER_SMALL error" >&5 -$as_echo_n "checking for DB_BUFFER_SMALL error... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for DB_BUFFER_SMALL error" >&5 +echo $ECHO_N "checking for DB_BUFFER_SMALL error... $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 <db.h> @@ -4676,21 +5859,47 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_DB_BUFFER_SMALL 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DB_BUFFER_SMALL 1 +_ACEOF
else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for berkeley db get_pagesize function" >&5 -$as_echo_n "checking for berkeley db get_pagesize function... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { echo "$as_me:$LINENO: checking for berkeley db get_pagesize function" >&5 +echo $ECHO_N "checking for berkeley db get_pagesize function... $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 <db.h> @@ -4709,16 +5918,38 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }
-$as_echo "#define HAVE_DB_GET_PAGESIZE 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_DB_GET_PAGESIZE 1 +_ACEOF
else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$oldcflags" @@ -4728,9 +5959,11 @@ fi
# Check whether --with-mpi was given. -if test "${with_mpi+set}" = set; then : +if test "${with_mpi+set}" = set; then withval=$with_mpi; if test x$withval = xyes; then - as_fn_error "--with-mpi must be given a pathname" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: --with-mpi must be given a pathname" >&5 +echo "$as_me: error: --with-mpi must be given a pathname" >&2;} + { (exit 1); exit 1; }; } else MPICC="${withval}/bin/mpicc" MPICFLAGS="-I${withval}/include" @@ -4747,6 +5980,154 @@ fi
+ + + case $host in + darwin*-*-*) USE_DYLIBS=yes ;; + *) USE_DYLIBS="" + ;; +esac + + + + { echo "$as_me:$LINENO: checking for O_DIRECT" >&5 +echo $ECHO_N "checking for O_DIRECT... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF + +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +void testodirect(void) +{ + open(NULL, O_DIRECT); +} + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_ODIRECT 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +{ echo "$as_me:$LINENO: checking for O_NOATIME" >&5 +echo $ECHO_N "checking for O_NOATIME... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF + +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +void testnoatime(void) +{ + open(NULL, O_NOATIME); +} + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_NOATIME 1 +_ACEOF + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +{ echo "$as_me:$LINENO: checking for OS X blocks support" >&5 +echo $ECHO_N "checking for OS X blocks support... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +#include <stdlib.h> +#ifdef __BLOCKS__ +#error "OSX defines __BLOCKS__ and includes that aren't ANSI C" +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +CFLAGS="$CFLAGS -fno-blocks" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + + BUILD_ABSOLUTE_TOP=${PWD} SRC_RELATIVE_TOP=$srcdir SRC_ABSOLUTE_TOP=`cd $srcdir; pwd` @@ -4761,7 +6142,7 @@ SRC_ABSOLUTE_TOP=`cd $srcdir; pwd`
# Check whether --enable-verbose was given. -if test "${enable_verbose+set}" = set; then : +if test "${enable_verbose+set}" = set; then enableval=$enable_verbose; QUIET_COMPILE=0 else QUIET_COMPILE=1 @@ -4770,7 +6151,7 @@ fi
# Check whether --enable-error-on-warning was given. -if test "${enable_error_on_warning+set}" = set; then : +if test "${enable_error_on_warning+set}" = set; then enableval=$enable_error_on_warning; WARNINGS_AS_ERRORS=1 else WARNINGS_AS_ERRORS=0 @@ -4780,7 +6161,7 @@ fi
STRICT_CFLAGS= # Check whether --enable-strict was given. -if test "${enable_strict+set}" = set; then : +if test "${enable_strict+set}" = set; then enableval=$enable_strict; STRICT_CFLAGS=1 fi
@@ -4788,35 +6169,35 @@ fi
AE_DEBUG= # Check whether --enable-aesop-debug was given. -if test "${enable_aesop_debug+set}" = set; then : +if test "${enable_aesop_debug+set}" = set; then enableval=$enable_aesop_debug; AE_DEBUG=1 fi
# Check whether --enable-coverage was given. -if test "${enable_coverage+set}" = set; then : +if test "${enable_coverage+set}" = set; then enableval=$enable_coverage; CFLAGS="$CFLAGS -g -pg -ftest-coverage -O0" ENABLE_COVERAGE=1 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for client library thread safety support" >&5 -$as_echo_n "checking for client library thread safety support... " >&6; } +{ echo "$as_me:$LINENO: checking for client library thread safety support" >&5 +echo $ECHO_N "checking for client library thread safety support... $ECHO_C" >&6; } # Check whether --enable-thread-safety was given. -if test "${enable_thread_safety+set}" = set; then : +if test "${enable_thread_safety+set}" = set; then enableval=$enable_thread_safety; if test "x$enableval" = "xno" ; then LIBCFLAGS="$LIBCFLAGS -D__TRITON_NULL_LOCKING__" THREAD_LIB="" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi else LIBCFLAGS="$LIBCFLAGS -D__TRITON_POSIX_LOCKING__" THREAD_LIB="-lpthread" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } fi
@@ -4837,15 +6218,17 @@ fi \+ $sqlite_min_micro`
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking sqlite library" >&5 -$as_echo "$as_me: checking sqlite library" >&6;} + { echo "$as_me:$LINENO: checking sqlite library" >&5 +echo "$as_me: checking sqlite library" >&6;}
# Check whether --with-sqlite was given. -if test "${with_sqlite+set}" = set; then : +if test "${with_sqlite+set}" = set; then withval=$with_sqlite; if test "$withval" = "yes" ; then - as_fn_error "--with-sqlite requires an argument." "$LINENO" 5 + { { echo "$as_me:$LINENO: error: --with-sqlite requires an argument." >&5 +echo "$as_me: error: --with-sqlite requires an argument." >&2;} + { (exit 1); exit 1; }; } else sqlite_dir="$withval" fi @@ -4868,12 +6251,145 @@ if test "${with_sqlite+set}" = set; then : LDFLAGS="$LDFLAGS -L$sqlite_dir/lib" fi
- ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" "ac_cv_header_sqlite3_h" "$ac_includes_default" -if test "x$ac_cv_header_sqlite3_h" = x""yes; then : + if test "${ac_cv_header_sqlite3_h+set}" = set; then + { echo "$as_me:$LINENO: checking for sqlite3.h" >&5 +echo $ECHO_N "checking for sqlite3.h... $ECHO_C" >&6; } +if test "${ac_cv_header_sqlite3_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 +echo "${ECHO_T}$ac_cv_header_sqlite3_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking sqlite3.h usability" >&5 +echo $ECHO_N "checking sqlite3.h 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 <sqlite3.h> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; 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 core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking sqlite library version (via header)" >&5 -$as_echo_n "checking sqlite library version (via header)... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +# Is the header present? +{ echo "$as_me:$LINENO: checking sqlite3.h presence" >&5 +echo $ECHO_N "checking sqlite3.h 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 <sqlite3.h> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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 && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.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: sqlite3.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: sqlite3.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: sqlite3.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: sqlite3.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: sqlite3.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: sqlite3.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: sqlite3.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: sqlite3.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: sqlite3.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: sqlite3.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------- ## +## Report this to [email protected] ## +## ------------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for sqlite3.h" >&5 +echo $ECHO_N "checking for sqlite3.h... $ECHO_C" >&6; } +if test "${ac_cv_header_sqlite3_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_sqlite3_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 +echo "${ECHO_T}$ac_cv_header_sqlite3_h" >&6; } + +fi +if test $ac_cv_header_sqlite3_h = yes; then + + { echo "$as_me:$LINENO: checking sqlite library version (via header)" >&5 +echo $ECHO_N "checking sqlite library version (via header)... $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 "$sqlite_include" @@ -4882,17 +6398,21 @@ SQLITE_VERSION_OKAY #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "SQLITE_VERSION_OKAY" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: okay" >&5 -$as_echo "okay" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_close in -lsqlite3" >&5 -$as_echo_n "checking for sqlite3_close in -lsqlite3... " >&6; } -if test "${ac_cv_lib_sqlite3_sqlite3_close+set}" = set; then : - $as_echo_n "(cached) " >&6 + $EGREP "SQLITE_VERSION_OKAY" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: result: okay" >&5 +echo "${ECHO_T}okay" >&6; } + { echo "$as_me:$LINENO: checking for sqlite3_close in -lsqlite3" >&5 +echo $ECHO_N "checking for sqlite3_close in -lsqlite3... $ECHO_C" >&6; } +if test "${ac_cv_lib_sqlite3_sqlite3_close+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsqlite3 $LIBS" -cat confdefs.h - <<_ACEOF >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. */
/* Override any GCC internal prototype to avoid an error. @@ -4910,18 +6430,39 @@ return sqlite3_close (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then ac_cv_lib_sqlite3_sqlite3_close=yes else - ac_cv_lib_sqlite3_sqlite3_close=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_sqlite3_sqlite3_close=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_close" >&5 -$as_echo "$ac_cv_lib_sqlite3_sqlite3_close" >&6; } -if test "x$ac_cv_lib_sqlite3_sqlite3_close" = x""yes; then : +{ echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite3_sqlite3_close" >&5 +echo "${ECHO_T}$ac_cv_lib_sqlite3_sqlite3_close" >&6; } +if test $ac_cv_lib_sqlite3_sqlite3_close = yes; then
triton_lib_sqlite="yes" if test -z "$sqlite_dir" -o ! -d "$sqlite_dir"; then @@ -4934,10 +6475,10 @@ if test "x$ac_cv_lib_sqlite3_sqlite3_close" = x""yes; then : fi
else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported SQLite version" >&5 -$as_echo "unsupported SQLite version" >&6; } + { echo "$as_me:$LINENO: result: unsupported SQLite version" >&5 +echo "${ECHO_T}unsupported SQLite version" >&6; } fi -rm -f conftest* +rm -f -r conftest*
fi @@ -4948,13 +6489,17 @@ fi LDFLAGS="$save_LDFLAGS"
else - as_fn_error "$sqlite_dir is not a directory." "$LINENO" 5 + { { echo "$as_me:$LINENO: error: $sqlite_dir is not a directory." >&5 +echo "$as_me: error: $sqlite_dir is not a directory." >&2;} + { (exit 1); exit 1; }; } fi
# if a --with-sqlite argument was given, then we should complain if we # can't find it there if test -z "$triton_lib_sqlite"; then - as_fn_error "no suitable sqlite found in $sqlite_dir" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: no suitable sqlite found in $sqlite_dir" >&5 +echo "$as_me: error: no suitable sqlite found in $sqlite_dir" >&2;} + { (exit 1); exit 1; }; } else BUILD_OSD=1 fi @@ -4979,12 +6524,145 @@ else LDFLAGS="$LDFLAGS -L$sqlite_dir/lib" fi
- ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" "ac_cv_header_sqlite3_h" "$ac_includes_default" -if test "x$ac_cv_header_sqlite3_h" = x""yes; then : + if test "${ac_cv_header_sqlite3_h+set}" = set; then + { echo "$as_me:$LINENO: checking for sqlite3.h" >&5 +echo $ECHO_N "checking for sqlite3.h... $ECHO_C" >&6; } +if test "${ac_cv_header_sqlite3_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 +echo "${ECHO_T}$ac_cv_header_sqlite3_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking sqlite3.h usability" >&5 +echo $ECHO_N "checking sqlite3.h 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 <sqlite3.h> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking sqlite library version (via header)" >&5 -$as_echo_n "checking sqlite library version (via header)... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +rm -f core 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 sqlite3.h presence" >&5 +echo $ECHO_N "checking sqlite3.h 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 <sqlite3.h> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_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 && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.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: sqlite3.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: sqlite3.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: sqlite3.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: sqlite3.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: sqlite3.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: sqlite3.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: sqlite3.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: sqlite3.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: sqlite3.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: sqlite3.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: sqlite3.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------- ## +## Report this to [email protected] ## +## ------------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for sqlite3.h" >&5 +echo $ECHO_N "checking for sqlite3.h... $ECHO_C" >&6; } +if test "${ac_cv_header_sqlite3_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_sqlite3_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 +echo "${ECHO_T}$ac_cv_header_sqlite3_h" >&6; } + +fi +if test $ac_cv_header_sqlite3_h = yes; then + + { echo "$as_me:$LINENO: checking sqlite library version (via header)" >&5 +echo $ECHO_N "checking sqlite library version (via header)... $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 "$sqlite_include" @@ -4993,17 +6671,21 @@ SQLITE_VERSION_OKAY #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "SQLITE_VERSION_OKAY" >/dev/null 2>&1; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: okay" >&5 -$as_echo "okay" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_close in -lsqlite3" >&5 -$as_echo_n "checking for sqlite3_close in -lsqlite3... " >&6; } -if test "${ac_cv_lib_sqlite3_sqlite3_close+set}" = set; then : - $as_echo_n "(cached) " >&6 + $EGREP "SQLITE_VERSION_OKAY" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: result: okay" >&5 +echo "${ECHO_T}okay" >&6; } + { echo "$as_me:$LINENO: checking for sqlite3_close in -lsqlite3" >&5 +echo $ECHO_N "checking for sqlite3_close in -lsqlite3... $ECHO_C" >&6; } +if test "${ac_cv_lib_sqlite3_sqlite3_close+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsqlite3 $LIBS" -cat confdefs.h - <<_ACEOF >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. */
/* Override any GCC internal prototype to avoid an error. @@ -5021,18 +6703,39 @@ return sqlite3_close (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then ac_cv_lib_sqlite3_sqlite3_close=yes else - ac_cv_lib_sqlite3_sqlite3_close=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_sqlite3_sqlite3_close=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_close" >&5 -$as_echo "$ac_cv_lib_sqlite3_sqlite3_close" >&6; } -if test "x$ac_cv_lib_sqlite3_sqlite3_close" = x""yes; then : +{ echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite3_sqlite3_close" >&5 +echo "${ECHO_T}$ac_cv_lib_sqlite3_sqlite3_close" >&6; } +if test $ac_cv_lib_sqlite3_sqlite3_close = yes; then
triton_lib_sqlite="yes" if test -z "$sqlite_dir" -o ! -d "$sqlite_dir"; then @@ -5045,10 +6748,10 @@ if test "x$ac_cv_lib_sqlite3_sqlite3_close" = x""yes; then : fi
else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported SQLite version" >&5 -$as_echo "unsupported SQLite version" >&6; } + { echo "$as_me:$LINENO: result: unsupported SQLite version" >&5 +echo "${ECHO_T}unsupported SQLite version" >&6; } fi -rm -f conftest* +rm -f -r conftest*
fi @@ -5063,8 +6766,8 @@ fi if test -z "$triton_lib_sqlite"; then
if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking sqlite library version (via pkg-config)" >&5 -$as_echo_n "checking sqlite library version (via pkg-config)... " >&6; } + { echo "$as_me:$LINENO: checking sqlite library version (via pkg-config)" >&5 +echo $ECHO_N "checking sqlite library version (via pkg-config)... $ECHO_C" >&6; } sqlite_version=`$PKG_CONFIG $SQLITE_PKGNAME --modversion --silence-errors`
if test -n "$sqlite_version"; then @@ -5081,21 +6784,21 @@ $as_echo_n "checking sqlite library version (via pkg-config)... " >&6; }
if test "$sqlite_ver_num" -ge "$sqlite_min_ver_num"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $sqlite_version" >&5 -$as_echo "$sqlite_version" >&6; } + { echo "$as_me:$LINENO: result: $sqlite_version" >&5 +echo "${ECHO_T}$sqlite_version" >&6; } triton_lib_sqlite="yes" TRITON_SQLITE_INCLUDES="`$PKG_CONFIG $SQLITE_PKGNAME --cflags`" TRITON_SQLITE_LIBS="`$PKG_CONFIG $SQLITE_PKGNAME --libs`" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none or unsupported $sqlite_version" >&5 -$as_echo "none or unsupported $sqlite_version" >&6; } + { echo "$as_me:$LINENO: result: none or unsupported $sqlite_version" >&5 +echo "${ECHO_T}none or unsupported $sqlite_version" >&6; } fi fi fi
if test -z "$triton_lib_sqlite"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi
fi @@ -5144,13 +6847,12 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; + *) $as_unset $ac_var ;; esac ;; esac done @@ -5158,8 +6860,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. + # `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" @@ -5182,12 +6884,12 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -5203,11 +6905,11 @@ ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs
@@ -5215,15 +6917,12 @@ LTLIBOBJS=$ac_ltlibobjs
- : ${CONFIG_STATUS=./config.status} -ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +{ 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. @@ -5233,79 +6932,59 @@ cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 debug=false ac_cs_recheck=false ac_cs_silent=false - SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ##
# Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; esac + fi
-as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' + + +# PATH needs CR +# 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 - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' + PATH_SEPARATOR=: fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' + rm -f conf$$.sh fi
-# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false fi
@@ -5314,18 +6993,20 @@ fi # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) +as_nl=' +' IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator. -case $0 in #(( +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 + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done IFS=$as_save_IFS
;; @@ -5336,111 +7017,32 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } fi
-# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ '
# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. -as_fn_error () -{ - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi - $as_echo "$as_me: error: $1" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - +done
+# Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -5454,17 +7056,13 @@ else as_basename=false fi
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi
+# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -5479,103 +7077,104 @@ $as_echo X/"$0" | } s/.*/./; q'`
-# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # 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 after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, 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 + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { 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 sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi
ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( +case `echo -n x` in -n*) - case `echo 'xy\c'` in + case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; + *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac
+if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' - 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$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null
- -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" - - -} # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' + as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false @@ -5592,12 +7191,12 @@ else as_test_x=' eval sh -c '\'' if test -d "$1"; then - test -d "$1/."; + test -d "$1/."; else - case $1 in #( - -*)set "./$1";; + case $1 in + -*)set "./$1";; esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' @@ -5612,19 +7211,13 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to +# Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by triton $as_me 0.1.1, which was -generated by GNU Autoconf 2.65. Invocation command line was +generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -5637,41 +7230,29 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q`
_ACEOF
-case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers"
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. +\`$as_me' instantiates files from templates according to the +current configuration.
-Usage: $0 [OPTION]... [TAG]... +Usage: $0 [OPTIONS] [FILE]...
-h, --help print this help, then exit -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages + -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 + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE
Configuration files: $config_files @@ -5679,28 +7260,27 @@ $config_files Configuration headers: $config_headers
-Report bugs to <[email protected]>." +Report bugs to <[email protected]>."
_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ triton config.status 0.1.1 -configured by $0, generated by GNU Autoconf 2.65, - with options \\"\$ac_cs_config\\" +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it."
ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' -test -n "\$AWK" || AWK=awk _ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. +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 @@ -5722,40 +7302,34 @@ do -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; + echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" + CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; + echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;;
# This is an error. - -*) as_fn_error "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;;
- *) as_fn_append ac_config_targets " $1" + *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;;
esac @@ -5770,32 +7344,30 @@ if $ac_cs_silent; then fi
_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL export CONFIG_SHELL - exec "\$@" + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi
_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX - $as_echo "$ac_log" + echo "$ac_log" } >&5
_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF _ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF
# Handling of arguments. for ac_config_target in $ac_config_targets @@ -5833,7 +7405,9 @@ do "src/zeroconf/module.mk") CONFIG_FILES="$CONFIG_FILES src/zeroconf/module.mk" ;; "src/net/mock/module.mk") CONFIG_FILES="$CONFIG_FILES src/net/mock/module.mk" ;;
- *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) { { 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
@@ -5859,7 +7433,7 @@ $debug || trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 - trap 'as_fn_exit 1' 1 2 13 15 + trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files.
@@ -5870,140 +7444,142 @@ $debug || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +}
+# +# Set up the sed scripts for CONFIG_FILES section. +#
-ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' -else - ac_cs_awk_cr=$ac_cr -fi +# 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
-echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF
-{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + ac_delim='%!_!# ' for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +TRITON_VERSION!$TRITON_VERSION$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +CPP!$CPP$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +GHC!$GHC$ac_delim +DB_CFLAGS!$DB_CFLAGS$ac_delim +DB_LIB!$DB_LIB$ac_delim +MPICC!$MPICC$ac_delim +MPICFLAGS!$MPICFLAGS$ac_delim +MPILDFLAGS!$MPILDFLAGS$ac_delim +MPILIBS!$MPILIBS$ac_delim +BUILD_MPI!$BUILD_MPI$ac_delim +USE_DYLIBS!$USE_DYLIBS$ac_delim +BUILD_ABSOLUTE_TOP!$BUILD_ABSOLUTE_TOP$ac_delim +SRC_RELATIVE_TOP!$SRC_RELATIVE_TOP$ac_delim +SRC_ABSOLUTE_TOP!$SRC_ABSOLUTE_TOP$ac_delim +QUIET_COMPILE!$QUIET_COMPILE$ac_delim +WARNINGS_AS_ERRORS!$WARNINGS_AS_ERRORS$ac_delim +STRICT_CFLAGS!$STRICT_CFLAGS$ac_delim +AE_DEBUG!$AE_DEBUG$ac_delim +ENABLE_COVERAGE!$ENABLE_COVERAGE$ac_delim +LIBCFLAGS!$LIBCFLAGS$ac_delim +THREAD_LIB!$THREAD_LIB$ac_delim +TRITON_SQLITE_INCLUDES!$TRITON_SQLITE_INCLUDES$ac_delim +TRITON_SQLITE_LIBS!$TRITON_SQLITE_LIBS$ac_delim +BUILD_OSD!$BUILD_OSD$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 75; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' <conf$$subs.awk | sed ' -/^[^""]/{ - N - s/\n// -} -' >>$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = ""
-} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi
-_ACAWK +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS <conf$$subs.sed +rm -f conf$$subs.sed +cat >>$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof _ACEOF
+ # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty @@ -6019,128 +7595,20 @@ s/^[^=]*=[ ]*$// }' fi
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES"
-# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then - break - elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' <confdefs.h | sed ' -s/'"$ac_delim"'/"\\\ -"/g' >>$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS"
- -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " -shift -for ac_tag +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -6168,34 +7636,26 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" + ac_file_inputs="$ac_file_inputs $ac_f" done
# Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac
case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac @@ -6205,7 +7665,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | +echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -6223,15 +7683,55 @@ $as_echo X"$ac_file" | q } s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } ac_builddir=.
case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -6271,12 +7771,12 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix esac _ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { + +case `sed -n '/datarootdir/ { p q } @@ -6284,37 +7784,36 @@ ac_sed_dataroot=' /@docdir@/p /@infodir@/p /@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +/@mandir@/p +' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; + s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF
# Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub $extrasub _ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t +s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t @@ -6324,48 +7823,119 @@ s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;}
rm -f "$tmp/stdin" case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; - esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac ;; :H) # # CONFIG_HEADER # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} else - rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + rm -f $ac_file + mv "$tmp/config.h" $ac_file fi else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 + echo "/* $configure_input */" + cat "$ac_result" fi + rm -f "$tmp/out12" ;;
@@ -6374,13 +7944,11 @@ $as_echo "$as_me: $ac_file is unchanged" >&6;} done # for ac_tag
-as_fn_exit 0 +{ (exit 0); exit 0; } _ACEOF +chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save
-test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 -
# configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. @@ -6400,10 +7968,6 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit $? -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + $ac_cs_success || { (exit 1); exit 1; } fi
diff --git a/code/configure.ac b/code/configure.ac index 64cf2b6..b702780 100644 --- a/code/configure.ac +++ b/code/configure.ac @@ -73,6 +73,9 @@ AC_SUBST(MPILDFLAGS) AC_SUBST(MPILIBS) AC_SUBST(BUILD_MPI)
+dnl check for unix variants +AX_UNIX("") + BUILD_ABSOLUTE_TOP=${PWD} SRC_RELATIVE_TOP=$srcdir SRC_ABSOLUTE_TOP=`cd $srcdir; pwd` diff --git a/code/maint/config/unix.m4 b/code/maint/config/unix.m4 new file mode 100644 index 0000000..babc01e --- /dev/null +++ b/code/maint/config/unix.m4 @@ -0,0 +1,60 @@ + +AC_DEFUN([AX_UNIX], +[ + + dnl figure out the library type + dnl Darwin/OSX doesn't allow static linking + dnl and dynamic libraries are .dylib files rather + dnl than shared objects + AS_CASE([$host], + [darwin*-*-*], [USE_DYLIBS=yes], + [USE_DYLIBS=""] + ) + AC_SUBST([USE_DYLIBS]) + + dnl Need to check for O_DIRECT, doesn't exist on Darwin/OSX + AC_MSG_CHECKING(for O_DIRECT) + AC_COMPILE_IFELSE([ +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +void testodirect(void) +{ + open(NULL, O_DIRECT); +} +], +AC_MSG_RESULT(yes) +AC_DEFINE(HAVE_ODIRECT, 1, Define if O_DIRECT exists), +AC_MSG_RESULT(no)) + +dnl Need to check for O_NOATIME, doesn't exist on Darwin/OSX +AC_MSG_CHECKING(for O_NOATIME) +AC_COMPILE_IFELSE([ +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +void testnoatime(void) +{ + open(NULL, O_NOATIME); +} +], +AC_MSG_RESULT(yes) +AC_DEFINE(HAVE_NOATIME, 1, Define if O_NOATIME exists), +AC_MSG_RESULT(no)) + +dnl OSX >= 10.5 has blocks support, which defaults to including some nasty non-ANSI C code in standard headers +AC_MSG_CHECKING([for OS X blocks support]) +AC_COMPILE_IFELSE( +[#include <stdlib.h> +#ifdef __BLOCKS__ +#error "OSX defines __BLOCKS__ and includes that aren't ANSI C" +#endif +], +[AC_MSG_RESULT(no)], +[AC_MSG_RESULT(yes) +CFLAGS="$CFLAGS -fno-blocks"]) + + +]) diff --git a/code/maint/hs/syb-0.1.0.1.tar.gz b/code/maint/hs/syb-0.1.0.1.tar.gz new file mode 100644 index 0000000..490a7df Binary files /dev/null and b/code/maint/hs/syb-0.1.0.1.tar.gz differ diff --git a/code/src/aesop/ae-remote-parser.h b/code/src/aesop/ae-remote-parser.h index 0a7c942..56c0e1e 100644 --- a/code/src/aesop/ae-remote-parser.h +++ b/code/src/aesop/ae-remote-parser.h @@ -231,7 +231,7 @@ #define AER_MK_DESTROY_STMTS_END()
#define AER_MK_STUB_DECL(__ret__, __fname__, params...) \ - __blocking __ret__ remote_##__fname__(triton_node_t id, ##params); + __blocking __ret__ remote_##__fname__(triton_addr_t id, ##params);
#define AER_MK_STUB_DECLS(__fname__) \ aer_message_t send_message; \ diff --git a/code/src/aesop/op.h b/code/src/aesop/op.h index 9fd9014..51343a6 100644 --- a/code/src/aesop/op.h +++ b/code/src/aesop/op.h @@ -69,7 +69,7 @@ static inline ae_op_t *ae_ops_peek(ae_ops_t *queue) return ae_op_from_link(llink); }
-#define ae_ops_for_each(_pos, _safe, _ops) triton_list_for_each_entry(_pos, _safe, _ops, link) +#define ae_ops_for_each(_pos, _safe, _ops) triton_list_for_each_entry(_pos, _safe, _ops, struct ae_op, link) #define ae_ops_exists(_ops, _op) triton_list_exists(_ops, _op) #define ae_ops_count(_ops) triton_list_count(_ops) #define ae_ops_find(_ops, _compare, _ptr) triton_list_find(_ops, _compare, _ptr) diff --git a/code/src/aesop/opcache.c b/code/src/aesop/opcache.c index 321eb8d..d18b1aa 100644 --- a/code/src/aesop/opcache.c +++ b/code/src/aesop/opcache.c @@ -85,12 +85,12 @@ void ae_opcache_destroy(ae_opcache_t cache) return; }
-inline int ae_opcache_size(ae_opcache_t cache) +int ae_opcache_size(ae_opcache_t cache) { return cache->size; }
-inline int ae_opcache_count(ae_opcache_t cache) +int ae_opcache_count(ae_opcache_t cache) { int count;
diff --git a/code/src/aesop/opcache.h b/code/src/aesop/opcache.h index 8af370f..994636c 100644 --- a/code/src/aesop/opcache.h +++ b/code/src/aesop/opcache.h @@ -32,9 +32,9 @@ struct ae_op *ae_opcache_get(ae_opcache_t cache);
void ae_opcache_put(ae_opcache_t cache, struct ae_op *op);
-inline int ae_opcache_size(ae_opcache_t cache); +int ae_opcache_size(ae_opcache_t cache);
-inline int ae_opcache_count(ae_opcache_t cache); +int ae_opcache_count(ae_opcache_t cache);
struct ae_op *ae_opcache_lookup(ae_opcache_t cache, int id);
diff --git a/code/src/aesop/parser/CGen.lhs b/code/src/aesop/parser/CGen.lhs index 84fed83..2fc9a53 100644 --- a/code/src/aesop/parser/CGen.lhs +++ b/code/src/aesop/parser/CGen.lhs @@ -108,7 +108,7 @@ Functions to generate AST objects from C template code
-- parse succeeded, so we return the declaration (Right (CDeclExt decl)) -> decl -- parse failed, so we assert fail for now. The CDecl empty constructor is needed to match types
-> (Left pe) -> assert False (CDecl [] [] ni) +> (Left pe) -> trace ("Parse Error in:\n\n" ++ ("mkStmtFromC failed: " ++ s) ++ (show pe)) $ assert False (CDecl [] [] ni)
mkStmtFromC :: NodeInfo -> String -> CStat mkStmtFromC ni s = @@ -125,9 +125,9 @@ Functions to generate AST objects from C template code
data MacroParser = MacroParser { macheader :: FilePath, typedefs :: [Ident] }
-> getTypeIdents :: [FilePath] -> [(String, String)] -> FilePath -> IO [Ident] -> getTypeIdents idirs defines macheader = do -> rfile <- myCPP idirs defines (Just macheader) [] (Left "\n") +> getTypeIdents :: [FilePath] -> [(String, String)] -> FilePath -> [String] -> IO [Ident] +> getTypeIdents idirs defines macheader gccopts = do +> rfile <- myCPP idirs defines (Just macheader) gccopts (Left "\n")
result <- readFile rfile removeFile rfile -- run the C parser on the result stream
@@ -136,12 +136,12 @@ Functions to generate AST objects from C template code
case parsed of (Right (CTranslUnit [] _)) -> return [] (Right (CTranslUnit decls _)) -> return $ getTypedefIdentsFromDecls decls
-> (Left pe) -> trace ("Error parsing declarations from header " ++ macheader) (assert False (return [])) +> (Left pe) -> trace ("Error parsing declarations from header " ++ macheader ++ ": " ++ (show pe)) (assert False (return []))
-> mkParser :: [FilePath] -> [(String, String)] -> FilePath -> IO MacroParser -> mkParser idirs defines macheader = do -> types <- getTypeIdents idirs defines macheader -> result <- myCPP idirs defines Nothing ["-imacros", macheader, "-dM", "-P"] (Left "\n") +> mkParser :: [FilePath] -> [(String, String)] -> FilePath -> [String] -> IO MacroParser +> mkParser idirs defines macheader gccopts = do +> types <- getTypeIdents idirs defines macheader gccopts +> result <- myCPP idirs defines Nothing (["-imacros", macheader, "-dM", "-P"] ++ gccopts) (Left "\n")
(errorFP, errorH) <- tmpHandle (outFile, outH) <- tmpHandle pid <- runProcess "grep" ["-v", "__STDC", result] Nothing Nothing Nothing (Just outH) (Just errorH)
@@ -283,7 +283,7 @@ Functions to generate AST objects from C template code
case result of -- parse succeeded, so we return the expression (Right expr) -> expr
-> (Left pe) -> assert False (CVar (newIdent "blah" ni) ni) +> (Left pe) -> trace ("Error constructing expression:\n" ++ s ++ (show pe)) (assert False (CVar (newIdent "blah" ni) ni))
funDefDecl creates the return type declaration for a given function. The parameters to funDefDecl are the function definition and the name of the return type. For example, a function defined as: diff --git a/code/src/aesop/parser/Walker.lhs b/code/src/aesop/parser/Walker.lhs index 5175644..186245d 100644 --- a/code/src/aesop/parser/Walker.lhs +++ b/code/src/aesop/parser/Walker.lhs @@ -108,10 +108,19 @@ filename, prefix stack, blocking call registry, and blocking function pointer re
blockingParser :: Maybe MacroParser }
-> newWalkerState :: String -> [String] -> [(String, String)] -> (Walker -> String -> ReturnType -> String -> NodeInfo -> [CStat]) -> (Walker -> BlockingContext -> NodeInfo -> [CStat]) -> (CStat -> CStat -> WalkerT CStat) -> FilePath -> IO Walker -> newWalkerState fname includes defines errorWriter pbranchDone transExit macroHeader = do +> newWalkerState :: String -> +> [String] -> +> [(String, String)] -> +> (Walker -> String -> ReturnType -> String -> NodeInfo -> [CStat]) -> +> (Walker -> BlockingContext -> NodeInfo -> [CStat]) -> +> (CStat -> CStat -> WalkerT CStat) -> +> FilePath -> +> [String] -> +> IO Walker + +> newWalkerState fname includes defines errorWriter pbranchDone transExit macroHeader gccopts = do
varReg <- newVarRegistry -> bp <- mkParser includes defines macroHeader +> bp <- mkParser includes defines macroHeader gccopts return $ Walker fname includes defines ["ctl"] errorWriter pbranchDone transExit [] [] varReg (Just bp)
setBlockingParser :: MacroParser -> WalkerT () diff --git a/code/src/aesop/parser/ae-blocking-parser.lhs b/code/src/aesop/parser/ae-blocking-parser.lhs index cb2e99b..ce46926 100644 --- a/code/src/aesop/parser/ae-blocking-parser.lhs +++ b/code/src/aesop/parser/ae-blocking-parser.lhs @@ -1695,20 +1695,20 @@ CStat: The blocking statement input_stream <- readInputStream input_file let parse_result = parseC input_stream (position 0 input_file 1 1) case parse_result of -> Left parse_err -> error (show parse_err) +> Left parse_err -> error $ "Parse failed for input file: " ++ input_file ++ ": " ++ (show parse_err) Right ast -> return ast
generateASTWithCPP :: FilePath -> [String] -> IO CTranslUnit generateASTWithCPP input_file includes = do parseResult <- parseCFile (newGCC "gcc") Nothing (("-x c"):includes) input_file case parseResult of -> Left p -> error (show p) +> Left p -> error $ "CPP/Parse failed for input file: " ++ input_file ++ ": " ++ (show p) Right ast -> return ast
-> parseHeader :: FilePath -> [String] -> [(String, String)] -> Maybe FilePath -> FilePath -> IO () -> parseHeader headerfile includes defs report outfile = do +> parseHeader :: FilePath -> [String] -> [(String, String)] -> Maybe FilePath -> FilePath -> [String]-> IO () +> parseHeader headerfile includes defs report outfile gccopts = do
let r = if isJust report then fromJust report else headerfile -> w <- newWalkerState r includes defs mkErrorPostHandler mkPBranchPostDoneStmts transformFuncReturnStmts "src/aesop/ae-blocking-parser.h" +> w <- newWalkerState r includes defs mkErrorPostHandler mkPBranchPostDoneStmts transformFuncReturnStmts "src/aesop/ae-blocking-parser.h" gccopts ctu <- generateAST headerfile (pairs, w) <- runStateT (getBlockingHeaderDecls ctu) w writeFile outfile "\n\n/* This is an auto-generated file created by the ae-blocking-parser tool. DO NOT MODIFY! */\n\n" @@ -1718,10 +1718,10 @@ CStat: The blocking statement removeFile $ macheader $ fromJust $ blockingParser w return ()
-> parseFile :: Bool -> [String] -> [(String, String)] -> FilePath -> Maybe FilePath -> FilePath -> IO () -> parseFile p includes defs outfile report f = do +> parseFile :: Bool -> [String] -> [(String, String)] -> FilePath -> Maybe FilePath -> [String] -> FilePath -> IO () +> parseFile p includes defs outfile report gccopts f = do
let r = if isJust report then fromJust report else f -> w <- newWalkerState r includes defs mkErrorPostHandler mkPBranchPostDoneStmts transformFuncReturnStmts "src/aesop/ae-blocking-parser.h" +> w <- newWalkerState r includes defs mkErrorPostHandler mkPBranchPostDoneStmts transformFuncReturnStmts "src/aesop/ae-blocking-parser.h" gccopts ctu <- generateAST f (ctuWithPostDecls, w) <- runStateT (registerBlockingFunDecls ctu) w -- runStateT (printRegisteredBlockingCalls) w @@ -1735,7 +1735,7 @@ CStat: The blocking statement removeFile $ macheader $ fromJust $ blockingParser w return ()
-> data ParserOpts = Pretty | Help | Include String | Report String | Outfile String | Header | Define (String, String) +> data ParserOpts = Pretty | Help | Include String | Report String | Outfile String | Header | Define (String, String) | GCCOpt String
getIncludes :: [ParserOpts] -> [String] getIncludes ((Include s):ps) = s:(getIncludes ps) @@ -1765,6 +1765,11 @@ CStat: The blocking statement getDefs (_:ps) = getDefs ps getDefs [] = []
+> getGCCOpts :: [ParserOpts] -> [String] +> getGCCOpts ((GCCOpt s):ps) = s:(getGCCOpts ps) +> getGCCOpts (_:ps) = getGCCOpts ps +> getGCCOpts [] = [] +
parserOpts :: [OptDescr ParserOpts] parserOpts = [ Option ['p'] ["pretty"] (NoArg Pretty) @@ -1781,6 +1786,8 @@ CStat: The blocking statement "parse header file instead of source" , Option ['D'] ["define"] (ReqArg (\s -> newDefine s) "<cpp def>") "define a CPP macro or variable" +> , Option ['g'] ["gccopt"] (ReqArg (\s -> GCCOpt s) "<gcc option>") +> "pass the option to invocations of gcc" ]
optPretty :: ParserOpts -> Bool @@ -1806,11 +1813,12 @@ CStat: The blocking statement outfile = getOutfile opts pheader = any optHeader opts defines = getDefs opts +> gccopts = getGCCOpts opts header = "Usage: ae-blocking-parser [OPTIONS...] files..." when (not $ null errs) $ ioError $ userError ((concat errs) ++ (usageInfo header parserOpts)) when help $ do { putStrLn $ usageInfo header parserOpts ; exitWith (ExitFailure 1) } when (isNothing outfile) $ ioError $ userError "No output file specified." -> when pheader $ do { mapM_ (\f -> parseHeader f includes defines report (fromJust outfile)) files ; exitWith (ExitSuccess) } -> mapM_ (parseFile pretty includes defines (fromJust outfile) report) files +> when pheader $ do { mapM_ (\f -> parseHeader f includes defines report (fromJust outfile) gccopts) files ; exitWith (ExitSuccess) } +> mapM_ (parseFile pretty includes defines (fromJust outfile) report gccopts) files
diff --git a/code/src/aesop/parser/ae-remote-parser.lhs b/code/src/aesop/parser/ae-remote-parser.lhs index 81ce30c..4b64680 100644 --- a/code/src/aesop/parser/ae-remote-parser.lhs +++ b/code/src/aesop/parser/ae-remote-parser.lhs @@ -138,10 +138,10 @@ is set to true.
when (isJust res) $ invalid (s ++ " already has encoding functions defined.\n") ni liftIO $ Data.HashTable.insert (typeReg r) s (True, True, True, True, True)
-> newRemoteState :: String -> [FilePath] -> [(String, String)] -> FilePath -> IO Remote -> newRemoteState fname includes defs macroHeader = do +> newRemoteState :: String -> [FilePath] -> [(String, String)] -> FilePath -> [String] -> IO Remote +> newRemoteState fname includes defs macroHeader gccopts = do
r <- Data.HashTable.new (==) Data.HashTable.hashString
-> bp <- mkParser includes defs macroHeader +> bp <- mkParser includes defs macroHeader gccopts
return $ Remote fname r [] includes defs (Just bp)
getRemoteTypeName :: CTypeSpec -> Maybe String @@ -538,7 +538,7 @@ CTypeOfType CDecl NodeInfo newdecls <- liftM concat $ sequence $ map registerRemoteDecl decls return $ CTranslUnit newdecls ni
-> data ParserOpts = Pretty | Help | Include String | Report String | Outfile String | Header | ServiceName String | RegistryDir String | Define (String, String) +> data ParserOpts = Pretty | Help | Include String | Report String | Outfile String | Header | ServiceName String | RegistryDir String | Define (String, String) | GCCOpt String
newDefine :: String -> ParserOpts newDefine s = Define $ parseDef ([], []) s @@ -578,6 +578,11 @@ CTypeOfType CDecl NodeInfo getIncludeOpts (_:ps) = getIncludeOpts ps getIncludeOpts [] = []
+> getGCCOpts :: [ParserOpts] -> [String] +> getGCCOpts ((GCCOpt o):ps) = o:(getGCCOpts ps) +> getGCCOpts (_:ps) = getGCCOpts ps +> getGCCOpts [] = [] +
parserOpts :: [OptDescr ParserOpts] parserOpts = [ Option ['p'] ["pretty"] (NoArg Pretty) @@ -598,6 +603,8 @@ CTypeOfType CDecl NodeInfo "registry directory path to use for generated service files" , Option ['D'] ["define"] (ReqArg (\s -> newDefine s) "<cpp define>") "define a CPP macro or variable" +> , Option ['g'] ["gccopt"] (ReqArg (\s -> GCCOpt s) "<gcc option>") +> "pass this gcc option when gcc is invoked" ]
optPretty :: ParserOpts -> Bool @@ -648,7 +655,7 @@ CTypeOfType CDecl NodeInfo return $ mkFunDef ((CTypeDef (newIdent "triton_ret_t" ni) ni), []) -- return type newspecs -- get the storage specs for the function ("remote_" ++ fname) -- the function name for the stub -> ((genCDecl "triton_node_t" "id" ni) : params) -- parameters +> ((genCDecl "triton_addr_t" "id" ni) : params) -- parameters stubStmts
mkServiceFun :: CFunDef -> RemoteT CExtDecl @@ -778,7 +785,7 @@ CTypeOfType CDecl NodeInfo input_stream <- readInputStream input_file let parse_result = parseC input_stream (position 0 input_file 1 1) case parse_result of -> Left parse_err -> error (show parse_err) +> Left parse_err -> error $ "Parse failed for input file: " ++ input_file ++ ": " ++ (show parse_err) Right ast -> return ast
getRegistryDecl :: String -> NodeInfo -> CTranslUnit @@ -841,6 +848,7 @@ CTypeOfType CDecl NodeInfo sname = getServiceName opts regdir = getRegistryDir opts defs = getDefs opts +> gccopts = getGCCOpts opts header = "Usage: ae-remote-parser [OPTIONS...] files..."
when (not $ null errs) $ ioError $ userError ((concat errs) ++ @@ -850,7 +858,8 @@ CTypeOfType CDecl NodeInfo when (isNothing outfile && isNothing sname) $ ioError $ userError "No output file specified."
when pheader $ do { mapM_ (\f -> parseRemoteHeader f report (fromJust outfile)) files ; exitWith (ExitSuccess) }
-> r <- newRemoteState "" includes defs "src/aesop/ae-remote-parser.h" -- empty string here because the parseRemote function sets the filename for each file +> -- empty string here because the parseRemote function sets the filename for each file +> r <- newRemoteState "" includes defs "src/aesop/ae-remote-parser.h" gccopts
let remotes = map (\f -> parseRemote pretty includes outfile report f) files :: [RemoteT ()] r <- foldM (flip execStateT) r remotes when (isJust sname) $ do { runStateT (writeRegistryFiles (fromJust sname) regdir) r; return () }
diff --git a/code/src/aesop/parser/tests/remote/test-remote-fault-injector.aer b/code/src/aesop/parser/tests/remote/test-remote-fault-injector.aer index e7d342f..72046a9 100644 --- a/code/src/aesop/parser/tests/remote/test-remote-fault-injector.aer +++ b/code/src/aesop/parser/tests/remote/test-remote-fault-injector.aer @@ -20,7 +20,6 @@ #include "mpi.h"
-static triton_msg_ctx_t mpi_msg_ctx; static float failure_rate = 0;
__remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out); @@ -30,7 +29,7 @@ __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out) triton_ret_t ret, ret1 = TRITON_SUCCESS, ret2 = TRITON_SUCCESS; - triton_node_t from, self, n1, n2; + triton_addr_t from, self, n1, n2; triton_string_t fromstr, selfstr; int rank, r1, r2, size; char n1str[100], n2str[100]; @@ -53,10 +52,12 @@ __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out) r2 = r1 + 2; }
- sprintf(n1str, "%d", r1); - n1 = triton_node_lookup(mpi_msg_ctx, n1str); - sprintf(n2str, "%d", r2); - n2 = triton_node_lookup(mpi_msg_ctx, n2str); + sprintf(n1str, "mpi://%d", r1); + ret = triton_addr_lookup(n1str, &n1); + assert(ret == TRITON_SUCCESS); + sprintf(n2str, "mpi://%d", r2); + ret = triton_addr_lookup(n2str, &n2); + assert(ret == TRITON_SUCCESS);
pwait { @@ -206,10 +207,6 @@ int main(int argc, char *argv[]) ret = aer_service_init(); assert(ret == TRITON_SUCCESS);
- /* we need the mpi context so that we can lookup nodes */ - mpi_msg_ctx = aer_service_get_context(); - assert(mpi_msg_ctx); - ret = aer_remote_register_test_remote_fault(); assert(ret == TRITON_SUCCESS);
diff --git a/code/src/aesop/parser/tests/remote/test-remote-mock.aer b/code/src/aesop/parser/tests/remote/test-remote-mock.aer index a95509b..95d68d6 100644 --- a/code/src/aesop/parser/tests/remote/test-remote-mock.aer +++ b/code/src/aesop/parser/tests/remote/test-remote-mock.aer @@ -5,16 +5,16 @@ #include "src/aesop/hints.h" #include "src/remote/encoding.h" #include "src/remote/remote.hae" +#include "src/net/triton-addr.h" #include "src/net/triton-message.hae" #include "src/net/triton-message-method.hae" #include "src/net/mock/mock-method.h" #include "src/common/resources/scheduling/sched.hae" #include "src/common/resources/timer/timer.hae" +#include "src/zeroconf/zeroconf.h"
#include "src/remote/service.hae"
-static triton_msg_ctx_t mock_ctx; - __remote struct myremotes { int32_t t1; @@ -26,7 +26,7 @@ __remote __blocking triton_ret_t remotefun1(int32_t in, int32_t *out); __remote __blocking triton_ret_t remotefun1(int32_t in, int32_t *out) { triton_ret_t ret; - triton_node_t from, self; + triton_addr_t from, self; triton_string_t fromstr, selfstr;
/* do a blocking call here just so we have something */ @@ -39,7 +39,7 @@ __remote __blocking triton_ret_t remotefun1(int32_t in, int32_t *out) { return ret; } - ret = triton_node_to_string(mock_ctx, self, &selfstr); + ret = triton_addr_to_string(self, &selfstr); if(ret != TRITON_SUCCESS) { return ret; @@ -51,7 +51,7 @@ __remote __blocking triton_ret_t remotefun1(int32_t in, int32_t *out) { return ret; } - ret = triton_node_to_string(mock_ctx, from, &fromstr); + ret = triton_addr_to_string(from, &fromstr); if(ret != TRITON_SUCCESS) { return ret; @@ -70,7 +70,7 @@ __remote __blocking triton_ret_t remotefun2(struct myremotes *in, struct myremot __remote __blocking triton_ret_t remotefun2(struct myremotes *in, struct myremotes *out) { triton_ret_t ret; - triton_node_t from, self; + triton_addr_t from, self; triton_string_t fromstr, selfstr;
/* do a blocking call here just so we have something */ @@ -84,7 +84,7 @@ __remote __blocking triton_ret_t remotefun2(struct myremotes *in, struct myremot { return ret; } - ret = triton_node_to_string(mock_ctx, self, &selfstr); + ret = triton_addr_to_string(self, &selfstr); if(ret != TRITON_SUCCESS) { return ret; @@ -95,13 +95,15 @@ __remote __blocking triton_ret_t remotefun2(struct myremotes *in, struct myremot { return ret; } - ret = triton_node_to_string(mock_ctx, from, &fromstr); + ret = triton_addr_to_string(from, &fromstr); if(ret != TRITON_SUCCESS) { return ret; }
- printf("remotefun2 invoked from (%s -> %s): in: (%d,%d) out: (%d,%d)\n", fromstr.string, selfstr.string, in->t1, in->ut1, out->t1, out->ut1); + printf("remotefun2 invoked from (%s -> %s): in: (%d,%llu) out: (%d,%llu)\n", + fromstr.string, selfstr.string, + in->t1, (unsigned long long)in->ut1, out->t1, (unsigned long long)out->ut1);
triton_string_destroy(&fromstr);
@@ -116,7 +118,7 @@ __blocking void do_remote_clients(int count)
pwait { - pprivate triton_node_t self, node0; + pprivate triton_addr_t self, node0; pprivate int i; pprivate char nodestr[100];
@@ -124,12 +126,19 @@ __blocking void do_remote_clients(int count) { pbranch { - sprintf(nodestr, "%d", i); - self = triton_node_lookup(mock_ctx, nodestr); + /* kind of a hack, we setup the nodes here by doing a lookup of a node string + * in the mock method and then for this pbranch, tell the mock method what its + * current address is using hints. + * Future triton_addr_self() calls will return this addr. + */ + sprintf(nodestr, "mock://%d", i); + ret = triton_addr_lookup(nodestr, &self); + assert(ret == TRITON_SUCCESS); ret = aesop_hints_put("triton.mock.self", sizeof(self), &self); assert(ret == TRITON_SUCCESS);
- node0 = triton_node_lookup(mock_ctx, "0"); + ret = triton_addr_lookup("mock://0", &node0); + assert(ret == TRITON_SUCCESS);
ret = remote_remotefun1(node0, 10, &fun1res); assert(ret == TRITON_SUCCESS); @@ -153,11 +162,14 @@ __blocking void do_remote_test(int count)
pwait { - pprivate triton_node_t self; + pprivate triton_addr_t self;
pbranch { - self = triton_node_lookup(mock_ctx, "0"); + /* tell the server what its address is */ + + ret = triton_addr_lookup("0", &self); + assert(ret == TRITON_SUCCESS); ret = aesop_hints_put("triton.mock.self", sizeof(self), &self); assert(ret == TRITON_SUCCESS);
@@ -214,7 +226,7 @@ int main(int argc, char *argv[]) ret = triton_msg_mock_init(); assert(ret == TRITON_SUCCESS);
- ret = triton_msg_enable_method("mock", &mock_ctx); + ret = triton_msg_enable_method("mock"); assert(ret == TRITON_SUCCESS);
if(argc > 2) diff --git a/code/src/aesop/parser/tests/remote/test-remote-mpi.aer b/code/src/aesop/parser/tests/remote/test-remote-mpi.aer index 106427a..3ad0724 100644 --- a/code/src/aesop/parser/tests/remote/test-remote-mpi.aer +++ b/code/src/aesop/parser/tests/remote/test-remote-mpi.aer @@ -19,8 +19,6 @@ #include "mpi.h"
-static triton_msg_ctx_t mpi_msg_ctx; - __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out);
__remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out) @@ -28,7 +26,7 @@ __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out) triton_ret_t ret, ret1 = TRITON_SUCCESS, ret2 = TRITON_SUCCESS; - triton_node_t from, self, n1, n2; + triton_addr_t from, self, n1, n2; triton_string_t fromstr, selfstr; int rank, r1, r2, size; char n1str[100], n2str[100]; @@ -51,10 +49,13 @@ __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t *out) r2 = r1 + 2; }
- sprintf(n1str, "%d", r1); - n1 = triton_node_lookup(mpi_msg_ctx, n1str); - sprintf(n2str, "%d", r2); - n2 = triton_node_lookup(mpi_msg_ctx, n2str); + sprintf(n1str, "mpi://%d", r1); + ret = triton_addr_lookup(n1str, &n1); + assert(ret == TRITON_SUCCESS); + + sprintf(n2str, "mpi://%d", r2); + ret = triton_addr_lookup(n2str, &n2); + assert(ret == TRITON_SUCCESS);
pwait { @@ -183,10 +184,6 @@ int main(int argc, char *argv[]) ret = aer_service_init(); assert(ret == TRITON_SUCCESS);
- /* we need the mpi context so that we can lookup nodes */ - mpi_msg_ctx = aer_service_get_context(); - assert(mpi_msg_ctx); - ret = aer_remote_register_test_remote_mpi(); assert(ret == TRITON_SUCCESS);
diff --git a/code/src/common/tests/testhash.c b/code/src/common/tests/testhash.c index 2a79dfb..48905aa 100644 --- a/code/src/common/tests/testhash.c +++ b/code/src/common/tests/testhash.c @@ -5,7 +5,7 @@ #include "src/common/triton-hash.h" #include "src/common/triton-string.h"
-#include "src/net/triton-node.h" +#include "src/net/triton-addr.h"
struct e { @@ -21,14 +21,14 @@ struct s
struct n { - triton_node_t *node; + triton_addr_t *node; triton_list_link_t link; };
struct k { - triton_node_t from; - triton_node_t to; + triton_addr_t from; + triton_addr_t to; int32_t tag; };
@@ -75,7 +75,7 @@ static int s_compare(void *key, struct triton_hash_link *link)
static int n_compare(void *key, struct triton_hash_link *link) { - triton_node_t *value1 = (triton_node_t *)key; + triton_addr_t *value1 = (triton_addr_t *)key; struct n *value2 = triton_hash_get_entry(link, struct n, link); assert(key); assert(link); @@ -176,7 +176,7 @@ int main(int argc, char *argv[]) for(i = 0; i < 3; ++i) { ns = malloc(sizeof(*ns)); - ns->node = malloc(sizeof(triton_node_t)); + ns->node = malloc(sizeof(triton_addr_t)); ns->node->l = i*i; ns->node->u = i+i; triton_hash_add(table, ns->node, &(ns->link)); @@ -184,7 +184,7 @@ int main(int argc, char *argv[])
for(i = 0; i < 3; ++i) { - triton_node_t node; + triton_addr_t node; node.l = i*i; node.u = i+i; result = triton_hash_search(table, &node); diff --git a/code/src/common/tests/testlist.c b/code/src/common/tests/testlist.c index 6f984ec..cd404ac 100644 --- a/code/src/common/tests/testlist.c +++ b/code/src/common/tests/testlist.c @@ -144,7 +144,7 @@ int main(int argc, char *argv[]) }
i = 0; - triton_list_for_each_entry(ep, esc, &l, link) + triton_list_for_each_entry(ep, esc, &l, struct e, link) { assert(ep->v == i); triton_list_del(&ep->link); diff --git a/code/src/common/triton-debug.c b/code/src/common/triton-debug.c index 3df655e..e308763 100644 --- a/code/src/common/triton-debug.c +++ b/code/src/common/triton-debug.c @@ -312,7 +312,7 @@ triton_ret_t triton_debug_enable(const char *file, const char *masks) { /* unknown mask */ free(tmpmasks); - return triton_error_wrap(TRITON_ERR_INVAL, TRITON_NODE_NULL, "Unknown debug mask '%s'", s); + return triton_error_wrap(TRITON_ERR_INVAL, TRITON_ADDR_NULL, "Unknown debug mask '%s'", s); } entry = triton_hash_get_entry(llink, struct triton_debug_mask_entry, link); assert(entry); @@ -347,7 +347,7 @@ void triton_debug_disable(void) triton_debug_enabled_none = 1; triton_debug_enabled_all = 0; triton_bitarray_clear(triton_debug_enabled_minor, TRITON_DEBUG_MAXSIZE); - triton_list_for_each_entry(m, sm, &allocated_masks, link) + triton_list_for_each_entry(m, sm, &allocated_masks, triton_debug_mask_t, link) { free(m->string); triton_list_del(&m->link); diff --git a/code/src/common/triton-error.c b/code/src/common/triton-error.c index a8dcee7..98219be 100644 --- a/code/src/common/triton-error.c +++ b/code/src/common/triton-error.c @@ -82,7 +82,7 @@ triton_ret_t triton_error_from_errno(int errno_val)
static inline triton_ret_t error_wrap_va( triton_ret_t parent, - triton_node_t node, + triton_addr_t node, triton_error_code_t error_code, const char *format, va_list ap) @@ -120,7 +120,7 @@ static inline triton_ret_t error_wrap_va( return err; }
-triton_ret_t triton_error_wrap(triton_ret_t parent, triton_node_t node, const char *format, ...) +triton_ret_t triton_error_wrap(triton_ret_t parent, triton_addr_t node, const char *format, ...) { triton_ret_t ret; va_list ap; @@ -130,7 +130,7 @@ triton_ret_t triton_error_wrap(triton_ret_t parent, triton_node_t node, const ch return ret; }
-triton_ret_t triton_error_wrap_with_code(triton_ret_t parent, triton_node_t node, triton_error_code_t error_code, const char *format, ...) +triton_ret_t triton_error_wrap_with_code(triton_ret_t parent, triton_addr_t node, triton_error_code_t error_code, const char *format, ...) { triton_ret_t ret; va_list ap; @@ -160,7 +160,7 @@ void triton_error_destroy(triton_ret_t error) return; }
-triton_ret_t triton_error_to_strings(triton_ret_t error, triton_msg_ctx_t msg_ctx, triton_string_t **strings, int *count) +triton_ret_t triton_error_to_strings(triton_ret_t error, triton_string_t **strings, int *count) { triton_ret_t tmperr; triton_string_t *strs; @@ -182,9 +182,10 @@ triton_ret_t triton_error_to_strings(triton_ret_t error, triton_msg_ctx_t msg_ct triton_string_t nodestr; triton_ret_t ret;
- ret = triton_node_to_string(msg_ctx, tmperr->node, &nodestr); + ret = triton_addr_to_string(tmperr->node, &nodestr);
- triton_string_init(&strs[ind], "{%s} %s", (ret == TRITON_SUCCESS) ? triton_string_get(&nodestr) : "none", triton_string_get(&tmperr->message)); + triton_string_init(&strs[ind], "{%s} %s", + (ret == TRITON_SUCCESS) ? triton_string_get(&nodestr) : "none", triton_string_get(&tmperr->message)); if(ret == TRITON_SUCCESS) triton_string_destroy(&nodestr); tmperr = tmperr->base; } diff --git a/code/src/common/triton-error.h b/code/src/common/triton-error.h index 6334105..241e345 100644 --- a/code/src/common/triton-error.h +++ b/code/src/common/triton-error.h @@ -26,11 +26,11 @@ typedef int32_t triton_error_code_t;
typedef struct triton_error *triton_ret_t;
-#include "src/net/triton-node.h" +#include "src/net/triton-addr.h"
struct triton_error { - triton_node_t node; + triton_addr_t node; triton_error_code_t error_code; triton_string_t message; int count; @@ -45,7 +45,7 @@ extern triton_ret_t TRITON_##__name__
#define TRITON_ERROR_DEF(__name__, __val__, __msg__) \ triton_error_code_t TRITON_##__name__##_CODE = __val__; \ -struct triton_error static_triton_##__name__ = { TRITON_NODE_NULL_STATIC_INITIALIZER, __val__, triton_string_init_const(__msg__), 0, NULL}; \ +struct triton_error static_triton_##__name__ = { TRITON_ADDR_NULL_STATIC_INITIALIZER, __val__, triton_string_init_const(__msg__), 0, NULL}; \ triton_ret_t TRITON_##__name__ = &static_triton_##__name__
TRITON_ERROR_DECL(ERR_NULL); @@ -106,13 +106,13 @@ triton_ret_t triton_error_from_error_code(triton_error_code_t ec); */ triton_ret_t triton_error_wrap( triton_ret_t parent, - triton_node_t node, + triton_addr_t node, const char *message, /** An optional message to add to the error */ ...);
triton_ret_t triton_error_wrap_with_code( triton_ret_t parent, - triton_node_t node, + triton_addr_t node, triton_error_code_t error_code, const char *format, ...);
@@ -121,6 +121,6 @@ triton_ret_t triton_error_wrap_with_code( */ void triton_error_destroy(triton_ret_t error);
-triton_ret_t triton_error_to_strings(triton_ret_t error, triton_msg_ctx_t msg_ctx, triton_string_t **error_strings, int *count); +triton_ret_t triton_error_to_strings(triton_ret_t error, triton_string_t **error_strings, int *count);
#endif /* __TRITON_ERROR_H__ */ diff --git a/code/src/common/triton-error.h1 b/code/src/common/triton-error.h1 deleted file mode 100644 index 19e3a09..0000000 --- a/code/src/common/triton-error.h1 +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef __TRITON_ERROR_H__ -#define __TRITON_ERROR_H__ - -#include <errno.h> - -#include "src/common/triton-types.h" -#include "src/common/triton-string.h" -#include "src/net/triton-node.h" - -/* The number of errors that can be chained together to form a single error */ -#define TRITON_MAX_ERRORS 256 - -typedef int32_t triton_error_code_t; - -/** - * The error type allows errors to be wrapped in an error type, useful - * for managing error codes, logging errors in a consistent format, and - * later finger-pointing of errors. This structure and the - * companion error interfaces should be used throughout the entire framework. - * Errors in responses should - * be in the triton_ret_t format, and errors from resources and other components - * should use this type as well. - * The error structure consists of a single error code for the - * error, the source node where the error is generated, and optional error - * messages. - */ - -typedef struct triton_error *triton_ret_t; -__remote struct triton_error -{ - triton_node_t node; - triton_error_code_t error_code; - triton_string_t message; - int count; - triton_ret_t base; -}; - -#define TRITON_ERROR_DECL(__name__) \ -extern triton_error_code_t TRITON_##__name__##_CODE; \ -extern struct triton_error static_triton_##__name__; \ -extern triton_ret_t TRITON_##__name__ - -#define TRITON_ERROR_DEF(__name__, __val__, __msg__) \ -triton_error_code_t TRITON_##__name__##_CODE = __val__; \ -struct triton_error static_triton_##__name__ = { TRITON_NODE_NULL, __val__, triton_string_init_const(__msg__), 0, NULL}; \ -triton_ret_t TRITON_##__name__ = &static_triton_##__name__ - -TRITON_ERROR_DECL(ERR_NULL); - -TRITON_ERROR_DECL(SUCCESS); -TRITON_ERROR_DECL(ERR_NOMEM); -TRITON_ERROR_DECL(ERR_INVAL); -TRITON_ERROR_DECL(ERR_FAULT); -TRITON_ERROR_DECL(ERR_CANCEL); -TRITON_ERROR_DECL(ERR_NOSYS); -TRITON_ERROR_DECL(ERR_OVERFLOW); - -TRITON_ERROR_DECL(ERR_UNKNOWN); - -/** - * Get the error pointer of a given errno. If the errno is not known, just return - * an unknown error pointer. - */ -triton_ret_t triton_error_from_errno(int errno_val); - -/** - * Create a triton_ret_t type from a base error, and include a message - * about the error. The returned error structure is a heap variable, - * a companion call to triton_error_destroy is required. - * - * This function allows errors to be chained, allowing for proper - * finger pointer as errors are passed from node to node. - * - * If no terminal error already exists, TRITON_ERR_NULL should be used. - */ -triton_ret_t triton_error_wrap( - triton_ret_t terminal, - const char *message, /** An optional message to add to the error */ - ...); - -triton_ret_t triton_error_wrap_with_code( - triton_ret_t terminal, - triton_error_code_t error_code, - const char *format, ...); - -/** - * Free an error that was created with triton_error_wrap. - */ -void triton_error_destroy(triton_ret_t error); - -triton_ret_t triton_error_to_strings(triton_ret_t error, triton_string_t **error_strings, int *count); - -#endif /* __TRITON_ERROR_H__ */ diff --git a/code/src/common/triton-list.h b/code/src/common/triton-list.h index cde2460..41103e8 100644 --- a/code/src/common/triton-list.h +++ b/code/src/common/triton-list.h @@ -123,12 +123,12 @@ static inline uint64_t triton_list_count(triton_list_t *list) * @head: the head for your list. * @member: the name of the list_struct within the struct. */ -#define triton_list_for_each_entry(__pos, __scratch, __list, __member) \ - for (__pos = triton_list_get_entry((triton_list_tolink(__list))->next, typeof(*__pos), __member), \ - __scratch = triton_list_get_entry((triton_list_tolink(__list))->next->next, typeof(*__scratch), __member); \ +#define triton_list_for_each_entry(__pos, __scratch, __list, __type, __member) \ + for (__pos = triton_list_get_entry((triton_list_tolink(__list))->next, __type, __member), \ + __scratch = triton_list_get_entry((triton_list_tolink(__list))->next->next, __type, __member); \ (__pos) && (&(__pos)->__member != (triton_list_tolink(__list))); \ __pos = __scratch, \ - __scratch = triton_list_get_entry((__pos)->__member.next, typeof(*__scratch), __member)) + __scratch = triton_list_get_entry((__pos)->__member.next, __type, __member))
static inline int triton_list_exists(triton_list_t *list, struct triton_list_link *llink) { diff --git a/code/src/common/triton-log.c b/code/src/common/triton-log.c index be8c0f0..dcd5780 100644 --- a/code/src/common/triton-log.c +++ b/code/src/common/triton-log.c @@ -43,7 +43,7 @@ triton_ret_t triton_log_error(triton_log_t log, triton_ret_t error, const char *
/* TODO: for now we just spit out the error to stderr, need to fix this later */
- ret = triton_error_to_strings(error, NULL, &strings, &count); + ret = triton_error_to_strings(error, &strings, &count); if(ret != TRITON_SUCCESS) { return ret; diff --git a/code/src/common/triton-notify.c b/code/src/common/triton-notify.c index 6f18d01..dad974f 100644 --- a/code/src/common/triton-notify.c +++ b/code/src/common/triton-notify.c @@ -29,7 +29,7 @@ void triton_notify(triton_noter_t *noter, void *message) triton_listener_entry_t *entry; triton_listener_entry_t *scratch;
- triton_list_for_each_entry(entry, scratch, noter->listeners, link) + triton_list_for_each_entry(entry, scratch, noter->listeners, struct triton_listener_entry, link) { entry->listener(noter, message); } diff --git a/code/src/fakess/test/announce.ae b/code/src/fakess/test/announce.ae index ff4a3a2..c60dae7 100644 --- a/code/src/fakess/test/announce.ae +++ b/code/src/fakess/test/announce.ae @@ -26,7 +26,7 @@ static __blocking void receiver() triton_fakess_recv(MPI_COMM_WORLD);
triton_list_for_each_entry(peer, scratch, &triton_fakess_peers, - link) + triton_fakess_peer_t, link) { printf("peer: mpi rank: %i node: (%lu.%lu)\n", peer->rank, peer->node.u, peer->node.l); diff --git a/code/src/fakess/test/observer.ae b/code/src/fakess/test/observer.ae index 06cbc0a..b189f2f 100644 --- a/code/src/fakess/test/observer.ae +++ b/code/src/fakess/test/observer.ae @@ -42,7 +42,7 @@ __blocking void callback(int a)
static __blocking void receiver() { - triton_node_t node; + triton_addr_t node; triton_fakess_data_t *data; triton_string_t key; char *value; diff --git a/code/src/fakess/test/post-global.ae b/code/src/fakess/test/post-global.ae index b34fea2..41bd017 100644 --- a/code/src/fakess/test/post-global.ae +++ b/code/src/fakess/test/post-global.ae @@ -30,7 +30,7 @@ static __blocking void sender()
static __blocking void receiver() { - triton_node_t node; + triton_addr_t node; triton_fakess_data_t *data; triton_string_t key; char *value; diff --git a/code/src/net/fault-injector/fault-method.ae b/code/src/net/fault-injector/fault-method.ae index 1fd0840..40a9ac8 100644 --- a/code/src/net/fault-injector/fault-method.ae +++ b/code/src/net/fault-injector/fault-method.ae @@ -4,7 +4,7 @@
#include "src/net/fault-injector/fault-method.h" #include "src/common/triton-hash.h" -#include "src/net/triton-node.h" +#include "src/net/triton-addr.h" #include "src/net/triton-message.hae" #include "src/net/triton-message-method.hae" #include "src/common/resources/timer/timer.hae" @@ -39,34 +39,34 @@ static int should_fail(void) return 0; }
-static triton_node_t triton_msg_fault_node_self(void) +static triton_msg_method_addr_t fault_addr_self(void) { - return(base_method->node_self()); + return(base_method->addr_self()); }
-static triton_ret_t triton_msg_fault_node_to_string(triton_node_t node, triton_string_t *nodestr) +static triton_ret_t fault_addr_to_string(triton_msg_method_addr_t node, triton_string_t *nodestr) { - return(base_method->node_to_string(node, nodestr)); + return(base_method->addr_to_string(node, nodestr)); }
-static triton_node_t triton_msg_fault_node_lookup(const char *name) +static triton_ret_t fault_addr_lookup(const char *name, triton_msg_method_addr_t *addr) { - return(base_method->node_lookup(name)); + return(base_method->addr_lookup(name, addr)); }
-static triton_ret_t triton_msg_fault_group_add(const char *service_name, triton_msg_group_t *group) +static triton_ret_t fault_group_add(const char *service_name, triton_msg_method_group_t *group) { return(base_method->group_add(service_name, group)); }
-static triton_msg_tag_t triton_msg_fault_new_tag(triton_msg_group_t group) +static triton_msg_tag_t fault_new_tag(triton_msg_group_t group) { return(base_method->new_tag(group)); }
-static __blocking triton_ret_t triton_msg_fault_send( - triton_node_t to, - triton_msg_group_t group, +static __blocking triton_ret_t fault_send( + triton_msg_method_addr_t to, + triton_msg_method_group_t group, triton_msg_tag_t tag, int count, char **buffers, @@ -81,9 +81,9 @@ static __blocking triton_ret_t triton_msg_fault_send( return(base_method->send(to, group, tag, count, buffers, sizes)); }
-static __blocking triton_ret_t triton_msg_fault_recv( - triton_node_t from, - triton_msg_group_t group, +static __blocking triton_ret_t fault_recv( + triton_msg_method_addr_t from, + triton_msg_method_group_t group, triton_msg_tag_t tag, int count, char **buffers, @@ -99,9 +99,9 @@ static __blocking triton_ret_t triton_msg_fault_recv( return(base_method->recv(from, group, tag, count, buffers, sizes, bytes_received)); }
-static __blocking triton_ret_t triton_msg_fault_recv_any( - triton_msg_group_t group, - triton_node_t *from, +static __blocking triton_ret_t fault_recv_any( + triton_msg_method_group_t group, + triton_msg_method_addr_t *from, triton_msg_tag_t *tag, int count, char **buffers, @@ -116,12 +116,12 @@ static __blocking triton_ret_t triton_msg_fault_recv_any( return(base_method->recv_any(group, from, tag, count, buffers, sizes, bytes_received)); }
-static triton_ret_t triton_msg_fault_enable(void) +static triton_ret_t fault_enable(void) { return(base_method->enable()); }
-static void triton_msg_fault_disable(void) +static void fault_disable(void) { return(base_method->disable()); } @@ -129,20 +129,20 @@ static void triton_msg_fault_disable(void) static struct triton_msg_method triton_msg_fault_method = { .name = "fault-injector", - .id = FAULT_METHOD_ID,
- .node_self = triton_msg_fault_node_self, - .node_to_string = triton_msg_fault_node_to_string, - .node_lookup = triton_msg_fault_node_lookup, - .new_tag = triton_msg_fault_new_tag, + .addr_self = fault_addr_self, + .addr_equal = fault_addr_equal, + .addr_to_string = fault_addr_to_string, + .addr_lookup = fault_addr_lookup, + .new_tag = fault_new_tag,
- .enable = triton_msg_fault_enable, - .disable = triton_msg_fault_disable, + .enable = fault_enable, + .disable = fault_disable,
- .group_add = triton_msg_fault_group_add, - .send = triton_msg_fault_send, - .recv = triton_msg_fault_recv, - .recv_any = triton_msg_fault_recv_any + .group_add = fault_group_add, + .send = fault_send, + .recv = fault_recv, + .recv_any = fault_recv_any };
/* __attribute__((constructor)) void triton_msg_fault_init(const char* base_method_name) */ diff --git a/code/src/net/mock/mock-method.ae b/code/src/net/mock/mock-method.ae index 7634c7d..3730f77 100644 --- a/code/src/net/mock/mock-method.ae +++ b/code/src/net/mock/mock-method.ae @@ -1,7 +1,7 @@
#include "src/common/triton-hash.h" #include "src/aesop/hints.h" -#include "src/net/triton-node.h" +#include "src/net/triton-addr.h" #include "src/net/triton-message.hae" #include "src/net/triton-message-method.hae" #include "src/common/resources/scheduling/sched.hae" @@ -9,38 +9,36 @@
#include <stdint.h>
-#define MOCK_METHOD_ID 2 +static triton_msg_method_addr_t triton_mock_zero = 0;
-static uint128_t triton_mock_zero = {0, triton_method_id_mask(MOCK_METHOD_ID)}; +static triton_debug_mask_t mock_dbg_mask;
-triton_debug_mask_t mock_dbg_mask; - -static triton_node_t triton_msg_mock_node_self(void) +static triton_msg_method_addr_t mock_addr_self(void) { return triton_mock_zero; }
-static triton_ret_t triton_msg_mock_node_to_string(triton_node_t node, triton_string_t *rstr) +static int mock_addr_equal(triton_msg_method_addr_t a1, triton_msg_method_addr_t a2) { - assert(node.u == triton_method_id_mask(MOCK_METHOD_ID)); - - triton_string_init(rstr, "%d", node.l); + return a1 == a2; +}
+static triton_ret_t mock_addr_to_string(triton_msg_method_addr_t addr, triton_string_t *rstr) +{ + triton_string_init(rstr, "%d", addr); return TRITON_SUCCESS; }
-static triton_node_t triton_msg_mock_node_lookup(const char *name) +static triton_ret_t mock_addr_lookup(const char *name, triton_msg_method_addr_t *addr) { - triton_node_t n; - triton_node_set_method_id(n, MOCK_METHOD_ID); - n.l = atoi(name); - return n; + *addr = atoi(name); + return TRITON_SUCCESS; }
struct match_key { - triton_node_t from; - triton_node_t to; + triton_msg_method_addr_t from; + triton_msg_method_addr_t to; triton_msg_tag_t tag; uint32_t __padding; }; @@ -76,8 +74,8 @@ struct recv
struct recvany { - triton_node_t self; - triton_node_t *from; + triton_msg_method_addr_t self; + triton_msg_method_addr_t *from; triton_msg_tag_t *tag; int count; char **buffers; @@ -89,9 +87,9 @@ struct recvany struct triton_list_link link; };
-struct node_waiting_entry +struct addr_waiting_entry { - triton_node_t node; + triton_msg_method_addr_t addr; triton_list_t queue; struct triton_hash_link hash_link; }; @@ -99,7 +97,7 @@ struct node_waiting_entry struct triton_mock_group { char *name; - triton_msg_group_t group; + triton_msg_method_group_t group; int tag_counter;
triton_mutex_t match_mutex; @@ -114,10 +112,10 @@ struct triton_mock_group */ struct triton_hash_table *recvh;
- /* hash of node to node_waiting_entry struct (holds queue of waiting sends) to be checked by recvany */ + /* hash of addr to addr_waiting_entry struct (holds queue of waiting sends) to be checked by recvany */ struct triton_hash_table *sendq;
- /* hash of node to node_waiting_entry struct (holds queue of wiating recvanys) to be checked by send */ + /* hash of addr to addr_waiting_entry struct (holds queue of wiating recvanys) to be checked by send */ struct triton_hash_table *recvanyq;
/* hash entry for groups hash */ @@ -145,7 +143,7 @@ static void group_entry_free(void *x)
static int mock_enabled = 0;
-static void triton_msg_mock_disable(void) +static void mock_disable(void) { mock_enabled--; assert(mock_enabled >= 0); @@ -169,7 +167,7 @@ static int group_hash(void *key, int table_size) return (*(uint32_t *)key) & (table_size - 1); }
-static triton_ret_t triton_msg_mock_enable(void) +static triton_ret_t mock_enable(void) { if(mock_enabled == 0) { @@ -189,7 +187,8 @@ static int send_compare(void *k, struct triton_hash_link *l) struct match_key *key = (struct match_key *)k; struct send *s = triton_hash_get_entry(l, struct send, hash_link);
- return (!memcmp(&s->key.from, &key->from, sizeof(key->from)) && !memcmp(&s->key.to, &key->to, sizeof(key->to)) && s->key.tag == key->tag); + return (!memcmp(&s->key.from, &key->from, sizeof(key->from)) && + !memcmp(&s->key.to, &key->to, sizeof(key->to)) && s->key.tag == key->tag); }
static int recv_compare(void *k, struct triton_hash_link *l) @@ -197,7 +196,8 @@ static int recv_compare(void *k, struct triton_hash_link *l) struct match_key *key = (struct match_key *)k; struct recv *r = triton_hash_get_entry(l, struct recv, link);
- return (!memcmp(&r->key.from, &key->from, sizeof(key->from)) && !memcmp(&r->key.to, &key->to, sizeof(key->to)) && r->key.tag == key->tag); + return (!memcmp(&r->key.from, &key->from, sizeof(key->from)) && + !memcmp(&r->key.to, &key->to, sizeof(key->to)) && r->key.tag == key->tag); }
static int match_key_hash(void *k, int table_size) @@ -211,17 +211,17 @@ static int match_key_hash(void *k, int table_size) return a; }
-static int node_compare(void *k, struct triton_hash_link *l) +static int addr_compare(void *k, struct triton_hash_link *l) { - triton_node_t *n = (triton_node_t *)k; - struct node_waiting_entry *nw = triton_hash_get_entry(l, struct node_waiting_entry, hash_link); - return !memcmp(n, &nw->node, sizeof(*n)); + triton_msg_method_addr_t *n = (triton_msg_method_addr_t *)k; + struct addr_waiting_entry *nw = triton_hash_get_entry(l, struct addr_waiting_entry, hash_link); + return !memcmp(n, &nw->addr, sizeof(*n)); }
-static int node_hash(void *k, int table_size) +static int addr_hash(void *k, int table_size) { uint32_t h1 = 0, h2 = 0; - triton_node_t *n = (triton_node_t *)k; + triton_msg_method_addr_t *n = (triton_msg_method_addr_t *)k; bj_hashlittle2(n, sizeof(*n), &h1, &h2); return h1 & (table_size - 1); } @@ -229,7 +229,7 @@ static int node_hash(void *k, int table_size) static triton_ret_t send_queue_enqueue(struct triton_mock_group *g, struct send *send) { struct triton_hash_link *l = triton_hash_search(g->sendq, &send->key.to); - struct node_waiting_entry *e; + struct addr_waiting_entry *e;
if(!l) { @@ -239,23 +239,23 @@ static triton_ret_t send_queue_enqueue(struct triton_mock_group *g, struct send return TRITON_ERR_NOMEM; }
- e->node = send->key.to; + e->addr = send->key.to; triton_list_init(&e->queue); triton_list_link_clear(&e->hash_link); - triton_hash_add(g->sendq, &e->node, &e->hash_link); + triton_hash_add(g->sendq, &e->addr, &e->hash_link); } else { - e = triton_hash_get_entry(l, struct node_waiting_entry, hash_link); + e = triton_hash_get_entry(l, struct addr_waiting_entry, hash_link); }
triton_queue_enqueue(&send->queue_link, &e->queue); return TRITON_SUCCESS; }
-static struct send *send_queue_dequeue(struct triton_mock_group *g, triton_node_t dest) +static struct send *send_queue_dequeue(struct triton_mock_group *g, triton_msg_method_addr_t dest) { - struct node_waiting_entry *e; + struct addr_waiting_entry *e; struct triton_hash_link *l = triton_hash_search(g->sendq, &dest); struct triton_list_link *ll; struct send *send; @@ -265,7 +265,7 @@ static struct send *send_queue_dequeue(struct triton_mock_group *g, triton_node_ return NULL; }
- e = triton_hash_get_entry(l, struct node_waiting_entry, hash_link); + e = triton_hash_get_entry(l, struct addr_waiting_entry, hash_link);
ll = triton_queue_dequeue(&e->queue); if(!ll) @@ -281,7 +281,7 @@ static struct send *send_queue_dequeue(struct triton_mock_group *g, triton_node_ static triton_ret_t recvany_queue_enqueue(struct triton_mock_group *g, struct recvany *recvany) { struct triton_hash_link *l = triton_hash_search(g->recvanyq, &recvany->self); - struct node_waiting_entry *e; + struct addr_waiting_entry *e;
if(!l) { @@ -291,23 +291,23 @@ static triton_ret_t recvany_queue_enqueue(struct triton_mock_group *g, struct re return TRITON_ERR_NOMEM; }
- e->node = recvany->self; + e->addr = recvany->self; triton_list_init(&e->queue); triton_list_link_clear(&e->hash_link); - triton_hash_add(g->recvanyq, &e->node, &e->hash_link); + triton_hash_add(g->recvanyq, &e->addr, &e->hash_link); } else { - e = triton_hash_get_entry(l, struct node_waiting_entry, hash_link); + e = triton_hash_get_entry(l, struct addr_waiting_entry, hash_link); }
triton_queue_enqueue(&recvany->link, &e->queue); return TRITON_SUCCESS; }
-static struct recvany *recvany_queue_dequeue(struct triton_mock_group *g, triton_node_t dest) +static struct recvany *recvany_queue_dequeue(struct triton_mock_group *g, triton_msg_method_addr_t dest) { - struct node_waiting_entry *e; + struct addr_waiting_entry *e; struct triton_hash_link *l = triton_hash_search(g->recvanyq, &dest); struct triton_list_link *ll; struct recvany *recvany; @@ -317,7 +317,7 @@ static struct recvany *recvany_queue_dequeue(struct triton_mock_group *g, triton return NULL; }
- e = triton_hash_get_entry(l, struct node_waiting_entry, hash_link); + e = triton_hash_get_entry(l, struct addr_waiting_entry, hash_link);
ll = triton_queue_dequeue(&e->queue); if(!ll) @@ -330,7 +330,7 @@ static struct recvany *recvany_queue_dequeue(struct triton_mock_group *g, triton return recvany; }
-static triton_ret_t triton_msg_mock_group_add(const char *service_name, triton_msg_group_t *group) +static triton_ret_t mock_group_add(const char *service_name, triton_msg_method_group_t *group) { int ret; uint32_t h1 = 0, h2 = 0; @@ -351,8 +351,8 @@ static triton_ret_t triton_msg_mock_group_add(const char *service_name, triton_m
newgroup->sendh = triton_hash_init(send_compare, match_key_hash, bj_hashsize(17)); newgroup->recvh = triton_hash_init(recv_compare, match_key_hash, bj_hashsize(17)); - newgroup->sendq = triton_hash_init(node_compare, node_hash, bj_hashsize(17)); - newgroup->recvanyq = triton_hash_init(node_compare, node_hash, bj_hashsize(17)); + newgroup->sendq = triton_hash_init(addr_compare, addr_hash, bj_hashsize(17)); + newgroup->recvanyq = triton_hash_init(addr_compare, addr_hash, bj_hashsize(17));
triton_mutex_init(&newgroup->match_mutex, NULL); *group = newgroup->group; @@ -364,7 +364,7 @@ static triton_ret_t triton_msg_mock_group_add(const char *service_name, triton_m return TRITON_SUCCESS; }
-static triton_msg_tag_t triton_msg_mock_new_tag(triton_msg_group_t group) +static triton_msg_tag_t mock_new_tag(triton_msg_method_group_t group) { struct triton_hash_link *groupl; struct triton_mock_group *group_entry; @@ -424,9 +424,9 @@ static triton_ret_t copy_buffers(char **inbuffers, uint32_t *insizes, int incoun * Step 2: Look for receive with matching from/to/tag tuple. If none exists: * Step 3: Allocate send structure, queue send into table for receive any, then queue send for recv. */ -static __blocking triton_ret_t triton_msg_mock_send( - triton_node_t to, - triton_msg_group_t g, +static __blocking triton_ret_t mock_send( + triton_msg_method_addr_t to, + triton_msg_method_group_t g, triton_msg_tag_t tag, int count, char **buffers, @@ -439,18 +439,21 @@ static __blocking triton_ret_t triton_msg_mock_send( struct recvany *rany; struct recv *recv; int i, total_size = 0, rindex; - triton_node_t self; + triton_addr_t self; + triton_msg_method_addr_t mself; struct match_key mkey; struct send *send; triton_string_t selfstr, tostr;
- /* get self node from hints hidden by aesop framework */ + /* get self addr from hints hidden by aesop framework */ ret = aesop_hints_get("triton.mock.self", sizeof(self), &self); if(ret != TRITON_SUCCESS) { return ret; }
+ mself = self.l; + for(i = 0; i < count; ++i) { total_size += sizes[i]; @@ -458,8 +461,8 @@ static __blocking triton_ret_t triton_msg_mock_send(
if(triton_debug_enabled(mock_dbg_mask)) { - triton_msg_mock_node_to_string(self, &selfstr); - triton_msg_mock_node_to_string(to, &tostr); + mock_addr_to_string(mself, &selfstr); + mock_addr_to_string(to, &tostr); triton_debug(mock_dbg_mask, "mock_send: from=%s, to=%s, group=%u, tag=%d\n", selfstr.string, tostr.string, g, tag); }
@@ -482,7 +485,7 @@ static __blocking triton_ret_t triton_msg_mock_send( triton_mutex_unlock(&group->match_mutex);
/* copy send info to recv any */ - *rany->from = self; + *rany->from = mself; *rany->tag = tag; if(rany->total_size < total_size) { @@ -509,11 +512,11 @@ static __blocking triton_ret_t triton_msg_mock_send( }
match_key_init(&mkey); - mkey.from = self; + mkey.from = mself; mkey.to = to; mkey.tag = tag;
- /* no recv any, look for recv with matching node/tag */ + /* no recv any, look for recv with matching addr/tag */ recvl = triton_hash_search_and_remove(group->recvh, &mkey); if(recvl != NULL) { @@ -551,7 +554,7 @@ static __blocking triton_ret_t triton_msg_mock_send( }
match_key_init(&send->key); - send->key.from = self; + send->key.from = mself; send->key.to = to; send->key.tag = tag; send->count = count; @@ -596,16 +599,17 @@ static __blocking triton_ret_t triton_msg_mock_send( return ret; }
-static __blocking triton_ret_t triton_msg_mock_recv( - triton_node_t from, - triton_msg_group_t group, +static __blocking triton_ret_t mock_recv( + triton_msg_method_addr_t from, + triton_msg_method_group_t group, triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes, uint32_t *bytes_received) { - triton_node_t to, self; + triton_addr_t self; + triton_msg_method_addr_t to, mself; struct triton_hash_link *groupl; struct triton_mock_group *group_entry; struct match_key mkey; @@ -621,10 +625,12 @@ static __blocking triton_ret_t triton_msg_mock_recv( return ret; }
+ mself = self.l; + if(triton_debug_enabled(mock_dbg_mask)) { - triton_msg_mock_node_to_string(from, &fromstr); - triton_msg_mock_node_to_string(self, &selfstr); + mock_addr_to_string(from, &fromstr); + mock_addr_to_string(mself, &selfstr); triton_debug(mock_dbg_mask, "mock_recv: from=%s, to=%s, group=%u, tag=%d\n", fromstr.string, selfstr.string, group, tag); }
@@ -640,7 +646,7 @@ static __blocking triton_ret_t triton_msg_mock_recv( /* look in unmatched send table for match */ triton_mutex_lock(&group_entry->match_mutex); match_key_init(&mkey); - mkey.to = self; + mkey.to = mself; mkey.from = from; mkey.tag = tag; sendl = triton_hash_search_and_remove(group_entry->sendh, &mkey); @@ -677,7 +683,7 @@ static __blocking triton_ret_t triton_msg_mock_recv( }
match_key_init(&recv->key); - recv->key.to = self; + recv->key.to = mself; recv->key.from = from; recv->key.tag = tag; recv->count = count; @@ -712,9 +718,9 @@ static __blocking triton_ret_t triton_msg_mock_recv( return ret; }
-static __blocking triton_ret_t triton_msg_mock_recv_any( - triton_msg_group_t group, - triton_node_t *from, +static __blocking triton_ret_t mock_recv_any( + triton_msg_method_group_t group, + triton_msg_method_addr_t *from, triton_msg_tag_t *tag, int count, char **buffers, @@ -727,7 +733,8 @@ static __blocking triton_ret_t triton_msg_mock_recv_any( triton_ret_t ret; struct send *send; struct recvany *rany; - triton_node_t self; + triton_addr_t self; + triton_msg_method_addr_t mself; triton_string_t selfstr;
ret = aesop_hints_get("triton.mock.self", sizeof(self), &self); @@ -736,6 +743,8 @@ static __blocking triton_ret_t triton_msg_mock_recv_any( return ret; }
+ mself = self.l; + for(i = 0; i < count; ++i) { total_size += sizes[i]; @@ -743,7 +752,7 @@ static __blocking triton_ret_t triton_msg_mock_recv_any(
if(triton_debug_enabled(mock_dbg_mask)) { - triton_msg_mock_node_to_string(self, &selfstr); + mock_addr_to_string(mself, &selfstr); triton_debug(mock_dbg_mask, "mock_recv_any: to=%s, group=%u\n", selfstr.string, group); }
@@ -762,7 +771,7 @@ static __blocking triton_ret_t triton_msg_mock_recv_any(
triton_mutex_lock(&group_entry->match_mutex);
- send = send_queue_dequeue(group_entry, self); + send = send_queue_dequeue(group_entry, mself); if(send != NULL) { triton_debug(mock_dbg_mask, @@ -798,7 +807,7 @@ static __blocking triton_ret_t triton_msg_mock_recv_any(
/* no send found, add to recv any queue */ rany = malloc(sizeof(*rany)); - rany->self = self; + rany->self = mself; rany->from = from; rany->tag = tag; rany->count = count; @@ -838,20 +847,20 @@ static __blocking triton_ret_t triton_msg_mock_recv_any( static struct triton_msg_method triton_msg_mock_method = { .name = "mock", - .id = MOCK_METHOD_ID,
- .node_self = triton_msg_mock_node_self, - .node_to_string = triton_msg_mock_node_to_string, - .node_lookup = triton_msg_mock_node_lookup, - .new_tag = triton_msg_mock_new_tag, + .addr_self = mock_addr_self, + .addr_equal = mock_addr_equal, + .addr_to_string = mock_addr_to_string, + .addr_lookup = mock_addr_lookup, + .new_tag = mock_new_tag,
- .enable = triton_msg_mock_enable, - .disable = triton_msg_mock_disable, + .enable = mock_enable, + .disable = mock_disable,
- .group_add = triton_msg_mock_group_add, - .send = triton_msg_mock_send, - .recv = triton_msg_mock_recv, - .recv_any = triton_msg_mock_recv_any + .group_add = mock_group_add, + .send = mock_send, + .recv = mock_recv, + .recv_any = mock_recv_any };
triton_ret_t triton_msg_mock_init(void) diff --git a/code/src/net/module.mk.in b/code/src/net/module.mk.in index 695e3f0..7eb49fc 100644 --- a/code/src/net/module.mk.in +++ b/code/src/net/module.mk.in @@ -4,5 +4,5 @@ AESOP_HDR += $(DIR)/triton-message.hae \ $(DIR)/triton-message-method.hae \ $(DIR)/triton-message-internal.hae
-AELIBSRC += $(DIR)/triton-message.ae $(DIR)/triton-node.ae +AELIBSRC += $(DIR)/triton-message.ae
diff --git a/code/src/net/mpi/mpi-method.ae b/code/src/net/mpi/mpi-method.ae index 780c602..ee42cb4 100644 --- a/code/src/net/mpi/mpi-method.ae +++ b/code/src/net/mpi/mpi-method.ae @@ -5,37 +5,35 @@ #include <mpi.h> #include "src/net/mpi/mpi.hae"
-#include "src/net/triton-node.h" +#include "src/net/triton-addr.h" #include "src/net/mpi/errors.h" #include "src/net/triton-message.hae" #include "src/net/triton-message-method.hae" #include "src/net/mpi/mpi-method.h"
-#define MPI_METHOD_ID 1 -#define node2rank(node) ((int)((node).l)) -#define rank2node(rank, node) (node).l = (rank); triton_node_set_method_id((node), MPI_METHOD_ID) +static triton_msg_method_addr_t mpi_rank;
-static uint128_t triton_mpi_rank; +static triton_msg_method_addr_t mpi_addr_self(void) +{ + return mpi_rank; +}
-static triton_node_t triton_msg_mpi_node_self(void) +static int mpi_addr_equal(triton_msg_method_addr_t a1, triton_msg_method_addr_t a2) { - return triton_mpi_rank; + return a1 == a2; }
-static triton_ret_t triton_msg_mpi_node_to_string(triton_node_t node, triton_string_t *nodestr) +static triton_ret_t mpi_addr_to_string(triton_msg_method_addr_t addr, triton_string_t *addrstr) { - assert(node.u == triton_method_id_mask(MPI_METHOD_ID)); - triton_string_init(nodestr, "%d", node2rank(node)); + triton_string_init(addrstr, "%ud", (uint32_t)addr); return TRITON_SUCCESS; }
-static triton_node_t triton_msg_mpi_node_lookup(const char *name) +static triton_addr_t mpi_addr_lookup(const char *name) { int rank; - triton_node_t node; rank = atoi(name); - rank2node(rank, node); - return node; + return (uint64_t)rank; }
struct triton_mpi_group @@ -50,7 +48,7 @@ struct triton_mpi_group
static struct triton_hash_table *group_table = NULL;
-static triton_ret_t triton_msg_mpi_group_add(const char *service_name, triton_msg_group_t *group) +static triton_ret_t mpi_group_add(const char *service_name, triton_msg_method_group_t *group) { int ret; uint32_t h1 = 0, h2 = 0; @@ -81,7 +79,7 @@ static triton_ret_t triton_msg_mpi_group_add(const char *service_name, triton_ms return TRITON_SUCCESS; }
-static triton_msg_tag_t triton_msg_mpi_new_tag(triton_msg_group_t group) +static triton_msg_tag_t mpi_new_tag(triton_msg_method_group_t group) { struct triton_hash_link *groupl; struct triton_mpi_group *group_entry; @@ -102,15 +100,15 @@ static triton_msg_tag_t triton_msg_mpi_new_tag(triton_msg_group_t group) }
-static __blocking triton_ret_t triton_msg_mpi_send( - triton_node_t to, - triton_msg_group_t group, +static __blocking triton_ret_t mpi_send( + triton_msg_method_addr_t to, + triton_msg_method_group_t group, triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes) { - int ret, rank, i; + int ret, i; MPI_Datatype hind_type; MPI_Aint *offsets; struct triton_hash_link *groupl; @@ -146,9 +144,7 @@ static __blocking triton_ret_t triton_msg_mpi_send( groupl = triton_hash_search(group_table, &group); group_entry = triton_hash_get_entry(groupl, struct triton_mpi_group, link);
- rank = node2rank(to); - - ret = triton_mpi_send(MPI_BOTTOM, 1, hind_type, rank, tag, group_entry->comm); + ret = triton_mpi_send(MPI_BOTTOM, 1, hind_type, (int)to, tag, group_entry->comm); if(ret != MPI_SUCCESS) { free(offsets); @@ -161,16 +157,16 @@ static __blocking triton_ret_t triton_msg_mpi_send( return TRITON_SUCCESS; }
-static __blocking triton_ret_t triton_msg_mpi_recv( - triton_node_t from, - triton_msg_group_t group, +static __blocking triton_ret_t mpi_recv( + triton_msg_method_addr_t from, + triton_msg_method_group_t group, triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes, uint32_t *bytes_received) { - int ret, rank, i; + int ret, i; MPI_Datatype hind_type; MPI_Aint *offsets; struct triton_hash_link *groupl; @@ -207,9 +203,7 @@ static __blocking triton_ret_t triton_msg_mpi_recv( groupl = triton_hash_search(group_table, &group); group_entry = triton_hash_get_entry(groupl, struct triton_mpi_group, link);
- rank = node2rank(from); - - ret = triton_mpi_recv(MPI_BOTTOM, 1, hind_type, rank, tag, group_entry->comm, &status); + ret = triton_mpi_recv(MPI_BOTTOM, 1, hind_type, (int)from, tag, group_entry->comm, &status); if(ret != MPI_SUCCESS) { free(offsets); @@ -230,9 +224,9 @@ static __blocking triton_ret_t triton_msg_mpi_recv( return TRITON_SUCCESS; }
-static __blocking triton_ret_t triton_msg_mpi_recv_any( +static __blocking triton_ret_t mpi_recv_any( triton_msg_group_t group, - triton_node_t *from, + triton_addr_t *from, triton_msg_tag_t *tag, int count, char **buffers, @@ -292,7 +286,7 @@ static __blocking triton_ret_t triton_msg_mpi_recv_any( return triton_error_from_mpi(ret); }
- rank2node(status.MPI_SOURCE, *from); + rank2addr(status.MPI_SOURCE, *from);
*tag = status.MPI_TAG;
@@ -313,7 +307,7 @@ static int mpi_group_compare(void *key, struct triton_hash_link *link)
static int mpi_enabled = 0;
-static triton_ret_t triton_msg_mpi_enable(void) +static triton_ret_t mpi_enable(void) { int rank, ret; int mpi_thread_level; @@ -340,7 +334,7 @@ static triton_ret_t triton_msg_mpi_enable(void) }
/* set my rank */ - rank2node(rank, triton_mpi_rank); + mpi_rank = (triton_msg_method_addr_t)rank;
assert(group_table == NULL); group_table = triton_hash_init(mpi_group_compare, triton_hash_32bit_hash, 1024); @@ -365,7 +359,7 @@ static void group_entry_free(void *x) free(g); }
-static void triton_msg_mpi_disable(void) +static void mpi_disable(void) { mpi_enabled--; assert(mpi_enabled >= 0); @@ -380,20 +374,20 @@ static void triton_msg_mpi_disable(void) static struct triton_msg_method triton_msg_mpi_method = { .name = "mpi", - .id = MPI_METHOD_ID,
- .node_self = triton_msg_mpi_node_self, - .node_to_string = triton_msg_mpi_node_to_string, - .node_lookup = triton_msg_mpi_node_lookup, - .new_tag = triton_msg_mpi_new_tag, + .addr_self = mpi_addr_self, + .addr_equal = mpi_addr_equal, + .addr_to_string = mpi_addr_to_string, + .addr_lookup = mpi_addr_lookup, + .new_tag = mpi_new_tag,
- .enable = triton_msg_mpi_enable, - .disable = triton_msg_mpi_disable, + .enable = mpi_enable, + .disable = mpi_disable,
- .group_add = triton_msg_mpi_group_add, - .send = triton_msg_mpi_send, - .recv = triton_msg_mpi_recv, - .recv_any = triton_msg_mpi_recv_any + .group_add = mpi_group_add, + .send = mpi_send, + .recv = mpi_recv, + .recv_any = mpi_recv_any };
__attribute__((constructor)) void triton_msg_mpi_init(void) diff --git a/code/src/net/mpi/mpi.c b/code/src/net/mpi/mpi.c index b6df7fe..12086c4 100644 --- a/code/src/net/mpi/mpi.c +++ b/code/src/net/mpi/mpi.c @@ -804,7 +804,7 @@ triton_ret_t triton_error_from_mpi(int r) int size; char mpi_error_msg[MPI_MAX_ERROR_STRING]; int rank, class; - triton_node_t node; + triton_addr_t node;
if(r == MPI_SUCCESS) { diff --git a/code/src/net/test/mock-client-server.ae b/code/src/net/test/mock-client-server.ae index 064f92b..630e3d6 100644 --- a/code/src/net/test/mock-client-server.ae +++ b/code/src/net/test/mock-client-server.ae @@ -11,7 +11,7 @@ __blocking void do_server(triton_msg_ctx_t mock_ctx, triton_msg_group_t unexp_gr triton_ret_t ret; char *buffer; uint32_t buffer_size, recved; - triton_node_t from, self; + triton_addr_t from, self; triton_msg_tag_t tag; int count = 0; triton_string_t nstr, selfstr, tostr; @@ -21,14 +21,14 @@ __blocking void do_server(triton_msg_ctx_t mock_ctx, triton_msg_group_t unexp_gr assert(buffer);
aesop_hints_get("triton.mock.self", sizeof(self), &self); - ret = triton_node_to_string(mock_ctx, self, &selfstr); + ret = triton_addr_to_string(mock_ctx, self, &selfstr); assert(ret == TRITON_SUCCESS);
while(count < (total-1)) { ret = triton_msg_recv_any(mock_ctx, unexp_group, &from, &tag, 1, &buffer, &buffer_size, &recved); assert(ret == TRITON_SUCCESS); - ret = triton_node_to_string(mock_ctx, from, &nstr); + ret = triton_addr_to_string(mock_ctx, from, &nstr); assert(ret == TRITON_SUCCESS); printf("%s: <- %s, tag=%d\n", selfstr.string, nstr.string, tag); ret = triton_msg_send(mock_ctx, from, exp_group, tag, 1, &buffer, &recved); @@ -44,20 +44,20 @@ __blocking void do_server(triton_msg_ctx_t mock_ctx, triton_msg_group_t unexp_gr
__blocking void do_client(triton_msg_ctx_t mock_ctx, triton_msg_group_t unexp_group, triton_msg_group_t exp_group) { - triton_node_t to, self; + triton_addr_t to, self; triton_string_t selfstr, tostr; triton_msg_tag_t tag; triton_ret_t ret; char *buffer; uint32_t buffer_size, recved;
- to = triton_node_lookup(mock_ctx, "0"); + ret = triton_addr_lookup(mock_ctx, "mock://0", &to); tag = triton_msg_new_tag(mock_ctx, unexp_group);
- ret = triton_node_to_string(mock_ctx, to, &tostr); + ret = triton_addr_to_string(to, &tostr);
aesop_hints_get("triton.mock.self", sizeof(self), &self); - ret = triton_node_to_string(mock_ctx, self, &selfstr); + ret = triton_addr_to_string(self, &selfstr);
buffer_size = 16 * 1024; buffer = malloc(buffer_size); @@ -89,10 +89,9 @@ int main(int argc, char *argv[]) ae_op_id_t op_id; ae_hints_t h[100]; ae_context_t ctx; - triton_msg_ctx_t mock_ctx; triton_msg_group_t unexp_group, exp_group; int i; - triton_node_t node; + triton_addr_t node;
aesop_init();
@@ -111,13 +110,13 @@ int main(int argc, char *argv[]) triton_msg_init(); triton_msg_mock_init();
- ret = triton_msg_enable_method("mock", &mock_ctx); + ret = triton_msg_enable_method("mock"); assert(ret == TRITON_SUCCESS);
- ret = triton_msg_group_add(mock_ctx, "test-server-unexp", &unexp_group); + ret = triton_msg_group_add("test-server-unexp", &unexp_group); assert(ret == TRITON_SUCCESS);
- ret = triton_msg_group_add(mock_ctx, "test-server-exp", &exp_group); + ret = triton_msg_group_add("test-server-exp", &exp_group); assert(ret == TRITON_SUCCESS);
ret = ae_hints_type_register("triton.mock.self", 0, &aer_encoder_uint128_t); @@ -126,8 +125,9 @@ int main(int argc, char *argv[]) for(i = 0; i < 100; ++i) { char nodestr[100]; - sprintf(nodestr, "%d", i); - node = triton_node_lookup(mock_ctx, nodestr); + sprintf(nodestr, "mock://%d", i); + ret = triton_addr_lookup(nodestr, &node); + assert(ret == TRITON_SUCCESS); h[i] = NULL; ret = ae_hints_put(&h[i], "triton.mock.self", sizeof(node), &node); assert(ret == TRITON_SUCCESS); diff --git a/code/src/net/test/mpi-client-server.ae b/code/src/net/test/mpi-client-server.ae index c6f93c6..0606504 100644 --- a/code/src/net/test/mpi-client-server.ae +++ b/code/src/net/test/mpi-client-server.ae @@ -10,11 +10,10 @@ __blocking void do_server(void) { triton_ret_t ret; - triton_msg_ctx_t mpi_ctx; triton_msg_group_t unexp_group, exp_group; char *buffer; uint32_t buffer_size, recved; - triton_node_t from, to, me; + triton_addr_t from, to, me; triton_msg_tag_t tag; int count = 0, total = 0; triton_string_t nstr, mestr, tostr; @@ -27,21 +26,22 @@ __blocking void do_server(void) triton_mpi_init(); triton_msg_mpi_init();
- ret = triton_msg_enable_method("mpi", &mpi_ctx); + ret = triton_msg_enable_method("mpi"); assert(ret == TRITON_SUCCESS);
- ret = triton_msg_group_add(mpi_ctx, "test-server-unexp", &unexp_group); + ret = triton_msg_group_add("mpi", "test-server-unexp", &unexp_group); assert(ret == TRITON_SUCCESS);
- ret = triton_msg_group_add(mpi_ctx, "test-server-exp", &exp_group); + ret = triton_msg_group_add("mpi", "test-server-exp", &exp_group); assert(ret == TRITON_SUCCESS);
buffer_size = 16 * 1024; buffer = malloc(buffer_size); assert(buffer);
- me = triton_node_self(mpi_ctx); - ret = triton_node_to_string(mpi_ctx, me, &mestr); + ret = triton_addr_self("mpi", &me); + assert(ret == TRITON_SUCCESS); + ret = triton_addr_to_string(me, &mestr); assert(ret == TRITON_SUCCESS);
MPI_Comm_size(MPI_COMM_WORLD, &total); @@ -51,12 +51,12 @@ __blocking void do_server(void) /* I'm a server! */ while(count < (total-1)) { - ret = triton_msg_recv_any(mpi_ctx, unexp_group, &from, &tag, 1, &buffer, &buffer_size, &recved); + ret = triton_msg_recv_any(unexp_group, &from, &tag, 1, &buffer, &buffer_size, &recved); assert(ret == TRITON_SUCCESS); - ret = triton_node_to_string(mpi_ctx, from, &nstr); + ret = triton_addr_to_string(from, &nstr); assert(ret == TRITON_SUCCESS); printf("Node %s received message from: %s, with tag: %d\n", mestr.string, nstr.string, tag); - ret = triton_msg_send(mpi_ctx, from, exp_group, tag, 1, &buffer, &recved); + ret = triton_msg_send(from, exp_group, tag, 1, &buffer, &recved); printf("Node %s sent response to: %s, with tag: %d\n", mestr.string, nstr.string, tag);
triton_string_destroy(&nstr); @@ -66,19 +66,19 @@ __blocking void do_server(void) } else { - to = triton_node_lookup(mpi_ctx, "0"); - tag = triton_msg_new_tag(mpi_ctx, unexp_group); + ret = triton_addr_lookup("mpi://0", &to); + tag = triton_msg_new_tag(unexp_group);
- ret = triton_node_to_string(mpi_ctx, to, &tostr); + ret = triton_addr_to_string(to, &tostr); assert(ret == TRITON_SUCCESS);
/* I'm a client */ - ret = triton_msg_send(mpi_ctx, to, unexp_group, tag, 1, &buffer, &buffer_size); + ret = triton_msg_send(to, unexp_group, tag, 1, &buffer, &buffer_size); printf("Node %s sent message to: %s, with tag: %d\n", mestr.string, tostr.string, tag); assert(ret == TRITON_SUCCESS);
printf("Node %s receiving message from: %s, with tag: %d\n", mestr.string, tostr.string, tag); - ret = triton_msg_recv(mpi_ctx, to, exp_group, tag, 1, &buffer, &buffer_size, &recved); + ret = triton_msg_recv(to, exp_group, tag, 1, &buffer, &buffer_size, &recved); printf("Node %s received message from: %s, with tag: %d\n", mestr.string, tostr.string, tag);
triton_string_destroy(&tostr); diff --git a/code/src/net/triton-addr.h b/code/src/net/triton-addr.h new file mode 100644 index 0000000..e411a5a --- /dev/null +++ b/code/src/net/triton-addr.h @@ -0,0 +1,29 @@ +#ifndef __TRITON_ADDR_H__ +#define __TRITON_ADDR_H__ + +#include "src/common/triton-string.h" +#include "src/common/triton-types.h" + +/** + * The triton_addr_t is an opaque object for a node in the system. Internally, this + * address holds the messaging context (state for the method), and the method specific + * structures for the address. + */ +typedef uint128_t triton_addr_t; + +#define TRITON_ADDR_NULL_STATIC_INITIALIZER { .u = 0, .l = 0 } + +extern triton_addr_t triton_addr_null; +#define TRITON_ADDR_NULL triton_addr_null + +triton_addr_t triton_addr_self(const char *method); + +#include "src/common/triton-error.h" + +triton_ret_t triton_addr_to_string(triton_addr_t addr, triton_string_t *str); + +triton_ret_t triton_addr_lookup(const char *method, triton_addr_t *addr); + +int triton_addr_equal(triton_addr_t a1, triton_addr_t a2); + +#endif /* __TRITON_ADDR_H__ */ diff --git a/code/src/net/triton-message-internal.hae b/code/src/net/triton-message-internal.hae deleted file mode 100644 index 0a0d445..0000000 --- a/code/src/net/triton-message-internal.hae +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef __TRITON_MESSAGE_INTERNAL_HAE__ -#define __TRITON_MESSAGE_INTERNAL_HAE__ - -#include "src/net/triton-message-method.hae" - -struct msg_ctx -{ - struct triton_msg_method *method; -}; - -#endif - diff --git a/code/src/net/triton-message-method.hae b/code/src/net/triton-message-method.hae index 1e8f92e..b7f08d5 100644 --- a/code/src/net/triton-message-method.hae +++ b/code/src/net/triton-message-method.hae @@ -1,44 +1,118 @@ #ifndef __TRITON_MESSAGE_METHOD_HAE__ #define __TRITON_MESSAGE_METHOD_HAE__
-#include "src/net/triton-node.h" +#include "src/net/triton-addr.h" #include "src/net/triton-message.hae"
-triton_ret_t triton_msg_enable_method(const char *method, triton_msg_ctx_t *new_ctx); -void triton_msg_disable_method(triton_msg_ctx_t *c); +triton_ret_t triton_msg_enable_method(const char *method); +void triton_msg_disable_method(const char *method);
-triton_ret_t triton_msg_create_ctx_from_id(uint32_t id, triton_msg_ctx_t *c); -void triton_msg_ctx_destroy(triton_msg_ctx_t c); +typedef uint64_t triton_msg_method_addr_t; +typedef uint32_t triton_msg_method_group_t;
struct triton_msg_method { + /** + * The name of this method. Must match the endpoint method prefix. e.g. endpoint=mpi://20, name=mpi + */ const char *name; - uint32_t id;
- triton_node_t (*node_self)(void); - triton_ret_t (*node_to_string)(triton_node_t node, triton_string_t *str); - triton_node_t (*node_lookup)(const char *name); + /** + * Get the local address. + */ + triton_msg_method_addr_t (*addr_self)(void);
+ int (*addr_equal)(triton_msg_method_addr_t a1, triton_msg_method_addr_t a2); + + /** + * Get the endpoint string for this address, *without* including the endpoint method prefix. + */ + triton_ret_t (*addr_to_string)(triton_msg_method_addr_t addr, triton_string_t *str); + + /** + * Lookup an address contained in a string. The format depends on the method type, but should + * not include the endpoint method prefix. + */ + triton_ret_t (*addr_lookup)(const char *name, triton_msg_method_addr_t *addr); + + /** + * Enable this method. Enabling/disabling a method may affect polling times and resources used. + */ triton_ret_t (*enable)(void); + + /** + * Disable this method. + */ void (*disable)(void);
- triton_ret_t (*group_add)(const char *service_name, triton_msg_group_t *group); + /** + * Add a group with the given service name. + */ + triton_ret_t (*group_add)(const char *service_name, triton_msg_method_group_t *group); + + /** + * Get a new tag that can be used for matching sends and receives. + */ + triton_msg_tag_t (*new_tag)(triton_msg_method_group_t group);
- triton_msg_tag_t (*new_tag)(triton_msg_group_t group); + /** + * Allocate a buffer for sending and receiving. Method can use this + * call to pin a buffer. + * TODO: Should we include information about the type of buffer to allocate? + */ + char * (*buffer_allocate)(uint64_t size);
- char * (*buffer_allocate)(uint32_t size); + /** + * Free a buffer allocated with buffer_allocate. + */ void (*buffer_free)(char *buffer);
- __blocking triton_ret_t (*send)( - triton_node_t to, triton_msg_group_t group, triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes); - __blocking triton_ret_t (*recv)( - triton_node_t from, triton_msg_group_t group, triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes, uint32_t *bytes_received); - __blocking triton_ret_t (*recv_any)( - triton_msg_group_t group, triton_node_t *from, triton_msg_tag_t *tag, int count, char **buffers, uint32_t *sizes, uint32_t *bytes_received); + /** + * Send a message using a particular group and tag + */ + __blocking triton_ret_t (*send)(triton_msg_method_addr_t to, + triton_msg_method_group_t group, + triton_msg_tag_t tag, + int count, + char **buffers, + uint32_t *sizes); + + /** + * Receive (pre-posted) a message from a specific address, on a specific group, with a specific tag. + */ + __blocking triton_ret_t (*recv)(triton_msg_method_addr_t from, + triton_msg_method_group_t group, + triton_msg_tag_t tag, + int count, + char **buffers, + uint32_t *sizes, + uint32_t *bytes_received); + + /** + * Receive a message from a specific group, but from any address with any tag. + */ + __blocking triton_ret_t (*recv_any)(triton_msg_method_group_t group, + triton_msg_method_addr_t *from, + triton_msg_tag_t *tag, + int count, + char **buffers, + uint32_t *sizes, + uint32_t *bytes_received); };
+/** + * Methods must register their implementations to the message layer. + */ triton_ret_t triton_msg_method_register(struct triton_msg_method *method); + +/** + * Unregister a method if its being finalized. + */ void triton_msg_method_unregister(const char *name); + +/** + * Lookup a registered method based on method name. + */ struct triton_msg_method* triton_msg_lookup_method(const char* method);
#endif diff --git a/code/src/net/triton-message.ae b/code/src/net/triton-message.ae index 44742a0..4d7e849 100644 --- a/code/src/net/triton-message.ae +++ b/code/src/net/triton-message.ae @@ -5,13 +5,45 @@ #include "src/net/triton-message-method.hae" #include "src/common/triton-hash.h"
+triton_addr_t triton_addr_null = TRITON_ADDR_NULL_STATIC_INITIALIZER; + +/** + * Methods register themselves through the triton_msg_method_register call. + * Once registered, an entry in the method_table keeps track of a method + * keyed on its name. The entry also contains a list of group structures + * so that the group structures can be freed once the method entry structure + * is removed from the method_table. + */ + static struct triton_hash_table *method_table = NULL; -static struct triton_hash_table *method_id_table = NULL; +static struct triton_hash_table *address_table = NULL; + +static inline void addr_split(triton_addr_t addr, struct triton_msg_method **method, triton_msg_method_addr_t *method_addr) +{ + if(method) *method = (struct triton_msg_method *)addr.u; + if(method_addr) *method_addr = addr.l; +} + +static triton_addr_t addr_wrap(struct triton_msg_method *method, triton_msg_method_addr_t method_addr) +{ + triton_addr_t addr; + addr.u = (uint64_t)(uintptr_t)method; + addr.l = method_addr; + return addr; +} + +struct triton_msg_group +{ + uint32_t group; + struct triton_msg_method *method; + struct triton_list_link link; +};
struct method_entry { char *name; struct triton_msg_method *method; + triton_list_t groups; struct triton_hash_link link; struct triton_hash_link id_link; }; @@ -22,28 +54,26 @@ static int method_compare(void *k, struct triton_hash_link *l) return (!strcmp(m->method->name, (char *)k)); }
-static int method_id_compare(void *k, struct triton_hash_link *l) -{ - struct method_entry *m = triton_hash_get_entry(l, struct method_entry, id_link); - return m->method->id == *(int *)k; -} - triton_ret_t triton_msg_init(void) { if(!method_table) { method_table = triton_hash_init(method_compare, triton_hash_strhash, 1024); if(!method_table) return TRITON_ERR_NOMEM; - method_id_table = triton_hash_init(method_id_compare, triton_hash_32bit_hash, 1024); - if(!method_id_table) return TRITON_ERR_NOMEM; } - return TRITON_SUCCESS; }
static void free_method(void *x) { + struct triton_msg_group *g1, *g2; struct method_entry *m = (struct method_entry *)x; + triton_list_for_each_entry(g1, g2, &m->groups, struct triton_msg_group, link) + { + triton_list_del(&g1->link); + free(g1); + } + free(m->name); free(m); } @@ -52,8 +82,6 @@ void triton_msg_finalize(void) { if(method_table) { - triton_hash_finalize(method_id_table); - method_id_table = NULL; triton_hash_destroy_and_finalize(method_table, struct method_entry, link, free_method); method_table = NULL; } @@ -70,11 +98,11 @@ triton_ret_t triton_msg_method_register(struct triton_msg_method *method) ret = triton_msg_init(); assert(ret == TRITON_SUCCESS);
- l = triton_hash_search(method_id_table, &method->id); + l = triton_hash_search(method_table, &method->name); if(l) { - /* method with this ID already exists! Either the same method is being - * registered, or another method is trying to use an ID already in use. + /* method with this name already exists! Either the same method is being + * registered, or another method is trying to use an method already in use. */ return TRITON_ERR_METHOD_ID_INUSE; } @@ -84,11 +112,10 @@ triton_ret_t triton_msg_method_register(struct triton_msg_method *method)
m->method = method; m->name = strdup(m->method->name); + triton_list_init(&m->groups);
triton_list_link_clear(&m->link); triton_hash_add(method_table, m->name, &m->link); - triton_list_link_clear(&m->id_link); - triton_hash_add(method_id_table, &m->method->id, &m->id_link); }
void triton_msg_method_unregister(const char *name) @@ -96,43 +123,12 @@ void triton_msg_method_unregister(const char *name) struct triton_hash_link *link; struct method_entry *m;
- link = triton_hash_search_and_remove(method_table, name); + link = triton_hash_search_and_remove(method_table, (char *)name); m = triton_hash_get_entry(link, struct method_entry, link); - triton_hash_search_and_remove(method_id_table, &m->method->id); free(m->name); free(m); }
-struct msg_ctx -{ - struct triton_msg_method *method; -}; - -triton_ret_t triton_msg_create_ctx_from_id(uint32_t id, triton_msg_ctx_t *c) -{ - struct triton_hash_link *l; - struct method_entry *m; - struct msg_ctx *ctx; - - l = triton_hash_search(method_id_table, &id); - if(!l) return TRITON_ERR_MSG_METHOD_NOTFOUND; - - m = triton_hash_get_entry(l, struct method_entry, link); - - ctx = malloc(sizeof(*ctx)); - if(ctx == NULL) return TRITON_ERR_NOMEM; - - ctx->method = m->method; - - *c = (void *)ctx; - return TRITON_SUCCESS; -} - -void triton_msg_ctx_destroy(triton_msg_ctx_t c) -{ - free(c); -} - /* finds the method structure matching the specified name */ struct triton_msg_method* triton_msg_lookup_method(const char* method) { @@ -145,12 +141,11 @@ struct triton_msg_method* triton_msg_lookup_method(const char* method) return(m->method); }
-triton_ret_t triton_msg_enable_method(const char *method, triton_msg_ctx_t *new_ctx) +triton_ret_t triton_msg_enable_method(const char *method) { triton_ret_t ret; struct triton_hash_link *link; struct method_entry *m; - struct msg_ctx *ctx;
triton_msg_init();
@@ -164,59 +159,86 @@ triton_ret_t triton_msg_enable_method(const char *method, triton_msg_ctx_t *new_ if(ret != TRITON_SUCCESS) return ret; }
- ctx = malloc(sizeof(*ctx)); - if(ctx == NULL) return TRITON_ERR_NOMEM; - - ctx->method = m->method; - - *new_ctx = (void *)ctx; return TRITON_SUCCESS; }
-void triton_msg_disable_method(triton_msg_ctx_t *c) +void triton_msg_disable_method(const char *method) { - struct msg_ctx *ctx; + struct triton_msg_method *m = triton_msg_lookup_method(method); + if(!m) + { + return; + }
- ctx = (struct msg_ctx *)(*c); - if(ctx->method->disable) + if(m->disable) { - ctx->method->disable(); + m->disable(); } - free(ctx); - *c = NULL; + return; }
-triton_ret_t triton_msg_group_add(triton_msg_ctx_t ctx, const char *service_name, triton_msg_group_t *group) +triton_ret_t triton_msg_group_add(const char *method, const char *service_name, triton_msg_group_t *group) { - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - return c->method->group_add(service_name, group); + triton_ret_t ret; + struct triton_hash_link *link; + struct triton_msg_group *g; + struct method_entry *m; + + link = triton_hash_search(method_table, (void *)method); + if(!link) return TRITON_ERR_MSG_METHOD_NOTFOUND; + m = triton_hash_get_entry(link, struct method_entry, link); + + g = malloc(sizeof(*g)); + if(!g) + { + return TRITON_ERR_NOMEM; + } + + g->method = m->method; + ret = m->method->group_add(service_name, &g->group); + if(ret != TRITON_SUCCESS) + { + free(g); + return ret; + } + + /* need to keep track of groups so we can free stuff when a method is disabled */ + triton_queue_enqueue(&g->link, &m->groups); + + *group = g; + return TRITON_SUCCESS; }
-triton_msg_tag_t triton_msg_new_tag(triton_msg_ctx_t ctx, triton_msg_group_t group) +triton_msg_tag_t triton_msg_new_tag(triton_msg_group_t group) { - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - return c->method->new_tag(group); + struct triton_msg_group *g = (struct triton_msg_group *)group; + return g->method->new_tag(g->group); }
__blocking triton_ret_t triton_msg_send( - triton_msg_ctx_t ctx, - triton_node_t to, + triton_addr_t to, triton_msg_group_t group, triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes) { - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - return c->method->send(to, group, tag, count, buffers, sizes); + struct triton_msg_method *tm; + triton_msg_method_addr_t maddr; + struct triton_msg_group *g = (struct triton_msg_group *)group; + + addr_split(to, &tm, &maddr); + + /* group method should be the same as the to method. + * TODO: Make this a real error. + */ + assert(g->method == tm); + + return g->method->send(maddr, g->group, tag, count, buffers, sizes); }
__blocking triton_ret_t triton_msg_recv( - triton_msg_ctx_t ctx, - triton_node_t from, + triton_addr_t from, triton_msg_group_t group, triton_msg_tag_t tag, int count, @@ -224,24 +246,110 @@ __blocking triton_ret_t triton_msg_recv( uint32_t *sizes, uint32_t *bytes_received) { - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - return c->method->recv(from, group, tag, count, buffers, sizes, bytes_received); + struct triton_msg_method *fm; + triton_msg_method_addr_t maddr; + struct triton_msg_group *g = (struct triton_msg_group *)group; + + addr_split(from, &fm, &maddr); + + /* from method should match group method + * TODO: fix this to be a real error */ + assert(fm == g->method); + + return g->method->recv(maddr, g->group, tag, count, buffers, sizes, bytes_received); }
__blocking triton_ret_t triton_msg_recv_any( - triton_msg_ctx_t ctx, triton_msg_group_t group, - triton_node_t *from, + triton_addr_t *from, triton_msg_tag_t *tag, int count, char **buffers, uint32_t *sizes, uint32_t *bytes_received) { - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - return c->method->recv_any(group, from, tag, count, buffers, sizes, bytes_received); + triton_ret_t ret; + triton_msg_method_addr_t method_from; + + struct triton_msg_group *g = (struct triton_msg_group *)group; + ret = g->method->recv_any(g->group, &method_from, tag, count, buffers, sizes, bytes_received); + if(ret != TRITON_SUCCESS) + { + return ret; + } + + /* set the from field properly */ + *from = addr_wrap(g->method, method_from); + return TRITON_SUCCESS; +} + +/** + * Address functions. + */ +int triton_addr_equal(triton_addr_t a1, triton_addr_t a2) +{ + struct triton_msg_method *m1, *m2; + triton_msg_method_addr_t ma1, ma2; + + addr_split(a1, &m1, &ma1); + addr_split(a2, &m2, &ma2); + return (m1 == m2) && m1->addr_equal(ma1, ma2); +} + +triton_addr_t triton_addr_self(const char *method) +{ + triton_msg_method_addr_t maddr; + triton_ret_t ret; + + struct triton_msg_method *m = triton_msg_lookup_method(method); + maddr = m->addr_self(); + return addr_wrap(m, maddr); +} + +triton_ret_t triton_addr_to_string(triton_addr_t addr, triton_string_t *str) +{ + triton_ret_t ret; + triton_string_t methodstr; + struct triton_msg_method *m; + triton_msg_method_addr_t maddr; + + addr_split(addr, &m, &maddr); + ret = m->addr_to_string(maddr, &methodstr); + if(ret != TRITON_SUCCESS) + { + return ret; + } + triton_string_init(str, "%s://%s", m->name, str->string); + triton_string_destroy(&methodstr); + return TRITON_SUCCESS; +} + +triton_ret_t triton_addr_lookup(const char *name, triton_addr_t *addr) +{ + char prefix[256]; + char method_name[1024]; + triton_msg_method_addr_t maddr; + struct triton_addr *a; + triton_ret_t ret; + + /* parse addr endpoint prefix, so that we can lookup the method */ + sscanf(name, "%256s://%1024s", prefix, method_name); + + struct triton_msg_method *m = triton_msg_lookup_method(method_name); + if(!m) + { + /* TODO: Add some debugging and/or wrap the error up with prefix and method_name info */ + return TRITON_ERR_MSG_METHOD_NOTFOUND; + } + + ret = m->addr_lookup(method_name, &maddr); + if(ret != TRITON_SUCCESS) + { + return ret; + } + + *addr = addr_wrap(m, maddr); + return TRITON_SUCCESS; }
/* diff --git a/code/src/net/triton-message.hae b/code/src/net/triton-message.hae index f8bd642..bbb8b17 100644 --- a/code/src/net/triton-message.hae +++ b/code/src/net/triton-message.hae @@ -5,37 +5,61 @@ #include "src/common/triton-types.h" #include "src/common/triton-error.h" #include "src/aesop/aesop.h" -#include "src/net/triton-node.h" +#include "src/net/triton-addr.h"
+/** + * Right now we use 32-bits for the tag. + */ typedef int32_t triton_msg_tag_t;
-typedef uint32_t triton_msg_group_t; +/** + * Groups allow users of the message interface to logically group messages together + * based on a particular service. This provides scoping for the message tag values + * (tags from different groups can have the same value) and also allows different + * types of messages to be received. For example, unexpected messages could be received + * using recv_any on an unexpected group, while expected messages can be received + * using the recv call with a tag specified. + * + * At the moment, the MPI method simply creates a new communicator for each new group + * that gets added. Various interfaces could create separate groups and send messages + * using different groups on different ae_context_t variables, allowing for separate + * polling of the different groups through the different aesop contexts. + */ + +struct triton_msg_group; +typedef struct triton_msg_group *triton_msg_group_t;
+/** + * Initialize the messaging interface. + */ triton_ret_t triton_msg_init(void); + +/** + * Finalize the messaging interface. + */ void triton_msg_finalize(void);
/** * Add a message group. Examples: * - * Allow for unexpected messages to be received via group_recv. + * Allow for unexpected messages to be received via recv_any, without also receiving expected receives. * - * group_add(ctx, "aesop.remote.unexpected", &ae_remote_unexp_group); - * group_add(ctx, "aesop.remote.expexted", &ae_remote_exp_group); + * group_add(method_name, "aesop.remote.unexpected", &ae_remote_unexp_group); + * group_add(method_name, "aesop.remote.expexted", &ae_remote_exp_group); */ -triton_ret_t triton_msg_group_add(triton_msg_ctx_t ctx, const char *service_name, triton_msg_group_t *group); +triton_ret_t triton_msg_group_add(const char *method_name, const char *service_name, triton_msg_group_t *group);
/** * Get a new tag from the message context. */ -int32_t triton_msg_new_tag(triton_msg_ctx_t ctx, triton_msg_group_t group); +triton_msg_tag_t triton_msg_new_tag(triton_msg_group_t group);
/** - * Sends a message using the method from the ctx. + * Sends a message using the method the group was created on. * Group and tag fields must be specified to allow for proper matching at the receive side. */ __blocking triton_ret_t triton_msg_send( - triton_msg_ctx_t ctx, - triton_node_t to, + triton_addr_t to, triton_msg_group_t group, triton_msg_tag_t tag, int count, @@ -43,13 +67,12 @@ __blocking triton_ret_t triton_msg_send( uint32_t *sizes);
/** - * Receive a message using the method from the ctx. + * Receive a message using the method the group was created on. * The received message will match on the group and tag fields passed in * and the message buffers will be filled. This call does an expected receive. */ __blocking triton_ret_t triton_msg_recv( - triton_msg_ctx_t ctx, - triton_node_t from, + triton_addr_t from, triton_msg_group_t group, triton_msg_tag_t tag, int count, @@ -58,14 +81,12 @@ __blocking triton_ret_t triton_msg_recv( uint32_t *bytes_received);
__blocking triton_ret_t triton_msg_recv_any( - triton_msg_ctx_t ctx, triton_msg_group_t group, - triton_node_t *from, + triton_addr_t *from, triton_msg_tag_t *tag, int count, char **buffers, uint32_t *sizes, uint32_t *bytes_received);
- #endif /* __TRITON_MESSAGE_HAE__ */ diff --git a/code/src/net/triton-node.ae b/code/src/net/triton-node.ae deleted file mode 100644 index 7986552..0000000 --- a/code/src/net/triton-node.ae +++ /dev/null @@ -1,62 +0,0 @@ - -#include "src/net/triton-node.h" -#include "src/net/triton-message-internal.hae" -#include "src/aesop/aesop.h" - -triton_node_t triton_node_null = { .u = 0, .l = 0 }; -uint128_t triton_node_diff_max = { .u = UINT64_MAX, .l = UINT64_MAX}; - -triton_node_t triton_node_self(triton_msg_ctx_t ctx) -{ - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - - return c->method->node_self(); -} - -triton_ret_t triton_node_to_string(triton_msg_ctx_t ctx, triton_node_t node, triton_string_t *str) -{ - struct msg_ctx *c; - triton_ret_t ret; - c = (struct msg_ctx *)ctx; - - if(triton_node_is_null(&node)) - { - triton_string_init(str, "none"); - return TRITON_SUCCESS; - } - - if(c == NULL) - { - /* guess context from node type. methods within the messaging layer can use all 128 bits - * of the node type for their purposes (IPv6 for example), but if a method doesn't use - * all 128 bits, they can use a flag in the upper 64 bits to indicate the type of method - */ - ret = triton_node_get_ctx(node, &ctx); - if(ret != TRITON_SUCCESS) - { - return ret; - } - - ret = c->method->node_to_string(node, str); - triton_msg_ctx_destroy(ctx); - return ret; - } - - return c->method->node_to_string(node, str); -} - -triton_node_t triton_node_lookup(triton_msg_ctx_t ctx, const char *name) -{ - struct msg_ctx *c; - c = (struct msg_ctx *)ctx; - - return c->method->node_lookup(name); -} - -triton_ret_t triton_node_get_ctx(triton_node_t node, triton_msg_ctx_t *ctx) -{ - uint32_t id = triton_node_get_method_id(node); - return triton_msg_create_ctx_from_id(id, ctx); -} - diff --git a/code/src/net/triton-node.h b/code/src/net/triton-node.h deleted file mode 100644 index a3ecc4c..0000000 --- a/code/src/net/triton-node.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef __TRITON_NODE_H__ -#define __TRITON_NODE_H__ - -#include "src/common/triton-string.h" -#include "src/common/triton-types.h" - -/** - * A message context is used to group messaging methods (mpi for example). - * See src/net/triton-message-method.hae for more details. - */ -typedef void *triton_msg_ctx_t; - -/** - * The triton_node_t is an opaque address for a node in the system. - */ -typedef uint128_t triton_node_t; - -extern uint128_t triton_node_diff_max; - -extern triton_node_t triton_node_null; -#define TRITON_NODE_NULL triton_node_null - -#define TRITON_NODE_NULL_STATIC_INITIALIZER { .l = 0, .u = 0 } - -#define triton_node_is_null(node) ((node)->l == 0 && (node)->u == 0) - -triton_node_t triton_node_self(triton_msg_ctx_t ctx); - -#include "src/common/triton-error.h" - -triton_ret_t triton_node_to_string(triton_msg_ctx_t ctx, triton_node_t node, triton_string_t *str); - -triton_node_t triton_node_lookup(triton_msg_ctx_t ctx, const char *name); - -#define triton_node_eq(n1,n2) ((n1).l==(n2).l && (n1).u==(n2).u) - -/* messaging methods can optionally store a flag in the upper part of the node bits - * to allow a node's originating method to be identified. This is optional, some - * methods may choose to use all 128 bits for the node itself. Thus far, figuring - * out the originating method of a node is only needed for triton_node_to_string. - */ -#define triton_node_get_method_id(node) ((int)(node.u >> 56) & 0x000000FF) -#define triton_method_id_mask(id) (0xFF00000000000000ULL & (((uint64_t)id) << 56)) -#define triton_node_set_method_id(node, method) (node.u = triton_method_id_mask(method)) - -triton_ret_t triton_node_get_ctx(triton_node_t node, triton_msg_ctx_t *ctx); - -#endif /* __TRITON_NODE_H__ */ diff --git a/code/src/remote/encoding-pw.h b/code/src/remote/encoding-pw.h index 8cd8c72..4398249 100644 --- a/code/src/remote/encoding-pw.h +++ b/code/src/remote/encoding-pw.h @@ -537,7 +537,7 @@ static struct aer_encoder aer_encoder_triton_buffer_t = #define aer_encode_size_triton_list_t(__list, __varname, __typename, __size) do { \ __typename *__pos; \ __sum = 0; \ - triton_list_for_each_entry(__pos, __list) \ + triton_list_for_each_entry(__pos, __typename, __list) \ { \ __sum += aer_encode_size_##__typename(NULL, __pos); \ } \ @@ -551,7 +551,7 @@ static struct aer_encoder aer_encoder_triton_buffer_t = mret = aer_encode_uint64_t(__buf, NULL, triton_list_size(__list)); \ if(mret == TRITON_SUCCESS) \ { \ - triton_list_for_each_entry(__pos, __list, __member) \ + triton_list_for_each_entry(__pos, __list, __typename, __member) \ { \ mret = aer_encode_##__typename(__buf, NULL, __pos); \ if(mret != TRITON_SUCCESS) break; \ diff --git a/code/src/remote/error-encoding.h b/code/src/remote/error-encoding.h index 5a5d3e6..9473cf5 100644 --- a/code/src/remote/error-encoding.h +++ b/code/src/remote/error-encoding.h @@ -11,7 +11,7 @@ static inline uint64_t aer_encode_size_triton_ret_t(const char *name, void *x) triton_ret_t *ret = (triton_ret_t *)x;
size += aer_encode_size_triton_ret_t("base", &(*ret)->base); - size += aer_encode_triton_node_t("node", &(*ret)->node); + size += aer_encode_triton_addr_t("node", &(*ret)->node); size += aer_encode_size_uint32_t("error_code", &(*ret)->error_code); size += aer_encode_size_triton_string_t("message", &(*ret)->message); return size; @@ -21,7 +21,7 @@ static inline triton_ret_t aer_encode_inner_error(triton_buffer_t *buf, triton_r { triton_ret_t err;
- err = aer_encode_triton_node_t(buf, "node", &(*ret)->node); + err = aer_encode_triton_addr_t(buf, "node", &(*ret)->node); if(err != TRITON_SUCCESS) { return err; @@ -63,7 +63,7 @@ static inline triton_ret_t aer_decode_inner_error(triton_buffer_t *buf, triton_r { triton_ret_t err;
- err = aer_decode_triton_node_t(buf, NULL, &(*ret)->node); + err = aer_decode_triton_addr_t(buf, NULL, &(*ret)->node); if(err != TRITON_SUCCESS) return err;
err = aer_decode_uint32_t(buf, NULL, &(*ret)->error_code); @@ -82,7 +82,7 @@ static inline triton_ret_t aer_decode_triton_ret_t(triton_buffer_t *buf, char ** triton_ret_t prev, first; uint32_t count; struct triton_error *newerror; - triton_node_t base_node; + triton_addr_t base_node; uint32_t base_err_code;
assert(ret != NULL); @@ -114,7 +114,7 @@ static inline triton_ret_t aer_decode_triton_ret_t(triton_buffer_t *buf, char **
}
- err = aer_decode_triton_node_t(buf, NULL, &base_node); + err = aer_decode_triton_addr_t(buf, NULL, &base_node); if(err != TRITON_SUCCESS) return err; /* TODO: fix leaked errors */
err = aer_decode_uint32_t(buf, NULL, &base_err_code); diff --git a/code/src/remote/message.ae b/code/src/remote/message.ae index 41957b8..2f8833e 100644 --- a/code/src/remote/message.ae +++ b/code/src/remote/message.ae @@ -4,11 +4,10 @@
extern triton_msg_group_t ae_remote_unexp_group; extern triton_msg_group_t ae_remote_exp_group; -extern triton_msg_ctx_t ae_remote_msg_ctx;
static triton_msg_tag_t aer_remote_next_tag(void) { - return triton_msg_new_tag(ae_remote_msg_ctx, ae_remote_unexp_group); + return triton_msg_new_tag(ae_remote_unexp_group); }
void aer_message_reset(aer_message_t *m) @@ -40,11 +39,10 @@ uint64_t aer_message_get_op(aer_message_t *m) return m->header.op; }
-__blocking triton_ret_t aer_message_send_unexp(triton_node_t dest, triton_msg_tag_t tag, aer_message_t *msg) +__blocking triton_ret_t aer_message_send_unexp(triton_addr_t dest, triton_msg_tag_t tag, aer_message_t *msg) { /* TODO: timeout/retry.. */ - return triton_msg_send(ae_remote_msg_ctx, - dest, + return triton_msg_send(dest, ae_remote_unexp_group, aer_remote_next_tag(), 1, @@ -52,11 +50,10 @@ __blocking triton_ret_t aer_message_send_unexp(triton_node_t dest, triton_msg_ta &msg->buffer.size); }
-__blocking triton_ret_t aer_message_send_exp(triton_node_t dest, triton_msg_tag_t tag, aer_message_t *msg) +__blocking triton_ret_t aer_message_send_exp(triton_addr_t dest, triton_msg_tag_t tag, aer_message_t *msg) { /* TODO: timeout/retry.. */ - return triton_msg_send(ae_remote_msg_ctx, - dest, + return triton_msg_send(dest, ae_remote_exp_group, tag, 1, @@ -64,12 +61,11 @@ __blocking triton_ret_t aer_message_send_exp(triton_node_t dest, triton_msg_tag_ &msg->buffer.size); }
-__blocking triton_ret_t aer_message_recv_any(triton_node_t *from, aer_message_t *msg) +__blocking triton_ret_t aer_message_recv_any(triton_addr_t *from, aer_message_t *msg) { triton_ret_t ret;
- ret = triton_msg_recv_any(ae_remote_msg_ctx, - ae_remote_unexp_group, + ret = triton_msg_recv_any(ae_remote_unexp_group, from, &msg->header.tag, 1, @@ -85,11 +81,10 @@ __blocking triton_ret_t aer_message_recv_any(triton_node_t *from, aer_message_t }
-__blocking triton_ret_t aer_message_recv(triton_node_t from, aer_message_t *msg) +__blocking triton_ret_t aer_message_recv(triton_addr_t from, aer_message_t *msg) { /* TODO: timeout/retry.. */ - return triton_msg_recv(ae_remote_msg_ctx, - from, + return triton_msg_recv(from, ae_remote_exp_group, msg->header.tag, 1, @@ -98,7 +93,7 @@ __blocking triton_ret_t aer_message_recv(triton_node_t from, aer_message_t *msg) &msg->buffer.size); }
-__blocking triton_ret_t aer_message_sendrecv(triton_node_t dest, +__blocking triton_ret_t aer_message_sendrecv(triton_addr_t dest, aer_message_t *send, aer_message_t *recv) { @@ -110,8 +105,7 @@ __blocking triton_ret_t aer_message_sendrecv(triton_node_t dest, { pbranch { - recv_ret = triton_msg_recv(ae_remote_msg_ctx, - dest, + recv_ret = triton_msg_recv(dest, ae_remote_exp_group, tag, 1, @@ -122,8 +116,7 @@ __blocking triton_ret_t aer_message_sendrecv(triton_node_t dest,
pbranch { - send_ret = triton_msg_send(ae_remote_msg_ctx, - dest, + send_ret = triton_msg_send(dest, ae_remote_unexp_group, tag, 1, diff --git a/code/src/remote/message.hae b/code/src/remote/message.hae index 4fbc0e5..680f249 100644 --- a/code/src/remote/message.hae +++ b/code/src/remote/message.hae @@ -43,26 +43,26 @@ uint64_t aer_message_get_op(aer_message_t *message); * Send an aesop remote message to the destination. This message is sent * using the aesop remote unexpected group, with the tag specified in the message. */ -__blocking triton_ret_t aer_message_send_unexp(triton_node_t dest, triton_msg_tag_t tag, aer_message_t *msg); +__blocking triton_ret_t aer_message_send_unexp(triton_addr_t dest, triton_msg_tag_t tag, aer_message_t *msg);
/** * Send the aesop remote message to the destination, with the message sent using * the expected group. */ -__blocking triton_ret_t aer_message_send_exp(triton_node_t dest, triton_msg_tag_t tag, aer_message_t *msg); +__blocking triton_ret_t aer_message_send_exp(triton_addr_t dest, triton_msg_tag_t tag, aer_message_t *msg);
/** * Receive an aesop remote message from a given source. All receives in this case * are expected, and should have a matching send_exp. */ -__blocking triton_ret_t aer_message_recv(triton_node_t source, aer_message_t *msg); +__blocking triton_ret_t aer_message_recv(triton_addr_t source, aer_message_t *msg);
-__blocking triton_ret_t aer_message_sendrecv(triton_node_t dest, aer_message_t *send, aer_message_t *recv); +__blocking triton_ret_t aer_message_sendrecv(triton_addr_t dest, aer_message_t *send, aer_message_t *recv);
/** * Receive an aesop remote message from anyone, returning the message and the source. */ -__blocking triton_ret_t aer_message_recv_any(triton_node_t *from, aer_message_t *msg); +__blocking triton_ret_t aer_message_recv_any(triton_addr_t *from, aer_message_t *msg);
uint32_t aer_message_header_size(void);
diff --git a/code/src/remote/node-encoding.h b/code/src/remote/node-encoding.h index 78c2791..067d5b9 100644 --- a/code/src/remote/node-encoding.h +++ b/code/src/remote/node-encoding.h @@ -4,17 +4,17 @@
#include "remote/encoding.h"
-static inline uint64_t aer_encode_triton_node_t(const char *name, void *x) +static inline uint64_t aer_encode_triton_addr_t(const char *name, void *x) { return aer_encode_uint128_t(name, x); }
-static inline triton_ret_t aer_encode_triton_node_t(triton_buffer_t *buf, const char *name, void *x) +static inline triton_ret_t aer_encode_triton_addr_t(triton_buffer_t *buf, const char *name, void *x) { return aer_encode_uint128_t(buf, name, x); }
-static inline triton_ret_t aer_decode_triton_node_t(triton_buffer_t *buf, char **name, void *x) +static inline triton_ret_t aer_decode_triton_addr_t(triton_buffer_t *buf, char **name, void *x) { return aer_encode_uint128_t(buf, name, x); } diff --git a/code/src/remote/service.hae b/code/src/remote/service.hae index 3476e15..e7b8821 100644 --- a/code/src/remote/service.hae +++ b/code/src/remote/service.hae @@ -6,13 +6,11 @@
uint64_t aer_service_unique_id(const char *opname);
-triton_msg_ctx_t aer_service_get_context(void); - triton_ret_t aer_service_register(uint64_t service_id, const char *service, __blocking triton_ret_t (*service_fn)(aer_message_t *in, aer_message_t *out));
-__blocking triton_ret_t aer_service_invoke(triton_node_t from, uint64_t service_id, aer_message_t *in, aer_message_t *out); +__blocking triton_ret_t aer_service_invoke(triton_addr_t from, uint64_t service_id, aer_message_t *in, aer_message_t *out);
triton_ret_t aer_service_init(void);
diff --git a/code/src/replicated-osd/tests/rosd-create-bench.aer b/code/src/replicated-osd/tests/rosd-create-bench.aer index 194cef0..8e28ff0 100644 --- a/code/src/replicated-osd/tests/rosd-create-bench.aer +++ b/code/src/replicated-osd/tests/rosd-create-bench.aer @@ -41,7 +41,7 @@ __blocking void do_remote_server(void) int rank; uint128_t oid; int32_t out; - triton_node_t svr; + triton_addr_t svr; int nprocs;
MPI_Comm_rank(MPI_COMM_WORLD, &rank); @@ -81,11 +81,12 @@ __blocking void do_remote_remove(void) int rank; uint128_t oid; int32_t out; - triton_node_t svr; + triton_addr_t svr;
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
- svr = triton_node_lookup(mpi_msg_ctx, "0"); + ret = triton_addr_lookup("mpi://0", &svr); + assert(ret == TRITON_SUCCESS);
/* TODO: clean this up; I'm cheating for convenience... */ oid = triton_uint128_from_uint64(0); @@ -128,11 +129,12 @@ __blocking void do_remote_test(void) int rank; uint128_t oid; int32_t out; - triton_node_t svr; + triton_addr_t svr;
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
- svr = triton_node_lookup(mpi_msg_ctx, "0"); + ret = triton_addr_lookup("mpi://0", &svr); + assert(ret == TRITON_SUCCESS);
/* TODO: clean this up; I'm cheating for convenience... */ oid = triton_uint128_from_uint64(0); diff --git a/code/src/replicated-osd/tests/rosd1.aer b/code/src/replicated-osd/tests/rosd1.aer index 3e0932e..8757dfc 100644 --- a/code/src/replicated-osd/tests/rosd1.aer +++ b/code/src/replicated-osd/tests/rosd1.aer @@ -22,8 +22,6 @@
#include "mpi.h"
-static triton_msg_ctx_t mpi_msg_ctx; - __blocking void do_remote_test(void) { triton_ret_t ret; @@ -31,7 +29,7 @@ __blocking void do_remote_test(void) int rank; uint128_t oid; int32_t out; - triton_node_t svr; + triton_addr_t svr; struct rosd_create_req req;
MPI_Comm_rank(MPI_COMM_WORLD, &rank); @@ -51,7 +49,8 @@ __blocking void do_remote_test(void) ret = triton_timer(2000); assert(ret == TRITON_SUCCESS);
- svr = triton_node_lookup(mpi_msg_ctx, "0"); + ret = triton_addr_lookup("mpi://0", &svr); + assert(ret == TRITON_SUCCESS);
oid = triton_uint128_from_uint64(rank);
@@ -116,10 +115,6 @@ int main(int argc, char *argv[]) ret = aer_service_init(); assert(ret == TRITON_SUCCESS);
- /* we need the mpi context so that we can lookup nodes */ - mpi_msg_ctx = aer_service_get_context(); - assert(mpi_msg_ctx); - ret = aer_remote_register_rosd(); assert(ret == TRITON_SUCCESS);
diff --git a/code/src/versioned-osd/prototype/tests/module.mk.in b/code/src/versioned-osd/prototype/tests/module.mk.in index d7827e5..c529d81 100644 --- a/code/src/versioned-osd/prototype/tests/module.mk.in +++ b/code/src/versioned-osd/prototype/tests/module.mk.in @@ -12,3 +12,5 @@ AELIBSRC += $(DIR)/faker.ae LIBSRC += $(DIR)/fake-resource.c
MODLIBS_$(DIR) = -lpthread -ldb + +DEPLIBS += -ldb diff --git a/code/src/versioned-osd/prototype/vosd-fd-cache.ae b/code/src/versioned-osd/prototype/vosd-fd-cache.ae index 6574d93..8efe4d4 100644 --- a/code/src/versioned-osd/prototype/vosd-fd-cache.ae +++ b/code/src/versioned-osd/prototype/vosd-fd-cache.ae @@ -147,9 +147,13 @@ __blocking triton_ret_t fd_cache_get(struct fd_cache_entry **entry, uint128_t oi struct stat statbuf; triton_ret_t tret; triton_ret_t tret_tmp; - int posix_open_flags = O_RDWR|O_CREAT|O_NOATIME; + int posix_open_flags = O_RDWR|O_CREAT; char oid_str[TRITON_UINT128_STRLEN];
+#ifdef HAVE_NOATIME + posix_open_flags |= O_NOATIME; +#endif + triton_mutex_lock(&fd_mutex); assert(oid_table);
@@ -179,7 +183,9 @@ __blocking triton_ret_t fd_cache_get(struct fd_cache_entry **entry, uint128_t oi tmp_entry->ref_count = 1;
if(flags & VOSD_INIT_FLAG_DATA_ODIRECT) +#ifdef HAVE_ODIRECT posix_open_flags |= O_DIRECT; +#endif /* note: if data coalescing is enabled then we leave it to the vosd to * decide when to sync. Otherwise we turn it on automatically */ diff --git a/code/triton-config.h.in b/code/triton-config.h.in index f2b1def..6685feb 100644 --- a/code/triton-config.h.in +++ b/code/triton-config.h.in @@ -1,8 +1,5 @@ /* triton-config.h.in. Generated from configure.ac by autoheader. */
-/* Define if building universal (internal helper macro) */ -#undef AC_APPLE_UNIVERSAL_BUILD - /* Define if third param (message) to DB error callback function is const */ #undef HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK
@@ -24,6 +21,12 @@ /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H
+/* Define if O_NOATIME exists */ +#undef HAVE_NOATIME + +/* Define if O_DIRECT exists */ +#undef HAVE_ODIRECT + /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H
@@ -66,9 +69,6 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME
-/* Define to the home page for this package. */ -#undef PACKAGE_URL - /* Define to the version of this package. */ #undef PACKAGE_VERSION
@@ -90,14 +90,6 @@ /* sub version number */ #undef TRITON_VERSION_SUB
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -# undef WORDS_BIGENDIAN -# endif -#endif +/* Define to 1 if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +#undef WORDS_BIGENDIAN
hooks/post-receive -- Triton Repository _______________________________________________ triton-commits mailing list [email protected] https://lists.mcs.anl.gov/mailman/listinfo/triton-commits
Thanks Sam. -- Rob On Sep 22, 2010, at 4:44 PM, Sam Lang wrote: > > Ok! I've committed the changes we discussed yesterday. In > particular, the triton_node_t is now a triton_addr_t, and the > message context no longer exists (we keep track of the message > method in the address structure). I have a bunch of conflicts with > the fakess/placement code. I'm quite sure this commit will break > those components, they probably won't even compile. Justin, I'm > going to let you figure out what needs to be changed in that code, > since just swapping out the triton_node_t with triton_addr_t > probably isn't going to be enough. I've tried to just merge all the > remote code, but there were a lot of conflicts, so I'm not sure if > that worked entirely. > > I also included some changes to get builds working on OS X. They > don't quite work yet, but are a lot closer than before. Apple now > provides blocks support (part of GCD) by default, which is of course > not ANSI, so the parser breaks on some of the standard include > headers. I think I've worked around that, but Apple also doesn't > allow static linking for user binaries. We have to create .dylib > libraries rather than .a files. I think I've mostly solved that > too, but its not quite working yet. > > I'm going to go through now and make sure things build (except for > fakess/placement). Just keep in mind that builds might break till > we fixup all the deps on the triton_node_t stuff. > > -sam > > On Sep 22, 2010, at 4:26 PM, git wrote: > >> This is an automated email from the git hooks/post-receive script. >> It was >> generated because a ref change was pushed to the repository >> containing >> the project "Triton Repository". >> >> The branch, master has been updated >> via 9674af0769270760ace98dbbaac29fc3f484d752 (commit) >> via e6344ce34b5e2ce7d25289f42a0e273070cb1cc2 (commit) >> via a88736515493768666dbb8cc35900133cb77c020 (commit) >> via b161fa81d35604ba0685eabf1bb816bfc064e04b (commit) >> from c4d8ed95019f857d7e9416b053e1738b295762e7 (commit) >> >> Those revisions listed above that are new to this repository have >> not appeared on any other notification email; so we list those >> revisions in full, below. >> >> - Log >> ----------------------------------------------------------------- >> commit 9674af0769270760ace98dbbaac29fc3f484d752 >> Merge: e6344ce34b5e2ce7d25289f42a0e273070cb1cc2 >> c4d8ed95019f857d7e9416b053e1738b295762e7 >> Author: slang <[email protected]> >> Date: Wed Sep 22 16:26:22 2010 -0500 >> >> fix conflict >> >> commit e6344ce34b5e2ce7d25289f42a0e273070cb1cc2 >> Merge: a88736515493768666dbb8cc35900133cb77c020 >> f0dd98c6b6dc871259b256b588dfc9b0f3468645 >> Author: slang <[email protected]> >> Date: Wed Sep 22 16:13:52 2010 -0500 >> >> new addr_t stuff merged with remote, changes to get things >> building on OS X >> >> commit a88736515493768666dbb8cc35900133cb77c020 >> Author: slang <[email protected]> >> Date: Wed Sep 22 15:46:26 2010 -0500 >> >> replace node_t with addr_t. removed msg_ctx from everywhere. >> fixes for builds on OSX, still needs some work with dylibs though... >> >> commit b161fa81d35604ba0685eabf1bb816bfc064e04b >> Author: slang <[email protected]> >> Date: Mon Sep 13 10:37:36 2010 -0500 >> >> get things working on mac >> >> ----------------------------------------------------------------------- >> >> Summary of changes: >> code/Makefile.in | 57 +- >> code/aclocal.m4 | 5 +- >> code/configure | 6730 ++++++++++ >> ++-------- >> code/configure.ac | 3 + >> code/maint/config/unix.m4 | 60 + >> code/maint/hs/syb-0.1.0.1.tar.gz | Bin 0 -> >> 10072 bytes >> code/src/aesop/ae-remote-parser.h | 2 +- >> code/src/aesop/op.h | 2 +- >> code/src/aesop/opcache.c | 4 +- >> code/src/aesop/opcache.h | 4 +- >> code/src/aesop/parser/CGen.lhs | 20 +- >> code/src/aesop/parser/Walker.lhs | 15 +- >> code/src/aesop/parser/ae-blocking-parser.lhs | 30 +- >> code/src/aesop/parser/ae-remote-parser.lhs | 23 +- >> .../tests/remote/test-remote-fault-injector.aer | 17 +- >> .../aesop/parser/tests/remote/test-remote-mock.aer | 44 +- >> .../aesop/parser/tests/remote/test-remote-mpi.aer | 19 +- >> code/src/common/tests/testhash.c | 14 +- >> code/src/common/tests/testlist.c | 2 +- >> code/src/common/triton-debug.c | 4 +- >> code/src/common/triton-error.c | 13 +- >> code/src/common/triton-error.h | 12 +- >> code/src/common/triton-error.h1 | 93 - >> code/src/common/triton-list.h | 8 +- >> code/src/common/triton-log.c | 2 +- >> code/src/common/triton-notify.c | 2 +- >> code/src/fakess/test/announce.ae | 2 +- >> code/src/fakess/test/observer.ae | 2 +- >> code/src/fakess/test/post-global.ae | 2 +- >> code/src/net/fault-injector/fault-method.ae | 62 +- >> code/src/net/mock/mock-method.ae | 187 +- >> code/src/net/module.mk.in | 2 +- >> code/src/net/mpi/mpi-method.ae | 88 +- >> code/src/net/mpi/mpi.c | 2 +- >> code/src/net/test/mock-client-server.ae | 28 +- >> code/src/net/test/mpi-client-server.ae | 30 +- >> code/src/net/triton-addr.h | 29 + >> code/src/net/triton-message-internal.hae | 12 - >> code/src/net/triton-message-method.hae | 110 +- >> code/src/net/triton-message.ae | 282 +- >> code/src/net/triton-message.hae | 53 +- >> code/src/net/triton-node.ae | 62 - >> code/src/net/triton-node.h | 48 - >> code/src/remote/encoding-pw.h | 4 +- >> code/src/remote/error-encoding.h | 10 +- >> code/src/remote/message.ae | 31 +- >> code/src/remote/message.hae | 10 +- >> code/src/remote/node-encoding.h | 6 +- >> code/src/remote/service.hae | 4 +- >> .../src/replicated-osd/tests/rosd-create-bench.aer | 12 +- >> code/src/replicated-osd/tests/rosd1.aer | 11 +- >> .../src/versioned-osd/prototype/tests/module.mk.in | 2 + >> code/src/versioned-osd/prototype/vosd-fd-cache.ae | 8 +- >> code/triton-config.h.in | 26 +- >> 54 files changed, 5006 insertions(+), 3304 deletions(-) >> create mode 100644 code/maint/config/unix.m4 >> create mode 100644 code/maint/hs/syb-0.1.0.1.tar.gz >> delete mode 100644 code/src/common/triton-error.h1 >> create mode 100644 code/src/net/triton-addr.h >> delete mode 100644 code/src/net/triton-message-internal.hae >> delete mode 100644 code/src/net/triton-node.ae >> delete mode 100644 code/src/net/triton-node.h >> >> >> Diff of changes: >> diff --git a/code/Makefile.in b/code/Makefile.in >> index 21c8c46..5e38f75 100644 >> --- a/code/Makefile.in >> +++ b/code/Makefile.in >> @@ -91,6 +91,8 @@ MPILIBS = @MPILIBS@ >> BUILD_MPI = @BUILD_MPI@ >> BUILD_OSD = @BUILD_OSD@ >> >> +USE_DYLIBS = @USE_DYLIBS@ >> + >> INSTALL = @INSTALL@ >> >> AELIBSRC := >> @@ -324,6 +326,8 @@ HSINT=$(patsubst %.lhs,%.hi,$(filter %.lhs,$ >> (HSSRC))) \ >> AEBLOCKINGP=$(builddir)/src/aesop/parser/ae-blocking-parser >> AEREMOTEP=$(builddir)/src/aesop/parser/ae-remote-parser >> >> +AEBFLAGS=$(patsubst %,-g %,$(CFLAGS)) >> +AERFLAGS=$(patsubst %,-g %,$(CFLAGS)) >> >> DEPENDS = $(LIBOBJS_DEPENDS) \ >> $(TESTLIBOBJS_DEPENDS) \ >> @@ -348,13 +352,13 @@ $(TESTOBJS_DEPENDS) $(LIBOBJS_DEPENDS) $ >> (TESTLIBOBJS_DEPENDS): %.d: %.c >> $(Q) " DEP $@" >> $(E)$(CC) -MT $(patsubst %.d,%.o,$@) -MM -MG -MF $@ $< $ >> (LIBCFLAGS) $(CFLAGS) $(CWARNS) $(call MODCFLAGS,$*) >> >> -$(TEST): %: %.o lib/libtriton.a lib/libtriton-test.a >> +$(TEST): %: %.o $(LIBRARIES) >> $(Q) " LD $@" >> $(E)$(call MCC_C,$*) \ >> -o $@ $< $(LDFLAGS) $(LIBS) \ >> -L$(builddir)/lib -ltriton-test -ltriton >> >> -$(AETEST): %: %.o lib/libtriton.a lib/libtriton-test.a >> +$(AETEST): %: %.o $(LIBRARIES) >> $(Q) " LD $@" >> $(E)$(call MCC_AE,$*) \ >> -o $@ $< $(LDFLAGS) $(LIBS) \ >> @@ -380,7 +384,12 @@ $(TESTLIBOBJS): %.o: %.d >> $(call MODCFLAGS_C,$*) \ >> $(srcdir)/$(patsubst %.d,%.c,$<) >> >> +# for now we just use static if we're not on a mac >> +ifneq (,$(USE_DYLIBS)) >> +LIBRARIES=lib/libtriton.dylib lib/libtriton-test.dylib >> +else >> LIBRARIES=lib/libtriton.a lib/libtriton-test.a >> +endif >> >> lib/libtriton.a: $(AELIBOBJS) $(REMOTE_LIBOBJS) $ >> (REMOTE_LIB_MODOBJS) $(LIBOBJS) >> $(Q) " RANLIB $@" >> @@ -399,6 +408,30 @@ lib/libosc-osd.a: $(LIBOSDOBJS) >> $(E)ar rcs $@ $(LIBOSDOBJS) >> endif >> >> +# shared objects >> + >> +lib/libtriton.so: $(AELIBOBJS) $(REMOTE_LIBOBJS) $ >> (REMOTE_LIB_MODOBJS) $(LIBOBJS) >> + $(Q) " LDSO $@" >> + $(E)$(INSTALL) -d lib >> + $(E)$(LDSHARED) -Wl,-soname,libtriton.so -o $@ $(AELIBOBJS) $ >> (REMOTE_LIBOBJS) $(REMOTE_LIB_MODOBJS) $(LIBOBJS) >> + >> +lib/libtriton-test.so: $(AETESTLIBOBJS) $(REMOTE_TESTLIBOBJS) $ >> (REMOTE_TESTLIB_MODOBJS) $(TESTLIBOBJS) >> + $(Q) " LDSO $@" >> + $(E)$(INSTALL) -d lib >> + $(E)$(LDSHARED) -Wl,-soname,libtriton-test.so -o $@ $ >> (AETESTLIBOBJS) $(REMOTE_TESTLIBOBJS) $(REMOTE_TESTLIB_MODOBJS) $ >> (TESTLIBOBJS) >> + >> +lib/libtriton.dylib: $(AELIBOBJS) $(REMOTE_LIBOBJS) $ >> (REMOTE_LIB_MODOBJS) $(LIBOBJS) >> + $(Q) " DYLIB $@" >> + $(E)$(INSTALL) -d lib >> + $(E)$(CC) -o lib/libtriton.dylib -dynamiclib -current_version >> 0.0.1 -install_name lib/libtriton.0.0.1.dylib \ >> + $(AELIBOBJS) $(REMOTE_LIBOBJS) $(REMOTE_LIB_MODOBJS) $(LIBOBJS) $ >> (DEPLIBS) >> + >> +lib/libtriton-test.dylib: $(AETESTLIBOBJS) $(REMOTE_TESTLIBOBJS) $ >> (REMOTE_TESTLIB_MODOBJS) $(TESTLIBOBJS) >> + $(Q) " DYLIB $@" >> + $(E)$(INSTALL) -d lib >> + $(E)$(CC) -o lib/libtriton-test.dylib -dynamiclib - >> current_version 0.0.1 -install_name lib/libtriton-test.0.0.1.dylib \ >> + $(AETESTLIBOBJS) $(REMOTE_TESTLIBOBJS) $(REMOTE_TESTLIB_MODOBJS) >> $(TESTLIBOBJS) $(DEPLIBS) -L$(builddir)/lib -ltriton >> + >> # AE rules compile *.ae files to object files: *.ae -> *.ae.i -> >> *.ae.s -> *.o >> # Also compile a dummy object to verify syntax: *.ae -> *.dummyobj >> >> @@ -414,7 +447,7 @@ $(AEOBJS): %.o: $(HSBIN) %.d %.ae.s >> >> %.ae.s: %.ae.i >> $(Q) " AECC $* (.ae -> .ae.s)" >> - $(E)$(AEBLOCKINGP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o >> $@ -r $*.ae $(AEPRETTY) $*.ae.i >> + $(E)$(AEBLOCKINGP) $(AEBFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $ >> (CPPDEFS) -o $@ -r $*.ae $(AEPRETTY) $*.ae.i >> >> KEEP_THESE = %.ae.i >> ifneq (,@AE_DEBUG@) >> @@ -460,7 +493,7 @@ $(AESOP_TRHDR_DEPENDS): %.hae.d: %.hae >> >> $(AESOP_TRHDR): %.h: %.hae.i $(HSBIN) >> $(Q) " AECC $*.hae" >> - $(E)$(AEBLOCKINGP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -j >> -r $(srcdir)/$*.hae -o $@ $(AEPRETTY) $*.hae.i >> + $(E)$(AEBLOCKINGP) $(AEBFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $ >> (CPPDEFS) -j -r $(srcdir)/$*.hae -o $@ $(AEPRETTY) $*.hae.i >> >> # Generate header files (%.h) from AE remote header files >> # >> @@ -475,11 +508,11 @@ $(REMOTE_TRHDR_DEPENDS): %.haer.d: %.haer >> >> %.haer.r: %.haer.i >> $(Q) " AERCC $* (.haer -> .haer.r)" >> - $(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o >> $@ -r $(srcdir)/$*.haer $(AEPRETTY) >> + $(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $ >> (CPPDEFS) -o $@ -r $(srcdir)/$*.haer $(AEPRETTY) >> >> $(REMOTE_TRHDR): %.h: %.haer.r $(HSBIN) >> $(Q) " AECC $* (.haer.r -> .h)" >> - $(E)$(AEBLOCKINGP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -j >> -r $(srcdir)/$*.haer -o $@ $(AEPRETTY) $*.haer.r >> + $(E)$(AEBLOCKINGP) $(AEBFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $ >> (CPPDEFS) -j -r $(srcdir)/$*.haer -o $@ $(AEPRETTY) $*.haer.r >> >> # AER rules compile sources with remote specifiers into ae sources: >> # >> @@ -497,7 +530,7 @@ $(REMOTE_OBJS): %.o: $(HSBIN) %.d %.aer.r.s >> $(LIBCFLAGS) \ >> $(CFLAGS) $(CWARNS) -Wno-redundant-decls $(call MODCFLAGS_AE,$*) >> $*.aer.r.s >> >> -$(REMOTE_TEST): %: %.o lib/libtriton.a lib/libtriton-test.a >> +$(REMOTE_TEST): %: %.o $(LIBRARIES) >> $(Q) " LD $@" >> $(E)$(call MCC_AE,$*) \ >> -o $@ $< $(LDFLAGS) $(LIBS) \ >> @@ -533,11 +566,11 @@ endif >> >> %.aer.r: %.aer.i $(HSBIN) >> $(Q) " AERCC $* (.aer -> .aer.r)" >> - $(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o >> $@ -r $*.aer $(AEPRETTY) $*.aer.i >> + $(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $ >> (CPPDEFS) -o $@ -r $*.aer $(AEPRETTY) $*.aer.i >> >> %.aer.r.s: %.aer.r $(HSBIN) >> $(Q) " AECC $* (.aer.r -> .aer.r.s)" >> - $(E)$(AEBLOCKINGP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -o >> $@ -r $*.aer $(AEPRETTY) $*.aer.r >> + $(E)$(AEBLOCKINGP) $(AEBFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $ >> (CPPDEFS) -o $@ -r $*.aer $(AEPRETTY) $*.aer.r >> >> ifneq (,@AE_DEBUG@) >> .SECONDARY: %.aer.r %.aer.r.s >> @@ -555,14 +588,14 @@ $(REMOTE_TESTLIB_MODSRC_DEPENDS): >> %_module.ae.d: >> $(Q) " DEP $@" >> $(E)echo $*_module.ae $*_module.h: $(call TESTRMOD_FILES,$*) > $@ >> >> - $(E)echo " "$(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $ >> (CPPDEFS) -n $(call bname,$*) -d $(call dirname,$*) $(call >> TESTRMOD_FILES,$*) >> $@ >> + $(E)echo " "$(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $ >> (CPPINCS) $(CPPDEFS) -n $(call bname,$*) -d $(call dirname,$*) $ >> (call TESTRMOD_FILES,$*) >> $@ >> >> #$(REMOTE_TESTLIB_MODSRC): %_module.ae: $(HSBIN) %_module.ae.d >> -# $(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $ >> (call bname,$*) -d $(call dirname,$@) $(call TESTRMOD_FILES,$*) >> +# $(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $ >> (CPPDEFS) -n $(call bname,$*) -d $(call dirname,$@) $(call >> TESTRMOD_FILES,$*) >> >> $(REMOTE_LIB_MODSRC): %_module.ae: $(HSBIN) %_module.ae.d >> $(Q) " AERCC $(call bname,$*) -> $*_module.ae" >> - $(E)$(AEREMOTEP) -I$(srcdir)/src/aesop $(CPPINCS) $(CPPDEFS) -n $ >> (call bname,$*) -d $(call dirname,$@) $(call RMOD_FILES,$*) >> + $(E)$(AEREMOTEP) $(AERFLAGS) -I$(srcdir)/src/aesop $(CPPINCS) $ >> (CPPDEFS) -n $(call bname,$*) -d $(call dirname,$@) $(call >> RMOD_FILES,$*) >> >> $(REMOTE_TESTLIB_MODOBJS) $(REMOTE_LIB_MODOBJS): %.o: %.ae.s >> $(Q) " CC $*_module (.ae.s -> .o)" >> diff --git a/code/aclocal.m4 b/code/aclocal.m4 >> index 3a3c5b3..b99b49d 100644 >> --- a/code/aclocal.m4 >> +++ b/code/aclocal.m4 >> @@ -1,7 +1,7 @@ >> -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- >> +# generated automatically by aclocal 1.10 -*- Autoconf -*- >> >> # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, >> -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. >> +# 2005, 2006 Free Software Foundation, Inc. >> # This file is free software; the Free Software Foundation >> # gives unlimited permission to copy and/or distribute it, >> # with or without modifications, as long as this notice is preserved. >> @@ -13,3 +13,4 @@ >> >> m4_include([maint/config/bdb.m4]) >> m4_include([maint/config/sqlite.m4]) >> +m4_include([maint/config/unix.m4]) >> diff --git a/code/configure b/code/configure >> index 336fb69..d2bbbd6 100755 >> --- a/code/configure >> +++ b/code/configure >> @@ -1,85 +1,62 @@ >> #! /bin/sh >> # Guess values for system-dependent variables and create Makefiles. >> -# Generated by GNU Autoconf 2.65 for triton 0.1.1. >> +# Generated by GNU Autoconf 2.61 for triton 0.1.1. >> # >> # Report bugs to <[email protected]>. >> # >> -# >> # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, >> -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software >> Foundation, >> -# Inc. >> -# >> -# >> +# 2002, 2003, 2004, 2005, 2006 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. ## >> -## -------------------- ## >> +## --------------------- ## >> +## M4sh Initialization. ## >> +## --------------------- ## >> >> # Be more Bourne compatible >> DUALCASE=1; export DUALCASE # for MKS sh >> -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; >> then : >> +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; >> then >> emulate sh >> NULLCMD=: >> - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which >> + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which >> # is contrary to our usage. Disable this feature. >> alias -g '${1+"$@"}'='"$@"' >> setopt NO_GLOB_SUBST >> else >> - case `(set -o) 2>/dev/null` in #( >> - *posix*) : >> - set -o posix ;; #( >> - *) : >> - ;; >> + case `(set -o) 2>/dev/null` in >> + *posix*) set -o posix ;; >> esac >> + >> fi >> >> >> -as_nl=' >> -' >> -export as_nl >> -# Printing a long string crashes Solaris 7 /usr/bin/printf. >> -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ >> \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' >> -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo >> -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo >> -# Prefer a ksh shell builtin over an external printf program on >> Solaris, >> -# but without wasting forks for bash or zsh. >> -if test -z "$BASH_VERSION$ZSH_VERSION" \ >> - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; >> then >> - as_echo='print -r --' >> - as_echo_n='print -rn --' >> -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then >> - as_echo='printf %s\n' >> - as_echo_n='printf %s' >> -else >> - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n >> $as_echo"; then >> - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' >> - as_echo_n='/usr/ucb/echo -n' >> + >> + >> +# PATH needs CR >> +# 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 >> - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' >> - as_echo_n_body='eval >> - arg=$1; >> - case $arg in #( >> - *"$as_nl"*) >> - expr "X$arg" : "X\\(.*\\)$as_nl"; >> - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; >> - esac; >> - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" >> - ' >> - export as_echo_n_body >> - as_echo_n='sh -c $as_echo_n_body as_echo' >> + PATH_SEPARATOR=: >> fi >> - export as_echo_body >> - as_echo='sh -c $as_echo_body as_echo' >> + rm -f conf$$.sh >> fi >> >> -# The user is always right. >> -if test "${PATH_SEPARATOR+set}" != set; then >> - PATH_SEPARATOR=: >> - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { >> - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || >> - PATH_SEPARATOR=';' >> - } >> +# Support unset when possible. >> +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then >> + as_unset=unset >> +else >> + as_unset=false >> fi >> >> >> @@ -88,18 +65,20 @@ fi >> # there to prevent editors from complaining about space-tab. >> # (If _AS_PATH_WALK were called with IFS unset, it would disable word >> # splitting by setting IFS to empty value.) >> +as_nl=' >> +' >> IFS=" "" $as_nl" >> >> # Find who we are. Look in the path if we contain no directory >> separator. >> -case $0 in #(( >> +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 >> + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break >> +done >> IFS=$as_save_IFS >> >> ;; >> @@ -110,322 +89,354 @@ if test "x$as_myself" = x; then >> as_myself=$0 >> fi >> if test ! -f "$as_myself"; then >> - $as_echo "$as_myself: error: cannot find myself; rerun with an >> absolute file name" >&2 >> - exit 1 >> + echo "$as_myself: error: cannot find myself; rerun with an >> absolute file name" >&2 >> + { (exit 1); exit 1; } >> fi >> >> -# Unset variables that we do not need and which cause bugs (e.g. in >> -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| >> exit 1" >> -# suppresses any "Segmentation fault" message there. '((' could >> -# trigger a bug in pdksh 5.2.14. >> -for as_var in BASH_ENV ENV MAIL MAILPATH >> -do eval test x\${$as_var+set} = xset \ >> - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var >> || : >> +# Work around bugs in pre-3.0 UWIN ksh. >> +for as_var in ENV MAIL MAILPATH >> +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var >> done >> PS1='$ ' >> PS2='> ' >> PS4='+ ' >> >> # NLS nuisances. >> -LC_ALL=C >> -export LC_ALL >> -LANGUAGE=C >> -export LANGUAGE >> +for as_var in \ >> + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE >> LC_IDENTIFICATION \ >> + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC >> LC_PAPER \ >> + LC_TELEPHONE LC_TIME >> +do >> + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); >> then >> + eval $as_var=C; export $as_var >> + else >> + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var >> + fi >> +done >> + >> +# Required to use basename. >> +if expr a : '\(a\)' >/dev/null 2>&1 && >> + test "X`expr 00001 : '.*\(...\)'`" = X001; then >> + as_expr=expr >> +else >> + as_expr=false >> +fi >> + >> +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" >> = "X/"; then >> + as_basename=basename >> +else >> + as_basename=false >> +fi >> + >> + >> +# 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'` >> >> # CDPATH. >> -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH >> +$as_unset CDPATH >> + >> >> if test "x$CONFIG_SHELL" = x; then >> - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && >> (emulate sh) >/dev/null 2>&1; then : >> - emulate sh >> - NULLCMD=: >> - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, >> which >> - # is contrary to our usage. Disable this feature. >> - alias -g '\${1+\"\$@\"}'='\"\$@\"' >> - setopt NO_GLOB_SUBST >> + if (eval ":") 2>/dev/null; then >> + as_have_required=yes >> else >> - case \`(set -o) 2>/dev/null\` in #( >> - *posix*) : >> - set -o posix ;; #( >> - *) : >> - ;; >> -esac >> + as_have_required=no >> fi >> -" >> - as_required="as_fn_return () { (exit \$1); } >> -as_fn_success () { as_fn_return 0; } >> -as_fn_failure () { as_fn_return 1; } >> -as_fn_ret_success () { return 0; } >> -as_fn_ret_failure () { return 1; } >> + >> + if test $as_have_required = yes && (eval ": >> +(as_func_return () { >> + (exit \$1) >> +} >> +as_func_success () { >> + as_func_return 0 >> +} >> +as_func_failure () { >> + as_func_return 1 >> +} >> +as_func_ret_success () { >> + return 0 >> +} >> +as_func_ret_failure () { >> + return 1 >> +} >> >> exitcode=0 >> -as_fn_success || { exitcode=1; echo as_fn_success failed.; } >> -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } >> -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } >> -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure >> succeeded.; } >> -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : >> - >> -else >> - exitcode=1; echo positional parameters were not saved. >> -fi >> -test x\$exitcode = x0 || exit 1" >> - as_suggested=" as_lineno_1=";as_suggested=$as_suggested >> $LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO >> - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested= >> $as_suggested" as_lineno_2a=\$LINENO >> - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\ >> $as_run'\" && >> - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\ >> $as_lineno_2'\$as_run'\"' || exit 1 >> -test \$(( 1 + 1 )) = 2 || exit 1" >> - if (eval "$as_required") 2>/dev/null; then : >> - as_have_required=yes >> +if as_func_success; then >> + : >> else >> - as_have_required=no >> + exitcode=1 >> + echo as_func_success failed. >> +fi >> + >> +if as_func_failure; then >> + exitcode=1 >> + echo as_func_failure succeeded. >> fi >> - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/ >> dev/null; then : >> >> +if as_func_ret_success; then >> + : >> else >> - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR >> -as_found=false >> + exitcode=1 >> + echo as_func_ret_success failed. >> +fi >> + >> +if as_func_ret_failure; then >> + exitcode=1 >> + echo as_func_ret_failure succeeded. >> +fi >> + >> +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then >> + : >> +else >> + exitcode=1 >> + echo positional parameters were not saved. >> +fi >> + >> +test \$exitcode = 0) || { (exit 1); exit 1; } >> + >> +( >> + as_lineno_1=\$LINENO >> + as_lineno_2=\$LINENO >> + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && >> + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || >> { (exit 1); exit 1; } >> +") 2> /dev/null; then >> + : >> +else >> + as_candidate_shells= >> + 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=. >> - as_found=: >> - case $as_dir in #( >> + case $as_dir in >> /*) >> for as_base in sh bash ksh sh5; do >> - # Try only shells that exist, to save several forks. >> - as_shell=$as_dir/$as_base >> - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && >> - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a >> "$as_shell"; } 2>/dev/null; then : >> - CONFIG_SHELL=$as_shell as_have_required=yes >> - if { $as_echo "$as_bourne_compatible""$as_suggested" | >> as_run=a "$as_shell"; } 2>/dev/null; then : >> - break 2 >> -fi >> -fi >> + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" >> done;; >> esac >> - as_found=false >> done >> -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && >> - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a >> "$SHELL"; } 2>/dev/null; then : >> - CONFIG_SHELL=$SHELL as_have_required=yes >> -fi; } >> IFS=$as_save_IFS >> >> >> - if test "x$CONFIG_SHELL" != x; then : >> - # We cannot yet assume a decent shell, so we have to provide a >> - # neutralization value for shells without unset; and this also >> - # works around shells that cannot unset nonexistent variables. >> - BASH_ENV=/dev/null >> - ENV=/dev/null >> - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV >> - export CONFIG_SHELL >> - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} >> -fi >> + for as_shell in $as_candidate_shells $SHELL; do >> + # Try only shells that exist, to save several forks. >> + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && >> + { ("$as_shell") 2> /dev/null <<\_ASEOF >> +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; >> then >> + emulate sh >> + NULLCMD=: >> + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which >> + # is contrary to our usage. Disable this feature. >> + alias -g '${1+"$@"}'='"$@"' >> + setopt NO_GLOB_SUBST >> +else >> + case `(set -o) 2>/dev/null` in >> + *posix*) set -o posix ;; >> +esac >> >> - if test x$as_have_required = xno; then : >> - $as_echo "$0: This script requires a shell more modern than all" >> - $as_echo "$0: the shells that I found on your system." >> - if test x${ZSH_VERSION+set} = xset ; then >> - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and >> should" >> - $as_echo "$0: be upgraded to zsh 4.3.4 or later." >> - else >> - $as_echo "$0: Please tell [email protected] and >> -$0: [email protected] about your system, including any >> -$0: error possibly output before this message. Then install >> -$0: a modern shell, or manually run the script under such a >> -$0: shell if you do have one." >> - fi >> - exit 1 >> -fi >> fi >> + >> + >> +: >> +_ASEOF >> +}; then >> + CONFIG_SHELL=$as_shell >> + as_have_required=yes >> + if { "$as_shell" 2> /dev/null <<\_ASEOF >> +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; >> then >> + emulate sh >> + NULLCMD=: >> + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which >> + # is contrary to our usage. Disable this feature. >> + alias -g '${1+"$@"}'='"$@"' >> + setopt NO_GLOB_SUBST >> +else >> + case `(set -o) 2>/dev/null` in >> + *posix*) set -o posix ;; >> +esac >> + >> fi >> -SHELL=${CONFIG_SHELL-/bin/sh} >> -export SHELL >> -# Unset more variables known to interfere with behavior of common >> tools. >> -CLICOLOR_FORCE= GREP_OPTIONS= >> -unset CLICOLOR_FORCE GREP_OPTIONS >> >> -## --------------------- ## >> -## M4sh Shell Functions. ## >> -## --------------------- ## >> -# as_fn_unset VAR >> -# --------------- >> -# Portably unset VAR. >> -as_fn_unset () >> -{ >> - { eval $1=; unset $1;} >> + >> +: >> +(as_func_return () { >> + (exit $1) >> +} >> +as_func_success () { >> + as_func_return 0 >> +} >> +as_func_failure () { >> + as_func_return 1 >> +} >> +as_func_ret_success () { >> + return 0 >> +} >> +as_func_ret_failure () { >> + return 1 >> } >> -as_unset=as_fn_unset >> >> -# as_fn_set_status STATUS >> -# ----------------------- >> -# Set $? to STATUS, without forking. >> -as_fn_set_status () >> -{ >> - return $1 >> -} # as_fn_set_status >> +exitcode=0 >> +if as_func_success; then >> + : >> +else >> + exitcode=1 >> + echo as_func_success failed. >> +fi >> >> -# as_fn_exit STATUS >> -# ----------------- >> -# Exit the shell with STATUS, even in a "trap 0" or "set -e" >> context. >> -as_fn_exit () >> -{ >> - set +e >> - as_fn_set_status $1 >> - exit $1 >> -} # as_fn_exit >> - >> -# as_fn_mkdir_p >> -# ------------- >> -# Create "$as_dir" as a directory, including parents if necessary. >> -as_fn_mkdir_p () >> -{ >> +if as_func_failure; then >> + exitcode=1 >> + echo as_func_failure succeeded. >> +fi >> >> - case $as_dir in #( >> - -*) as_dir=./$as_dir;; >> - esac >> - test -d "$as_dir" || eval $as_mkdir_p || { >> - as_dirs= >> - while :; do >> - case $as_dir in #( >> - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/ >> g"`;; #'( >> - *) as_qdir=$as_dir;; >> - esac >> - as_dirs="'$as_qdir' $as_dirs" >> - as_dir=`$as_dirname -- "$as_dir" || >> -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ >> - X"$as_dir" : 'X\(//\)[^/]' \| \ >> - X"$as_dir" : 'X\(//\)$' \| \ >> - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || >> -$as_echo X"$as_dir" | >> - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ >> - s//\1/ >> - q >> - } >> - /^X\(\/\/\)[^/].*/{ >> - s//\1/ >> - q >> - } >> - /^X\(\/\/\)$/{ >> - s//\1/ >> - q >> - } >> - /^X\(\/\).*/{ >> - s//\1/ >> - q >> - } >> - s/.*/./; q'` >> - test -d "$as_dir" && break >> - done >> - test -z "$as_dirs" || eval "mkdir $as_dirs" >> - } || test -d "$as_dir" || as_fn_error "cannot create directory >> $as_dir" >> - >> - >> -} # as_fn_mkdir_p >> -# as_fn_append VAR VALUE >> -# ---------------------- >> -# Append the text in VALUE to the end of the definition contained >> in VAR. Take >> -# advantage of any shell optimizations that allow amortized linear >> growth over >> -# repeated appends, instead of the typical quadratic growth >> present in naive >> -# implementations. >> -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; >> then : >> - eval 'as_fn_append () >> - { >> - eval $1+=\$2 >> - }' >> +if as_func_ret_success; then >> + : >> else >> - as_fn_append () >> - { >> - eval $1=\$$1\$2 >> - } >> -fi # as_fn_append >> - >> -# as_fn_arith ARG... >> -# ------------------ >> -# Perform arithmetic evaluation on the ARGs, and store the result >> in the >> -# global $as_val. Take advantage of shells that can avoid forks. >> The arguments >> -# must be portable across $(()) and expr. >> -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : >> - eval 'as_fn_arith () >> - { >> - as_val=$(( $* )) >> - }' >> + exitcode=1 >> + echo as_func_ret_success failed. >> +fi >> + >> +if as_func_ret_failure; then >> + exitcode=1 >> + echo as_func_ret_failure succeeded. >> +fi >> + >> +if ( set x; as_func_ret_success y && test x = "$1" ); then >> + : >> else >> - as_fn_arith () >> - { >> - as_val=`expr "$@" || test $? -eq 1` >> - } >> -fi # as_fn_arith >> + exitcode=1 >> + echo positional parameters were not saved. >> +fi >> >> +test $exitcode = 0) || { (exit 1); exit 1; } >> >> -# as_fn_error ERROR [LINENO LOG_FD] >> -# --------------------------------- >> -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and >> LOG_FD are >> -# provided, also output the error to LOG_FD, referencing LINENO. >> Then exit the >> -# script with status $?, using 1 if that was 0. >> -as_fn_error () >> -{ >> - as_status=$?; test $as_status -eq 0 && as_status=1 >> - if test "$3"; then >> - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack= >> $as_lineno_stack >> - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 >> - fi >> - $as_echo "$as_me: error: $1" >&2 >> - as_fn_exit $as_status >> -} # as_fn_error >> +( >> + as_lineno_1=$LINENO >> + as_lineno_2=$LINENO >> + test "x$as_lineno_1" != "x$as_lineno_2" && >> + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit >> 1); exit 1; } >> >> -if expr a : '\(a\)' >/dev/null 2>&1 && >> - test "X`expr 00001 : '.*\(...\)'`" = X001; then >> - as_expr=expr >> +_ASEOF >> +}; then >> + break >> +fi >> + >> +fi >> + >> + done >> + >> + if test "x$CONFIG_SHELL" != x; then >> + for as_var in BASH_ENV ENV >> + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var >> + done >> + export CONFIG_SHELL >> + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} >> +fi >> + >> + >> + if test $as_have_required = no; then >> + echo This script requires a shell more modern than all the >> + echo shells that I found on your system. Please install a >> + echo modern shell, or manually run the script under such a >> + echo shell if you do have one. >> + { (exit 1); exit 1; } >> +fi >> + >> + >> +fi >> + >> +fi >> + >> + >> + >> +(eval "as_func_return () { >> + (exit \$1) >> +} >> +as_func_success () { >> + as_func_return 0 >> +} >> +as_func_failure () { >> + as_func_return 1 >> +} >> +as_func_ret_success () { >> + return 0 >> +} >> +as_func_ret_failure () { >> + return 1 >> +} >> + >> +exitcode=0 >> +if as_func_success; then >> + : >> else >> - as_expr=false >> + exitcode=1 >> + echo as_func_success failed. >> fi >> >> -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" >> = "X/"; then >> - as_basename=basename >> +if as_func_failure; then >> + exitcode=1 >> + echo as_func_failure succeeded. >> +fi >> + >> +if as_func_ret_success; then >> + : >> else >> - as_basename=false >> + exitcode=1 >> + echo as_func_ret_success failed. >> fi >> >> -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null >> 2>&1; then >> - as_dirname=dirname >> +if as_func_ret_failure; then >> + exitcode=1 >> + echo as_func_ret_failure succeeded. >> +fi >> + >> +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then >> + : >> else >> - as_dirname=false >> + exitcode=1 >> + echo positional parameters were not saved. >> fi >> >> -as_me=`$as_basename -- "$0" || >> -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ >> - X"$0" : 'X\(//\)$' \| \ >> - X"$0" : 'X\(/\)' \| . 2>/dev/null || >> -$as_echo X/"$0" | >> - sed '/^.*\/\([^/][^/]*\)\/*$/{ >> - s//\1/ >> - q >> - } >> - /^X\/\(\/\/\)$/{ >> - s//\1/ >> - q >> - } >> - /^X\/\(\/\).*/{ >> - s//\1/ >> - q >> - } >> - s/.*/./; q'` >> +test \$exitcode = 0") || { >> + echo No shell found that supports shell functions. >> + echo Please tell [email protected] about your system, >> + echo including any error possibly output before this >> + echo message >> +} >> + >> >> -# Avoid depending upon Character Ranges. >> -as_cr_letters='abcdefghijklmnopqrstuvwxyz' >> -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' >> -as_cr_Letters=$as_cr_letters$as_cr_LETTERS >> -as_cr_digits='0123456789' >> -as_cr_alnum=$as_cr_Letters$as_cr_digits >> >> + as_lineno_1=$LINENO >> + as_lineno_2=$LINENO >> + test "x$as_lineno_1" != "x$as_lineno_2" && >> + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { >> >> - as_lineno_1=$LINENO as_lineno_1a=$LINENO >> - as_lineno_2=$LINENO as_lineno_2a=$LINENO >> - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && >> - test "x`expr $as_lineno_1'$as_run' + 1`" = "x >> $as_lineno_2'$as_run'"' || { >> - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) >> + # 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 after each line using $LINENO; the second 'sed' >> + # does the real work. The second script uses 'N' to pair each >> + # line-number line with the line containing $LINENO, 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 >> + # scripts with optimization help from Paolo Bonzini. Blame Lee >> + # E. McMahon (1931-1989) for sed's syntax. :-) >> sed -n ' >> p >> /[$]LINENO/= >> @@ -442,7 +453,8 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits >> s/-\n.*// >> ' >$as_me.lineno && >> chmod +x "$as_me.lineno" || >> - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun >> with a POSIX shell" >&2; as_fn_exit 1; } >> + { 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 >> @@ -452,40 +464,49 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits >> exit >> } >> >> + >> +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null >> 2>&1; then >> + as_dirname=dirname >> +else >> + as_dirname=false >> +fi >> + >> ECHO_C= ECHO_N= ECHO_T= >> -case `echo -n x` in #((((( >> +case `echo -n x` in >> -n*) >> - case `echo 'xy\c'` in >> + case `echo 'x\c'` in >> *c*) ECHO_T=' ';; # ECHO_T is single tab character. >> - xy) ECHO_C='\c';; >> - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null >> - ECHO_T=' ';; >> + *) ECHO_C='\c';; >> esac;; >> *) >> ECHO_N='-n';; >> esac >> >> +if expr a : '\(a\)' >/dev/null 2>&1 && >> + test "X`expr 00001 : '.*\(...\)'`" = X001; then >> + as_expr=expr >> +else >> + as_expr=false >> +fi >> + >> rm -f conf$$ conf$$.exe conf$$.file >> if test -d conf$$.dir; then >> rm -f conf$$.dir/conf$$.file >> else >> rm -f conf$$.dir >> - mkdir conf$$.dir 2>/dev/null >> -fi >> -if (echo >conf$$.file) 2>/dev/null; then >> - if ln -s conf$$.file conf$$ 2>/dev/null; then >> - as_ln_s='ln -s' >> - # ... but there are two gotchas: >> - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. >> - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper >> executable. >> - # In both cases, we have to default to `cp -p'. >> - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$ >> $.exe || >> - as_ln_s='cp -p' >> - elif ln conf$$.file conf$$ 2>/dev/null; then >> - as_ln_s=ln >> - else >> + mkdir conf$$.dir >> +fi >> +echo >conf$$.file >> +if ln -s conf$$.file conf$$ 2>/dev/null; then >> + as_ln_s='ln -s' >> + # ... but there are two gotchas: >> + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. >> + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper >> executable. >> + # In both cases, we have to default to `cp -p'. >> + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe >> || >> as_ln_s='cp -p' >> - fi >> +elif ln conf$$.file conf$$ 2>/dev/null; then >> + as_ln_s=ln >> else >> as_ln_s='cp -p' >> fi >> @@ -493,7 +514,7 @@ rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file >> conf$$.file >> rmdir conf$$.dir 2>/dev/null >> >> if mkdir -p . 2>/dev/null; then >> - as_mkdir_p='mkdir -p "$as_dir"' >> + as_mkdir_p=: >> else >> test -d ./-p && rmdir ./-p >> as_mkdir_p=false >> @@ -510,12 +531,12 @@ else >> as_test_x=' >> eval sh -c '\'' >> if test -d "$1"; then >> - test -d "$1/."; >> + test -d "$1/."; >> else >> - case $1 in #( >> - -*)set "./$1";; >> + case $1 in >> + -*)set "./$1";; >> esac; >> - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( >> + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in >> ???[sx]*):;;*)false;;esac;fi >> '\'' sh >> ' >> @@ -529,8 +550,8 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P >> $as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" >> as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" >> >> >> -test -n "$DJDIR" || exec 7<&0 </dev/null >> -exec 6>&1 >> + >> +exec 7<&0 </dev/null 6>&1 >> >> # Name of the host. >> # hostname on some systems (SVR3.2, Linux) returns a bogus exit >> status, >> @@ -548,6 +569,7 @@ cross_compiling=no >> subdirs= >> MFLAGS= >> MAKEFLAGS= >> +SHELL=${CONFIG_SHELL-/bin/sh} >> >> # Identity of this package. >> PACKAGE_NAME='triton' >> @@ -555,7 +577,6 @@ PACKAGE_TARNAME='triton' >> PACKAGE_VERSION='0.1.1' >> PACKAGE_STRING='triton 0.1.1' >> PACKAGE_BUGREPORT='[email protected]' >> -PACKAGE_URL='' >> >> # Factoring default headers for most tests. >> ac_includes_default="\ >> @@ -593,95 +614,82 @@ ac_includes_default="\ >> # include <unistd.h> >> #endif" >> >> -ac_subst_vars='LTLIBOBJS >> -LIBOBJS >> -BUILD_OSD >> -TRITON_SQLITE_LIBS >> -TRITON_SQLITE_INCLUDES >> -THREAD_LIB >> -LIBCFLAGS >> -ENABLE_COVERAGE >> -AE_DEBUG >> -STRICT_CFLAGS >> -WARNINGS_AS_ERRORS >> -QUIET_COMPILE >> -SRC_ABSOLUTE_TOP >> -SRC_RELATIVE_TOP >> -BUILD_ABSOLUTE_TOP >> -BUILD_MPI >> -MPILIBS >> -MPILDFLAGS >> -MPICFLAGS >> -MPICC >> -DB_LIB >> -DB_CFLAGS >> -GHC >> -EGREP >> -GREP >> -CPP >> -OBJEXT >> -EXEEXT >> -ac_ct_CC >> -CPPFLAGS >> -LDFLAGS >> -CFLAGS >> -CC >> -INSTALL_DATA >> -INSTALL_SCRIPT >> -INSTALL_PROGRAM >> -TRITON_VERSION >> -target_alias >> -host_alias >> -build_alias >> -LIBS >> -ECHO_T >> -ECHO_N >> -ECHO_C >> -DEFS >> -mandir >> -localedir >> -libdir >> -psdir >> -pdfdir >> -dvidir >> -htmldir >> -infodir >> -docdir >> -oldincludedir >> -includedir >> -localstatedir >> -sharedstatedir >> -sysconfdir >> -datadir >> -datarootdir >> -libexecdir >> -sbindir >> -bindir >> -program_transform_name >> -prefix >> -exec_prefix >> -PACKAGE_URL >> -PACKAGE_BUGREPORT >> -PACKAGE_STRING >> -PACKAGE_VERSION >> -PACKAGE_TARNAME >> -PACKAGE_NAME >> +ac_subst_vars='SHELL >> PATH_SEPARATOR >> -SHELL' >> +PACKAGE_NAME >> +PACKAGE_TARNAME >> +PACKAGE_VERSION >> +PACKAGE_STRING >> +PACKAGE_BUGREPORT >> +exec_prefix >> +prefix >> +program_transform_name >> +bindir >> +sbindir >> +libexecdir >> +datarootdir >> +datadir >> +sysconfdir >> +sharedstatedir >> +localstatedir >> +includedir >> +oldincludedir >> +docdir >> +infodir >> +htmldir >> +dvidir >> +pdfdir >> +psdir >> +libdir >> +localedir >> +mandir >> +DEFS >> +ECHO_C >> +ECHO_N >> +ECHO_T >> +LIBS >> +build_alias >> +host_alias >> +target_alias >> +TRITON_VERSION >> +INSTALL_PROGRAM >> +INSTALL_SCRIPT >> +INSTALL_DATA >> +CC >> +CFLAGS >> +LDFLAGS >> +CPPFLAGS >> +ac_ct_CC >> +EXEEXT >> +OBJEXT >> +CPP >> +GREP >> +EGREP >> +GHC >> +DB_CFLAGS >> +DB_LIB >> +MPICC >> +MPICFLAGS >> +MPILDFLAGS >> +MPILIBS >> +BUILD_MPI >> +USE_DYLIBS >> +BUILD_ABSOLUTE_TOP >> +SRC_RELATIVE_TOP >> +SRC_ABSOLUTE_TOP >> +QUIET_COMPILE >> +WARNINGS_AS_ERRORS >> +STRICT_CFLAGS >> +AE_DEBUG >> +ENABLE_COVERAGE >> +LIBCFLAGS >> +THREAD_LIB >> +TRITON_SQLITE_INCLUDES >> +TRITON_SQLITE_LIBS >> +BUILD_OSD >> +LIBOBJS >> +LTLIBOBJS' >> ac_subst_files='' >> -ac_user_opts=' >> -enable_option_checking >> -with_ghc >> -with_db >> -with_mpi >> -enable_verbose >> -enable_error_on_warning >> -enable_strict >> -enable_aesop_debug >> -enable_coverage >> -enable_thread_safety >> -with_sqlite >> -' >> ac_precious_vars='build_alias >> host_alias >> target_alias >> @@ -696,8 +704,6 @@ CPP' >> # Initialize some variables set by options. >> ac_init_help= >> ac_init_version=false >> -ac_unrecognized_opts= >> -ac_unrecognized_sep= >> # The variables have the same names as the options, with >> # dashes changed to underlines. >> cache_file=/dev/null >> @@ -796,20 +802,13 @@ do >> datarootdir=$ac_optarg ;; >> >> -disable-* | --disable-*) >> - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` >> + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` >> # Reject names that are not valid shell variable names. >> - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && >> - as_fn_error "invalid feature name: $ac_useropt" >> - ac_useropt_orig=$ac_useropt >> - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` >> - case $ac_user_opts in >> - *" >> -"enable_$ac_useropt" >> -"*) ;; >> - *) ac_unrecognized_opts="$ac_unrecognized_opts >> $ac_unrecognized_sep--disable-$ac_useropt_orig" >> - ac_unrecognized_sep=', ';; >> - esac >> - eval enable_$ac_useropt=no ;; >> + 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 ;; >> >> -docdir | --docdir | --docdi | --doc | --do) >> ac_prev=docdir ;; >> @@ -822,20 +821,13 @@ do >> dvidir=$ac_optarg ;; >> >> -enable-* | --enable-*) >> - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` >> + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` >> # Reject names that are not valid shell variable names. >> - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && >> - as_fn_error "invalid feature name: $ac_useropt" >> - ac_useropt_orig=$ac_useropt >> - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` >> - case $ac_user_opts in >> - *" >> -"enable_$ac_useropt" >> -"*) ;; >> - *) ac_unrecognized_opts="$ac_unrecognized_opts >> $ac_unrecognized_sep--enable-$ac_useropt_orig" >> - ac_unrecognized_sep=', ';; >> - esac >> - eval enable_$ac_useropt=\$ac_optarg ;; >> + 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=\$ac_optarg ;; >> >> -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ >> | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ >> @@ -1026,36 +1018,22 @@ do >> ac_init_version=: ;; >> >> -with-* | --with-*) >> - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` >> + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` >> # Reject names that are not valid shell variable names. >> - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && >> - as_fn_error "invalid package name: $ac_useropt" >> - ac_useropt_orig=$ac_useropt >> - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` >> - case $ac_user_opts in >> - *" >> -"with_$ac_useropt" >> -"*) ;; >> - *) ac_unrecognized_opts="$ac_unrecognized_opts >> $ac_unrecognized_sep--with-$ac_useropt_orig" >> - ac_unrecognized_sep=', ';; >> - esac >> - eval with_$ac_useropt=\$ac_optarg ;; >> + 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=\$ac_optarg ;; >> >> -without-* | --without-*) >> - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` >> + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` >> # Reject names that are not valid shell variable names. >> - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && >> - as_fn_error "invalid package name: $ac_useropt" >> - ac_useropt_orig=$ac_useropt >> - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` >> - case $ac_user_opts in >> - *" >> -"with_$ac_useropt" >> -"*) ;; >> - *) ac_unrecognized_opts="$ac_unrecognized_opts >> $ac_unrecognized_sep--without-$ac_useropt_orig" >> - ac_unrecognized_sep=', ';; >> - esac >> - eval with_$ac_useropt=no ;; >> + 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. >> @@ -1075,25 +1053,25 @@ do >> | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | >> --x-l=*) >> x_libraries=$ac_optarg ;; >> >> - -*) as_fn_error "unrecognized option: \`$ac_option' >> -Try \`$0 --help' for more information." >> + -*) { 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. >> - case $ac_envvar in #( >> - '' | [0-9]* | *[!_$as_cr_alnum]* ) >> - as_fn_error "invalid variable name: \`$ac_envvar'" ;; >> - esac >> + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && >> + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 >> + { (exit 1); exit 1; }; } >> eval $ac_envvar=\$ac_optarg >> export $ac_envvar ;; >> >> *) >> # FIXME: should be removed in autoconf 3.0. >> - $as_echo "$as_me: WARNING: you should use --build, --host, -- >> target" >&2 >> + echo "$as_me: WARNING: you should use --build, --host, -- >> target" >&2 >> expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && >> - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 >> + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 >> : ${build_alias=$ac_option} ${host_alias=$ac_option} $ >> {target_alias=$ac_option} >> ;; >> >> @@ -1102,36 +1080,23 @@ done >> >> if test -n "$ac_prev"; then >> ac_option=--`echo $ac_prev | sed 's/_/-/g'` >> - as_fn_error "missing argument to $ac_option" >> + { echo "$as_me: error: missing argument to $ac_option" >&2 >> + { (exit 1); exit 1; }; } >> fi >> >> -if test -n "$ac_unrecognized_opts"; then >> - case $enable_option_checking in >> - no) ;; >> - fatal) as_fn_error "unrecognized options: >> $ac_unrecognized_opts" ;; >> - *) $as_echo "$as_me: WARNING: unrecognized options: >> $ac_unrecognized_opts" >&2 ;; >> - esac >> -fi >> - >> -# Check all directory arguments for consistency. >> +# Be sure to have absolute directory names. >> for ac_var in exec_prefix prefix bindir sbindir libexecdir >> datarootdir \ >> datadir sysconfdir sharedstatedir localstatedir includedir \ >> oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ >> libdir localedir mandir >> do >> eval ac_val=\$$ac_var >> - # Remove trailing slashes. >> - case $ac_val in >> - */ ) >> - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\ >> (.*\)'` >> - eval $ac_var=\$ac_val;; >> - esac >> - # Be sure to have absolute directory names. >> case $ac_val in >> [\\/$]* | ?:[\\/]* ) continue;; >> NONE | '' ) case $ac_var in *prefix ) continue;; esac;; >> esac >> - as_fn_error "expected an absolute directory name for --$ac_var: >> $ac_val" >> + { echo "$as_me: error: expected an absolute directory name for -- >> $ac_var: $ac_val" >&2 >> + { (exit 1); exit 1; }; } >> done >> >> # There might be people who depend on the old broken behavior: ` >> $host' >> @@ -1145,7 +1110,7 @@ target=$target_alias >> if test "x$host_alias" != x; then >> if test "x$build_alias" = x; then >> cross_compiling=maybe >> - $as_echo "$as_me: WARNING: If you wanted to set the --build >> type, don't use --host. >> + 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 >> @@ -1161,21 +1126,23 @@ test "$silent" = yes && exec 6>/dev/null >> ac_pwd=`pwd` && test -n "$ac_pwd" && >> ac_ls_di=`ls -di .` && >> ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || >> - as_fn_error "working directory cannot be determined" >> + { echo "$as_me: error: Working directory cannot be determined" >&2 >> + { (exit 1); exit 1; }; } >> test "X$ac_ls_di" = "X$ac_pwd_ls_di" || >> - as_fn_error "pwd does not report name of working directory" >> + { echo "$as_me: error: pwd does not report name of working >> directory" >&2 >> + { (exit 1); exit 1; }; } >> >> >> # Find the source files, if location was not specified. >> if test -z "$srcdir"; then >> ac_srcdir_defaulted=yes >> # Try the directory containing this script, then the parent >> directory. >> - ac_confdir=`$as_dirname -- "$as_myself" || >> -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ >> - X"$as_myself" : 'X\(//\)[^/]' \| \ >> - X"$as_myself" : 'X\(//\)$' \| \ >> - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || >> -$as_echo X"$as_myself" | >> + ac_confdir=`$as_dirname -- "$0" || >> +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ >> + X"$0" : 'X\(//\)[^/]' \| \ >> + X"$0" : 'X\(//\)$' \| \ >> + X"$0" : 'X\(/\)' \| . 2>/dev/null || >> +echo X"$0" | >> sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ >> s//\1/ >> q >> @@ -1202,11 +1169,13 @@ else >> fi >> if test ! -r "$srcdir/$ac_unique_file"; then >> test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." >> - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" >> + { echo "$as_me: error: cannot find sources ($ac_unique_file) in >> $srcdir" >&2 >> + { (exit 1); exit 1; }; } >> fi >> ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" >> ac_abs_confdir=`( >> - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error >> "$ac_msg" >> + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: >> error: $ac_msg" >&2 >> + { (exit 1); exit 1; }; } >> pwd)` >> # When building in place, set srcdir=. >> if test "$ac_abs_confdir" = "$ac_pwd"; then >> @@ -1254,9 +1223,9 @@ Configuration: >> >> Installation directories: >> --prefix=PREFIX install architecture-independent files in >> PREFIX >> - [$ac_default_prefix] >> + [$ac_default_prefix] >> --exec-prefix=EPREFIX install architecture-dependent files in >> EPREFIX >> - [PREFIX] >> + [PREFIX] >> >> By default, \`make install' will install all the files in >> \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can >> specify >> @@ -1266,25 +1235,25 @@ for instance \`--prefix=\$HOME'. >> For better control, use the options below. >> >> Fine tuning of the installation directories: >> - --bindir=DIR user executables [EPREFIX/bin] >> - --sbindir=DIR system admin executables [EPREFIX/sbin] >> - --libexecdir=DIR program executables [EPREFIX/libexec] >> - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] >> - --sharedstatedir=DIR modifiable architecture-independent data >> [PREFIX/com] >> - --localstatedir=DIR modifiable single-machine data [PREFIX/ >> var] >> - --libdir=DIR object code libraries [EPREFIX/lib] >> - --includedir=DIR C header files [PREFIX/include] >> - --oldincludedir=DIR C header files for non-gcc [/usr/include] >> - --datarootdir=DIR read-only arch.-independent data root >> [PREFIX/share] >> - --datadir=DIR read-only architecture-independent data >> [DATAROOTDIR] >> - --infodir=DIR info documentation [DATAROOTDIR/info] >> - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] >> - --mandir=DIR man documentation [DATAROOTDIR/man] >> - --docdir=DIR documentation root [DATAROOTDIR/doc/ >> triton] >> - --htmldir=DIR html documentation [DOCDIR] >> - --dvidir=DIR dvi documentation [DOCDIR] >> - --pdfdir=DIR pdf documentation [DOCDIR] >> - --psdir=DIR ps documentation [DOCDIR] >> + --bindir=DIR user executables [EPREFIX/bin] >> + --sbindir=DIR system admin executables [EPREFIX/sbin] >> + --libexecdir=DIR program executables [EPREFIX/libexec] >> + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] >> + --sharedstatedir=DIR modifiable architecture-independent data >> [PREFIX/com] >> + --localstatedir=DIR modifiable single-machine data [PREFIX/var] >> + --libdir=DIR object code libraries [EPREFIX/lib] >> + --includedir=DIR C header files [PREFIX/include] >> + --oldincludedir=DIR C header files for non-gcc [/usr/include] >> + --datarootdir=DIR read-only arch.-independent data root >> [PREFIX/share] >> + --datadir=DIR read-only architecture-independent data >> [DATAROOTDIR] >> + --infodir=DIR info documentation [DATAROOTDIR/info] >> + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] >> + --mandir=DIR man documentation [DATAROOTDIR/man] >> + --docdir=DIR documentation root [DATAROOTDIR/doc/triton] >> + --htmldir=DIR html documentation [DOCDIR] >> + --dvidir=DIR dvi documentation [DOCDIR] >> + --pdfdir=DIR pdf documentation [DOCDIR] >> + --psdir=DIR ps documentation [DOCDIR] >> _ACEOF >> >> cat <<\_ACEOF >> @@ -1298,7 +1267,6 @@ if test -n "$ac_init_help"; then >> cat <<\_ACEOF >> >> Optional Features: >> - --disable-option-checking ignore unrecognized --enable/--with >> options >> --disable-FEATURE do not include FEATURE (same as --enable- >> FEATURE=no) >> --enable-FEATURE[=ARG] include FEATURE [ARG=yes] >> --enable-verbose Enables verbose output during build process >> @@ -1323,7 +1291,7 @@ Some influential environment variables: >> LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries >> in a >> nonstandard directory <lib dir> >> LIBS libraries to pass to the linker, e.g. -l<library> >> - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. - >> I<include dir> if >> + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. - >> I<include dir> if >> you have headers in a nonstandard directory <include >> dir> >> CPP C preprocessor >> >> @@ -1338,17 +1306,15 @@ fi >> if test "$ac_init_help" = "recursive"; then >> # If there are subdirs, report their specific --help. >> for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue >> - test -d "$ac_dir" || >> - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d >> "$ac_dir"; } || >> - continue >> + test -d "$ac_dir" || continue >> ac_builddir=. >> >> case "$ac_dir" in >> .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; >> *) >> - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` >> + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` >> # A ".." for each directory in $ac_dir_suffix. >> - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\ >> \/]*|/..|g;s|/||'` >> + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\ >> \/]*,/..,g;s,/,,'` >> case $ac_top_builddir_sub in >> "") ac_top_builddir_sub=. ac_top_build_prefix= ;; >> *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; >> @@ -1384,7 +1350,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix >> echo && >> $SHELL "$ac_srcdir/configure" --help=recursive >> else >> - $as_echo "$as_me: WARNING: no configuration information is >> in $ac_dir" >&2 >> + echo "$as_me: WARNING: no configuration information is in >> $ac_dir" >&2 >> fi || ac_status=$? >> cd "$ac_pwd" || { ac_status=$?; break; } >> done >> @@ -1394,489 +1360,21 @@ test -n "$ac_init_help" && exit $ac_status >> if $ac_init_version; then >> cat <<\_ACEOF >> triton configure 0.1.1 >> -generated by GNU Autoconf 2.65 >> +generated by GNU Autoconf 2.61 >> >> -Copyright (C) 2009 Free Software Foundation, Inc. >> +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, >> +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. >> This configure script is free software; the Free Software Foundation >> gives unlimited permission to copy, distribute and modify it. >> _ACEOF >> exit >> fi >> - >> -## ------------------------ ## >> -## Autoconf initialization. ## >> -## ------------------------ ## >> - >> -# ac_fn_c_try_compile LINENO >> -# -------------------------- >> -# Try to compile conftest.$ac_ext, and return whether this >> succeeded. >> -ac_fn_c_try_compile () >> -{ >> - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack= >> $as_lineno_stack >> - rm -f conftest.$ac_objext >> - if { { ac_try="$ac_compile" >> -case "(($ac_try" in >> - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> - *) ac_try_echo=$ac_try;; >> -esac >> -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" >> -$as_echo "$ac_try_echo"; } >&5 >> - (eval "$ac_compile") 2>conftest.err >> - ac_status=$? >> - if test -s conftest.err; then >> - grep -v '^ *+' conftest.err >conftest.er1 >> - cat conftest.er1 >&5 >> - mv -f conftest.er1 conftest.err >> - fi >> - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 >> - test $ac_status = 0; } && { >> - test -z "$ac_c_werror_flag" || >> - test ! -s conftest.err >> - } && test -s conftest.$ac_objext; then : >> - ac_retval=0 >> -else >> - $as_echo "$as_me: failed program was:" >&5 >> -sed 's/^/| /' conftest.$ac_ext >&5 >> - >> - ac_retval=1 >> -fi >> - eval $as_lineno_stack; test "x$as_lineno_stack" = x && >> { as_lineno=; unset as_lineno;} >> - as_fn_set_status $ac_retval >> - >> -} # ac_fn_c_try_compile >> - >> -# ac_fn_c_try_cpp LINENO >> -# ---------------------- >> -# Try to preprocess conftest.$ac_ext, and return whether this >> succeeded. >> -ac_fn_c_try_cpp () >> -{ >> - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack= >> $as_lineno_stack >> - if { { ac_try="$ac_cpp conftest.$ac_ext" >> -case "(($ac_try" in >> - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> - *) ac_try_echo=$ac_try;; >> -esac >> -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" >> -$as_echo "$ac_try_echo"; } >&5 >> - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err >> - ac_status=$? >> - if test -s conftest.err; then >> - grep -v '^ *+' conftest.err >conftest.er1 >> - cat conftest.er1 >&5 >> - mv -f conftest.er1 conftest.err >> - fi >> - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 >> - test $ac_status = 0; } >/dev/null && { >> - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || >> - test ! -s conftest.err >> - }; then : >> - ac_retval=0 >> -else >> - $as_echo "$as_me: failed program was:" >&5 >> -sed 's/^/| /' conftest.$ac_ext >&5 >> - >> - ac_retval=1 >> -fi >> - eval $as_lineno_stack; test "x$as_lineno_stack" = x && >> { as_lineno=; unset as_lineno;} >> - as_fn_set_status $ac_retval >> - >> -} # ac_fn_c_try_cpp >> - >> -# ac_fn_c_try_run LINENO >> -# ---------------------- >> -# Try to link conftest.$ac_ext, and return whether this succeeded. >> Assumes >> -# that executables *can* be run. >> -ac_fn_c_try_run () >> -{ >> - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack= >> $as_lineno_stack >> - if { { ac_try="$ac_link" >> -case "(($ac_try" in >> - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> - *) ac_try_echo=$ac_try;; >> -esac >> -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" >> -$as_echo "$ac_try_echo"; } >&5 >> - (eval "$ac_link") 2>&5 >> - ac_status=$? >> - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 >> - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' >> - { { case "(($ac_try" in >> - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> - *) ac_try_echo=$ac_try;; >> -esac >> -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" >> -$as_echo "$ac_try_echo"; } >&5 >> - (eval "$ac_try") 2>&5 >> - ac_status=$? >> - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 >> - test $ac_status = 0; }; }; then : >> - ac_retval=0 >> -else >> - $as_echo "$as_me: program exited with status $ac_status" >&5 >> - $as_echo "$as_me: failed program was:" >&5 >> -sed 's/^/| /' conftest.$ac_ext >&5 >> - >> - ac_retval=$ac_status >> -fi >> - rm -rf conftest.dSYM conftest_ipa8_conftest.oo >> - eval $as_lineno_stack; test "x$as_lineno_stack" = x && >> { as_lineno=; unset as_lineno;} >> - as_fn_set_status $ac_retval >> - >> -} # ac_fn_c_try_run >> - >> -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES >> -# ------------------------------------------------------- >> -# Tests whether HEADER exists and can be compiled using the >> include files in >> -# INCLUDES, setting the cache variable VAR accordingly. >> -ac_fn_c_check_header_compile () >> -{ >> - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack= >> $as_lineno_stack >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 >> -$as_echo_n "checking for $2... " >&6; } >> -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : >> - $as_echo_n "(cached) " >&6 >> -else >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> -$4 >> -#include <$2> >> -_ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - eval "$3=yes" >> -else >> - eval "$3=no" >> -fi >> -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> -fi >> -eval ac_res=\$$3 >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >> >&5 >> -$as_echo "$ac_res" >&6; } >> - eval $as_lineno_stack; test "x$as_lineno_stack" = x && >> { as_lineno=; unset as_lineno;} >> - >> -} # ac_fn_c_check_header_compile >> - >> -# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES >> -# -------------------------------------------- >> -# Tries to find the compile-time value of EXPR in a program that >> includes >> -# INCLUDES, setting VAR accordingly. Returns whether the value >> could be >> -# computed >> -ac_fn_c_compute_int () >> -{ >> - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack= >> $as_lineno_stack >> - if test "$cross_compiling" = yes; then >> - # Depending upon the size, compute the lo and hi bounds. >> -cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> -$4 >> -int >> -main () >> -{ >> -static int test_array [1 - 2 * !(($2) >= 0)]; >> -test_array [0] = 0 >> - >> - ; >> - return 0; >> -} >> -_ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - ac_lo=0 ac_mid=0 >> - while :; do >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> -$4 >> -int >> -main () >> -{ >> -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; >> -test_array [0] = 0 >> - >> - ; >> - return 0; >> -} >> -_ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - ac_hi=$ac_mid; break >> -else >> - as_fn_arith $ac_mid + 1 && ac_lo=$as_val >> - if test $ac_lo -le $ac_mid; then >> - ac_lo= ac_hi= >> - break >> - fi >> - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val >> -fi >> -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> - done >> -else >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> -$4 >> -int >> -main () >> -{ >> -static int test_array [1 - 2 * !(($2) < 0)]; >> -test_array [0] = 0 >> - >> - ; >> - return 0; >> -} >> -_ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - ac_hi=-1 ac_mid=-1 >> - while :; do >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> -$4 >> -int >> -main () >> -{ >> -static int test_array [1 - 2 * !(($2) >= $ac_mid)]; >> -test_array [0] = 0 >> - >> - ; >> - return 0; >> -} >> -_ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - ac_lo=$ac_mid; break >> -else >> - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val >> - if test $ac_mid -le $ac_hi; then >> - ac_lo= ac_hi= >> - break >> - fi >> - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val >> -fi >> -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> - done >> -else >> - ac_lo= ac_hi= >> -fi >> -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> -fi >> -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> -# Binary search between lo and hi bounds. >> -while test "x$ac_lo" != "x$ac_hi"; do >> - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> -$4 >> -int >> -main () >> -{ >> -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; >> -test_array [0] = 0 >> - >> - ; >> - return 0; >> -} >> -_ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - ac_hi=$ac_mid >> -else >> - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val >> -fi >> -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> -done >> -case $ac_lo in #(( >> -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; >> -'') ac_retval=1 ;; >> -esac >> - else >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> -$4 >> -static long int longval () { return $2; } >> -static unsigned long int ulongval () { return $2; } >> -#include <stdio.h> >> -#include <stdlib.h> >> -int >> -main () >> -{ >> - >> - FILE *f = fopen ("conftest.val", "w"); >> - if (! f) >> - return 1; >> - if (($2) < 0) >> - { >> - long int i = longval (); >> - if (i != ($2)) >> - return 1; >> - fprintf (f, "%ld", i); >> - } >> - else >> - { >> - unsigned long int i = ulongval (); >> - if (i != ($2)) >> - return 1; >> - fprintf (f, "%lu", i); >> - } >> - /* Do not output a trailing newline, as this causes \r\n confusion >> - on some platforms. */ >> - return ferror (f) || fclose (f) != 0; >> - >> - ; >> - return 0; >> -} >> -_ACEOF >> -if ac_fn_c_try_run "$LINENO"; then : >> - echo >>conftest.val; read $3 <conftest.val; ac_retval=0 >> -else >> - ac_retval=1 >> -fi >> -rm -f core *.core core.conftest.* gmon.out bb.out conftest >> $ac_exeext \ >> - conftest.$ac_objext conftest.beam conftest.$ac_ext >> -rm -f conftest.val >> - >> - fi >> - eval $as_lineno_stack; test "x$as_lineno_stack" = x && >> { as_lineno=; unset as_lineno;} >> - as_fn_set_status $ac_retval >> - >> -} # ac_fn_c_compute_int >> - >> -# ac_fn_c_try_link LINENO >> -# ----------------------- >> -# Try to link conftest.$ac_ext, and return whether this succeeded. >> -ac_fn_c_try_link () >> -{ >> - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack= >> $as_lineno_stack >> - rm -f conftest.$ac_objext conftest$ac_exeext >> - if { { ac_try="$ac_link" >> -case "(($ac_try" in >> - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> - *) ac_try_echo=$ac_try;; >> -esac >> -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" >> -$as_echo "$ac_try_echo"; } >&5 >> - (eval "$ac_link") 2>conftest.err >> - ac_status=$? >> - if test -s conftest.err; then >> - grep -v '^ *+' conftest.err >conftest.er1 >> - cat conftest.er1 >&5 >> - mv -f conftest.er1 conftest.err >> - fi >> - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 >> - test $ac_status = 0; } && { >> - test -z "$ac_c_werror_flag" || >> - test ! -s conftest.err >> - } && test -s conftest$ac_exeext && { >> - test "$cross_compiling" = yes || >> - $as_test_x conftest$ac_exeext >> - }; then : >> - ac_retval=0 >> -else >> - $as_echo "$as_me: failed program was:" >&5 >> -sed 's/^/| /' conftest.$ac_ext >&5 >> - >> - ac_retval=1 >> -fi >> - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) >> information >> - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it >> would >> - # interfere with the next link command; also delete a directory >> that is >> - # left behind by Apple's compiler. We do this before executing >> the actions. >> - rm -rf conftest.dSYM conftest_ipa8_conftest.oo >> - eval $as_lineno_stack; test "x$as_lineno_stack" = x && >> { as_lineno=; unset as_lineno;} >> - as_fn_set_status $ac_retval >> - >> -} # ac_fn_c_try_link >> - >> -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES >> -# ------------------------------------------------------- >> -# Tests whether HEADER exists, giving a warning if it cannot be >> compiled using >> -# the include files in INCLUDES and setting the cache variable VAR >> -# accordingly. >> -ac_fn_c_check_header_mongrel () >> -{ >> - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack= >> $as_lineno_stack >> - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 >> -$as_echo_n "checking for $2... " >&6; } >> -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : >> - $as_echo_n "(cached) " >&6 >> -fi >> -eval ac_res=\$$3 >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >> >&5 >> -$as_echo "$ac_res" >&6; } >> -else >> - # Is the header compilable? >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 >> -$as_echo_n "checking $2 usability... " >&6; } >> -cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> -$4 >> -#include <$2> >> -_ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - ac_header_compiler=yes >> -else >> - ac_header_compiler=no >> -fi >> -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: >> $ac_header_compiler" >&5 >> -$as_echo "$ac_header_compiler" >&6; } >> - >> -# Is the header present? >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 >> -$as_echo_n "checking $2 presence... " >&6; } >> -cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> -#include <$2> >> -_ACEOF >> -if ac_fn_c_try_cpp "$LINENO"; then : >> - ac_header_preproc=yes >> -else >> - ac_header_preproc=no >> -fi >> -rm -f conftest.err conftest.$ac_ext >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: >> $ac_header_preproc" >&5 >> -$as_echo "$ac_header_preproc" >&6; } >> - >> -# So? What about this header? >> -case $ac_header_compiler:$ac_header_preproc: >> $ac_c_preproc_warn_flag in #(( >> - yes:no: ) >> - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted >> by the compiler, rejected by the preprocessor!" >&5 >> -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected >> by the preprocessor!" >&2;} >> - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: >> proceeding with the compiler's result" >&5 >> -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's >> result" >&2;} >> - ;; >> - no:yes:* ) >> - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present >> but cannot be compiled" >&5 >> -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} >> - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: >> check for missing prerequisite headers?" >&5 >> -$as_echo "$as_me: WARNING: $2: check for missing prerequisite >> headers?" >&2;} >> - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the >> Autoconf documentation" >&5 >> -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} >> - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: >> section \"Present But Cannot Be Compiled\"" >&5 >> -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be >> Compiled\"" >&2;} >> - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: >> proceeding with the compiler's result" >&5 >> -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's >> result" >&2;} >> -( cat <<\_ASBOX >> -## ------------------------------------- ## >> -## Report this to [email protected] ## >> -## ------------------------------------- ## >> -_ASBOX >> - ) | sed "s/^/$as_me: WARNING: /" >&2 >> - ;; >> -esac >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 >> -$as_echo_n "checking for $2... " >&6; } >> -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : >> - $as_echo_n "(cached) " >&6 >> -else >> - eval "$3=\$ac_header_compiler" >> -fi >> -eval ac_res=\$$3 >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >> >&5 >> -$as_echo "$ac_res" >&6; } >> -fi >> - eval $as_lineno_stack; test "x$as_lineno_stack" = x && >> { as_lineno=; unset as_lineno;} >> - >> -} # ac_fn_c_check_header_mongrel >> cat >config.log <<_ACEOF >> This file contains any messages produced by compilers while >> running configure, to aid debugging if configure makes a mistake. >> >> It was created by triton $as_me 0.1.1, which was >> -generated by GNU Autoconf 2.65. Invocation command line was >> +generated by GNU Autoconf 2.61. Invocation command line was >> >> $ $0 $@ >> >> @@ -1912,8 +1410,8 @@ for as_dir in $PATH >> do >> IFS=$as_save_IFS >> test -z "$as_dir" && as_dir=. >> - $as_echo "PATH: $as_dir" >> - done >> + echo "PATH: $as_dir" >> +done >> IFS=$as_save_IFS >> >> } >&5 >> @@ -1947,12 +1445,12 @@ do >> | -silent | --silent | --silen | --sile | --sil) >> continue ;; >> *\'*) >> - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; >> + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; >> esac >> case $ac_pass in >> - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; >> + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; >> 2) >> - as_fn_append ac_configure_args1 " '$ac_arg'" >> + 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 >> @@ -1968,13 +1466,13 @@ do >> -* ) ac_must_keep_next=true ;; >> esac >> fi >> - as_fn_append ac_configure_args " '$ac_arg'" >> + ac_configure_args="$ac_configure_args '$ac_arg'" >> ;; >> esac >> done >> done >> -{ ac_configure_args0=; unset ac_configure_args0;} >> -{ ac_configure_args1=; unset ac_configure_args1;} >> +$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 >> @@ -1999,13 +1497,12 @@ _ASBOX >> case $ac_val in #( >> *${as_nl}*) >> case $ac_var in #( >> - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: >> cache variable $ac_var contains a newline" >&5 >> -$as_echo "$as_me: WARNING: cache variable $ac_var contains a >> newline" >&2;} ;; >> + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable >> $ac_var contains a newline." >&5 >> +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >> >&2;} ;; >> esac >> case $ac_var in #( >> _ | IFS | as_nl) ;; #( >> - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( >> - *) { eval $ac_var=; unset $ac_var;} ;; >> + *) $as_unset $ac_var ;; >> esac ;; >> esac >> done >> @@ -2034,9 +1531,9 @@ _ASBOX >> do >> eval ac_val=\$$ac_var >> case $ac_val in >> - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\ >> \'\'''\''/g"`;; >> + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\ >> \'\'''\''/g"`;; >> esac >> - $as_echo "$ac_var='\''$ac_val'\''" >> + echo "$ac_var='\''$ac_val'\''" >> done | sort >> echo >> >> @@ -2051,9 +1548,9 @@ _ASBOX >> do >> eval ac_val=\$$ac_var >> case $ac_val in >> - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\ >> \'\'''\''/g"`;; >> + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\ >> \'\'''\''/g"`;; >> esac >> - $as_echo "$ac_var='\''$ac_val'\''" >> + echo "$ac_var='\''$ac_val'\''" >> done | sort >> echo >> fi >> @@ -2069,88 +1566,83 @@ _ASBOX >> echo >> fi >> test "$ac_signal" != 0 && >> - $as_echo "$as_me: caught signal $ac_signal" >> - $as_echo "$as_me: exit $exit_status" >> + echo "$as_me: caught signal $ac_signal" >> + echo "$as_me: exit $exit_status" >> } >&5 >> rm -f core *.core core.conftest.* && >> rm -f -r conftest* confdefs* conf$$* $ac_clean_files && >> exit $exit_status >> ' 0 >> for ac_signal in 1 2 13 15; do >> - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal >> + 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 -f -r conftest* confdefs.h >> >> -$as_echo "/* confdefs.h */" > confdefs.h >> - >> # Predefined preprocessor variables. >> >> cat >>confdefs.h <<_ACEOF >> #define PACKAGE_NAME "$PACKAGE_NAME" >> _ACEOF >> >> + >> cat >>confdefs.h <<_ACEOF >> #define PACKAGE_TARNAME "$PACKAGE_TARNAME" >> _ACEOF >> >> + >> cat >>confdefs.h <<_ACEOF >> #define PACKAGE_VERSION "$PACKAGE_VERSION" >> _ACEOF >> >> + >> cat >>confdefs.h <<_ACEOF >> #define PACKAGE_STRING "$PACKAGE_STRING" >> _ACEOF >> >> -cat >>confdefs.h <<_ACEOF >> -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" >> -_ACEOF >> >> cat >>confdefs.h <<_ACEOF >> -#define PACKAGE_URL "$PACKAGE_URL" >> +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" >> _ACEOF >> >> >> # Let the site file select an alternate cache file if it wants to. >> -# Prefer an explicitly selected file to automatically selected ones. >> -ac_site_file1=NONE >> -ac_site_file2=NONE >> +# Prefer explicitly selected file to automatically selected ones. >> if test -n "$CONFIG_SITE"; then >> - ac_site_file1=$CONFIG_SITE >> + set x "$CONFIG_SITE" >> elif test "x$prefix" != xNONE; then >> - ac_site_file1=$prefix/share/config.site >> - ac_site_file2=$prefix/etc/config.site >> + set x "$prefix/share/config.site" "$prefix/etc/config.site" >> else >> - ac_site_file1=$ac_default_prefix/share/config.site >> - ac_site_file2=$ac_default_prefix/etc/config.site >> + set x "$ac_default_prefix/share/config.site" \ >> + "$ac_default_prefix/etc/config.site" >> fi >> -for ac_site_file in "$ac_site_file1" "$ac_site_file2" >> +shift >> +for ac_site_file >> do >> - test "x$ac_site_file" = xNONE && continue >> - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; >> then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script >> $ac_site_file" >&5 >> -$as_echo "$as_me: loading site script $ac_site_file" >&6;} >> + 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. DJGPP emulates it as a >> regular file. >> - if test /dev/null != "$cache_file" && test -f "$cache_file"; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache >> $cache_file" >&5 >> -$as_echo "$as_me: loading cache $cache_file" >&6;} >> + # 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 >> - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache >> $cache_file" >&5 >> -$as_echo "$as_me: creating cache $cache_file" >&6;} >> + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 >> +echo "$as_me: creating cache $cache_file" >&6;} >>> $cache_file >> fi >> >> @@ -2164,56 +1656,68 @@ for ac_var in $ac_precious_vars; do >> eval ac_new_val=\$ac_env_${ac_var}_value >> case $ac_old_set,$ac_new_set in >> set,) >> - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' >> was set to \`$ac_old_val' in the previous run" >&5 >> -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in >> the previous run" >&2;} >> + { 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) >> - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' >> was not set in the previous run" >&5 >> -$as_echo "$as_me: error: \`$ac_var' was not set in the previous >> run" >&2;} >> + { 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 >> - # differences in whitespace do not lead to failure. >> - ac_old_val_w=`echo x $ac_old_val` >> - ac_new_val_w=`echo x $ac_new_val` >> - if test "$ac_old_val_w" != "$ac_new_val_w"; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has >> changed since the previous run:" >&5 >> -$as_echo "$as_me: error: \`$ac_var' has changed since the previous >> run:" >&2;} >> - ac_cache_corrupted=: >> - else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring >> whitespace changes in \`$ac_var' since the previous run:" >&5 >> -$as_echo "$as_me: warning: ignoring whitespace changes in \` >> $ac_var' since the previous run:" >&2;} >> - eval $ac_var=\$ac_old_val >> - fi >> - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \` >> $ac_old_val'" >&5 >> -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} >> - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \` >> $ac_new_val'" >&5 >> -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} >> + { 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=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\ >> \\''/g"` ;; >> + *\'*) 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. >> - *) as_fn_append ac_configure_args " '$ac_arg'" ;; >> + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; >> esac >> fi >> done >> if $ac_cache_corrupted; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >> >&5 >> -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} >> - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the >> environment can compromise the build" >&5 >> -$as_echo "$as_me: error: changes in the environment can compromise >> the build" >&2;} >> - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and >> start over" "$LINENO" 5 >> + { 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 >> -## -------------------- ## >> -## Main body of script. ## >> -## -------------------- ## >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> + >> >> ac_ext=c >> ac_cpp='$CPP $CPPFLAGS' >> @@ -2245,16 +1749,24 @@ ac_config_headers="$ac_config_headers >> triton-config.h" >> >> ac_aux_dir= >> for ac_dir in maint/config "$srcdir"/maint/config; do >> - for ac_t in install-sh install.sh shtool; do >> - if test -f "$ac_dir/$ac_t"; then >> - ac_aux_dir=$ac_dir >> - ac_install_sh="$ac_aux_dir/$ac_t -c" >> - break 2 >> - fi >> - done >> + if test -f "$ac_dir/install-sh"; then >> + ac_aux_dir=$ac_dir >> + ac_install_sh="$ac_aux_dir/install-sh -c" >> + break >> + elif test -f "$ac_dir/install.sh"; then >> + ac_aux_dir=$ac_dir >> + ac_install_sh="$ac_aux_dir/install.sh -c" >> + break >> + elif test -f "$ac_dir/shtool"; then >> + ac_aux_dir=$ac_dir >> + ac_install_sh="$ac_aux_dir/shtool install -c" >> + break >> + fi >> done >> if test -z "$ac_aux_dir"; then >> - as_fn_error "cannot find install-sh, install.sh, or shtool in >> maint/config \"$srcdir\"/maint/config" "$LINENO" 5 >> + { { echo "$as_me:$LINENO: error: cannot find install-sh or >> install.sh in maint/config \"$srcdir\"/maint/config" >&5 >> +echo "$as_me: error: cannot find install-sh or install.sh in maint/ >> config \"$srcdir\"/maint/config" >&2;} >> + { (exit 1); exit 1; }; } >> fi >> >> # These three variables are undocumented and unsupported, >> @@ -2280,23 +1792,22 @@ ac_configure="$SHELL $ac_aux_dir/ >> configure" # Please don't use this var. >> # SVR4 /usr/ucb/install, which tries to use the nonexistent group >> "staff" >> # OS/2's system install, which has a completely different semantic >> # ./install, which can be erroneously created by make from ./ >> install.sh. >> -# Reject install programs that cannot install multiple files. >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD- >> compatible install" >&5 >> -$as_echo_n "checking for a BSD-compatible install... " >&6; } >> +{ 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 : >> - $as_echo_n "(cached) " >&6 >> +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]/* | \ >> + # 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[\\/]* | \ >> + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ >> /usr/ucb/* ) ;; >> *) >> # OSF1 and SCO ODT 3.0 have their own names for install. >> @@ -2314,29 +1825,17 @@ case $as_dir/ in #(( >> # program-specific install script used by HP pwplus--don't use. >> : >> else >> - rm -rf conftest.one conftest.two conftest.dir >> - echo one > conftest.one >> - echo two > conftest.two >> - mkdir conftest.dir >> - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one >> conftest.two "`pwd`/conftest.dir" && >> - test -s conftest.one && test -s conftest.two && >> - test -s conftest.dir/conftest.one && >> - test -s conftest.dir/conftest.two >> - then >> - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" >> - break 3 >> - fi >> + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" >> + break 3 >> fi >> fi >> done >> done >> ;; >> esac >> - >> - done >> +done >> IFS=$as_save_IFS >> >> -rm -rf conftest.one conftest.two conftest.dir >> >> fi >> if test "${ac_cv_path_install+set}" = set; then >> @@ -2349,8 +1848,8 @@ fi >> INSTALL=$ac_install_sh >> fi >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 >> -$as_echo "$INSTALL" >&6; } >> +{ 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. >> @@ -2368,10 +1867,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu >> if test -n "$ac_tool_prefix"; then >> # Extract the first word of "${ac_tool_prefix}gcc", so it can be a >> program name with args. >> set dummy ${ac_tool_prefix}gcc; ac_word=$2 >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 >> -$as_echo_n "checking for $ac_word... " >&6; } >> -if test "${ac_cv_prog_CC+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ 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. >> @@ -2381,25 +1880,25 @@ 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 >> + for ac_exec_ext in '' $ac_executable_extensions; do >> if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/ >> $ac_word$ac_exec_ext"; }; then >> ac_cv_prog_CC="${ac_tool_prefix}gcc" >> - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word >> $ac_exec_ext" >&5 >> + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 >> break 2 >> fi >> done >> - done >> +done >> IFS=$as_save_IFS >> >> fi >> fi >> CC=$ac_cv_prog_CC >> if test -n "$CC"; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 >> -$as_echo "$CC" >&6; } >> + { echo "$as_me:$LINENO: result: $CC" >&5 >> +echo "${ECHO_T}$CC" >&6; } >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> >> >> @@ -2408,10 +1907,10 @@ if test -z "$ac_cv_prog_CC"; then >> ac_ct_CC=$CC >> # Extract the first word of "gcc", so it can be a program name >> with args. >> set dummy gcc; ac_word=$2 >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 >> -$as_echo_n "checking for $ac_word... " >&6; } >> -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ 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. >> @@ -2421,25 +1920,25 @@ 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 >> + for ac_exec_ext in '' $ac_executable_extensions; do >> if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/ >> $ac_word$ac_exec_ext"; }; then >> ac_cv_prog_ac_ct_CC="gcc" >> - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word >> $ac_exec_ext" >&5 >> + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 >> break 2 >> fi >> done >> - done >> +done >> IFS=$as_save_IFS >> >> fi >> fi >> ac_ct_CC=$ac_cv_prog_ac_ct_CC >> if test -n "$ac_ct_CC"; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 >> -$as_echo "$ac_ct_CC" >&6; } >> + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 >> +echo "${ECHO_T}$ac_ct_CC" >&6; } >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> >> if test "x$ac_ct_CC" = x; then >> @@ -2447,8 +1946,12 @@ fi >> else >> case $cross_compiling:$ac_tool_warned in >> yes:) >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross >> tools not prefixed with host triplet" >&5 >> -$as_echo "$as_me: WARNING: using cross tools not prefixed with >> host triplet" >&2;} >> +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not >> detect cross-tools >> +whose name does not start with the host triplet. If you think this >> +configuration is useful to you, please write to [email protected]." >> >&5 >> +echo "$as_me: WARNING: In the future, Autoconf will not detect >> cross-tools >> +whose name does not start with the host triplet. If you think this >> +configuration is useful to you, please write to [email protected]." >> >&2;} >> ac_tool_warned=yes ;; >> esac >> CC=$ac_ct_CC >> @@ -2461,10 +1964,10 @@ if test -z "$CC"; then >> if test -n "$ac_tool_prefix"; then >> # Extract the first word of "${ac_tool_prefix}cc", so it can be >> a program name with args. >> set dummy ${ac_tool_prefix}cc; ac_word=$2 >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 >> -$as_echo_n "checking for $ac_word... " >&6; } >> -if test "${ac_cv_prog_CC+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ 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. >> @@ -2474,25 +1977,25 @@ 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 >> + for ac_exec_ext in '' $ac_executable_extensions; do >> if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/ >> $ac_word$ac_exec_ext"; }; then >> ac_cv_prog_CC="${ac_tool_prefix}cc" >> - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word >> $ac_exec_ext" >&5 >> + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 >> break 2 >> fi >> done >> - done >> +done >> IFS=$as_save_IFS >> >> fi >> fi >> CC=$ac_cv_prog_CC >> if test -n "$CC"; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 >> -$as_echo "$CC" >&6; } >> + { echo "$as_me:$LINENO: result: $CC" >&5 >> +echo "${ECHO_T}$CC" >&6; } >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> >> >> @@ -2501,10 +2004,10 @@ fi >> if test -z "$CC"; then >> # Extract the first word of "cc", so it can be a program name with >> args. >> set dummy cc; ac_word=$2 >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 >> -$as_echo_n "checking for $ac_word... " >&6; } >> -if test "${ac_cv_prog_CC+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ 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. >> @@ -2515,18 +2018,18 @@ 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 >> + for ac_exec_ext in '' $ac_executable_extensions; do >> if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/ >> $ac_word$ac_exec_ext"; }; then >> if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then >> ac_prog_rejected=yes >> continue >> fi >> ac_cv_prog_CC="cc" >> - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word >> $ac_exec_ext" >&5 >> + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 >> break 2 >> fi >> done >> - done >> +done >> IFS=$as_save_IFS >> >> if test $ac_prog_rejected = yes; then >> @@ -2545,11 +2048,11 @@ fi >> fi >> CC=$ac_cv_prog_CC >> if test -n "$CC"; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 >> -$as_echo "$CC" >&6; } >> + { echo "$as_me:$LINENO: result: $CC" >&5 >> +echo "${ECHO_T}$CC" >&6; } >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> >> >> @@ -2560,10 +2063,10 @@ if test -z "$CC"; then >> do >> # Extract the first word of "$ac_tool_prefix$ac_prog", so it can >> be a program name with args. >> set dummy $ac_tool_prefix$ac_prog; ac_word=$2 >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 >> -$as_echo_n "checking for $ac_word... " >&6; } >> -if test "${ac_cv_prog_CC+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ 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. >> @@ -2573,25 +2076,25 @@ 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 >> + for ac_exec_ext in '' $ac_executable_extensions; do >> if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/ >> $ac_word$ac_exec_ext"; }; then >> ac_cv_prog_CC="$ac_tool_prefix$ac_prog" >> - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word >> $ac_exec_ext" >&5 >> + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 >> break 2 >> fi >> done >> - done >> +done >> IFS=$as_save_IFS >> >> fi >> fi >> CC=$ac_cv_prog_CC >> if test -n "$CC"; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 >> -$as_echo "$CC" >&6; } >> + { echo "$as_me:$LINENO: result: $CC" >&5 >> +echo "${ECHO_T}$CC" >&6; } >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> >> >> @@ -2604,10 +2107,10 @@ if test -z "$CC"; then >> do >> # Extract the first word of "$ac_prog", so it can be a program >> name with args. >> set dummy $ac_prog; ac_word=$2 >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 >> -$as_echo_n "checking for $ac_word... " >&6; } >> -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ 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. >> @@ -2617,25 +2120,25 @@ 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 >> + for ac_exec_ext in '' $ac_executable_extensions; do >> if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/ >> $ac_word$ac_exec_ext"; }; then >> ac_cv_prog_ac_ct_CC="$ac_prog" >> - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word >> $ac_exec_ext" >&5 >> + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 >> break 2 >> fi >> done >> - done >> +done >> IFS=$as_save_IFS >> >> fi >> fi >> ac_ct_CC=$ac_cv_prog_ac_ct_CC >> if test -n "$ac_ct_CC"; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 >> -$as_echo "$ac_ct_CC" >&6; } >> + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 >> +echo "${ECHO_T}$ac_ct_CC" >&6; } >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> >> >> @@ -2647,8 +2150,12 @@ done >> else >> case $cross_compiling:$ac_tool_warned in >> yes:) >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross >> tools not prefixed with host triplet" >&5 >> -$as_echo "$as_me: WARNING: using cross tools not prefixed with >> host triplet" >&2;} >> +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not >> detect cross-tools >> +whose name does not start with the host triplet. If you think this >> +configuration is useful to you, please write to [email protected]." >> >&5 >> +echo "$as_me: WARNING: In the future, Autoconf will not detect >> cross-tools >> +whose name does not start with the host triplet. If you think this >> +configuration is useful to you, please write to [email protected]." >> >&2;} >> ac_tool_warned=yes ;; >> esac >> CC=$ac_ct_CC >> @@ -2658,37 +2165,51 @@ fi >> fi >> >> >> -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: >> in \`$ac_pwd':" >&5 >> -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} >> -as_fn_error "no acceptable C compiler found in \$PATH >> -See \`config.log' for more details." "$LINENO" 5; } >> +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. >> -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler >> version" >&5 >> -set X $ac_compile >> -ac_compiler=$2 >> -for ac_option in --version -v -V -qversion; do >> - { { ac_try="$ac_compiler $ac_option >&5" >> +echo "$as_me:$LINENO: checking for C compiler version" >&5 >> +ac_compiler=`set X $ac_compile; echo $2` >> +{ (ac_try="$ac_compiler --version >&5" >> case "(($ac_try" in >> *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> *) ac_try_echo=$ac_try;; >> esac >> -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" >> -$as_echo "$ac_try_echo"; } >&5 >> - (eval "$ac_compiler $ac_option >&5") 2>conftest.err >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compiler --version >&5") 2>&5 >> ac_status=$? >> - if test -s conftest.err; then >> - sed '10a\ >> -... rest of stderr output deleted ... >> - 10q' conftest.err >conftest.er1 >> - cat conftest.er1 >&5 >> - fi >> - rm -f conftest.er1 conftest.err >> - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 >> - test $ac_status = 0; } >> -done >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } >> +{ (ac_try="$ac_compiler -v >&5" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compiler -v >&5") 2>&5 >> + ac_status=$? >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } >> +{ (ac_try="$ac_compiler -V >&5" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compiler -V >&5") 2>&5 >> + ac_status=$? >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } >> >> -cat confdefs.h - <<_ACEOF >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. */ >> >> int >> @@ -2700,38 +2221,42 @@ main () >> } >> _ACEOF >> ac_clean_files_save=$ac_clean_files >> -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" >> +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. >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C >> compiler works" >&5 >> -$as_echo_n "checking whether the C compiler works... " >&6; } >> -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` >> - >> -# The possible output files: >> -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out >> conftest.*" >> - >> +{ echo "$as_me:$LINENO: checking for C compiler default output >> file name" >&5 >> +echo $ECHO_N "checking for C compiler default output file name... >> $ECHO_C" >&6; } >> +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` >> +# >> +# List of possible output files, starting from the most likely. >> +# The algorithm is not robust to junk in `.', hence go to >> wildcards (a.*) >> +# only as a last resort. b.out is created by i960 compilers. >> +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* >> conftest.* b.out' >> +# >> +# The IRIX 6 linker writes into existing files which may not be >> +# executable, retaining their permissions. Remove them first so a >> +# subsequent execution test works. >> ac_rmfiles= >> for ac_file in $ac_files >> do >> case $ac_file in >> - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | >> *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; >> + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | >> *.bbg | *.map | *.inf | *.o | *.obj ) ;; >> * ) ac_rmfiles="$ac_rmfiles $ac_file";; >> esac >> done >> rm -f $ac_rmfiles >> >> -if { { ac_try="$ac_link_default" >> +if { (ac_try="$ac_link_default" >> case "(($ac_try" in >> *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> *) ac_try_echo=$ac_try;; >> esac >> -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" >> -$as_echo "$ac_try_echo"; } >&5 >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> (eval "$ac_link_default") 2>&5 >> ac_status=$? >> - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 >> - test $ac_status = 0; }; then : >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); }; then >> # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. >> # So ignore a value of `no', otherwise this would lead to `EXEEXT = >> no' >> # in a Makefile. We should not override ac_cv_exeext if it was >> cached, >> @@ -2741,14 +2266,14 @@ for ac_file in $ac_files '' >> do >> test -f "$ac_file" || continue >> case $ac_file in >> - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | >> *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) >> + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | >> *.bbg | *.map | *.inf | *.o | *.obj ) >> ;; >> [ab].out ) >> # We found the default executable, but exeext='' is most >> # certainly right. >> break;; >> *.* ) >> - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; >> + if test "${ac_cv_exeext+set}" = set && test >> "$ac_cv_exeext" != no; >> then :; else >> ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` >> fi >> @@ -2767,42 +2292,78 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= >> else >> ac_file='' >> fi >> -if test -z "$ac_file"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> -$as_echo "$as_me: failed program was:" >&5 >> + >> +{ echo "$as_me:$LINENO: result: $ac_file" >&5 >> +echo "${ECHO_T}$ac_file" >&6; } >> +if test -z "$ac_file"; then >> + echo "$as_me: failed program was:" >&5 >> sed 's/^/| /' conftest.$ac_ext >&5 >> >> -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >> >&5 >> -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} >> -{ as_fn_set_status 77 >> -as_fn_error "C compiler cannot create executables >> -See \`config.log' for more details." "$LINENO" 5; }; } >> -else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +{ { 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 >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler >> default output file name" >&5 >> -$as_echo_n "checking for C compiler default output file name... " >> >&6; } >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 >> -$as_echo "$ac_file" >&6; } >> + >> ac_exeext=$ac_cv_exeext >> >> -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out >> +# Check that the compiler produces executables we can run. If >> not, either >> +# the compiler is broken, or we cross compile. >> +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 >> +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >> >&6; } >> +# 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' >> + { (case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_try") 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 >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of >> executables" >&5 >> -$as_echo_n "checking for suffix of executables... " >&6; } >> -if { { ac_try="$ac_link" >> +# Check that the compiler produces executables we can run. If >> not, either >> +# the compiler is broken, or we cross compile. >> +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 >> +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >> >&6; } >> +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 >> +echo "${ECHO_T}$cross_compiling" >&6; } >> + >> +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 >> +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } >> +if { (ac_try="$ac_link" >> case "(($ac_try" in >> *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> *) ac_try_echo=$ac_try;; >> esac >> -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" >> -$as_echo "$ac_try_echo"; } >&5 >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> (eval "$ac_link") 2>&5 >> ac_status=$? >> - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 >> - test $ac_status = 0; }; then : >> + 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 >> @@ -2810,90 +2371,37 @@ $as_echo "$ac_try_echo"; } >&5 >> for ac_file in conftest.exe conftest conftest.*; do >> test -f "$ac_file" || continue >> case $ac_file in >> - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | >> *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; >> + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | >> *.bbg | *.map | *.inf | *.o | *.obj ) ;; >> *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` >> break;; >> * ) break;; >> esac >> done >> else >> - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \` >> $ac_pwd':" >&5 >> -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} >> -as_fn_error "cannot compute suffix of executables: cannot compile >> and link >> -See \`config.log' for more details." "$LINENO" 5; } >> + { { 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 conftest$ac_cv_exeext >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 >> -$as_echo "$ac_cv_exeext" >&6; } >> + >> +rm -f conftest$ac_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 >> -cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> -#include <stdio.h> >> -int >> -main () >> -{ >> -FILE *f = fopen ("conftest.out", "w"); >> - return ferror (f) || fclose (f) != 0; >> - >> - ; >> - return 0; >> -} >> -_ACEOF >> -ac_clean_files="$ac_clean_files conftest.out" >> -# Check that the compiler produces executables we can run. If >> not, either >> -# the compiler is broken, or we cross compile. >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are >> cross compiling" >&5 >> -$as_echo_n "checking whether we are cross compiling... " >&6; } >> -if test "$cross_compiling" != yes; then >> - { { ac_try="$ac_link" >> -case "(($ac_try" in >> - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> - *) ac_try_echo=$ac_try;; >> -esac >> -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" >> -$as_echo "$ac_try_echo"; } >&5 >> - (eval "$ac_link") 2>&5 >> - ac_status=$? >> - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 >> - test $ac_status = 0; } >> - if { ac_try='./conftest$ac_cv_exeext' >> - { { case "(($ac_try" in >> - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> - *) ac_try_echo=$ac_try;; >> -esac >> -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" >> -$as_echo "$ac_try_echo"; } >&5 >> - (eval "$ac_try") 2>&5 >> - ac_status=$? >> - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 >> - test $ac_status = 0; }; }; then >> - cross_compiling=no >> - else >> - if test "$cross_compiling" = maybe; then >> - cross_compiling=yes >> - else >> - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >> >&5 >> -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} >> -as_fn_error "cannot run C compiled programs. >> -If you meant to cross compile, use \`--host'. >> -See \`config.log' for more details." "$LINENO" 5; } >> - fi >> - fi >> -fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >> >&5 >> -$as_echo "$cross_compiling" >&6; } >> - >> -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out >> -ac_clean_files=$ac_clean_files_save >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of >> object files" >&5 >> -$as_echo_n "checking for suffix of object files... " >&6; } >> -if test "${ac_cv_objext+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ 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 confdefs.h - <<_ACEOF >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. */ >> >> int >> @@ -2905,46 +2413,51 @@ main () >> } >> _ACEOF >> rm -f conftest.o conftest.obj >> -if { { ac_try="$ac_compile" >> +if { (ac_try="$ac_compile" >> case "(($ac_try" in >> *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> *) ac_try_echo=$ac_try;; >> esac >> -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" >> -$as_echo "$ac_try_echo"; } >&5 >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> (eval "$ac_compile") 2>&5 >> ac_status=$? >> - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 >> - test $ac_status = 0; }; then : >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); }; then >> for ac_file in conftest.o conftest.obj conftest.*; do >> test -f "$ac_file" || continue; >> case $ac_file in >> - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | >> *.bbg | *.map | *.inf | *.dSYM ) ;; >> + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | >> *.bbg | *.map | *.inf ) ;; >> *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` >> break;; >> esac >> done >> else >> - $as_echo "$as_me: failed program was:" >&5 >> + echo "$as_me: failed program was:" >&5 >> sed 's/^/| /' conftest.$ac_ext >&5 >> >> -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >> >&5 >> -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} >> -as_fn_error "cannot compute suffix of object files: cannot compile >> -See \`config.log' for more details." "$LINENO" 5; } >> +{ { 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 >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 >> -$as_echo "$ac_cv_objext" >&6; } >> +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 >> +echo "${ECHO_T}$ac_cv_objext" >&6; } >> OBJEXT=$ac_cv_objext >> ac_objext=$OBJEXT >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are >> using the GNU C compiler" >&5 >> -$as_echo_n "checking whether we are using the GNU C compiler... " >> >&6; } >> -if test "${ac_cv_c_compiler_gnu+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ 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 confdefs.h - <<_ACEOF >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. */ >> >> int >> @@ -2958,34 +2471,54 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> ac_compiler_gnu=yes >> else >> - ac_compiler_gnu=no >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_compiler_gnu=no >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> ac_cv_c_compiler_gnu=$ac_compiler_gnu >> >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: >> $ac_cv_c_compiler_gnu" >&5 >> -$as_echo "$ac_cv_c_compiler_gnu" >&6; } >> -if test $ac_compiler_gnu = yes; then >> - GCC=yes >> -else >> - GCC= >> -fi >> +{ 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 >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC >> accepts -g" >&5 >> -$as_echo_n "checking whether $CC accepts -g... " >&6; } >> -if test "${ac_cv_prog_cc_g+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ 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 >> ac_save_c_werror_flag=$ac_c_werror_flag >> ac_c_werror_flag=yes >> ac_cv_prog_cc_g=no >> CFLAGS="-g" >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + cat >conftest.$ac_ext <<_ACEOF >> +/* confdefs.h. */ >> +_ACEOF >> +cat confdefs.h >>conftest.$ac_ext >> +cat >>conftest.$ac_ext <<_ACEOF >> /* end confdefs.h. */ >> >> int >> @@ -2996,11 +2529,34 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> ac_cv_prog_cc_g=yes >> else >> - CFLAGS="" >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + CFLAGS="" >> + cat >conftest.$ac_ext <<_ACEOF >> +/* confdefs.h. */ >> +_ACEOF >> +cat confdefs.h >>conftest.$ac_ext >> +cat >>conftest.$ac_ext <<_ACEOF >> /* end confdefs.h. */ >> >> int >> @@ -3011,12 +2567,35 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + : >> else >> - ac_c_werror_flag=$ac_save_c_werror_flag >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_c_werror_flag=$ac_save_c_werror_flag >> CFLAGS="-g" >> - cat confdefs.h - <<_ACEOF >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. */ >> >> int >> @@ -3027,18 +2606,42 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> ac_cv_prog_cc_g=yes >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> ac_c_werror_flag=$ac_save_c_werror_flag >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >> >&5 >> -$as_echo "$ac_cv_prog_cc_g" >&6; } >> +{ 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 >> @@ -3054,14 +2657,18 @@ else >> CFLAGS= >> fi >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option >> to accept ISO C89" >&5 >> -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } >> -if test "${ac_cv_prog_cc_c89+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >> >&5 >> +echo $ECHO_N "checking for $CC option to accept ISO C89... >> $ECHO_C" >&6; } >> +if test "${ac_cv_prog_cc_c89+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> else >> ac_cv_prog_cc_c89=no >> ac_save_CC=$CC >> -cat confdefs.h - <<_ACEOF >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. */ >> #include <stdarg.h> >> #include <stdio.h> >> @@ -3118,9 +2725,31 @@ for ac_arg in '' -qlanglvl=extc89 - >> qlanglvl=ansi -std \ >> -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" >> do >> CC="$ac_save_CC $ac_arg" >> - if ac_fn_c_try_compile "$LINENO"; then : >> + rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> ac_cv_prog_cc_c89=$ac_arg >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + >> fi >> + >> rm -f core conftest.err conftest.$ac_objext >> test "x$ac_cv_prog_cc_c89" != "xno" && break >> done >> @@ -3131,19 +2760,17 @@ fi >> # AC_CACHE_VAL >> case "x$ac_cv_prog_cc_c89" in >> x) >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >> >&5 >> -$as_echo "none needed" >&6; } ;; >> + { echo "$as_me:$LINENO: result: none needed" >&5 >> +echo "${ECHO_T}none needed" >&6; } ;; >> xno) >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >> >&5 >> -$as_echo "unsupported" >&6; } ;; >> + { echo "$as_me:$LINENO: result: unsupported" >&5 >> +echo "${ECHO_T}unsupported" >&6; } ;; >> *) >> CC="$CC $ac_cv_prog_cc_c89" >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: >> $ac_cv_prog_cc_c89" >&5 >> -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; >> + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 >> +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; >> esac >> -if test "x$ac_cv_prog_cc_c89" != xno; then : >> >> -fi >> >> ac_ext=c >> ac_cpp='$CPP $CPPFLAGS' >> @@ -3156,15 +2783,15 @@ ac_cpp='$CPP $CPPFLAGS' >> ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' >> ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS >> conftest.$ac_ext $LIBS >&5' >> ac_compiler_gnu=$ac_cv_c_compiler_gnu >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C >> preprocessor" >&5 >> -$as_echo_n "checking how to run the C preprocessor... " >&6; } >> +{ 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 : >> - $as_echo_n "(cached) " >&6 >> + 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" >> @@ -3178,7 +2805,11 @@ do >> # <limits.h> exists even on freestanding compilers. >> # On the NeXT, cc -E runs the code through the compiler's parser, >> # not just through cpp. "Syntax error" is here to catch this case. >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + 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> >> @@ -3187,34 +2818,76 @@ do >> #endif >> Syntax error >> _ACEOF >> -if ac_fn_c_try_cpp "$LINENO"; then : >> - >> +if { (ac_try="$ac_cpp conftest.$ac_ext" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_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 && { >> + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || >> + test ! -s conftest.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 nonexistent headers >> # can be detected and how. >> - cat confdefs.h - <<_ACEOF >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. */ >> #include <ac_nonexistent.h> >> _ACEOF >> -if ac_fn_c_try_cpp "$LINENO"; then : >> +if { (ac_try="$ac_cpp conftest.$ac_ext" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_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 && { >> + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || >> + test ! -s conftest.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 : >> +if $ac_preproc_ok; then >> break >> fi >> >> @@ -3226,8 +2899,8 @@ fi >> else >> ac_cv_prog_CPP=$CPP >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 >> -$as_echo "$CPP" >&6; } >> +{ 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 >> @@ -3237,7 +2910,11 @@ do >> # <limits.h> exists even on freestanding compilers. >> # On the NeXT, cc -E runs the code through the compiler's parser, >> # not just through cpp. "Syntax error" is here to catch this case. >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + 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> >> @@ -3246,40 +2923,83 @@ do >> #endif >> Syntax error >> _ACEOF >> -if ac_fn_c_try_cpp "$LINENO"; then : >> - >> +if { (ac_try="$ac_cpp conftest.$ac_ext" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_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 && { >> + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || >> + test ! -s conftest.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 nonexistent headers >> # can be detected and how. >> - cat confdefs.h - <<_ACEOF >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. */ >> #include <ac_nonexistent.h> >> _ACEOF >> -if ac_fn_c_try_cpp "$LINENO"; then : >> +if { (ac_try="$ac_cpp conftest.$ac_ext" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_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 && { >> + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || >> + test ! -s conftest.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 : >> - >> +if $ac_preproc_ok; then >> + : >> else >> - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \` >> $ac_pwd':" >&5 >> -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} >> -as_fn_error "C preprocessor \"$CPP\" fails sanity check >> -See \`config.log' for more details." "$LINENO" 5; } >> + { { 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 >> @@ -3291,40 +3011,45 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu >> >> >> >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that >> handles long lines and -e" >&5 >> -$as_echo_n "checking for grep that handles long lines and -e... " >> >&6; } >> -if test "${ac_cv_path_GREP+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ echo "$as_me:$LINENO: checking for grep that handles long lines >> and -e" >&5 >> +echo $ECHO_N "checking for grep that handles long lines and -e... >> $ECHO_C" >&6; } >> +if test "${ac_cv_path_GREP+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> +else >> + # Extract the first word of "grep ggrep" to use in msg output >> +if test -z "$GREP"; then >> +set dummy grep ggrep; ac_prog_name=$2 >> +if test "${ac_cv_path_GREP+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> else >> - if test -z "$GREP"; then >> ac_path_GREP_found=false >> - # Loop through the user's path and test for each of PROGNAME-LIST >> - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR >> +# Loop through the user's path and test for each of PROGNAME-LIST >> +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR >> for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin >> do >> IFS=$as_save_IFS >> test -z "$as_dir" && as_dir=. >> - for ac_prog in grep ggrep; do >> - for ac_exec_ext in '' $ac_executable_extensions; do >> - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" >> - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } >> || continue >> -# Check for GNU ac_path_GREP and select it if it is found. >> + for ac_prog in grep ggrep; do >> + for ac_exec_ext in '' $ac_executable_extensions; do >> + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" >> + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || >> continue >> + # Check for GNU ac_path_GREP and select it if it is found. >> # Check for GNU $ac_path_GREP >> case `"$ac_path_GREP" --version 2>&1` in >> *GNU*) >> ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; >> *) >> ac_count=0 >> - $as_echo_n 0123456789 >"conftest.in" >> + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" >> while : >> do >> cat "conftest.in" "conftest.in" >"conftest.tmp" >> mv "conftest.tmp" "conftest.in" >> cp "conftest.in" "conftest.nl" >> - $as_echo 'GREP' >> "conftest.nl" >> + echo 'GREP' >> "conftest.nl" >> "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >> >"conftest.out" 2>/dev/null || break >> diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break >> - as_fn_arith $ac_count + 1 && ac_count=$as_val >> + ac_count=`expr $ac_count + 1` >> if test $ac_count -gt ${ac_path_GREP_max-0}; then >> # Best one so far, save it but keep looking for a better one >> ac_cv_path_GREP="$ac_path_GREP" >> @@ -3336,61 +3061,77 @@ case `"$ac_path_GREP" --version 2>&1` in >> rm -f conftest.in conftest.tmp conftest.nl conftest.out;; >> esac >> >> - $ac_path_GREP_found && break 3 >> - done >> - done >> + >> + $ac_path_GREP_found && break 3 >> done >> +done >> + >> +done >> IFS=$as_save_IFS >> - if test -z "$ac_cv_path_GREP"; then >> - as_fn_error "no acceptable grep could be found in $PATH >> $PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 >> - fi >> + >> + >> +fi >> + >> +GREP="$ac_cv_path_GREP" >> +if test -z "$GREP"; then >> + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name >> could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 >> +echo "$as_me: error: no acceptable $ac_prog_name could be found in >> $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} >> + { (exit 1); exit 1; }; } >> +fi >> + >> else >> ac_cv_path_GREP=$GREP >> fi >> >> + >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >> >&5 >> -$as_echo "$ac_cv_path_GREP" >&6; } >> +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 >> +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } >> GREP="$ac_cv_path_GREP" >> >> >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 >> -$as_echo_n "checking for egrep... " >&6; } >> -if test "${ac_cv_path_EGREP+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ echo "$as_me:$LINENO: checking for egrep" >&5 >> +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } >> +if test "${ac_cv_path_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_path_EGREP="$GREP -E" >> else >> - if test -z "$EGREP"; then >> + # Extract the first word of "egrep" to use in msg output >> +if test -z "$EGREP"; then >> +set dummy egrep; ac_prog_name=$2 >> +if test "${ac_cv_path_EGREP+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> +else >> ac_path_EGREP_found=false >> - # Loop through the user's path and test for each of PROGNAME-LIST >> - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR >> +# Loop through the user's path and test for each of PROGNAME-LIST >> +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR >> for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin >> do >> IFS=$as_save_IFS >> test -z "$as_dir" && as_dir=. >> - for ac_prog in egrep; do >> - for ac_exec_ext in '' $ac_executable_extensions; do >> - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" >> - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } >> || continue >> -# Check for GNU ac_path_EGREP and select it if it is found. >> + for ac_prog in egrep; do >> + for ac_exec_ext in '' $ac_executable_extensions; do >> + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" >> + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } >> || continue >> + # Check for GNU ac_path_EGREP and select it if it is found. >> # Check for GNU $ac_path_EGREP >> case `"$ac_path_EGREP" --version 2>&1` in >> *GNU*) >> ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; >> *) >> ac_count=0 >> - $as_echo_n 0123456789 >"conftest.in" >> + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" >> while : >> do >> cat "conftest.in" "conftest.in" >"conftest.tmp" >> mv "conftest.tmp" "conftest.in" >> cp "conftest.in" "conftest.nl" >> - $as_echo 'EGREP' >> "conftest.nl" >> + echo 'EGREP' >> "conftest.nl" >> "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/ >> null || break >> diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break >> - as_fn_arith $ac_count + 1 && ac_count=$as_val >> + ac_count=`expr $ac_count + 1` >> if test $ac_count -gt ${ac_path_EGREP_max-0}; then >> # Best one so far, save it but keep looking for a better one >> ac_cv_path_EGREP="$ac_path_EGREP" >> @@ -3402,31 +3143,46 @@ case `"$ac_path_EGREP" --version 2>&1` in >> rm -f conftest.in conftest.tmp conftest.nl conftest.out;; >> esac >> >> - $ac_path_EGREP_found && break 3 >> - done >> - done >> + >> + $ac_path_EGREP_found && break 3 >> done >> +done >> + >> +done >> IFS=$as_save_IFS >> - if test -z "$ac_cv_path_EGREP"; then >> - as_fn_error "no acceptable egrep could be found in $PATH >> $PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 >> - fi >> + >> + >> +fi >> + >> +EGREP="$ac_cv_path_EGREP" >> +if test -z "$EGREP"; then >> + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name >> could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 >> +echo "$as_me: error: no acceptable $ac_prog_name could be found in >> $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} >> + { (exit 1); exit 1; }; } >> +fi >> + >> else >> ac_cv_path_EGREP=$EGREP >> fi >> >> + >> fi >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: >> $ac_cv_path_EGREP" >&5 >> -$as_echo "$ac_cv_path_EGREP" >&6; } >> +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 >> +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } >> EGREP="$ac_cv_path_EGREP" >> >> >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C >> header files" >&5 >> -$as_echo_n "checking for ANSI C header files... " >&6; } >> -if test "${ac_cv_header_stdc+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ 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 confdefs.h - <<_ACEOF >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. */ >> #include <stdlib.h> >> #include <stdarg.h> >> @@ -3441,53 +3197,85 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> ac_cv_header_stdc=yes >> else >> - ac_cv_header_stdc=no >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_cv_header_stdc=no >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> if test $ac_cv_header_stdc = yes; then >> # SunOS 4.x string.h does not declare mem*, contrary to ANSI. >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + 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 : >> - >> + $EGREP "memchr" >/dev/null 2>&1; then >> + : >> else >> ac_cv_header_stdc=no >> fi >> -rm -f conftest* >> +rm -f -r conftest* >> >> fi >> >> if test $ac_cv_header_stdc = yes; then >> # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + 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 : >> - >> + $EGREP "free" >/dev/null 2>&1; then >> + : >> else >> ac_cv_header_stdc=no >> fi >> -rm -f conftest* >> +rm -f -r 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 : >> + if test "$cross_compiling" = yes; then >> : >> else >> - cat confdefs.h - <<_ACEOF >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. */ >> #include <ctype.h> >> #include <stdlib.h> >> @@ -3514,36 +3302,113 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_run "$LINENO"; then : >> - >> +rm -f conftest$ac_exeext >> +if { (ac_try="$ac_link" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_link") 2>&5 >> + ac_status=$? >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' >> + { (case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_try") 2>&5 >> + ac_status=$? >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); }; }; then >> + : >> else >> - ac_cv_header_stdc=no >> + 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 core.conftest.* gmon.out bb.out conftest >> $ac_exeext \ >> - conftest.$ac_objext conftest.beam conftest.$ac_ext >> +rm -f core *.core core.conftest.* gmon.out bb.out conftest >> $ac_exeext conftest.$ac_objext conftest.$ac_ext >> fi >> >> + >> fi >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: >> $ac_cv_header_stdc" >&5 >> -$as_echo "$ac_cv_header_stdc" >&6; } >> +{ 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 >> >> -$as_echo "#define STDC_HEADERS 1" >>confdefs.h >> +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=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` >> -ac_fn_c_check_header_compile "$LINENO" "$ac_header" >> "$as_ac_Header" "$ac_includes_default >> -" >> -eval as_val=\$$as_ac_Header >> - if test "x$as_val" = x""yes; then : >> +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 { as_var=$as_ac_Header; eval "test \"\${$as_var+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 { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_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); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; 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 core conftest.err conftest.$ac_objext conftest.$ac_ext >> +fi >> +ac_res=`eval echo '${'$as_ac_Header'}'` >> + { echo "$as_me:$LINENO: result: $ac_res" >&5 >> +echo "${ECHO_T}$ac_res" >&6; } >> +if test `eval echo '${'$as_ac_Header'}'` = yes; then >> cat >>confdefs.h <<_ACEOF >> -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 >> +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 >> _ACEOF >> >> fi >> @@ -3551,257 +3416,640 @@ fi >> done >> >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte >> ordering is bigendian" >&5 >> -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } >> -if test "${ac_cv_c_bigendian+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ echo "$as_me:$LINENO: checking whether byte ordering is >> bigendian" >&5 >> +echo $ECHO_N "checking whether byte ordering is bigendian... >> $ECHO_C" >&6; } >> +if test "${ac_cv_c_bigendian+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> else >> - ac_cv_c_bigendian=unknown >> - # See if we're dealing with a universal compiler. >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> -#ifndef __APPLE_CC__ >> - not a universal capable compiler >> - #endif >> - typedef int dummy; >> - >> -_ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - >> - # Check for potential -arch flags. It is not universal unless >> - # there are at least two -arch flags with different values. >> - ac_arch= >> - ac_prev= >> - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do >> - if test -n "$ac_prev"; then >> - case $ac_word in >> - i?86 | x86_64 | ppc | ppc64) >> - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then >> - ac_arch=$ac_word >> - else >> - ac_cv_c_bigendian=universal >> - break >> - fi >> - ;; >> - esac >> - ac_prev= >> - elif test "x$ac_word" = "x-arch"; then >> - ac_prev=arch >> - fi >> - done >> -fi >> -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> - if test $ac_cv_c_bigendian = unknown; then >> - # See if sys/param.h defines the BYTE_ORDER macro. >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + # See if sys/param.h defines the BYTE_ORDER macro. >> +cat >conftest.$ac_ext <<_ACEOF >> +/* confdefs.h. */ >> +_ACEOF >> +cat confdefs.h >>conftest.$ac_ext >> +cat >>conftest.$ac_ext <<_ACEOF >> /* end confdefs.h. */ >> #include <sys/types.h> >> - #include <sys/param.h> >> +#include <sys/param.h> >> >> int >> main () >> { >> -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ >> - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ >> - && LITTLE_ENDIAN) >> - bogus endian macros >> - #endif >> +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined >> LITTLE_ENDIAN \ >> + && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) >> + bogus endian macros >> +#endif >> >> ; >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> # It does; now see whether it defined to BIG_ENDIAN or not. >> - cat confdefs.h - <<_ACEOF >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. */ >> #include <sys/types.h> >> - #include <sys/param.h> >> +#include <sys/param.h> >> >> int >> main () >> { >> #if BYTE_ORDER != BIG_ENDIAN >> - not big endian >> - #endif >> + not big endian >> +#endif >> >> ; >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> ac_cv_c_bigendian=yes >> else >> - ac_cv_c_bigendian=no >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_cv_c_bigendian=no >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + # It does not; compile a test program. >> +if test "$cross_compiling" = yes; then >> + # try to guess the endianness by grepping values into an object >> file >> + ac_cv_c_bigendian=unknown >> + cat >conftest.$ac_ext <<_ACEOF >> +/* confdefs.h. */ >> +_ACEOF >> +cat confdefs.h >>conftest.$ac_ext >> +cat >>conftest.$ac_ext <<_ACEOF >> +/* end confdefs.h. */ >> +short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, >> 0x7953, 0 }; >> +short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, >> 0x6E61, 0 }; >> +void _ascii () { char *s = (char *) ascii_mm; s = (char *) >> ascii_ii; } >> +short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, >> 0x9581, 0 }; >> +short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, >> 0xA8E2, 0 }; >> +void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) >> ebcdic_ii; } >> +int >> +main () >> +{ >> + _ascii (); _ebcdic (); >> + ; >> + return 0; >> +} >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then >> + ac_cv_c_bigendian=yes >> +fi >> +if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then >> + if test "$ac_cv_c_bigendian" = unknown; then >> + ac_cv_c_bigendian=no >> + else >> + # finding both strings is unlikely to happen, but who knows? >> + ac_cv_c_bigendian=unknown >> + fi >> +fi >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> - fi >> - if test $ac_cv_c_bigendian = unknown; then >> - # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN >> (e.g., Solaris). >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> +else >> + cat >conftest.$ac_ext <<_ACEOF >> +/* confdefs.h. */ >> +_ACEOF >> +cat confdefs.h >>conftest.$ac_ext >> +cat >>conftest.$ac_ext <<_ACEOF >> /* end confdefs.h. */ >> -#include <limits.h> >> - >> +$ac_includes_default >> int >> main () >> { >> -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) >> - bogus endian macros >> - #endif >> + >> + /* Are we little or big endian? From Harbison&Steele. */ >> + union >> + { >> + long int l; >> + char c[sizeof (long int)]; >> + } u; >> + u.l = 1; >> + return u.c[sizeof (long int) - 1] == 1; >> >> ; >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - # It does; now see whether it defined to _BIG_ENDIAN or not. >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> -#include <limits.h> >> +rm -f conftest$ac_exeext >> +if { (ac_try="$ac_link" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_link") 2>&5 >> + ac_status=$? >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' >> + { (case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_try") 2>&5 >> + ac_status=$? >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); }; }; then >> + ac_cv_c_bigendian=no >> +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_c_bigendian=yes >> +fi >> +rm -f core *.core core.conftest.* gmon.out bb.out conftest >> $ac_exeext conftest.$ac_objext conftest.$ac_ext >> +fi >> >> + >> +fi >> + >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> +fi >> +{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 >> +echo "${ECHO_T}$ac_cv_c_bigendian" >&6; } >> +case $ac_cv_c_bigendian in >> + yes) >> + >> +cat >>confdefs.h <<\_ACEOF >> +#define WORDS_BIGENDIAN 1 >> +_ACEOF >> + ;; >> + no) >> + ;; >> + *) >> + { { echo "$as_me:$LINENO: error: unknown endianness >> +presetting ac_cv_c_bigendian=no (or yes) will help" >&5 >> +echo "$as_me: error: unknown endianness >> +presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} >> + { (exit 1); exit 1; }; } ;; >> +esac >> + >> + >> +{ echo "$as_me:$LINENO: checking for long int" >&5 >> +echo $ECHO_N "checking for long int... $ECHO_C" >&6; } >> +if test "${ac_cv_type_long_int+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 >> +typedef long int ac__type_new_; >> int >> main () >> { >> -#ifndef _BIG_ENDIAN >> - not big endian >> - #endif >> - >> +if ((ac__type_new_ *) 0) >> + return 0; >> +if (sizeof (ac__type_new_)) >> + return 0; >> ; >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - ac_cv_c_bigendian=yes >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + ac_cv_type_long_int=yes >> else >> - ac_cv_c_bigendian=no >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_cv_type_long_int=no >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> fi >> -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> - fi >> - if test $ac_cv_c_bigendian = unknown; then >> - # Compile a test program. >> - if test "$cross_compiling" = yes; then : >> - # Try to guess by grepping values from an object file. >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> +{ echo "$as_me:$LINENO: result: $ac_cv_type_long_int" >&5 >> +echo "${ECHO_T}$ac_cv_type_long_int" >&6; } >> + >> +# The cast to long int works around a bug in the HP C Compiler >> +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects >> +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. >> +# This bug is HP SR number 8606223364. >> +{ echo "$as_me:$LINENO: checking size of long int" >&5 >> +echo $ECHO_N "checking size of long int... $ECHO_C" >&6; } >> +if test "${ac_cv_sizeof_long_int+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> +else >> + if test "$cross_compiling" = yes; then >> + # Depending upon the size, compute the lo and hi bounds. >> +cat >conftest.$ac_ext <<_ACEOF >> +/* confdefs.h. */ >> +_ACEOF >> +cat confdefs.h >>conftest.$ac_ext >> +cat >>conftest.$ac_ext <<_ACEOF >> /* end confdefs.h. */ >> -short int ascii_mm[] = >> - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; >> - short int ascii_ii[] = >> - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; >> - int use_ascii (int i) { >> - return ascii_mm[i] + ascii_ii[i]; >> - } >> - short int ebcdic_ii[] = >> - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; >> - short int ebcdic_mm[] = >> - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; >> - int use_ebcdic (int i) { >> - return ebcdic_mm[i] + ebcdic_ii[i]; >> - } >> - extern int foo; >> +$ac_includes_default >> + typedef long int ac__type_sizeof_; >> +int >> +main () >> +{ >> +static int test_array [1 - 2 * !(((long int) (sizeof >> (ac__type_sizeof_))) >= 0)]; >> +test_array [0] = 0 >> >> + ; >> + return 0; >> +} >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + ac_lo=0 ac_mid=0 >> + while :; do >> + 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 >> + typedef long int ac__type_sizeof_; >> int >> main () >> { >> -return use_ascii (foo) == use_ebcdic (foo); >> +static int test_array [1 - 2 * !(((long int) (sizeof >> (ac__type_sizeof_))) <= $ac_mid)]; >> +test_array [0] = 0 >> + >> ; >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then >> - ac_cv_c_bigendian=yes >> - fi >> - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then >> - if test "$ac_cv_c_bigendian" = unknown; then >> - ac_cv_c_bigendian=no >> - else >> - # finding both strings is unlikely to happen, but who knows? >> - ac_cv_c_bigendian=unknown >> - fi >> - fi >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + ac_hi=$ac_mid; break >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_lo=`expr $ac_mid + 1` >> + if test $ac_lo -le $ac_mid; then >> + ac_lo= ac_hi= >> + break >> + fi >> + ac_mid=`expr 2 '*' $ac_mid + 1` >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> + done >> else >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + 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 >> + typedef long int ac__type_sizeof_; >> int >> main () >> { >> +static int test_array [1 - 2 * !(((long int) (sizeof >> (ac__type_sizeof_))) < 0)]; >> +test_array [0] = 0 >> >> - /* Are we little or big endian? From Harbison&Steele. */ >> - union >> - { >> - long int l; >> - char c[sizeof (long int)]; >> - } u; >> - u.l = 1; >> - return u.c[sizeof (long int) - 1] == 1; >> + ; >> + return 0; >> +} >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + ac_hi=-1 ac_mid=-1 >> + while :; do >> + 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 >> + typedef long int ac__type_sizeof_; >> +int >> +main () >> +{ >> +static int test_array [1 - 2 * !(((long int) (sizeof >> (ac__type_sizeof_))) >= $ac_mid)]; >> +test_array [0] = 0 >> >> ; >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_run "$LINENO"; then : >> - ac_cv_c_bigendian=no >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + ac_lo=$ac_mid; break >> else >> - ac_cv_c_bigendian=yes >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_hi=`expr '(' $ac_mid ')' - 1` >> + if test $ac_mid -le $ac_hi; then >> + ac_lo= ac_hi= >> + break >> + fi >> + ac_mid=`expr 2 '*' $ac_mid` >> fi >> -rm -f core *.core core.conftest.* gmon.out bb.out conftest >> $ac_exeext \ >> - conftest.$ac_objext conftest.beam conftest.$ac_ext >> + >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> + done >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_lo= ac_hi= >> fi >> >> - fi >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: >> $ac_cv_c_bigendian" >&5 >> -$as_echo "$ac_cv_c_bigendian" >&6; } >> - case $ac_cv_c_bigendian in #( >> - yes) >> - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h >> -;; #( >> - no) >> - ;; #( >> - universal) >> >> -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> +# Binary search between lo and hi bounds. >> +while test "x$ac_lo" != "x$ac_hi"; do >> + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` >> + 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 >> + typedef long int ac__type_sizeof_; >> +int >> +main () >> +{ >> +static int test_array [1 - 2 * !(((long int) (sizeof >> (ac__type_sizeof_))) <= $ac_mid)]; >> +test_array [0] = 0 >> >> - ;; #( >> - *) >> - as_fn_error "unknown endianness >> - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; >> - esac >> + ; >> + return 0; >> +} >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + ac_hi=$ac_mid >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> >> + ac_lo=`expr '(' $ac_mid ')' + 1` >> +fi >> >> -# The cast to long int works around a bug in the HP C Compiler >> -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects >> -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. >> -# This bug is HP SR number 8606223364. >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long >> int" >&5 >> -$as_echo_n "checking size of long int... " >&6; } >> -if test "${ac_cv_sizeof_long_int+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> +done >> +case $ac_lo in >> +?*) ac_cv_sizeof_long_int=$ac_lo;; >> +'') if test "$ac_cv_type_long_int" = yes; then >> + { { echo "$as_me:$LINENO: error: cannot compute sizeof (long >> int) >> +See \`config.log' for more details." >&5 >> +echo "$as_me: error: cannot compute sizeof (long int) >> +See \`config.log' for more details." >&2;} >> + { (exit 77); exit 77; }; } >> + else >> + ac_cv_sizeof_long_int=0 >> + fi ;; >> +esac >> else >> - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long >> int))" "ac_cv_sizeof_long_int" "$ac_includes_default"; then : >> + 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 >> + typedef long int ac__type_sizeof_; >> +static long int longval () { return (long int) (sizeof >> (ac__type_sizeof_)); } >> +static unsigned long int ulongval () { return (long int) (sizeof >> (ac__type_sizeof_)); } >> +#include <stdio.h> >> +#include <stdlib.h> >> +int >> +main () >> +{ >> + >> + FILE *f = fopen ("conftest.val", "w"); >> + if (! f) >> + return 1; >> + if (((long int) (sizeof (ac__type_sizeof_))) < 0) >> + { >> + long int i = longval (); >> + if (i != ((long int) (sizeof (ac__type_sizeof_)))) >> + return 1; >> + fprintf (f, "%ld\n", i); >> + } >> + else >> + { >> + unsigned long int i = ulongval (); >> + if (i != ((long int) (sizeof (ac__type_sizeof_)))) >> + return 1; >> + fprintf (f, "%lu\n", i); >> + } >> + return ferror (f) || fclose (f) != 0; >> >> + ; >> + return 0; >> +} >> +_ACEOF >> +rm -f conftest$ac_exeext >> +if { (ac_try="$ac_link" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_link") 2>&5 >> + ac_status=$? >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' >> + { (case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_try") 2>&5 >> + ac_status=$? >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); }; }; then >> + ac_cv_sizeof_long_int=`cat conftest.val` >> else >> - if test "$ac_cv_type_long_int" = yes; then >> - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \` >> $ac_pwd':" >&5 >> -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} >> -{ as_fn_set_status 77 >> -as_fn_error "cannot compute sizeof (long int) >> -See \`config.log' for more details." "$LINENO" 5; }; } >> + 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 ) >> +if test "$ac_cv_type_long_int" = yes; then >> + { { echo "$as_me:$LINENO: error: cannot compute sizeof (long >> int) >> +See \`config.log' for more details." >&5 >> +echo "$as_me: error: cannot compute sizeof (long int) >> +See \`config.log' for more details." >&2;} >> + { (exit 77); exit 77; }; } >> else >> ac_cv_sizeof_long_int=0 >> fi >> fi >> - >> +rm -f core *.core core.conftest.* gmon.out bb.out conftest >> $ac_exeext conftest.$ac_objext conftest.$ac_ext >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: >> $ac_cv_sizeof_long_int" >&5 >> -$as_echo "$ac_cv_sizeof_long_int" >&6; } >> +rm -f conftest.val >> +fi >> +{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_int" >&5 >> +echo "${ECHO_T}$ac_cv_sizeof_long_int" >&6; } >> >> >> >> @@ -3810,32 +4058,403 @@ cat >>confdefs.h <<_ACEOF >> _ACEOF >> >> >> +{ echo "$as_me:$LINENO: checking for void *" >&5 >> +echo $ECHO_N "checking for void *... $ECHO_C" >&6; } >> +if test "${ac_cv_type_void_p+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 >> +typedef void * ac__type_new_; >> +int >> +main () >> +{ >> +if ((ac__type_new_ *) 0) >> + return 0; >> +if (sizeof (ac__type_new_)) >> + return 0; >> + ; >> + return 0; >> +} >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + ac_cv_type_void_p=yes >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_cv_type_void_p=no >> +fi >> + >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> +fi >> +{ echo "$as_me:$LINENO: result: $ac_cv_type_void_p" >&5 >> +echo "${ECHO_T}$ac_cv_type_void_p" >&6; } >> + >> # The cast to long int works around a bug in the HP C Compiler >> # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects >> # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. >> # This bug is HP SR number 8606223364. >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >> >&5 >> -$as_echo_n "checking size of void *... " >&6; } >> -if test "${ac_cv_sizeof_void_p+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ echo "$as_me:$LINENO: checking size of void *" >&5 >> +echo $ECHO_N "checking size of void *... $ECHO_C" >&6; } >> +if test "${ac_cv_sizeof_void_p+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> else >> - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" >> "ac_cv_sizeof_void_p" "$ac_includes_default"; then : >> + if test "$cross_compiling" = yes; then >> + # Depending upon the size, compute the lo and hi bounds. >> +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 >> + typedef void * ac__type_sizeof_; >> +int >> +main () >> +{ >> +static int test_array [1 - 2 * !(((long int) (sizeof >> (ac__type_sizeof_))) >= 0)]; >> +test_array [0] = 0 >> >> + ; >> + return 0; >> +} >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + ac_lo=0 ac_mid=0 >> + while :; do >> + 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 >> + typedef void * ac__type_sizeof_; >> +int >> +main () >> +{ >> +static int test_array [1 - 2 * !(((long int) (sizeof >> (ac__type_sizeof_))) <= $ac_mid)]; >> +test_array [0] = 0 >> + >> + ; >> + return 0; >> +} >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + ac_hi=$ac_mid; break >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_lo=`expr $ac_mid + 1` >> + if test $ac_lo -le $ac_mid; then >> + ac_lo= ac_hi= >> + break >> + fi >> + ac_mid=`expr 2 '*' $ac_mid + 1` >> +fi >> + >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> + done >> else >> - if test "$ac_cv_type_void_p" = yes; then >> - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \` >> $ac_pwd':" >&5 >> -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} >> -{ as_fn_set_status 77 >> -as_fn_error "cannot compute sizeof (void *) >> -See \`config.log' for more details." "$LINENO" 5; }; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + 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 >> + typedef void * ac__type_sizeof_; >> +int >> +main () >> +{ >> +static int test_array [1 - 2 * !(((long int) (sizeof >> (ac__type_sizeof_))) < 0)]; >> +test_array [0] = 0 >> + >> + ; >> + return 0; >> +} >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + ac_hi=-1 ac_mid=-1 >> + while :; do >> + 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 >> + typedef void * ac__type_sizeof_; >> +int >> +main () >> +{ >> +static int test_array [1 - 2 * !(((long int) (sizeof >> (ac__type_sizeof_))) >= $ac_mid)]; >> +test_array [0] = 0 >> + >> + ; >> + return 0; >> +} >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + ac_lo=$ac_mid; break >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_hi=`expr '(' $ac_mid ')' - 1` >> + if test $ac_mid -le $ac_hi; then >> + ac_lo= ac_hi= >> + break >> + fi >> + ac_mid=`expr 2 '*' $ac_mid` >> +fi >> + >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> + done >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_lo= ac_hi= >> +fi >> + >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> +fi >> + >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> +# Binary search between lo and hi bounds. >> +while test "x$ac_lo" != "x$ac_hi"; do >> + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` >> + 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 >> + typedef void * ac__type_sizeof_; >> +int >> +main () >> +{ >> +static int test_array [1 - 2 * !(((long int) (sizeof >> (ac__type_sizeof_))) <= $ac_mid)]; >> +test_array [0] = 0 >> + >> + ; >> + return 0; >> +} >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + ac_hi=$ac_mid >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_lo=`expr '(' $ac_mid ')' + 1` >> +fi >> + >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> +done >> +case $ac_lo in >> +?*) ac_cv_sizeof_void_p=$ac_lo;; >> +'') if test "$ac_cv_type_void_p" = yes; then >> + { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *) >> +See \`config.log' for more details." >&5 >> +echo "$as_me: error: cannot compute sizeof (void *) >> +See \`config.log' for more details." >&2;} >> + { (exit 77); exit 77; }; } >> + else >> + ac_cv_sizeof_void_p=0 >> + fi ;; >> +esac >> +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 >> + typedef void * ac__type_sizeof_; >> +static long int longval () { return (long int) (sizeof >> (ac__type_sizeof_)); } >> +static unsigned long int ulongval () { return (long int) (sizeof >> (ac__type_sizeof_)); } >> +#include <stdio.h> >> +#include <stdlib.h> >> +int >> +main () >> +{ >> + >> + FILE *f = fopen ("conftest.val", "w"); >> + if (! f) >> + return 1; >> + if (((long int) (sizeof (ac__type_sizeof_))) < 0) >> + { >> + long int i = longval (); >> + if (i != ((long int) (sizeof (ac__type_sizeof_)))) >> + return 1; >> + fprintf (f, "%ld\n", i); >> + } >> + else >> + { >> + unsigned long int i = ulongval (); >> + if (i != ((long int) (sizeof (ac__type_sizeof_)))) >> + return 1; >> + fprintf (f, "%lu\n", i); >> + } >> + return ferror (f) || fclose (f) != 0; >> + >> + ; >> + return 0; >> +} >> +_ACEOF >> +rm -f conftest$ac_exeext >> +if { (ac_try="$ac_link" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_link") 2>&5 >> + ac_status=$? >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' >> + { (case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_try") 2>&5 >> + ac_status=$? >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); }; }; then >> + ac_cv_sizeof_void_p=`cat conftest.val` >> +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 ) >> +if test "$ac_cv_type_void_p" = yes; then >> + { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *) >> +See \`config.log' for more details." >&5 >> +echo "$as_me: error: cannot compute sizeof (void *) >> +See \`config.log' for more details." >&2;} >> + { (exit 77); exit 77; }; } >> else >> ac_cv_sizeof_void_p=0 >> fi >> fi >> - >> +rm -f core *.core core.conftest.* gmon.out bb.out conftest >> $ac_exeext conftest.$ac_objext conftest.$ac_ext >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: >> $ac_cv_sizeof_void_p" >&5 >> -$as_echo "$ac_cv_sizeof_void_p" >&6; } >> +rm -f conftest.val >> +fi >> +{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_void_p" >&5 >> +echo "${ECHO_T}$ac_cv_sizeof_void_p" >&6; } >> >> >> >> @@ -3845,23 +4464,25 @@ _ACEOF >> >> >> >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for required >> gcc" >&5 >> -$as_echo_n "checking for required gcc... " >&6; } >> +{ echo "$as_me:$LINENO: checking for required gcc" >&5 >> +echo $ECHO_N "checking for required gcc... $ECHO_C" >&6; } >> if test "x$GCC" = "x"; then >> - as_fn_error "no" "$LINENO" 5 >> + { { echo "$as_me:$LINENO: error: no" >&5 >> +echo "$as_me: error: no" >&2;} >> + { (exit 1); exit 1; }; } >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +{ echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> >> # Check whether --with-ghc was given. >> -if test "${with_ghc+set}" = set; then : >> +if test "${with_ghc+set}" = set; then >> withval=$with_ghc; # Extract the first word of "${withval}/bin/ >> ghc", so it can be a program name with args. >> set dummy ${withval}/bin/ghc; ac_word=$2 >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 >> -$as_echo_n "checking for $ac_word... " >&6; } >> -if test "${ac_cv_path_GHC+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 >> +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } >> +if test "${ac_cv_path_GHC+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> else >> case $GHC in >> [\\/]* | ?:[\\/]*) >> @@ -3873,14 +4494,14 @@ 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 >> + for ac_exec_ext in '' $ac_executable_extensions; do >> if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/ >> $ac_word$ac_exec_ext"; }; then >> ac_cv_path_GHC="$as_dir/$ac_word$ac_exec_ext" >> - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word >> $ac_exec_ext" >&5 >> + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 >> break 2 >> fi >> done >> - done >> +done >> IFS=$as_save_IFS >> >> ;; >> @@ -3888,21 +4509,21 @@ esac >> fi >> GHC=$ac_cv_path_GHC >> if test -n "$GHC"; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GHC" >&5 >> -$as_echo "$GHC" >&6; } >> + { echo "$as_me:$LINENO: result: $GHC" >&5 >> +echo "${ECHO_T}$GHC" >&6; } >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> >> >> else >> # Extract the first word of "ghc", so it can be a program name >> with args. >> set dummy ghc; ac_word=$2 >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 >> -$as_echo_n "checking for $ac_word... " >&6; } >> -if test "${ac_cv_path_GHC+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 >> +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } >> +if test "${ac_cv_path_GHC+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> else >> case $GHC in >> [\\/]* | ?:[\\/]*) >> @@ -3914,14 +4535,14 @@ 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 >> + for ac_exec_ext in '' $ac_executable_extensions; do >> if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/ >> $ac_word$ac_exec_ext"; }; then >> ac_cv_path_GHC="$as_dir/$ac_word$ac_exec_ext" >> - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word >> $ac_exec_ext" >&5 >> + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 >> break 2 >> fi >> done >> - done >> +done >> IFS=$as_save_IFS >> >> ;; >> @@ -3929,11 +4550,11 @@ esac >> fi >> GHC=$ac_cv_path_GHC >> if test -n "$GHC"; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GHC" >&5 >> -$as_echo "$GHC" >&6; } >> + { echo "$as_me:$LINENO: result: $GHC" >&5 >> +echo "${ECHO_T}$GHC" >&6; } >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> >> >> @@ -3943,43 +4564,84 @@ fi >> >> >> # Check whether --with-db was given. >> -if test "${with_db+set}" = set; then : >> +if test "${with_db+set}" = set; then >> withval=$with_db; >> dbpath=${withval} >> >> DB_LDFLAGS= >> - { $as_echo "$as_me:${as_lineno-$LINENO}: >> checking for db library" >&5 >> -$as_echo_n "checking for db library... " >&6; } >> + { echo "$as_me:$LINENO: checking for db >> library" >&5 >> +echo $ECHO_N "checking for db library... $ECHO_C" >&6; } >> oldlibs=$LIBS >> lib=notfound >> >> if test "x$dbpath" != "x" ; then >> oldcflags=$CFLAGS >> for dbheader in db4 db3 notfound; do >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> + cat >conftest.$ac_ext <<_ACEOF >> #include "$dbpath/include/$dbheader/db.h" >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> DB_CFLAGS="-I$dbpath/include/$dbheader/" >> break >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> done >> >> if test "x$dbheader" = "xnotfound"; then >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> + cat >conftest.$ac_ext <<_ACEOF >> #include "$dbpath/include/db.h" >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> DB_CFLAGS="-I$dbpath/include/" >> else >> - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \` >> $ac_pwd':" >&5 >> -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} >> -as_fn_error "Invalid libdb path specified. No db.h found. >> -See \`config.log' for more details." "$LINENO" 5; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { { echo "$as_me:$LINENO: error: Invalid libdb path specified. No >> db.h found. >> +See \`config.log' for more details." >&5 >> +echo "$as_me: error: Invalid libdb path specified. No db.h found. >> +See \`config.log' for more details." >&2;} >> + { (exit 1); exit 1; }; } >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> fi >> >> @@ -3989,7 +4651,11 @@ rm -f core conftest.err conftest.$ac_objext >> conftest.$ac_ext >> LIBS="${oldlibs} -ldb -lpthread" >> DB_LIB="-ldb" >> CFLAGS="$DB_CFLAGS $oldcflags" >> - cat confdefs.h - <<_ACEOF >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. */ >> #include <db.h> >> int >> @@ -4000,18 +4666,45 @@ DB *dbp; db_create(&dbp, NULL, 0); >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_link "$LINENO"; then : >> +rm -f conftest.$ac_objext conftest$ac_exeext >> +if { (ac_try="$ac_link" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_link") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest$ac_exeext && >> + $as_test_x conftest$ac_exeext; then >> lib=db >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + >> fi >> -rm -f core conftest.err conftest.$ac_objext \ >> - conftest$ac_exeext conftest.$ac_ext >> + >> +rm -f core conftest.err conftest.$ac_objext >> conftest_ipa8_conftest.oo \ >> + conftest$ac_exeext conftest.$ac_ext >> CFLAGS=$oldcflags >> >> else >> for lib in db4 db3 db notfound; do >> LIBS="${oldlibs} -l$lib -lpthread" >> DB_LIB="-l$lib" >> - cat confdefs.h - <<_ACEOF >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. */ >> #include <db.h> >> int >> @@ -4022,30 +4715,59 @@ DB *dbp; db_create(&dbp, NULL, 0); >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_link "$LINENO"; then : >> +rm -f conftest.$ac_objext conftest$ac_exeext >> +if { (ac_try="$ac_link" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_link") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest$ac_exeext && >> + $as_test_x conftest$ac_exeext; then >> break >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + >> fi >> -rm -f core conftest.err conftest.$ac_objext \ >> - conftest$ac_exeext conftest.$ac_ext >> + >> +rm -f core conftest.err conftest.$ac_objext >> conftest_ipa8_conftest.oo \ >> + conftest$ac_exeext conftest.$ac_ext >> done >> fi >> >> LIBS=$oldlibs >> if test "x$lib" = "xnotfound" ; then >> - as_fn_error "could not find DB libraries" "$LINENO" 5 >> + { { echo "$as_me:$LINENO: error: could not find DB >> libraries" >&5 >> +echo "$as_me: error: could not find DB libraries" >&2;} >> + { (exit 1); exit 1; }; } >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lib" >> >&5 >> -$as_echo "$lib" >&6; } >> + { echo "$as_me:$LINENO: result: $lib" >&5 >> +echo "${ECHO_T}$lib" >&6; } >> fi >> >> >> >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking >> for dbenv parameter to DB error callback function" >&5 >> -$as_echo_n "checking for dbenv parameter to DB error callback >> function... " >&6; } >> + { echo "$as_me:$LINENO: checking for dbenv >> parameter to DB error callback function" >&5 >> +echo $ECHO_N "checking for dbenv parameter to DB error callback >> function... $ECHO_C" >&6; } >> oldcflags=$CFLAGS >> CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror" >> - cat confdefs.h - <<_ACEOF >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. */ >> >> #include <db.h> >> @@ -4069,24 +4791,50 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1" >> >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1 >> +_ACEOF >> >> have_dbenv_parameter_to_db_error_callback=yes >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> have_dbenv_parameter_to_db_error_callback=no >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> if test "x$have_dbenv_parameter_to_db_error_callback" = "xyes" ; >> then >> - { $as_echo "$as_me:${as_lineno- >> $LINENO}: checking if third parameter to error callback function is >> const" >&5 >> -$as_echo_n "checking if third parameter to error callback function >> is const... " >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking >> if third parameter to error callback function is const" >&5 >> +echo $ECHO_N "checking if third parameter to error callback >> function is const... $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 <db.h> >> @@ -4110,23 +4858,49 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> >> -$as_echo "#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK >> 1" >>confdefs.h >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> + >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK 1 >> +_ACEOF >> >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> fi >> >> CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror" >> - { $as_echo "$as_me:${as_lineno- >> $LINENO}: checking for DB stat with malloc function ptr" >&5 >> -$as_echo_n "checking for DB stat with malloc function ptr... " >> >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking for >> DB stat with malloc function ptr" >&5 >> +echo $ECHO_N "checking for DB stat with malloc function ptr... >> $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 <db.h> >> @@ -4147,25 +4921,51 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_UNKNOWN_PARAMETER_TO_DB_STAT 1" >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_UNKNOWN_PARAMETER_TO_DB_STAT 1 >> +_ACEOF >> >> have_db_stat_malloc=yes >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> have_db_stat_malloc=no >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> if test "x$have_db_stat_malloc" = "xno" ; then >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for txnid >> parameter to DB stat function" >&5 >> -$as_echo_n "checking for txnid parameter to DB stat function... " >> >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking for txnid parameter to DB >> stat function" >&5 >> +echo $ECHO_N "checking for txnid parameter to DB stat function... >> $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 <db.h> >> @@ -4185,25 +4985,51 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1" >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1 >> +_ACEOF >> >> have_txnid_param_to_stat=yes >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> have_txnid_param_to_stat=no >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> fi >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for >> txnid parameter to DB open function" >&5 >> -$as_echo_n "checking for txnid parameter to DB open function... " >> >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking for txnid parameter to DB >> open function" >&5 >> +echo $ECHO_N "checking for txnid parameter to DB open function... >> $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 <db.h> >> @@ -4227,21 +5053,47 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1" >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1 >> +_ACEOF >> >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for >> DB_DIRTY_READ flag" >&5 >> -$as_echo_n "checking for DB_DIRTY_READ flag... " >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking for DB_DIRTY_READ flag" >&5 >> +echo $ECHO_N "checking for DB_DIRTY_READ flag... $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 <db.h> >> @@ -4256,21 +5108,47 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_DB_DIRTY_READ 1" >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_DB_DIRTY_READ 1 >> +_ACEOF >> >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for >> DB_BUFFER_SMALL error" >&5 >> -$as_echo_n "checking for DB_BUFFER_SMALL error... " >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking for DB_BUFFER_SMALL >> error" >&5 >> +echo $ECHO_N "checking for DB_BUFFER_SMALL error... $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 <db.h> >> @@ -4286,21 +5164,47 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_DB_BUFFER_SMALL 1" >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_DB_BUFFER_SMALL 1 >> +_ACEOF >> >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for >> berkeley db get_pagesize function" >&5 >> -$as_echo_n "checking for berkeley db get_pagesize function... " >> >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking for berkeley db >> get_pagesize function" >&5 >> +echo $ECHO_N "checking for berkeley db get_pagesize function... >> $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 <db.h> >> @@ -4319,16 +5223,38 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_DB_GET_PAGESIZE 1" >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_DB_GET_PAGESIZE 1 >> +_ACEOF >> >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> CFLAGS="$oldcflags" >> @@ -4338,38 +5264,79 @@ else >> dbpath="" >> >> DB_LDFLAGS= >> - { $as_echo "$as_me:${as_lineno-$LINENO}: >> checking for db library" >&5 >> -$as_echo_n "checking for db library... " >&6; } >> + { echo "$as_me:$LINENO: checking for db >> library" >&5 >> +echo $ECHO_N "checking for db library... $ECHO_C" >&6; } >> oldlibs=$LIBS >> lib=notfound >> >> if test "x$dbpath" != "x" ; then >> oldcflags=$CFLAGS >> for dbheader in db4 db3 notfound; do >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> + cat >conftest.$ac_ext <<_ACEOF >> #include "$dbpath/include/$dbheader/db.h" >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> DB_CFLAGS="-I$dbpath/include/$dbheader/" >> break >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> done >> >> if test "x$dbheader" = "xnotfound"; then >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> -/* end confdefs.h. */ >> + cat >conftest.$ac_ext <<_ACEOF >> #include "$dbpath/include/db.h" >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> DB_CFLAGS="-I$dbpath/include/" >> else >> - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \` >> $ac_pwd':" >&5 >> -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} >> -as_fn_error "Invalid libdb path specified. No db.h found. >> -See \`config.log' for more details." "$LINENO" 5; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { { echo "$as_me:$LINENO: error: Invalid libdb path specified. No >> db.h found. >> +See \`config.log' for more details." >&5 >> +echo "$as_me: error: Invalid libdb path specified. No db.h found. >> +See \`config.log' for more details." >&2;} >> + { (exit 1); exit 1; }; } >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> fi >> >> @@ -4379,7 +5346,11 @@ rm -f core conftest.err conftest.$ac_objext >> conftest.$ac_ext >> LIBS="${oldlibs} -ldb -lpthread" >> DB_LIB="-ldb" >> CFLAGS="$DB_CFLAGS $oldcflags" >> - cat confdefs.h - <<_ACEOF >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. */ >> #include <db.h> >> int >> @@ -4390,18 +5361,45 @@ DB *dbp; db_create(&dbp, NULL, 0); >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_link "$LINENO"; then : >> +rm -f conftest.$ac_objext conftest$ac_exeext >> +if { (ac_try="$ac_link" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_link") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest$ac_exeext && >> + $as_test_x conftest$ac_exeext; then >> lib=db >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + >> fi >> -rm -f core conftest.err conftest.$ac_objext \ >> - conftest$ac_exeext conftest.$ac_ext >> + >> +rm -f core conftest.err conftest.$ac_objext >> conftest_ipa8_conftest.oo \ >> + conftest$ac_exeext conftest.$ac_ext >> CFLAGS=$oldcflags >> >> else >> for lib in db4 db3 db notfound; do >> LIBS="${oldlibs} -l$lib -lpthread" >> DB_LIB="-l$lib" >> - cat confdefs.h - <<_ACEOF >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. */ >> #include <db.h> >> int >> @@ -4412,30 +5410,59 @@ DB *dbp; db_create(&dbp, NULL, 0); >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_link "$LINENO"; then : >> +rm -f conftest.$ac_objext conftest$ac_exeext >> +if { (ac_try="$ac_link" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_link") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest$ac_exeext && >> + $as_test_x conftest$ac_exeext; then >> break >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + >> fi >> -rm -f core conftest.err conftest.$ac_objext \ >> - conftest$ac_exeext conftest.$ac_ext >> + >> +rm -f core conftest.err conftest.$ac_objext >> conftest_ipa8_conftest.oo \ >> + conftest$ac_exeext conftest.$ac_ext >> done >> fi >> >> LIBS=$oldlibs >> if test "x$lib" = "xnotfound" ; then >> - as_fn_error "could not find DB libraries" "$LINENO" 5 >> + { { echo "$as_me:$LINENO: error: could not find DB >> libraries" >&5 >> +echo "$as_me: error: could not find DB libraries" >&2;} >> + { (exit 1); exit 1; }; } >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lib" >> >&5 >> -$as_echo "$lib" >&6; } >> + { echo "$as_me:$LINENO: result: $lib" >&5 >> +echo "${ECHO_T}$lib" >&6; } >> fi >> >> >> >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking >> for dbenv parameter to DB error callback function" >&5 >> -$as_echo_n "checking for dbenv parameter to DB error callback >> function... " >&6; } >> + { echo "$as_me:$LINENO: checking for dbenv >> parameter to DB error callback function" >&5 >> +echo $ECHO_N "checking for dbenv parameter to DB error callback >> function... $ECHO_C" >&6; } >> oldcflags=$CFLAGS >> CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror" >> - cat confdefs.h - <<_ACEOF >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. */ >> >> #include <db.h> >> @@ -4459,24 +5486,50 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1" >> >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_DBENV_PARAMETER_TO_DB_ERROR_CALLBACK 1 >> +_ACEOF >> >> have_dbenv_parameter_to_db_error_callback=yes >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> have_dbenv_parameter_to_db_error_callback=no >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> if test "x$have_dbenv_parameter_to_db_error_callback" = "xyes" ; >> then >> - { $as_echo "$as_me:${as_lineno- >> $LINENO}: checking if third parameter to error callback function is >> const" >&5 >> -$as_echo_n "checking if third parameter to error callback function >> is const... " >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking >> if third parameter to error callback function is const" >&5 >> +echo $ECHO_N "checking if third parameter to error callback >> function is const... $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 <db.h> >> @@ -4500,23 +5553,49 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK >> 1" >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK 1 >> +_ACEOF >> >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> fi >> >> CFLAGS="$USR_CFLAGS $DB_CFLAGS -Werror" >> - { $as_echo "$as_me:${as_lineno- >> $LINENO}: checking for DB stat with malloc function ptr" >&5 >> -$as_echo_n "checking for DB stat with malloc function ptr... " >> >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking for >> DB stat with malloc function ptr" >&5 >> +echo $ECHO_N "checking for DB stat with malloc function ptr... >> $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 <db.h> >> @@ -4537,25 +5616,51 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_UNKNOWN_PARAMETER_TO_DB_STAT 1" >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_UNKNOWN_PARAMETER_TO_DB_STAT 1 >> +_ACEOF >> >> have_db_stat_malloc=yes >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> have_db_stat_malloc=no >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> if test "x$have_db_stat_malloc" = "xno" ; then >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for txnid >> parameter to DB stat function" >&5 >> -$as_echo_n "checking for txnid parameter to DB stat function... " >> >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking for txnid parameter to DB >> stat function" >&5 >> +echo $ECHO_N "checking for txnid parameter to DB stat function... >> $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 <db.h> >> @@ -4575,25 +5680,51 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1" >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_TXNID_PARAMETER_TO_DB_STAT 1 >> +_ACEOF >> >> have_txnid_param_to_stat=yes >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> have_txnid_param_to_stat=no >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> fi >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for >> txnid parameter to DB open function" >&5 >> -$as_echo_n "checking for txnid parameter to DB open function... " >> >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking for txnid parameter to DB >> open function" >&5 >> +echo $ECHO_N "checking for txnid parameter to DB open function... >> $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 <db.h> >> @@ -4617,21 +5748,47 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1" >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_TXNID_PARAMETER_TO_DB_OPEN 1 >> +_ACEOF >> >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for >> DB_DIRTY_READ flag" >&5 >> -$as_echo_n "checking for DB_DIRTY_READ flag... " >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking for DB_DIRTY_READ flag" >&5 >> +echo $ECHO_N "checking for DB_DIRTY_READ flag... $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 <db.h> >> @@ -4646,21 +5803,47 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_DB_DIRTY_READ 1" >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_DB_DIRTY_READ 1 >> +_ACEOF >> >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for >> DB_BUFFER_SMALL error" >&5 >> -$as_echo_n "checking for DB_BUFFER_SMALL error... " >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking for DB_BUFFER_SMALL >> error" >&5 >> +echo $ECHO_N "checking for DB_BUFFER_SMALL error... $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 <db.h> >> @@ -4676,21 +5859,47 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_DB_BUFFER_SMALL 1" >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_DB_BUFFER_SMALL 1 >> +_ACEOF >> >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for >> berkeley db get_pagesize function" >&5 >> -$as_echo_n "checking for berkeley db get_pagesize function... " >> >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> + { echo "$as_me:$LINENO: checking for berkeley db >> get_pagesize function" >&5 >> +echo $ECHO_N "checking for berkeley db get_pagesize function... >> $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 <db.h> >> @@ -4709,16 +5918,38 @@ main () >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_compile "$LINENO"; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> >> -$as_echo "#define HAVE_DB_GET_PAGESIZE 1" >>confdefs.h >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_DB_GET_PAGESIZE 1 >> +_ACEOF >> >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> + >> rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> >> CFLAGS="$oldcflags" >> @@ -4728,9 +5959,11 @@ fi >> >> >> # Check whether --with-mpi was given. >> -if test "${with_mpi+set}" = set; then : >> +if test "${with_mpi+set}" = set; then >> withval=$with_mpi; if test x$withval = xyes; then >> - as_fn_error "--with-mpi must be given a pathname" "$LINENO" 5 >> + { { echo "$as_me:$LINENO: error: --with-mpi must be given a >> pathname" >&5 >> +echo "$as_me: error: --with-mpi must be given a pathname" >&2;} >> + { (exit 1); exit 1; }; } >> else >> MPICC="${withval}/bin/mpicc" >> MPICFLAGS="-I${withval}/include" >> @@ -4747,6 +5980,154 @@ fi >> >> >> >> + >> + >> + case $host in >> + darwin*-*-*) USE_DYLIBS=yes ;; >> + *) USE_DYLIBS="" >> + ;; >> +esac >> + >> + >> + >> + { echo "$as_me:$LINENO: checking for O_DIRECT" >&5 >> +echo $ECHO_N "checking for O_DIRECT... $ECHO_C" >&6; } >> + cat >conftest.$ac_ext <<_ACEOF >> + >> +#include <sys/types.h> >> +#include <sys/stat.h> >> +#include <fcntl.h> >> + >> +void testodirect(void) >> +{ >> + open(NULL, O_DIRECT); >> +} >> + >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> + >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_ODIRECT 1 >> +_ACEOF >> + >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> +fi >> + >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> + >> +{ echo "$as_me:$LINENO: checking for O_NOATIME" >&5 >> +echo $ECHO_N "checking for O_NOATIME... $ECHO_C" >&6; } >> +cat >conftest.$ac_ext <<_ACEOF >> + >> +#include <sys/types.h> >> +#include <sys/stat.h> >> +#include <fcntl.h> >> + >> +void testnoatime(void) >> +{ >> + open(NULL, O_NOATIME); >> +} >> + >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> + >> +cat >>confdefs.h <<\_ACEOF >> +#define HAVE_NOATIME 1 >> +_ACEOF >> + >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> +fi >> + >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> + >> +{ echo "$as_me:$LINENO: checking for OS X blocks support" >&5 >> +echo $ECHO_N "checking for OS X blocks support... $ECHO_C" >&6; } >> +cat >conftest.$ac_ext <<_ACEOF >> +#include <stdlib.h> >> +#ifdef __BLOCKS__ >> +#error "OSX defines __BLOCKS__ and includes that aren't ANSI C" >> +#endif >> + >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> +CFLAGS="$CFLAGS -fno-blocks" >> +fi >> + >> +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >> + >> + >> + >> + >> BUILD_ABSOLUTE_TOP=${PWD} >> SRC_RELATIVE_TOP=$srcdir >> SRC_ABSOLUTE_TOP=`cd $srcdir; pwd` >> @@ -4761,7 +6142,7 @@ SRC_ABSOLUTE_TOP=`cd $srcdir; pwd` >> >> >> # Check whether --enable-verbose was given. >> -if test "${enable_verbose+set}" = set; then : >> +if test "${enable_verbose+set}" = set; then >> enableval=$enable_verbose; QUIET_COMPILE=0 >> else >> QUIET_COMPILE=1 >> @@ -4770,7 +6151,7 @@ fi >> >> >> # Check whether --enable-error-on-warning was given. >> -if test "${enable_error_on_warning+set}" = set; then : >> +if test "${enable_error_on_warning+set}" = set; then >> enableval=$enable_error_on_warning; WARNINGS_AS_ERRORS=1 >> else >> WARNINGS_AS_ERRORS=0 >> @@ -4780,7 +6161,7 @@ fi >> >> STRICT_CFLAGS= >> # Check whether --enable-strict was given. >> -if test "${enable_strict+set}" = set; then : >> +if test "${enable_strict+set}" = set; then >> enableval=$enable_strict; STRICT_CFLAGS=1 >> fi >> >> @@ -4788,35 +6169,35 @@ fi >> >> AE_DEBUG= >> # Check whether --enable-aesop-debug was given. >> -if test "${enable_aesop_debug+set}" = set; then : >> +if test "${enable_aesop_debug+set}" = set; then >> enableval=$enable_aesop_debug; AE_DEBUG=1 >> fi >> >> >> >> # Check whether --enable-coverage was given. >> -if test "${enable_coverage+set}" = set; then : >> +if test "${enable_coverage+set}" = set; then >> enableval=$enable_coverage; CFLAGS="$CFLAGS -g -pg -ftest- >> coverage -O0" >> ENABLE_COVERAGE=1 >> fi >> >> >> >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for client >> library thread safety support" >&5 >> -$as_echo_n "checking for client library thread safety support... " >> >&6; } >> +{ echo "$as_me:$LINENO: checking for client library thread safety >> support" >&5 >> +echo $ECHO_N "checking for client library thread safety support... >> $ECHO_C" >&6; } >> # Check whether --enable-thread-safety was given. >> -if test "${enable_thread_safety+set}" = set; then : >> +if test "${enable_thread_safety+set}" = set; then >> enableval=$enable_thread_safety; if test "x$enableval" = "xno" ; >> then >> LIBCFLAGS="$LIBCFLAGS -D__TRITON_NULL_LOCKING__" >> THREAD_LIB="" >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> else >> LIBCFLAGS="$LIBCFLAGS -D__TRITON_POSIX_LOCKING__" >> THREAD_LIB="-lpthread" >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 >> -$as_echo "yes" >&6; } >> + { echo "$as_me:$LINENO: result: yes" >&5 >> +echo "${ECHO_T}yes" >&6; } >> fi >> >> >> @@ -4837,15 +6218,17 @@ fi >> \+ $sqlite_min_micro` >> >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking sqlite >> library" >&5 >> -$as_echo "$as_me: checking sqlite library" >&6;} >> + { echo "$as_me:$LINENO: checking sqlite library" >&5 >> +echo "$as_me: checking sqlite library" >&6;} >> >> >> # Check whether --with-sqlite was given. >> -if test "${with_sqlite+set}" = set; then : >> +if test "${with_sqlite+set}" = set; then >> withval=$with_sqlite; >> if test "$withval" = "yes" ; then >> - as_fn_error "--with-sqlite requires an argument." "$LINENO" 5 >> + { { echo "$as_me:$LINENO: error: --with-sqlite requires an >> argument." >&5 >> +echo "$as_me: error: --with-sqlite requires an argument." >&2;} >> + { (exit 1); exit 1; }; } >> else >> sqlite_dir="$withval" >> fi >> @@ -4868,12 +6251,145 @@ if test "${with_sqlite+set}" = set; then : >> LDFLAGS="$LDFLAGS -L$sqlite_dir/lib" >> fi >> >> - ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" >> "ac_cv_header_sqlite3_h" "$ac_includes_default" >> -if test "x$ac_cv_header_sqlite3_h" = x""yes; then : >> + if test "${ac_cv_header_sqlite3_h+set}" = set; then >> + { echo "$as_me:$LINENO: checking for sqlite3.h" >&5 >> +echo $ECHO_N "checking for sqlite3.h... $ECHO_C" >&6; } >> +if test "${ac_cv_header_sqlite3_h+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> +fi >> +{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 >> +echo "${ECHO_T}$ac_cv_header_sqlite3_h" >&6; } >> +else >> + # Is the header compilable? >> +{ echo "$as_me:$LINENO: checking sqlite3.h usability" >&5 >> +echo $ECHO_N "checking sqlite3.h 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 <sqlite3.h> >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; 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 core conftest.err conftest.$ac_objext conftest.$ac_ext >> +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 >> +echo "${ECHO_T}$ac_header_compiler" >&6; } >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking sqlite >> library version (via header)" >&5 >> -$as_echo_n "checking sqlite library version (via header)... " >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> +# Is the header present? >> +{ echo "$as_me:$LINENO: checking sqlite3.h presence" >&5 >> +echo $ECHO_N "checking sqlite3.h 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 <sqlite3.h> >> +_ACEOF >> +if { (ac_try="$ac_cpp conftest.$ac_ext" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_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 && { >> + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || >> + test ! -s conftest.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: sqlite3.h: accepted by the >> compiler, rejected by the preprocessor!" >&5 >> +echo "$as_me: WARNING: sqlite3.h: accepted by the compiler, >> rejected by the preprocessor!" >&2;} >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with >> the compiler's result" >&5 >> +echo "$as_me: WARNING: sqlite3.h: proceeding with the compiler's >> result" >&2;} >> + ac_header_preproc=yes >> + ;; >> + no:yes:* ) >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: present but cannot >> be compiled" >&5 >> +echo "$as_me: WARNING: sqlite3.h: present but cannot be compiled" >> >&2;} >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: check for >> missing prerequisite headers?" >&5 >> +echo "$as_me: WARNING: sqlite3.h: check for missing >> prerequisite headers?" >&2;} >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: see the Autoconf >> documentation" >&5 >> +echo "$as_me: WARNING: sqlite3.h: see the Autoconf documentation" >> >&2;} >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: section >> \"Present But Cannot Be Compiled\"" >&5 >> +echo "$as_me: WARNING: sqlite3.h: section \"Present But Cannot >> Be Compiled\"" >&2;} >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with >> the preprocessor's result" >&5 >> +echo "$as_me: WARNING: sqlite3.h: proceeding with the >> preprocessor's result" >&2;} >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: in the future, the >> compiler will take precedence" >&5 >> +echo "$as_me: WARNING: sqlite3.h: in the future, the compiler will >> take precedence" >&2;} >> + ( cat <<\_ASBOX >> +## ------------------------------------- ## >> +## Report this to [email protected] ## >> +## ------------------------------------- ## >> +_ASBOX >> + ) | sed "s/^/$as_me: WARNING: /" >&2 >> + ;; >> +esac >> +{ echo "$as_me:$LINENO: checking for sqlite3.h" >&5 >> +echo $ECHO_N "checking for sqlite3.h... $ECHO_C" >&6; } >> +if test "${ac_cv_header_sqlite3_h+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> +else >> + ac_cv_header_sqlite3_h=$ac_header_preproc >> +fi >> +{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 >> +echo "${ECHO_T}$ac_cv_header_sqlite3_h" >&6; } >> + >> +fi >> +if test $ac_cv_header_sqlite3_h = yes; then >> + >> + { echo "$as_me:$LINENO: checking sqlite library version (via >> header)" >&5 >> +echo $ECHO_N "checking sqlite library version (via header)... >> $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 "$sqlite_include" >> @@ -4882,17 +6398,21 @@ SQLITE_VERSION_OKAY >> #endif >> _ACEOF >> if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | >> - $EGREP "SQLITE_VERSION_OKAY" >/dev/null 2>&1; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: okay" >&5 >> -$as_echo "okay" >&6; } >> - { $as_echo "$as_me:${as_lineno-$LINENO}: >> checking for sqlite3_close in -lsqlite3" >&5 >> -$as_echo_n "checking for sqlite3_close in -lsqlite3... " >&6; } >> -if test "${ac_cv_lib_sqlite3_sqlite3_close+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> + $EGREP "SQLITE_VERSION_OKAY" >/dev/null 2>&1; then >> + { echo "$as_me:$LINENO: result: okay" >&5 >> +echo "${ECHO_T}okay" >&6; } >> + { echo "$as_me:$LINENO: checking for >> sqlite3_close in -lsqlite3" >&5 >> +echo $ECHO_N "checking for sqlite3_close in -lsqlite3... $ECHO_C" >> >&6; } >> +if test "${ac_cv_lib_sqlite3_sqlite3_close+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> else >> ac_check_lib_save_LIBS=$LIBS >> LIBS="-lsqlite3 $LIBS" >> -cat confdefs.h - <<_ACEOF >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. */ >> >> /* Override any GCC internal prototype to avoid an error. >> @@ -4910,18 +6430,39 @@ return sqlite3_close (); >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_link "$LINENO"; then : >> +rm -f conftest.$ac_objext conftest$ac_exeext >> +if { (ac_try="$ac_link" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_link") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest$ac_exeext && >> + $as_test_x conftest$ac_exeext; then >> ac_cv_lib_sqlite3_sqlite3_close=yes >> else >> - ac_cv_lib_sqlite3_sqlite3_close=no >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_cv_lib_sqlite3_sqlite3_close=no >> fi >> -rm -f core conftest.err conftest.$ac_objext \ >> - conftest$ac_exeext conftest.$ac_ext >> + >> +rm -f core conftest.err conftest.$ac_objext >> conftest_ipa8_conftest.oo \ >> + conftest$ac_exeext conftest.$ac_ext >> LIBS=$ac_check_lib_save_LIBS >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: >> $ac_cv_lib_sqlite3_sqlite3_close" >&5 >> -$as_echo "$ac_cv_lib_sqlite3_sqlite3_close" >&6; } >> -if test "x$ac_cv_lib_sqlite3_sqlite3_close" = x""yes; then : >> +{ echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite3_sqlite3_close" >> >&5 >> +echo "${ECHO_T}$ac_cv_lib_sqlite3_sqlite3_close" >&6; } >> +if test $ac_cv_lib_sqlite3_sqlite3_close = yes; then >> >> triton_lib_sqlite="yes" >> if test -z "$sqlite_dir" -o ! -d >> "$sqlite_dir"; then >> @@ -4934,10 +6475,10 @@ if test "x$ac_cv_lib_sqlite3_sqlite3_close" >> = x""yes; then : >> fi >> >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported >> SQLite version" >&5 >> -$as_echo "unsupported SQLite version" >&6; } >> + { echo "$as_me:$LINENO: result: unsupported SQLite version" >&5 >> +echo "${ECHO_T}unsupported SQLite version" >&6; } >> fi >> -rm -f conftest* >> +rm -f -r conftest* >> >> >> fi >> @@ -4948,13 +6489,17 @@ fi >> LDFLAGS="$save_LDFLAGS" >> >> else >> - as_fn_error "$sqlite_dir is not a directory." "$LINENO" 5 >> + { { echo "$as_me:$LINENO: error: $sqlite_dir is not a >> directory." >&5 >> +echo "$as_me: error: $sqlite_dir is not a directory." >&2;} >> + { (exit 1); exit 1; }; } >> fi >> >> # if a --with-sqlite argument was given, then we should complain >> if we >> # can't find it there >> if test -z "$triton_lib_sqlite"; then >> - as_fn_error "no suitable sqlite found in $sqlite_dir" >> "$LINENO" 5 >> + { { echo "$as_me:$LINENO: error: no suitable sqlite found in >> $sqlite_dir" >&5 >> +echo "$as_me: error: no suitable sqlite found in $sqlite_dir" >&2;} >> + { (exit 1); exit 1; }; } >> else >> BUILD_OSD=1 >> fi >> @@ -4979,12 +6524,145 @@ else >> LDFLAGS="$LDFLAGS -L$sqlite_dir/lib" >> fi >> >> - ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" >> "ac_cv_header_sqlite3_h" "$ac_includes_default" >> -if test "x$ac_cv_header_sqlite3_h" = x""yes; then : >> + if test "${ac_cv_header_sqlite3_h+set}" = set; then >> + { echo "$as_me:$LINENO: checking for sqlite3.h" >&5 >> +echo $ECHO_N "checking for sqlite3.h... $ECHO_C" >&6; } >> +if test "${ac_cv_header_sqlite3_h+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> +fi >> +{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 >> +echo "${ECHO_T}$ac_cv_header_sqlite3_h" >&6; } >> +else >> + # Is the header compilable? >> +{ echo "$as_me:$LINENO: checking sqlite3.h usability" >&5 >> +echo $ECHO_N "checking sqlite3.h 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 <sqlite3.h> >> +_ACEOF >> +rm -f conftest.$ac_objext >> +if { (ac_try="$ac_compile" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_compile") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest.$ac_objext; then >> + ac_header_compiler=yes >> +else >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_header_compiler=no >> +fi >> >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking sqlite >> library version (via header)" >&5 >> -$as_echo_n "checking sqlite library version (via header)... " >&6; } >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> +rm -f core 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 sqlite3.h presence" >&5 >> +echo $ECHO_N "checking sqlite3.h 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 <sqlite3.h> >> +_ACEOF >> +if { (ac_try="$ac_cpp conftest.$ac_ext" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_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 && { >> + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || >> + test ! -s conftest.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: sqlite3.h: accepted by the >> compiler, rejected by the preprocessor!" >&5 >> +echo "$as_me: WARNING: sqlite3.h: accepted by the compiler, >> rejected by the preprocessor!" >&2;} >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with >> the compiler's result" >&5 >> +echo "$as_me: WARNING: sqlite3.h: proceeding with the compiler's >> result" >&2;} >> + ac_header_preproc=yes >> + ;; >> + no:yes:* ) >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: present but cannot >> be compiled" >&5 >> +echo "$as_me: WARNING: sqlite3.h: present but cannot be compiled" >> >&2;} >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: check for >> missing prerequisite headers?" >&5 >> +echo "$as_me: WARNING: sqlite3.h: check for missing >> prerequisite headers?" >&2;} >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: see the Autoconf >> documentation" >&5 >> +echo "$as_me: WARNING: sqlite3.h: see the Autoconf documentation" >> >&2;} >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: section >> \"Present But Cannot Be Compiled\"" >&5 >> +echo "$as_me: WARNING: sqlite3.h: section \"Present But Cannot >> Be Compiled\"" >&2;} >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with >> the preprocessor's result" >&5 >> +echo "$as_me: WARNING: sqlite3.h: proceeding with the >> preprocessor's result" >&2;} >> + { echo "$as_me:$LINENO: WARNING: sqlite3.h: in the future, the >> compiler will take precedence" >&5 >> +echo "$as_me: WARNING: sqlite3.h: in the future, the compiler will >> take precedence" >&2;} >> + ( cat <<\_ASBOX >> +## ------------------------------------- ## >> +## Report this to [email protected] ## >> +## ------------------------------------- ## >> +_ASBOX >> + ) | sed "s/^/$as_me: WARNING: /" >&2 >> + ;; >> +esac >> +{ echo "$as_me:$LINENO: checking for sqlite3.h" >&5 >> +echo $ECHO_N "checking for sqlite3.h... $ECHO_C" >&6; } >> +if test "${ac_cv_header_sqlite3_h+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> +else >> + ac_cv_header_sqlite3_h=$ac_header_preproc >> +fi >> +{ echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 >> +echo "${ECHO_T}$ac_cv_header_sqlite3_h" >&6; } >> + >> +fi >> +if test $ac_cv_header_sqlite3_h = yes; then >> + >> + { echo "$as_me:$LINENO: checking sqlite library version (via >> header)" >&5 >> +echo $ECHO_N "checking sqlite library version (via header)... >> $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 "$sqlite_include" >> @@ -4993,17 +6671,21 @@ SQLITE_VERSION_OKAY >> #endif >> _ACEOF >> if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | >> - $EGREP "SQLITE_VERSION_OKAY" >/dev/null 2>&1; then : >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: okay" >&5 >> -$as_echo "okay" >&6; } >> - { $as_echo "$as_me:${as_lineno-$LINENO}: >> checking for sqlite3_close in -lsqlite3" >&5 >> -$as_echo_n "checking for sqlite3_close in -lsqlite3... " >&6; } >> -if test "${ac_cv_lib_sqlite3_sqlite3_close+set}" = set; then : >> - $as_echo_n "(cached) " >&6 >> + $EGREP "SQLITE_VERSION_OKAY" >/dev/null 2>&1; then >> + { echo "$as_me:$LINENO: result: okay" >&5 >> +echo "${ECHO_T}okay" >&6; } >> + { echo "$as_me:$LINENO: checking for >> sqlite3_close in -lsqlite3" >&5 >> +echo $ECHO_N "checking for sqlite3_close in -lsqlite3... $ECHO_C" >> >&6; } >> +if test "${ac_cv_lib_sqlite3_sqlite3_close+set}" = set; then >> + echo $ECHO_N "(cached) $ECHO_C" >&6 >> else >> ac_check_lib_save_LIBS=$LIBS >> LIBS="-lsqlite3 $LIBS" >> -cat confdefs.h - <<_ACEOF >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. */ >> >> /* Override any GCC internal prototype to avoid an error. >> @@ -5021,18 +6703,39 @@ return sqlite3_close (); >> return 0; >> } >> _ACEOF >> -if ac_fn_c_try_link "$LINENO"; then : >> +rm -f conftest.$ac_objext conftest$ac_exeext >> +if { (ac_try="$ac_link" >> +case "(($ac_try" in >> + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; >> + *) ac_try_echo=$ac_try;; >> +esac >> +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 >> + (eval "$ac_link") 2>conftest.er1 >> + ac_status=$? >> + grep -v '^ *+' conftest.er1 >conftest.err >> + rm -f conftest.er1 >> + cat conftest.err >&5 >> + echo "$as_me:$LINENO: \$? = $ac_status" >&5 >> + (exit $ac_status); } && { >> + test -z "$ac_c_werror_flag" || >> + test ! -s conftest.err >> + } && test -s conftest$ac_exeext && >> + $as_test_x conftest$ac_exeext; then >> ac_cv_lib_sqlite3_sqlite3_close=yes >> else >> - ac_cv_lib_sqlite3_sqlite3_close=no >> + echo "$as_me: failed program was:" >&5 >> +sed 's/^/| /' conftest.$ac_ext >&5 >> + >> + ac_cv_lib_sqlite3_sqlite3_close=no >> fi >> -rm -f core conftest.err conftest.$ac_objext \ >> - conftest$ac_exeext conftest.$ac_ext >> + >> +rm -f core conftest.err conftest.$ac_objext >> conftest_ipa8_conftest.oo \ >> + conftest$ac_exeext conftest.$ac_ext >> LIBS=$ac_check_lib_save_LIBS >> fi >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: >> $ac_cv_lib_sqlite3_sqlite3_close" >&5 >> -$as_echo "$ac_cv_lib_sqlite3_sqlite3_close" >&6; } >> -if test "x$ac_cv_lib_sqlite3_sqlite3_close" = x""yes; then : >> +{ echo "$as_me:$LINENO: result: $ac_cv_lib_sqlite3_sqlite3_close" >> >&5 >> +echo "${ECHO_T}$ac_cv_lib_sqlite3_sqlite3_close" >&6; } >> +if test $ac_cv_lib_sqlite3_sqlite3_close = yes; then >> >> triton_lib_sqlite="yes" >> if test -z "$sqlite_dir" -o ! -d >> "$sqlite_dir"; then >> @@ -5045,10 +6748,10 @@ if test "x$ac_cv_lib_sqlite3_sqlite3_close" >> = x""yes; then : >> fi >> >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported >> SQLite version" >&5 >> -$as_echo "unsupported SQLite version" >&6; } >> + { echo "$as_me:$LINENO: result: unsupported SQLite version" >&5 >> +echo "${ECHO_T}unsupported SQLite version" >&6; } >> fi >> -rm -f conftest* >> +rm -f -r conftest* >> >> >> fi >> @@ -5063,8 +6766,8 @@ fi >> if test -z "$triton_lib_sqlite"; then >> >> if test -n "$PKG_CONFIG"; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking sqlite >> library version (via pkg-config)" >&5 >> -$as_echo_n "checking sqlite library version (via pkg-config)... " >> >&6; } >> + { echo "$as_me:$LINENO: checking sqlite library version (via >> pkg-config)" >&5 >> +echo $ECHO_N "checking sqlite library version (via pkg-config)... >> $ECHO_C" >&6; } >> sqlite_version=`$PKG_CONFIG $SQLITE_PKGNAME --modversion -- >> silence-errors` >> >> if test -n "$sqlite_version"; then >> @@ -5081,21 +6784,21 @@ $as_echo_n "checking sqlite library version >> (via pkg-config)... " >&6; } >> >> >> if test "$sqlite_ver_num" -ge "$sqlite_min_ver_num"; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: >> $sqlite_version" >&5 >> -$as_echo "$sqlite_version" >&6; } >> + { echo "$as_me:$LINENO: result: $sqlite_version" >&5 >> +echo "${ECHO_T}$sqlite_version" >&6; } >> triton_lib_sqlite="yes" >> TRITON_SQLITE_INCLUDES="`$PKG_CONFIG $SQLITE_PKGNAME -- >> cflags`" >> TRITON_SQLITE_LIBS="`$PKG_CONFIG $SQLITE_PKGNAME --libs`" >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none or >> unsupported $sqlite_version" >&5 >> -$as_echo "none or unsupported $sqlite_version" >&6; } >> + { echo "$as_me:$LINENO: result: none or unsupported >> $sqlite_version" >&5 >> +echo "${ECHO_T}none or unsupported $sqlite_version" >&6; } >> fi >> fi >> fi >> >> if test -z "$triton_lib_sqlite"; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 >> -$as_echo "no" >&6; } >> + { echo "$as_me:$LINENO: result: no" >&5 >> +echo "${ECHO_T}no" >&6; } >> fi >> >> fi >> @@ -5144,13 +6847,12 @@ _ACEOF >> case $ac_val in #( >> *${as_nl}*) >> case $ac_var in #( >> - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: >> cache variable $ac_var contains a newline" >&5 >> -$as_echo "$as_me: WARNING: cache variable $ac_var contains a >> newline" >&2;} ;; >> + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable >> $ac_var contains a newline." >&5 >> +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >> >&2;} ;; >> esac >> case $ac_var in #( >> _ | IFS | as_nl) ;; #( >> - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( >> - *) { eval $ac_var=; unset $ac_var;} ;; >> + *) $as_unset $ac_var ;; >> esac ;; >> esac >> done >> @@ -5158,8 +6860,8 @@ $as_echo "$as_me: WARNING: cache variable >> $ac_var contains a newline" >&2;} ;; >> (set) 2>&1 | >> case $as_nl`(ac_space=' '; set) 2>&1` in #( >> *${as_nl}ac_space=\ *) >> - # `set' does not quote correctly, so add quotes: double-quote >> - # substitution turns \\\\ into \\, and sed turns \\ into \. >> + # `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" >> @@ -5182,12 +6884,12 @@ $as_echo "$as_me: WARNING: cache variable >> $ac_var contains a newline" >&2;} ;; >> if diff "$cache_file" confcache >/dev/null 2>&1; then :; else >> if test -w "$cache_file"; then >> test "x$cache_file" != "x/dev/null" && >> - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache >> $cache_file" >&5 >> -$as_echo "$as_me: updating cache $cache_file" >&6;} >> + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 >> +echo "$as_me: updating cache $cache_file" >&6;} >> cat confcache >$cache_file >> else >> - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating >> unwritable cache $cache_file" >&5 >> -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} >> + { echo "$as_me:$LINENO: not updating unwritable cache >> $cache_file" >&5 >> +echo "$as_me: not updating unwritable cache $cache_file" >&6;} >> fi >> fi >> rm -f confcache >> @@ -5203,11 +6905,11 @@ ac_ltlibobjs= >> for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue >> # 1. Remove the extension, and $U if already installed. >> ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' >> - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` >> + ac_i=`echo "$ac_i" | sed "$ac_script"` >> # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR >> # will be set to the directory where LIBOBJS objects are built. >> - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" >> - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' >> + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" >> + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' >> done >> LIBOBJS=$ac_libobjs >> >> @@ -5215,15 +6917,12 @@ LTLIBOBJS=$ac_ltlibobjs >> >> >> >> - >> : ${CONFIG_STATUS=./config.status} >> -ac_write_fail=0 >> ac_clean_files_save=$ac_clean_files >> ac_clean_files="$ac_clean_files $CONFIG_STATUS" >> -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >> >&5 >> -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} >> -as_write_fail=0 >> -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 >> +{ 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. >> @@ -5233,79 +6932,59 @@ cat >$CONFIG_STATUS <<_ASEOF || >> as_write_fail=1 >> debug=false >> ac_cs_recheck=false >> ac_cs_silent=false >> - >> SHELL=\${CONFIG_SHELL-$SHELL} >> -export SHELL >> -_ASEOF >> -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 >> -## -------------------- ## >> -## M4sh Initialization. ## >> -## -------------------- ## >> +_ACEOF >> + >> +cat >>$CONFIG_STATUS <<\_ACEOF >> +## --------------------- ## >> +## M4sh Initialization. ## >> +## --------------------- ## >> >> # Be more Bourne compatible >> DUALCASE=1; export DUALCASE # for MKS sh >> -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; >> then : >> +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; >> then >> emulate sh >> NULLCMD=: >> - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which >> + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which >> # is contrary to our usage. Disable this feature. >> alias -g '${1+"$@"}'='"$@"' >> setopt NO_GLOB_SUBST >> else >> - case `(set -o) 2>/dev/null` in #( >> - *posix*) : >> - set -o posix ;; #( >> - *) : >> - ;; >> + case `(set -o) 2>/dev/null` in >> + *posix*) set -o posix ;; >> esac >> + >> fi >> >> >> -as_nl=' >> -' >> -export as_nl >> -# Printing a long string crashes Solaris 7 /usr/bin/printf. >> -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ >> \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' >> -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo >> -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo >> -# Prefer a ksh shell builtin over an external printf program on >> Solaris, >> -# but without wasting forks for bash or zsh. >> -if test -z "$BASH_VERSION$ZSH_VERSION" \ >> - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; >> then >> - as_echo='print -r --' >> - as_echo_n='print -rn --' >> -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then >> - as_echo='printf %s\n' >> - as_echo_n='printf %s' >> -else >> - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n >> $as_echo"; then >> - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' >> - as_echo_n='/usr/ucb/echo -n' >> + >> + >> +# PATH needs CR >> +# 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 >> - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' >> - as_echo_n_body='eval >> - arg=$1; >> - case $arg in #( >> - *"$as_nl"*) >> - expr "X$arg" : "X\\(.*\\)$as_nl"; >> - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; >> - esac; >> - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" >> - ' >> - export as_echo_n_body >> - as_echo_n='sh -c $as_echo_n_body as_echo' >> + PATH_SEPARATOR=: >> fi >> - export as_echo_body >> - as_echo='sh -c $as_echo_body as_echo' >> + rm -f conf$$.sh >> fi >> >> -# The user is always right. >> -if test "${PATH_SEPARATOR+set}" != set; then >> - PATH_SEPARATOR=: >> - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { >> - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || >> - PATH_SEPARATOR=';' >> - } >> +# Support unset when possible. >> +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then >> + as_unset=unset >> +else >> + as_unset=false >> fi >> >> >> @@ -5314,18 +6993,20 @@ fi >> # there to prevent editors from complaining about space-tab. >> # (If _AS_PATH_WALK were called with IFS unset, it would disable word >> # splitting by setting IFS to empty value.) >> +as_nl=' >> +' >> IFS=" "" $as_nl" >> >> # Find who we are. Look in the path if we contain no directory >> separator. >> -case $0 in #(( >> +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 >> + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break >> +done >> IFS=$as_save_IFS >> >> ;; >> @@ -5336,111 +7017,32 @@ if test "x$as_myself" = x; then >> as_myself=$0 >> fi >> if test ! -f "$as_myself"; then >> - $as_echo "$as_myself: error: cannot find myself; rerun with an >> absolute file name" >&2 >> - exit 1 >> + echo "$as_myself: error: cannot find myself; rerun with an >> absolute file name" >&2 >> + { (exit 1); exit 1; } >> fi >> >> -# Unset variables that we do not need and which cause bugs (e.g. in >> -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| >> exit 1" >> -# suppresses any "Segmentation fault" message there. '((' could >> -# trigger a bug in pdksh 5.2.14. >> -for as_var in BASH_ENV ENV MAIL MAILPATH >> -do eval test x\${$as_var+set} = xset \ >> - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var >> || : >> +# Work around bugs in pre-3.0 UWIN ksh. >> +for as_var in ENV MAIL MAILPATH >> +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var >> done >> PS1='$ ' >> PS2='> ' >> PS4='+ ' >> >> # NLS nuisances. >> -LC_ALL=C >> -export LC_ALL >> -LANGUAGE=C >> -export LANGUAGE >> - >> -# CDPATH. >> -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH >> - >> - >> -# as_fn_error ERROR [LINENO LOG_FD] >> -# --------------------------------- >> -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and >> LOG_FD are >> -# provided, also output the error to LOG_FD, referencing LINENO. >> Then exit the >> -# script with status $?, using 1 if that was 0. >> -as_fn_error () >> -{ >> - as_status=$?; test $as_status -eq 0 && as_status=1 >> - if test "$3"; then >> - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack= >> $as_lineno_stack >> - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 >> +for as_var in \ >> + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE >> LC_IDENTIFICATION \ >> + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC >> LC_PAPER \ >> + LC_TELEPHONE LC_TIME >> +do >> + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); >> then >> + eval $as_var=C; export $as_var >> + else >> + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var >> fi >> - $as_echo "$as_me: error: $1" >&2 >> - as_fn_exit $as_status >> -} # as_fn_error >> - >> - >> -# as_fn_set_status STATUS >> -# ----------------------- >> -# Set $? to STATUS, without forking. >> -as_fn_set_status () >> -{ >> - return $1 >> -} # as_fn_set_status >> - >> -# as_fn_exit STATUS >> -# ----------------- >> -# Exit the shell with STATUS, even in a "trap 0" or "set -e" >> context. >> -as_fn_exit () >> -{ >> - set +e >> - as_fn_set_status $1 >> - exit $1 >> -} # as_fn_exit >> - >> -# as_fn_unset VAR >> -# --------------- >> -# Portably unset VAR. >> -as_fn_unset () >> -{ >> - { eval $1=; unset $1;} >> -} >> -as_unset=as_fn_unset >> -# as_fn_append VAR VALUE >> -# ---------------------- >> -# Append the text in VALUE to the end of the definition contained >> in VAR. Take >> -# advantage of any shell optimizations that allow amortized linear >> growth over >> -# repeated appends, instead of the typical quadratic growth >> present in naive >> -# implementations. >> -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; >> then : >> - eval 'as_fn_append () >> - { >> - eval $1+=\$2 >> - }' >> -else >> - as_fn_append () >> - { >> - eval $1=\$$1\$2 >> - } >> -fi # as_fn_append >> - >> -# as_fn_arith ARG... >> -# ------------------ >> -# Perform arithmetic evaluation on the ARGs, and store the result >> in the >> -# global $as_val. Take advantage of shells that can avoid forks. >> The arguments >> -# must be portable across $(()) and expr. >> -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : >> - eval 'as_fn_arith () >> - { >> - as_val=$(( $* )) >> - }' >> -else >> - as_fn_arith () >> - { >> - as_val=`expr "$@" || test $? -eq 1` >> - } >> -fi # as_fn_arith >> - >> +done >> >> +# Required to use basename. >> if expr a : '\(a\)' >/dev/null 2>&1 && >> test "X`expr 00001 : '.*\(...\)'`" = X001; then >> as_expr=expr >> @@ -5454,17 +7056,13 @@ else >> as_basename=false >> fi >> >> -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null >> 2>&1; then >> - as_dirname=dirname >> -else >> - as_dirname=false >> -fi >> >> +# Name of the executable. >> as_me=`$as_basename -- "$0" || >> $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ >> X"$0" : 'X\(//\)$' \| \ >> X"$0" : 'X\(/\)' \| . 2>/dev/null || >> -$as_echo X/"$0" | >> +echo X/"$0" | >> sed '/^.*\/\([^/][^/]*\)\/*$/{ >> s//\1/ >> q >> @@ -5479,103 +7077,104 @@ $as_echo X/"$0" | >> } >> s/.*/./; q'` >> >> -# Avoid depending upon Character Ranges. >> -as_cr_letters='abcdefghijklmnopqrstuvwxyz' >> -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' >> -as_cr_Letters=$as_cr_letters$as_cr_LETTERS >> -as_cr_digits='0123456789' >> -as_cr_alnum=$as_cr_Letters$as_cr_digits >> +# CDPATH. >> +$as_unset CDPATH >> + >> + >> + >> + as_lineno_1=$LINENO >> + as_lineno_2=$LINENO >> + test "x$as_lineno_1" != "x$as_lineno_2" && >> + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { >> + >> + # 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 after each line using $LINENO; the second 'sed' >> + # does the real work. The second script uses 'N' to pair each >> + # line-number line with the line containing $LINENO, 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 >> + # scripts with optimization help from Paolo Bonzini. Blame Lee >> + # E. McMahon (1931-1989) for sed's syntax. :-) >> + sed -n ' >> + p >> + /[$]LINENO/= >> + ' <$as_myself | >> + sed ' >> + s/[$]LINENO.*/&-/ >> + t lineno >> + b >> + :lineno >> + N >> + :loop >> + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ >> + t loop >> + s/-\n.*// >> + ' >$as_me.lineno && >> + chmod +x "$as_me.lineno" || >> + { 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 sensitive to this). >> + . "./$as_me.lineno" >> + # Exit status is that of the last command. >> + exit >> +} >> + >> + >> +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null >> 2>&1; then >> + as_dirname=dirname >> +else >> + as_dirname=false >> +fi >> >> ECHO_C= ECHO_N= ECHO_T= >> -case `echo -n x` in #((((( >> +case `echo -n x` in >> -n*) >> - case `echo 'xy\c'` in >> + case `echo 'x\c'` in >> *c*) ECHO_T=' ';; # ECHO_T is single tab character. >> - xy) ECHO_C='\c';; >> - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null >> - ECHO_T=' ';; >> + *) ECHO_C='\c';; >> esac;; >> *) >> ECHO_N='-n';; >> esac >> >> +if expr a : '\(a\)' >/dev/null 2>&1 && >> + test "X`expr 00001 : '.*\(...\)'`" = X001; then >> + as_expr=expr >> +else >> + as_expr=false >> +fi >> + >> rm -f conf$$ conf$$.exe conf$$.file >> if test -d conf$$.dir; then >> rm -f conf$$.dir/conf$$.file >> else >> rm -f conf$$.dir >> - mkdir conf$$.dir 2>/dev/null >> -fi >> -if (echo >conf$$.file) 2>/dev/null; then >> - if ln -s conf$$.file conf$$ 2>/dev/null; then >> - as_ln_s='ln -s' >> - # ... but there are two gotchas: >> - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. >> - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper >> executable. >> - # In both cases, we have to default to `cp -p'. >> - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$ >> $.exe || >> - as_ln_s='cp -p' >> - elif ln conf$$.file conf$$ 2>/dev/null; then >> - as_ln_s=ln >> - else >> + mkdir conf$$.dir >> +fi >> +echo >conf$$.file >> +if ln -s conf$$.file conf$$ 2>/dev/null; then >> + as_ln_s='ln -s' >> + # ... but there are two gotchas: >> + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. >> + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper >> executable. >> + # In both cases, we have to default to `cp -p'. >> + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe >> || >> as_ln_s='cp -p' >> - 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$$.dir/conf$$.file conf$$.file >> rmdir conf$$.dir 2>/dev/null >> >> - >> -# as_fn_mkdir_p >> -# ------------- >> -# Create "$as_dir" as a directory, including parents if necessary. >> -as_fn_mkdir_p () >> -{ >> - >> - case $as_dir in #( >> - -*) as_dir=./$as_dir;; >> - esac >> - test -d "$as_dir" || eval $as_mkdir_p || { >> - as_dirs= >> - while :; do >> - case $as_dir in #( >> - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/ >> g"`;; #'( >> - *) as_qdir=$as_dir;; >> - esac >> - as_dirs="'$as_qdir' $as_dirs" >> - as_dir=`$as_dirname -- "$as_dir" || >> -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ >> - X"$as_dir" : 'X\(//\)[^/]' \| \ >> - X"$as_dir" : 'X\(//\)$' \| \ >> - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || >> -$as_echo X"$as_dir" | >> - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ >> - s//\1/ >> - q >> - } >> - /^X\(\/\/\)[^/].*/{ >> - s//\1/ >> - q >> - } >> - /^X\(\/\/\)$/{ >> - s//\1/ >> - q >> - } >> - /^X\(\/\).*/{ >> - s//\1/ >> - q >> - } >> - s/.*/./; q'` >> - test -d "$as_dir" && break >> - done >> - test -z "$as_dirs" || eval "mkdir $as_dirs" >> - } || test -d "$as_dir" || as_fn_error "cannot create directory >> $as_dir" >> - >> - >> -} # as_fn_mkdir_p >> if mkdir -p . 2>/dev/null; then >> - as_mkdir_p='mkdir -p "$as_dir"' >> + as_mkdir_p=: >> else >> test -d ./-p && rmdir ./-p >> as_mkdir_p=false >> @@ -5592,12 +7191,12 @@ else >> as_test_x=' >> eval sh -c '\'' >> if test -d "$1"; then >> - test -d "$1/."; >> + test -d "$1/."; >> else >> - case $1 in #( >> - -*)set "./$1";; >> + case $1 in >> + -*)set "./$1";; >> esac; >> - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( >> + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in >> ???[sx]*):;;*)false;;esac;fi >> '\'' sh >> ' >> @@ -5612,19 +7211,13 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_ >> $as_cr_alnum]%_%g'" >> >> >> exec 6>&1 >> -## ----------------------------------- ## >> -## Main body of $CONFIG_STATUS script. ## >> -## ----------------------------------- ## >> -_ASEOF >> -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || >> ac_write_fail=1 >> >> -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 >> -# Save the log message, to keep $0 and so on meaningful, and to >> +# Save the log message, to keep $[0] and so on meaningful, and to >> # report actual input values of CONFIG_FILES etc. instead of their >> # values after options handling. >> ac_log=" >> This file was extended by triton $as_me 0.1.1, which was >> -generated by GNU Autoconf 2.65. Invocation command line was >> +generated by GNU Autoconf 2.61. Invocation command line was >> >> CONFIG_FILES = $CONFIG_FILES >> CONFIG_HEADERS = $CONFIG_HEADERS >> @@ -5637,41 +7230,29 @@ on `(hostname || uname -n) 2>/dev/null | >> sed 1q` >> >> _ACEOF >> >> -case $ac_config_files in *" >> -"*) set x $ac_config_files; shift; ac_config_files=$*;; >> -esac >> - >> -case $ac_config_headers in *" >> -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; >> -esac >> - >> - >> -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 >> +cat >>$CONFIG_STATUS <<_ACEOF >> # Files that config.status was made for. >> config_files="$ac_config_files" >> config_headers="$ac_config_headers" >> >> _ACEOF >> >> -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 >> +cat >>$CONFIG_STATUS <<\_ACEOF >> ac_cs_usage="\ >> -\`$as_me' instantiates files and other configuration actions >> -from templates according to the current configuration. Unless the >> files >> -and actions are specified as TAGs, all are instantiated by default. >> +\`$as_me' instantiates files from templates according to the >> +current configuration. >> >> -Usage: $0 [OPTION]... [TAG]... >> +Usage: $0 [OPTIONS] [FILE]... >> >> -h, --help print this help, then exit >> -V, --version print version number and configuration settings, >> then exit >> - --config print configuration, then exit >> - -q, --quiet, --silent >> - do not print progress messages >> + -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 >> + --file=FILE[:TEMPLATE] >> + instantiate the configuration file FILE >> + --header=FILE[:TEMPLATE] >> + instantiate the configuration header FILE >> >> Configuration files: >> $config_files >> @@ -5679,28 +7260,27 @@ $config_files >> Configuration headers: >> $config_headers >> >> -Report bugs to <[email protected]>." >> +Report bugs to <[email protected]>." >> >> _ACEOF >> -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 >> -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\ >> \""\`\$]/\\\\&/g'`" >> +cat >>$CONFIG_STATUS <<_ACEOF >> ac_cs_version="\\ >> triton config.status 0.1.1 >> -configured by $0, generated by GNU Autoconf 2.65, >> - with options \\"\$ac_cs_config\\" >> +configured by $0, generated by GNU Autoconf 2.61, >> + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\ >> \""\`\$]/\\\\&/g'`\\" >> >> -Copyright (C) 2009 Free Software Foundation, Inc. >> +Copyright (C) 2006 Free Software Foundation, Inc. >> This config.status script is free software; the Free Software >> Foundation >> gives unlimited permission to copy, distribute and modify it." >> >> ac_pwd='$ac_pwd' >> srcdir='$srcdir' >> INSTALL='$INSTALL' >> -test -n "\$AWK" || AWK=awk >> _ACEOF >> >> -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 >> -# The default lists apply if the user does not specify any file. >> +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 >> @@ -5722,40 +7302,34 @@ do >> -recheck | --recheck | --rechec | --reche | --rech | --rec | --re >> | --r) >> ac_cs_recheck=: ;; >> --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) >> - $as_echo "$ac_cs_version"; exit ;; >> - --config | --confi | --conf | --con | --co | --c ) >> - $as_echo "$ac_cs_config"; exit ;; >> + echo "$ac_cs_version"; exit ;; >> --debug | --debu | --deb | --de | --d | -d ) >> debug=: ;; >> --file | --fil | --fi | --f ) >> $ac_shift >> - case $ac_optarg in >> - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/ >> g"` ;; >> - esac >> - as_fn_append CONFIG_FILES " '$ac_optarg'" >> + CONFIG_FILES="$CONFIG_FILES $ac_optarg" >> ac_need_defaults=false;; >> --header | --heade | --head | --hea ) >> $ac_shift >> - case $ac_optarg in >> - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/ >> g"` ;; >> - esac >> - as_fn_append CONFIG_HEADERS " '$ac_optarg'" >> + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" >> ac_need_defaults=false;; >> --he | --h) >> # Conflict between --help and --header >> - as_fn_error "ambiguous option: \`$1' >> -Try \`$0 --help' for more information.";; >> + { echo "$as_me: error: ambiguous option: $1 >> +Try \`$0 --help' for more information." >&2 >> + { (exit 1); exit 1; }; };; >> --help | --hel | -h ) >> - $as_echo "$ac_cs_usage"; exit ;; >> + echo "$ac_cs_usage"; exit ;; >> -q | -quiet | --quiet | --quie | --qui | --qu | --q \ >> | -silent | --silent | --silen | --sile | --sil | --si | --s) >> ac_cs_silent=: ;; >> >> # This is an error. >> - -*) as_fn_error "unrecognized option: \`$1' >> -Try \`$0 --help' for more information." ;; >> + -*) { echo "$as_me: error: unrecognized option: $1 >> +Try \`$0 --help' for more information." >&2 >> + { (exit 1); exit 1; }; } ;; >> >> - *) as_fn_append ac_config_targets " $1" >> + *) ac_config_targets="$ac_config_targets $1" >> ac_need_defaults=false ;; >> >> esac >> @@ -5770,32 +7344,30 @@ if $ac_cs_silent; then >> fi >> >> _ACEOF >> -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 >> +cat >>$CONFIG_STATUS <<_ACEOF >> if \$ac_cs_recheck; then >> - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args >> --no-create --no-recursion >> - shift >> - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 >> - CONFIG_SHELL='$SHELL' >> + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \ >> $ac_configure_extra_args " --no-create --no-recursion" >&6 >> + CONFIG_SHELL=$SHELL >> export CONFIG_SHELL >> - exec "\$@" >> + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args -- >> no-create --no-recursion >> fi >> >> _ACEOF >> -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 >> +cat >>$CONFIG_STATUS <<\_ACEOF >> exec 5>>config.log >> { >> echo >> sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX >> ## Running $as_me. ## >> _ASBOX >> - $as_echo "$ac_log" >> + echo "$ac_log" >> } >&5 >> >> _ACEOF >> -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 >> +cat >>$CONFIG_STATUS <<_ACEOF >> _ACEOF >> >> -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 >> +cat >>$CONFIG_STATUS <<\_ACEOF >> >> # Handling of arguments. >> for ac_config_target in $ac_config_targets >> @@ -5833,7 +7405,9 @@ do >> "src/zeroconf/module.mk") CONFIG_FILES="$CONFIG_FILES src/ >> zeroconf/module.mk" ;; >> "src/net/mock/module.mk") CONFIG_FILES="$CONFIG_FILES src/net/ >> mock/module.mk" ;; >> >> - *) as_fn_error "invalid argument: \`$ac_config_target'" >> "$LINENO" 5;; >> + *) { { 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 >> >> @@ -5859,7 +7433,7 @@ $debug || >> trap 'exit_status=$? >> { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit >> $exit_status >> ' 0 >> - trap 'as_fn_exit 1' 1 2 13 15 >> + trap '{ (exit 1); exit 1; }' 1 2 13 15 >> } >> # Create a (secure) tmp directory for tmp files. >> >> @@ -5870,140 +7444,142 @@ $debug || >> { >> tmp=./conf$$-$RANDOM >> (umask 077 && mkdir "$tmp") >> -} || as_fn_error "cannot create a temporary directory in ." >> "$LINENO" 5 >> - >> -# Set up the scripts for CONFIG_FILES section. >> -# No need to generate them if there are no CONFIG_FILES. >> -# This happens for instance with `./config.status config.h'. >> -if test -n "$CONFIG_FILES"; then >> +} || >> +{ >> + echo "$me: cannot create a temporary directory in ." >&2 >> + { (exit 1); exit 1; } >> +} >> >> +# >> +# Set up the sed scripts for CONFIG_FILES section. >> +# >> >> -ac_cr=`echo X | tr X '\015'` >> -# On cygwin, bash can eat \r inside `` if the user requested igncr. >> -# But we know of no other shell where ac_cr would be empty at this >> -# point, so we can use a bashism as a fallback. >> -if test "x$ac_cr" = x; then >> - eval ac_cr=\$\'\\r\' >> -fi >> -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` >> -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then >> - ac_cs_awk_cr='\r' >> -else >> - ac_cs_awk_cr=$ac_cr >> -fi >> +# 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 >> >> -echo 'BEGIN {' >"$tmp/subs1.awk" && >> _ACEOF >> >> >> -{ >> - echo "cat >conf$$subs.awk <<_ACEOF" && >> - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && >> - echo "_ACEOF" >> -} >conf$$subs.sh || >> - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 >> -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` >> + >> ac_delim='%!_!# ' >> for ac_last_try in false false false false false :; do >> - . ./conf$$subs.sh || >> - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 >> + cat >conf$$subs.sed <<_ACEOF >> +SHELL!$SHELL$ac_delim >> +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim >> +PACKAGE_NAME!$PACKAGE_NAME$ac_delim >> +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim >> +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim >> +PACKAGE_STRING!$PACKAGE_STRING$ac_delim >> +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim >> +exec_prefix!$exec_prefix$ac_delim >> +prefix!$prefix$ac_delim >> +program_transform_name!$program_transform_name$ac_delim >> +bindir!$bindir$ac_delim >> +sbindir!$sbindir$ac_delim >> +libexecdir!$libexecdir$ac_delim >> +datarootdir!$datarootdir$ac_delim >> +datadir!$datadir$ac_delim >> +sysconfdir!$sysconfdir$ac_delim >> +sharedstatedir!$sharedstatedir$ac_delim >> +localstatedir!$localstatedir$ac_delim >> +includedir!$includedir$ac_delim >> +oldincludedir!$oldincludedir$ac_delim >> +docdir!$docdir$ac_delim >> +infodir!$infodir$ac_delim >> +htmldir!$htmldir$ac_delim >> +dvidir!$dvidir$ac_delim >> +pdfdir!$pdfdir$ac_delim >> +psdir!$psdir$ac_delim >> +libdir!$libdir$ac_delim >> +localedir!$localedir$ac_delim >> +mandir!$mandir$ac_delim >> +DEFS!$DEFS$ac_delim >> +ECHO_C!$ECHO_C$ac_delim >> +ECHO_N!$ECHO_N$ac_delim >> +ECHO_T!$ECHO_T$ac_delim >> +LIBS!$LIBS$ac_delim >> +build_alias!$build_alias$ac_delim >> +host_alias!$host_alias$ac_delim >> +target_alias!$target_alias$ac_delim >> +TRITON_VERSION!$TRITON_VERSION$ac_delim >> +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim >> +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim >> +INSTALL_DATA!$INSTALL_DATA$ac_delim >> +CC!$CC$ac_delim >> +CFLAGS!$CFLAGS$ac_delim >> +LDFLAGS!$LDFLAGS$ac_delim >> +CPPFLAGS!$CPPFLAGS$ac_delim >> +ac_ct_CC!$ac_ct_CC$ac_delim >> +EXEEXT!$EXEEXT$ac_delim >> +OBJEXT!$OBJEXT$ac_delim >> +CPP!$CPP$ac_delim >> +GREP!$GREP$ac_delim >> +EGREP!$EGREP$ac_delim >> +GHC!$GHC$ac_delim >> +DB_CFLAGS!$DB_CFLAGS$ac_delim >> +DB_LIB!$DB_LIB$ac_delim >> +MPICC!$MPICC$ac_delim >> +MPICFLAGS!$MPICFLAGS$ac_delim >> +MPILDFLAGS!$MPILDFLAGS$ac_delim >> +MPILIBS!$MPILIBS$ac_delim >> +BUILD_MPI!$BUILD_MPI$ac_delim >> +USE_DYLIBS!$USE_DYLIBS$ac_delim >> +BUILD_ABSOLUTE_TOP!$BUILD_ABSOLUTE_TOP$ac_delim >> +SRC_RELATIVE_TOP!$SRC_RELATIVE_TOP$ac_delim >> +SRC_ABSOLUTE_TOP!$SRC_ABSOLUTE_TOP$ac_delim >> +QUIET_COMPILE!$QUIET_COMPILE$ac_delim >> +WARNINGS_AS_ERRORS!$WARNINGS_AS_ERRORS$ac_delim >> +STRICT_CFLAGS!$STRICT_CFLAGS$ac_delim >> +AE_DEBUG!$AE_DEBUG$ac_delim >> +ENABLE_COVERAGE!$ENABLE_COVERAGE$ac_delim >> +LIBCFLAGS!$LIBCFLAGS$ac_delim >> +THREAD_LIB!$THREAD_LIB$ac_delim >> +TRITON_SQLITE_INCLUDES!$TRITON_SQLITE_INCLUDES$ac_delim >> +TRITON_SQLITE_LIBS!$TRITON_SQLITE_LIBS$ac_delim >> +BUILD_OSD!$BUILD_OSD$ac_delim >> +LIBOBJS!$LIBOBJS$ac_delim >> +LTLIBOBJS!$LTLIBOBJS$ac_delim >> +_ACEOF >> >> - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep - >> c X` >> - if test $ac_delim_n = $ac_delim_num; then >> + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c >> X` = 75; then >> break >> elif $ac_last_try; then >> - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 >> + { { echo "$as_me:$LINENO: error: could not make >> $CONFIG_STATUS" >&5 >> +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} >> + { (exit 1); exit 1; }; } >> else >> ac_delim="$ac_delim!$ac_delim _$ac_delim!! " >> fi >> done >> -rm -f conf$$subs.sh >> - >> -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 >> -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && >> -_ACEOF >> -sed -n ' >> -h >> -s/^/S["/; s/!.*/"]=/ >> -p >> -g >> -s/^[^!]*!// >> -:repl >> -t repl >> -s/'"$ac_delim"'$// >> -t delim >> -:nl >> -h >> -s/\(.\{148\}\)..*/\1/ >> -t more1 >> -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ >> -p >> -n >> -b repl >> -:more1 >> -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ >> -p >> -g >> -s/.\{148\}// >> -t nl >> -:delim >> -h >> -s/\(.\{148\}\)..*/\1/ >> -t more2 >> -s/["\\]/\\&/g; s/^/"/; s/$/"/ >> -p >> -b >> -:more2 >> -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ >> -p >> -g >> -s/.\{148\}// >> -t delim >> -' <conf$$subs.awk | sed ' >> -/^[^""]/{ >> - N >> - s/\n// >> -} >> -' >>$CONFIG_STATUS || ac_write_fail=1 >> -rm -f conf$$subs.awk >> -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 >> -_ACAWK >> -cat >>"\$tmp/subs1.awk" <<_ACAWK && >> - for (key in S) S_is_set[key] = 1 >> - FS = "" >> >> -} >> -{ >> - line = $ 0 >> - nfields = split(line, field, "@") >> - substed = 0 >> - len = length(field[1]) >> - for (i = 2; i < nfields; i++) { >> - key = field[i] >> - keylen = length(key) >> - if (S_is_set[key]) { >> - value = S[key] >> - line = substr(line, 1, len) "" value "" substr(line, len + >> keylen + 3) >> - len += length(value) + length(field[++i]) >> - substed = 1 >> - } else >> - len += 1 + keylen >> - } >> - >> - print line >> -} >> +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` >> +if test -n "$ac_eof"; then >> + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` >> + ac_eof=`expr $ac_eof + 1` >> +fi >> >> -_ACAWK >> +cat >>$CONFIG_STATUS <<_ACEOF >> +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof >> +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end >> _ACEOF >> -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 >> -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then >> - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" >> -else >> - cat >> -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ >> - || as_fn_error "could not setup config files machinery" >> "$LINENO" 5 >> +sed ' >> +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g >> +s/^/s,@/; s/!/@,|#_!!_#|/ >> +:n >> +t n >> +s/'"$ac_delim"'$/,g/; t >> +s/$/\\/; p >> +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n >> +' >>$CONFIG_STATUS <conf$$subs.sed >> +rm -f conf$$subs.sed >> +cat >>$CONFIG_STATUS <<_ACEOF >> +:end >> +s/|#_!!_#|//g >> +CEOF$ac_eof >> _ACEOF >> >> + >> # VPATH may cause trouble with some makes, so we remove $(srcdir), >> # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading >> and >> # trailing colons and then remove the whole line if VPATH becomes >> empty >> @@ -6019,128 +7595,20 @@ s/^[^=]*=[ ]*$// >> }' >> fi >> >> -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 >> +cat >>$CONFIG_STATUS <<\_ACEOF >> fi # test -n "$CONFIG_FILES" >> >> -# Set up the scripts for CONFIG_HEADERS section. >> -# No need to generate them if there are no CONFIG_HEADERS. >> -# This happens for instance with `./config.status Makefile'. >> -if test -n "$CONFIG_HEADERS"; then >> -cat >"$tmp/defines.awk" <<\_ACAWK || >> -BEGIN { >> -_ACEOF >> - >> -# Transform confdefs.h into an awk script `defines.awk', embedded as >> -# here-document in config.status, that substitutes the proper >> values into >> -# config.h.in to produce config.h. >> - >> -# Create a delimiter string that does not exist in confdefs.h, to >> ease >> -# handling of long lines. >> -ac_delim='%!_!# ' >> -for ac_last_try in false false :; do >> - ac_t=`sed -n "/$ac_delim/p" confdefs.h` >> - if test -z "$ac_t"; then >> - break >> - elif $ac_last_try; then >> - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 >> - else >> - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " >> - fi >> -done >> - >> -# For the awk script, D is an array of macro values keyed by name, >> -# likewise P contains macro parameters if any. Preserve backslash >> -# newline sequences. >> - >> -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* >> -sed -n ' >> -s/.\{148\}/&'"$ac_delim"'/g >> -t rset >> -:rset >> -s/^[ ]*#[ ]*define[ ][ ]*/ / >> -t def >> -d >> -:def >> -s/\\$// >> -t bsnl >> -s/["\\]/\\&/g >> -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ >> -D["\1"]=" \3"/p >> -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p >> -d >> -:bsnl >> -s/["\\]/\\&/g >> -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ >> -D["\1"]=" \3\\\\\\n"\\/p >> -t cont >> -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p >> -t cont >> -d >> -:cont >> -n >> -s/.\{148\}/&'"$ac_delim"'/g >> -t clear >> -:clear >> -s/\\$// >> -t bsnlc >> -s/["\\]/\\&/g; s/^/"/; s/$/"/p >> -d >> -:bsnlc >> -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p >> -b cont >> -' <confdefs.h | sed ' >> -s/'"$ac_delim"'/"\\\ >> -"/g' >>$CONFIG_STATUS || ac_write_fail=1 >> - >> -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 >> - for (key in D) D_is_set[key] = 1 >> - FS = "" >> -} >> -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { >> - line = \$ 0 >> - split(line, arg, " ") >> - if (arg[1] == "#") { >> - defundef = arg[2] >> - mac1 = arg[3] >> - } else { >> - defundef = substr(arg[1], 2) >> - mac1 = arg[2] >> - } >> - split(mac1, mac2, "(") #) >> - macro = mac2[1] >> - prefix = substr(line, 1, index(line, defundef) - 1) >> - if (D_is_set[macro]) { >> - # Preserve the white space surrounding the "#". >> - print prefix "define", macro P[macro] D[macro] >> - next >> - } else { >> - # Replace #undef with comments. This is necessary, for example, >> - # in the case of _POSIX_SOURCE, which is predefined and required >> - # on some systems where configure will not decide to define it. >> - if (defundef == "undef") { >> - print "/*", prefix defundef, macro, "*/" >> - next >> - } >> - } >> -} >> -{ print } >> -_ACAWK >> -_ACEOF >> -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 >> - as_fn_error "could not setup config headers machinery" "$LINENO" 5 >> -fi # test -n "$CONFIG_HEADERS" >> >> - >> -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " >> -shift >> -for ac_tag >> +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS >> do >> case $ac_tag in >> :[FHLC]) ac_mode=$ac_tag; continue;; >> esac >> case $ac_mode$ac_tag in >> :[FHL]*:*);; >> - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; >> + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag >> $ac_tag." >&5 >> +echo "$as_me: error: Invalid tag $ac_tag." >&2;} >> + { (exit 1); exit 1; }; };; >> :[FH]-) ac_tag=-:-;; >> :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; >> esac >> @@ -6168,34 +7636,26 @@ do >> [\\/$]*) false;; >> *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; >> esac || >> - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; >> + { { echo "$as_me:$LINENO: error: cannot find input file: >> $ac_f" >&5 >> +echo "$as_me: error: cannot find input file: $ac_f" >&2;} >> + { (exit 1); exit 1; }; };; >> esac >> - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\ >> \\''/g"`;; esac >> - as_fn_append ac_file_inputs " '$ac_f'" >> + ac_file_inputs="$ac_file_inputs $ac_f" >> done >> >> # Let's still pretend it is `configure' which instantiates >> (i.e., don't >> # use $as_me), people would be surprised to read: >> # /* config.h. Generated by config.status. */ >> - configure_input='Generated from '` >> - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' >> - `' by configure.' >> + configure_input="Generated from "`IFS=: >> + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." >> if test x"$ac_file" != x-; then >> configure_input="$ac_file. $configure_input" >> - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >> >&5 >> -$as_echo "$as_me: creating $ac_file" >&6;} >> + { echo "$as_me:$LINENO: creating $ac_file" >&5 >> +echo "$as_me: creating $ac_file" >&6;} >> fi >> - # Neutralize special characters interpreted by sed in >> replacement strings. >> - case $configure_input in #( >> - *\&* | *\|* | *\\* ) >> - ac_sed_conf_input=`$as_echo "$configure_input" | >> - sed 's/[\\\\&|]/\\\\&/g'`;; #( >> - *) ac_sed_conf_input=$configure_input;; >> - esac >> >> case $ac_tag in >> - *:-:* | *:-) cat >"$tmp/stdin" \ >> - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; >> + *:-:* | *:-) cat >"$tmp/stdin";; >> esac >> ;; >> esac >> @@ -6205,7 +7665,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/] >> [^/]*/*$' \| \ >> X"$ac_file" : 'X\(//\)[^/]' \| \ >> X"$ac_file" : 'X\(//\)$' \| \ >> X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || >> -$as_echo X"$ac_file" | >> +echo X"$ac_file" | >> sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ >> s//\1/ >> q >> @@ -6223,15 +7683,55 @@ $as_echo X"$ac_file" | >> q >> } >> s/.*/./; q'` >> - as_dir="$ac_dir"; as_fn_mkdir_p >> + { as_dir="$ac_dir" >> + case $as_dir in #( >> + -*) as_dir=./$as_dir;; >> + esac >> + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { >> + as_dirs= >> + while :; do >> + case $as_dir in #( >> + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( >> + *) as_qdir=$as_dir;; >> + esac >> + as_dirs="'$as_qdir' $as_dirs" >> + as_dir=`$as_dirname -- "$as_dir" || >> +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ >> + X"$as_dir" : 'X\(//\)[^/]' \| \ >> + X"$as_dir" : 'X\(//\)$' \| \ >> + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || >> +echo X"$as_dir" | >> + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ >> + s//\1/ >> + q >> + } >> + /^X\(\/\/\)[^/].*/{ >> + s//\1/ >> + q >> + } >> + /^X\(\/\/\)$/{ >> + s//\1/ >> + q >> + } >> + /^X\(\/\).*/{ >> + s//\1/ >> + q >> + } >> + s/.*/./; q'` >> + test -d "$as_dir" && break >> + done >> + test -z "$as_dirs" || eval "mkdir $as_dirs" >> + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: >> cannot create directory $as_dir" >&5 >> +echo "$as_me: error: cannot create directory $as_dir" >&2;} >> + { (exit 1); exit 1; }; }; } >> ac_builddir=. >> >> case "$ac_dir" in >> .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; >> *) >> - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` >> + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` >> # A ".." for each directory in $ac_dir_suffix. >> - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\ >> \/]*|/..|g;s|/||'` >> + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\ >> \/]*,/..,g;s,/,,'` >> case $ac_top_builddir_sub in >> "") ac_top_builddir_sub=. ac_top_build_prefix= ;; >> *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; >> @@ -6271,12 +7771,12 @@ ac_abs_srcdir=$ac_abs_top_srcdir >> $ac_dir_suffix >> esac >> _ACEOF >> >> -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 >> +cat >>$CONFIG_STATUS <<\_ACEOF >> # If the template does not know about datarootdir, expand it. >> # FIXME: This hack should be removed a few years after 2.60. >> ac_datarootdir_hack=; ac_datarootdir_seen= >> -ac_sed_dataroot=' >> -/datarootdir/ { >> + >> +case `sed -n '/datarootdir/ { >> p >> q >> } >> @@ -6284,37 +7784,36 @@ ac_sed_dataroot=' >> /@docdir@/p >> /@infodir@/p >> /@localedir@/p >> -/@mandir@/p' >> -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in >> +/@mandir@/p >> +' $ac_file_inputs` in >> *datarootdir*) ac_datarootdir_seen=yes;; >> *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) >> - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: >> $ac_file_inputs seems to ignore the --datarootdir setting" >&5 >> -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the -- >> datarootdir setting" >&2;} >> + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore >> the --datarootdir setting" >&5 >> +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the -- >> datarootdir setting" >&2;} >> _ACEOF >> -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 >> +cat >>$CONFIG_STATUS <<_ACEOF >> ac_datarootdir_hack=' >> s&@datadir@&$datadir&g >> s&@docdir@&$docdir&g >> s&@infodir@&$infodir&g >> s&@localedir@&$localedir&g >> s&@mandir@&$mandir&g >> - s&\\\${datarootdir}&$datarootdir&g' ;; >> + s&\\\${datarootdir}&$datarootdir&g' ;; >> esac >> _ACEOF >> >> # Neutralize VPATH when `$srcdir' = `.'. >> # Shell code in configure.ac might set extrasub. >> # FIXME: do we really want to maintain this feature? >> -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 >> -ac_sed_extra="$ac_vpsub >> +cat >>$CONFIG_STATUS <<_ACEOF >> + sed "$ac_vpsub >> $extrasub >> _ACEOF >> -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 >> +cat >>$CONFIG_STATUS <<\_ACEOF >> :t >> /@[a-zA-Z_][a-zA-Z_0-9]*@/!b >> -s|@configure_input@|$ac_sed_conf_input|;t t >> +s&@configure_input@&$configure_input&;t t >> s&@top_builddir@&$ac_top_builddir_sub&;t t >> -s&@top_build_prefix@&$ac_top_build_prefix&;t t >> s&@srcdir@&$ac_srcdir&;t t >> s&@abs_srcdir@&$ac_abs_srcdir&;t t >> s&@top_srcdir@&$ac_top_srcdir&;t t >> @@ -6324,48 +7823,119 @@ s&@abs_builddir@&$ac_abs_builddir&;t t >> s&@abs_top_builddir@&$ac_abs_top_builddir&;t t >> s&@INSTALL@&$ac_INSTALL&;t t >> $ac_datarootdir_hack >> -" >> -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/ >> subs.awk" >$tmp/out \ >> - || as_fn_error "could not create $ac_file" "$LINENO" 5 >> +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out >> >> test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && >> { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n >> "$ac_out"; } && >> { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test - >> z "$ac_out"; } && >> - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file >> contains a reference to the variable \`datarootdir' >> + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference >> to the variable \`datarootdir' >> which seems to be undefined. Please make sure it is defined." >&5 >> -$as_echo "$as_me: WARNING: $ac_file contains a reference to the >> variable \`datarootdir' >> +echo "$as_me: WARNING: $ac_file contains a reference to the >> variable \`datarootdir' >> which seems to be undefined. Please make sure it is defined." >&2;} >> >> rm -f "$tmp/stdin" >> case $ac_file in >> - -) cat "$tmp/out" && rm -f "$tmp/out";; >> - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; >> - esac \ >> - || as_fn_error "could not create $ac_file" "$LINENO" 5 >> + -) cat "$tmp/out"; rm -f "$tmp/out";; >> + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; >> + esac >> ;; >> :H) >> # >> # CONFIG_HEADER >> # >> +_ACEOF >> + >> +# Transform confdefs.h into a sed script `conftest.defines', that >> +# substitutes the proper values into config.h.in to produce >> config.h. >> +rm -f conftest.defines conftest.tail >> +# First, append a space to every undef/define line, to ease >> matching. >> +echo 's/$/ /' >conftest.defines >> +# Then, protect against being on the right side of a sed subst, or >> in >> +# an unquoted here document, in config.status. If some macros were >> +# called several times there might be several #defines for the same >> +# symbol, which is useless. But do not sort them, since the last >> +# AC_DEFINE must be honored. >> +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* >> +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE >> D", where >> +# NAME is the cpp macro being defined, VALUE is the value it is >> being given. >> +# PARAMS is the parameter list in the macro definition--in most >> cases, it's >> +# just an empty string. >> +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' >> +ac_dB='\\)[ (].*,\\1define\\2' >> +ac_dC=' ' >> +ac_dD=' ,' >> + >> +uniq confdefs.h | >> + sed -n ' >> + t rset >> + :rset >> + s/^[ ]*#[ ]*define[ ][ ]*// >> + t ok >> + d >> + :ok >> + s/[\\&,]/\\&/g >> + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ >> '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p >> + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB >> $ac_dC"'\2'"$ac_dD"'/p >> + ' >>conftest.defines >> + >> +# Remove the space that was appended to ease matching. >> +# Then replace #undef with comments. This is necessary, for >> +# example, in the case of _POSIX_SOURCE, which is predefined and >> required >> +# on some systems where configure will not decide to define it. >> +# (The regexp can be short, since the line contains either #define >> or #undef.) >> +echo 's/ $// >> +s,^[ #]*u.*,/* & */,' >>conftest.defines >> + >> +# Break up conftest.defines: >> +ac_max_sed_lines=50 >> + >> +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/ >> out1" >> +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" >> +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" >> +# et cetera. >> +ac_in='$ac_file_inputs' >> +ac_out='"$tmp/out1"' >> +ac_nxt='"$tmp/out2"' >> + >> +while : >> +do >> + # Write a here document: >> + cat >>$CONFIG_STATUS <<_ACEOF >> + # First, check the format of the line: >> + cat >"\$tmp/defines.sed" <<\\CEOF >> +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def >> +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def >> +b >> +:def >> +_ACEOF >> + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS >> + echo 'CEOF >> + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS >> + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in >> + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail >> + grep . conftest.tail >/dev/null || break >> + rm -f conftest.defines >> + mv conftest.tail conftest.defines >> +done >> +rm -f conftest.defines conftest.tail >> + >> +echo "ac_result=$ac_in" >>$CONFIG_STATUS >> +cat >>$CONFIG_STATUS <<\_ACEOF >> if test x"$ac_file" != x-; then >> - { >> - $as_echo "/* $configure_input */" \ >> - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" >> - } >"$tmp/config.h" \ >> - || as_fn_error "could not create $ac_file" "$LINENO" 5 >> - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is >> unchanged" >&5 >> -$as_echo "$as_me: $ac_file is unchanged" >&6;} >> + echo "/* $configure_input */" >"$tmp/config.h" >> + cat "$ac_result" >>"$tmp/config.h" >> + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then >> + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 >> +echo "$as_me: $ac_file is unchanged" >&6;} >> else >> - rm -f "$ac_file" >> - mv "$tmp/config.h" "$ac_file" \ >> - || as_fn_error "could not create $ac_file" "$LINENO" 5 >> + rm -f $ac_file >> + mv "$tmp/config.h" $ac_file >> fi >> else >> - $as_echo "/* $configure_input */" \ >> - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ >> - || as_fn_error "could not create -" "$LINENO" 5 >> + echo "/* $configure_input */" >> + cat "$ac_result" >> fi >> + rm -f "$tmp/out12" >> ;; >> >> >> @@ -6374,13 +7944,11 @@ $as_echo "$as_me: $ac_file is unchanged" >> >&6;} >> done # for ac_tag >> >> >> -as_fn_exit 0 >> +{ (exit 0); exit 0; } >> _ACEOF >> +chmod +x $CONFIG_STATUS >> ac_clean_files=$ac_clean_files_save >> >> -test $ac_write_fail = 0 || >> - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 >> - >> >> # configure is writing to config.log, and then calls config.status. >> # config.status does its own redirection, appending to config.log. >> @@ -6400,10 +7968,6 @@ if test "$no_create" != yes; then >> exec 5>>config.log >> # Use ||, not &&, to avoid exiting from the if with $? = 1, which >> # would make configure fail if this is the last instruction. >> - $ac_cs_success || as_fn_exit $? >> -fi >> -if test -n "$ac_unrecognized_opts" && test >> "$enable_option_checking" != no; then >> - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized >> options: $ac_unrecognized_opts" >&5 >> -$as_echo "$as_me: WARNING: unrecognized options: >> $ac_unrecognized_opts" >&2;} >> + $ac_cs_success || { (exit 1); exit 1; } >> fi >> >> diff --git a/code/configure.ac b/code/configure.ac >> index 64cf2b6..b702780 100644 >> --- a/code/configure.ac >> +++ b/code/configure.ac >> @@ -73,6 +73,9 @@ AC_SUBST(MPILDFLAGS) >> AC_SUBST(MPILIBS) >> AC_SUBST(BUILD_MPI) >> >> +dnl check for unix variants >> +AX_UNIX("") >> + >> BUILD_ABSOLUTE_TOP=${PWD} >> SRC_RELATIVE_TOP=$srcdir >> SRC_ABSOLUTE_TOP=`cd $srcdir; pwd` >> diff --git a/code/maint/config/unix.m4 b/code/maint/config/unix.m4 >> new file mode 100644 >> index 0000000..babc01e >> --- /dev/null >> +++ b/code/maint/config/unix.m4 >> @@ -0,0 +1,60 @@ >> + >> +AC_DEFUN([AX_UNIX], >> +[ >> + >> + dnl figure out the library type >> + dnl Darwin/OSX doesn't allow static linking >> + dnl and dynamic libraries are .dylib files rather >> + dnl than shared objects >> + AS_CASE([$host], >> + [darwin*-*-*], [USE_DYLIBS=yes], >> + [USE_DYLIBS=""] >> + ) >> + AC_SUBST([USE_DYLIBS]) >> + >> + dnl Need to check for O_DIRECT, doesn't exist on Darwin/OSX >> + AC_MSG_CHECKING(for O_DIRECT) >> + AC_COMPILE_IFELSE([ >> +#include <sys/types.h> >> +#include <sys/stat.h> >> +#include <fcntl.h> >> + >> +void testodirect(void) >> +{ >> + open(NULL, O_DIRECT); >> +} >> +], >> +AC_MSG_RESULT(yes) >> +AC_DEFINE(HAVE_ODIRECT, 1, Define if O_DIRECT exists), >> +AC_MSG_RESULT(no)) >> + >> +dnl Need to check for O_NOATIME, doesn't exist on Darwin/OSX >> +AC_MSG_CHECKING(for O_NOATIME) >> +AC_COMPILE_IFELSE([ >> +#include <sys/types.h> >> +#include <sys/stat.h> >> +#include <fcntl.h> >> + >> +void testnoatime(void) >> +{ >> + open(NULL, O_NOATIME); >> +} >> +], >> +AC_MSG_RESULT(yes) >> +AC_DEFINE(HAVE_NOATIME, 1, Define if O_NOATIME exists), >> +AC_MSG_RESULT(no)) >> + >> +dnl OSX >= 10.5 has blocks support, which defaults to including >> some nasty non-ANSI C code in standard headers >> +AC_MSG_CHECKING([for OS X blocks support]) >> +AC_COMPILE_IFELSE( >> +[#include <stdlib.h> >> +#ifdef __BLOCKS__ >> +#error "OSX defines __BLOCKS__ and includes that aren't ANSI C" >> +#endif >> +], >> +[AC_MSG_RESULT(no)], >> +[AC_MSG_RESULT(yes) >> +CFLAGS="$CFLAGS -fno-blocks"]) >> + >> + >> +]) >> diff --git a/code/maint/hs/syb-0.1.0.1.tar.gz b/code/maint/hs/ >> syb-0.1.0.1.tar.gz >> new file mode 100644 >> index 0000000..490a7df >> Binary files /dev/null and b/code/maint/hs/syb-0.1.0.1.tar.gz differ >> diff --git a/code/src/aesop/ae-remote-parser.h b/code/src/aesop/ae- >> remote-parser.h >> index 0a7c942..56c0e1e 100644 >> --- a/code/src/aesop/ae-remote-parser.h >> +++ b/code/src/aesop/ae-remote-parser.h >> @@ -231,7 +231,7 @@ >> #define AER_MK_DESTROY_STMTS_END() >> >> #define AER_MK_STUB_DECL(__ret__, __fname__, params...) \ >> - __blocking __ret__ remote_##__fname__(triton_node_t id, >> ##params); >> + __blocking __ret__ remote_##__fname__(triton_addr_t id, >> ##params); >> >> #define AER_MK_STUB_DECLS(__fname__) \ >> aer_message_t send_message; \ >> diff --git a/code/src/aesop/op.h b/code/src/aesop/op.h >> index 9fd9014..51343a6 100644 >> --- a/code/src/aesop/op.h >> +++ b/code/src/aesop/op.h >> @@ -69,7 +69,7 @@ static inline ae_op_t *ae_ops_peek(ae_ops_t *queue) >> return ae_op_from_link(llink); >> } >> >> -#define ae_ops_for_each(_pos, _safe, _ops) >> triton_list_for_each_entry(_pos, _safe, _ops, link) >> +#define ae_ops_for_each(_pos, _safe, _ops) >> triton_list_for_each_entry(_pos, _safe, _ops, struct ae_op, link) >> #define ae_ops_exists(_ops, _op) triton_list_exists(_ops, _op) >> #define ae_ops_count(_ops) triton_list_count(_ops) >> #define ae_ops_find(_ops, _compare, _ptr) triton_list_find(_ops, >> _compare, _ptr) >> diff --git a/code/src/aesop/opcache.c b/code/src/aesop/opcache.c >> index 321eb8d..d18b1aa 100644 >> --- a/code/src/aesop/opcache.c >> +++ b/code/src/aesop/opcache.c >> @@ -85,12 +85,12 @@ void ae_opcache_destroy(ae_opcache_t cache) >> return; >> } >> >> -inline int ae_opcache_size(ae_opcache_t cache) >> +int ae_opcache_size(ae_opcache_t cache) >> { >> return cache->size; >> } >> >> -inline int ae_opcache_count(ae_opcache_t cache) >> +int ae_opcache_count(ae_opcache_t cache) >> { >> int count; >> >> diff --git a/code/src/aesop/opcache.h b/code/src/aesop/opcache.h >> index 8af370f..994636c 100644 >> --- a/code/src/aesop/opcache.h >> +++ b/code/src/aesop/opcache.h >> @@ -32,9 +32,9 @@ struct ae_op *ae_opcache_get(ae_opcache_t cache); >> >> void ae_opcache_put(ae_opcache_t cache, struct ae_op *op); >> >> -inline int ae_opcache_size(ae_opcache_t cache); >> +int ae_opcache_size(ae_opcache_t cache); >> >> -inline int ae_opcache_count(ae_opcache_t cache); >> +int ae_opcache_count(ae_opcache_t cache); >> >> struct ae_op *ae_opcache_lookup(ae_opcache_t cache, int id); >> >> diff --git a/code/src/aesop/parser/CGen.lhs b/code/src/aesop/parser/ >> CGen.lhs >> index 84fed83..2fc9a53 100644 >> --- a/code/src/aesop/parser/CGen.lhs >> +++ b/code/src/aesop/parser/CGen.lhs >> @@ -108,7 +108,7 @@ Functions to generate AST objects from C >> template code >>> -- parse succeeded, so we return the declaration >>> (Right (CDeclExt decl)) -> decl >>> -- parse failed, so we assert fail for now. The CDecl >>> empty constructor is needed to match types >> -> (Left pe) -> assert False (CDecl [] [] ni) >> +> (Left pe) -> trace ("Parse Error in:\n\n" ++ ("mkStmtFromC >> failed: " ++ s) ++ (show pe)) $ assert False (CDecl [] [] ni) >> >>> mkStmtFromC :: NodeInfo -> String -> CStat >>> mkStmtFromC ni s = >> @@ -125,9 +125,9 @@ Functions to generate AST objects from C >> template code >> >>> data MacroParser = MacroParser { macheader :: FilePath, >>> typedefs :: [Ident] } >> >> -> getTypeIdents :: [FilePath] -> [(String, String)] -> FilePath -> >> IO [Ident] >> -> getTypeIdents idirs defines macheader = do >> -> rfile <- myCPP idirs defines (Just macheader) [] (Left "\n") >> +> getTypeIdents :: [FilePath] -> [(String, String)] -> FilePath -> >> [String] -> IO [Ident] >> +> getTypeIdents idirs defines macheader gccopts = do >> +> rfile <- myCPP idirs defines (Just macheader) gccopts >> (Left "\n") >>> result <- readFile rfile >>> removeFile rfile >>> -- run the C parser on the result stream >> @@ -136,12 +136,12 @@ Functions to generate AST objects from C >> template code >>> case parsed of >>> (Right (CTranslUnit [] _)) -> return [] >>> (Right (CTranslUnit decls _)) -> return $ >>> getTypedefIdentsFromDecls decls >> -> (Left pe) -> trace ("Error parsing declarations >> from header " ++ macheader) (assert False (return [])) >> +> (Left pe) -> trace ("Error parsing declarations >> from header " ++ macheader ++ ": " ++ (show pe)) (assert False >> (return [])) >> >> -> mkParser :: [FilePath] -> [(String, String)] -> FilePath -> IO >> MacroParser >> -> mkParser idirs defines macheader = do >> -> types <- getTypeIdents idirs defines macheader >> -> result <- myCPP idirs defines Nothing ["-imacros", >> macheader, "-dM", "-P"] (Left "\n") >> +> mkParser :: [FilePath] -> [(String, String)] -> FilePath -> >> [String] -> IO MacroParser >> +> mkParser idirs defines macheader gccopts = do >> +> types <- getTypeIdents idirs defines macheader gccopts >> +> result <- myCPP idirs defines Nothing (["-imacros", >> macheader, "-dM", "-P"] ++ gccopts) (Left "\n") >>> (errorFP, errorH) <- tmpHandle >>> (outFile, outH) <- tmpHandle >>> pid <- runProcess "grep" ["-v", "__STDC", result] Nothing >>> Nothing Nothing (Just outH) (Just errorH) >> @@ -283,7 +283,7 @@ Functions to generate AST objects from C >> template code >>> case result of >>> -- parse succeeded, so we return the expression >>> (Right expr) -> expr >> -> (Left pe) -> assert False (CVar (newIdent "blah" ni) ni) >> +> (Left pe) -> trace ("Error constructing expression:\n" ++ s ++ >> (show pe)) (assert False (CVar (newIdent "blah" ni) ni)) >> >> funDefDecl creates the return type declaration for a given >> function. The parameters to funDefDecl are >> the function definition and the name of the return type. For >> example, a function defined as: >> diff --git a/code/src/aesop/parser/Walker.lhs b/code/src/aesop/ >> parser/Walker.lhs >> index 5175644..186245d 100644 >> --- a/code/src/aesop/parser/Walker.lhs >> +++ b/code/src/aesop/parser/Walker.lhs >> @@ -108,10 +108,19 @@ filename, prefix stack, blocking call >> registry, and blocking function pointer re >>> blockingParser :: Maybe MacroParser >>> } >> >> -> newWalkerState :: String -> [String] -> [(String, String)] -> >> (Walker -> String -> ReturnType -> String -> NodeInfo -> [CStat]) - >> > (Walker -> BlockingContext -> NodeInfo -> [CStat]) -> (CStat -> >> CStat -> WalkerT CStat) -> FilePath -> IO Walker >> -> newWalkerState fname includes defines errorWriter pbranchDone >> transExit macroHeader = do >> +> newWalkerState :: String -> >> +> [String] -> >> +> [(String, String)] -> >> +> (Walker -> String -> ReturnType -> String -> >> NodeInfo -> [CStat]) -> >> +> (Walker -> BlockingContext -> NodeInfo -> >> [CStat]) -> >> +> (CStat -> CStat -> WalkerT CStat) -> >> +> FilePath -> >> +> [String] -> >> +> IO Walker >> + >> +> newWalkerState fname includes defines errorWriter pbranchDone >> transExit macroHeader gccopts = do >>> varReg <- newVarRegistry >> -> bp <- mkParser includes defines macroHeader >> +> bp <- mkParser includes defines macroHeader gccopts >>> return $ Walker fname includes defines ["ctl"] errorWriter >>> pbranchDone transExit [] [] varReg (Just bp) >> >>> setBlockingParser :: MacroParser -> WalkerT () >> diff --git a/code/src/aesop/parser/ae-blocking-parser.lhs b/code/ >> src/aesop/parser/ae-blocking-parser.lhs >> index cb2e99b..ce46926 100644 >> --- a/code/src/aesop/parser/ae-blocking-parser.lhs >> +++ b/code/src/aesop/parser/ae-blocking-parser.lhs >> @@ -1695,20 +1695,20 @@ CStat: The blocking statement >>> input_stream <- readInputStream input_file >>> let parse_result = parseC input_stream (position 0 input_file 1 1) >>> case parse_result of >> -> Left parse_err -> error (show parse_err) >> +> Left parse_err -> error $ "Parse failed for input file: >> " ++ input_file ++ ": " ++ (show parse_err) >>> Right ast -> return ast >> >>> generateASTWithCPP :: FilePath -> [String] -> IO CTranslUnit >>> generateASTWithCPP input_file includes = do >>> parseResult <- parseCFile (newGCC "gcc") Nothing (("-x >>> c"):includes) input_file >>> case parseResult of >> -> Left p -> error (show p) >> +> Left p -> error $ "CPP/Parse failed for input file: " ++ >> input_file ++ ": " ++ (show p) >>> Right ast -> return ast >> >> -> parseHeader :: FilePath -> [String] -> [(String, String)] -> >> Maybe FilePath -> FilePath -> IO () >> -> parseHeader headerfile includes defs report outfile = do >> +> parseHeader :: FilePath -> [String] -> [(String, String)] -> >> Maybe FilePath -> FilePath -> [String]-> IO () >> +> parseHeader headerfile includes defs report outfile gccopts = do >>> let r = if isJust report then fromJust report else headerfile >> -> w <- newWalkerState r includes defs mkErrorPostHandler >> mkPBranchPostDoneStmts transformFuncReturnStmts "src/aesop/ae- >> blocking-parser.h" >> +> w <- newWalkerState r includes defs mkErrorPostHandler >> mkPBranchPostDoneStmts transformFuncReturnStmts "src/aesop/ae- >> blocking-parser.h" gccopts >>> ctu <- generateAST headerfile >>> (pairs, w) <- runStateT (getBlockingHeaderDecls ctu) w >>> writeFile outfile "\n\n/* This is an auto-generated file created >>> by the ae-blocking-parser tool. DO NOT MODIFY! */\n\n" >> @@ -1718,10 +1718,10 @@ CStat: The blocking statement >>> removeFile $ macheader $ fromJust $ blockingParser w >>> return () >> >> -> parseFile :: Bool -> [String] -> [(String, String)] -> FilePath - >> > Maybe FilePath -> FilePath -> IO () >> -> parseFile p includes defs outfile report f = do >> +> parseFile :: Bool -> [String] -> [(String, String)] -> FilePath - >> > Maybe FilePath -> [String] -> FilePath -> IO () >> +> parseFile p includes defs outfile report gccopts f = do >>> let r = if isJust report then fromJust report else f >> -> w <- newWalkerState r includes defs mkErrorPostHandler >> mkPBranchPostDoneStmts transformFuncReturnStmts "src/aesop/ae- >> blocking-parser.h" >> +> w <- newWalkerState r includes defs mkErrorPostHandler >> mkPBranchPostDoneStmts transformFuncReturnStmts "src/aesop/ae- >> blocking-parser.h" gccopts >>> ctu <- generateAST f >>> (ctuWithPostDecls, w) <- runStateT (registerBlockingFunDecls ctu) w >>> -- runStateT (printRegisteredBlockingCalls) w >> @@ -1735,7 +1735,7 @@ CStat: The blocking statement >>> removeFile $ macheader $ fromJust $ blockingParser w >>> return () >> >> -> data ParserOpts = Pretty | Help | Include String | Report String >> | Outfile String | Header | Define (String, String) >> +> data ParserOpts = Pretty | Help | Include String | Report String >> | Outfile String | Header | Define (String, String) | GCCOpt String >> >>> getIncludes :: [ParserOpts] -> [String] >>> getIncludes ((Include s):ps) = s:(getIncludes ps) >> @@ -1765,6 +1765,11 @@ CStat: The blocking statement >>> getDefs (_:ps) = getDefs ps >>> getDefs [] = [] >> >> +> getGCCOpts :: [ParserOpts] -> [String] >> +> getGCCOpts ((GCCOpt s):ps) = s:(getGCCOpts ps) >> +> getGCCOpts (_:ps) = getGCCOpts ps >> +> getGCCOpts [] = [] >> + >>> parserOpts :: [OptDescr ParserOpts] >>> parserOpts = >>> [ Option ['p'] ["pretty"] (NoArg Pretty) >> @@ -1781,6 +1786,8 @@ CStat: The blocking statement >>> "parse header file instead of source" >>> , Option ['D'] ["define"] (ReqArg (\s -> newDefine s) "<cpp def>") >>> "define a CPP macro or variable" >> +> , Option ['g'] ["gccopt"] (ReqArg (\s -> GCCOpt s) "<gcc >> option>") >> +> "pass the option to invocations of gcc" >>> ] >> >>> optPretty :: ParserOpts -> Bool >> @@ -1806,11 +1813,12 @@ CStat: The blocking statement >>> outfile = getOutfile opts >>> pheader = any optHeader opts >>> defines = getDefs opts >> +> gccopts = getGCCOpts opts >>> header = "Usage: ae-blocking-parser [OPTIONS...] files..." >>> when (not $ null errs) $ ioError $ userError ((concat errs) ++ >>> (usageInfo header parserOpts)) >>> when help $ do { putStrLn $ usageInfo header parserOpts ; exitWith >>> (ExitFailure 1) } >>> when (isNothing outfile) $ ioError $ userError "No output file >>> specified." >> -> when pheader $ do { mapM_ (\f -> parseHeader f includes >> defines report (fromJust outfile)) files ; exitWith (ExitSuccess) } >> -> mapM_ (parseFile pretty includes defines (fromJust outfile) >> report) files >> +> when pheader $ do { mapM_ (\f -> parseHeader f includes >> defines report (fromJust outfile) gccopts) files ; exitWith >> (ExitSuccess) } >> +> mapM_ (parseFile pretty includes defines (fromJust outfile) >> report gccopts) files >> >> diff --git a/code/src/aesop/parser/ae-remote-parser.lhs b/code/src/ >> aesop/parser/ae-remote-parser.lhs >> index 81ce30c..4b64680 100644 >> --- a/code/src/aesop/parser/ae-remote-parser.lhs >> +++ b/code/src/aesop/parser/ae-remote-parser.lhs >> @@ -138,10 +138,10 @@ is set to true. >>> when (isJust res) $ invalid (s ++ " already has encoding >>> functions defined.\n") ni >>> liftIO $ Data.HashTable.insert (typeReg r) s (True, True, >>> True, True, True) >> >> -> newRemoteState :: String -> [FilePath] -> [(String, String)] -> >> FilePath -> IO Remote >> -> newRemoteState fname includes defs macroHeader = do >> +> newRemoteState :: String -> [FilePath] -> [(String, String)] -> >> FilePath -> [String] -> IO Remote >> +> newRemoteState fname includes defs macroHeader gccopts = do >>> r <- Data.HashTable.new (==) Data.HashTable.hashString >> -> bp <- mkParser includes defs macroHeader >> +> bp <- mkParser includes defs macroHeader gccopts >>> return $ Remote fname r [] includes defs (Just bp) >> >>> getRemoteTypeName :: CTypeSpec -> Maybe String >> @@ -538,7 +538,7 @@ CTypeOfType CDecl NodeInfo >>> newdecls <- liftM concat $ sequence $ map registerRemoteDecl >>> decls >>> return $ CTranslUnit newdecls ni >> >> -> data ParserOpts = Pretty | Help | Include String | Report String >> | Outfile String | Header | ServiceName String | RegistryDir String >> | Define (String, String) >> +> data ParserOpts = Pretty | Help | Include String | Report String >> | Outfile String | Header | ServiceName String | RegistryDir String >> | Define (String, String) | GCCOpt String >> >>> newDefine :: String -> ParserOpts >>> newDefine s = Define $ parseDef ([], []) s >> @@ -578,6 +578,11 @@ CTypeOfType CDecl NodeInfo >>> getIncludeOpts (_:ps) = getIncludeOpts ps >>> getIncludeOpts [] = [] >> >> +> getGCCOpts :: [ParserOpts] -> [String] >> +> getGCCOpts ((GCCOpt o):ps) = o:(getGCCOpts ps) >> +> getGCCOpts (_:ps) = getGCCOpts ps >> +> getGCCOpts [] = [] >> + >>> parserOpts :: [OptDescr ParserOpts] >>> parserOpts = >>> [ Option ['p'] ["pretty"] (NoArg Pretty) >> @@ -598,6 +603,8 @@ CTypeOfType CDecl NodeInfo >>> "registry directory path to use for generated service >>> files" >>> , Option ['D'] ["define"] (ReqArg (\s -> newDefine s) "<cpp >>> define>") >>> "define a CPP macro or variable" >> +> , Option ['g'] ["gccopt"] (ReqArg (\s -> GCCOpt s) "<gcc >> option>") >> +> "pass this gcc option when gcc is invoked" >>> ] >> >>> optPretty :: ParserOpts -> Bool >> @@ -648,7 +655,7 @@ CTypeOfType CDecl NodeInfo >>> return $ mkFunDef ((CTypeDef (newIdent "triton_ret_t" ni) ni), >>> []) -- return type >>> newspecs -- get the storage specs for the function >>> ("remote_" ++ fname) -- the function name for the >>> stub >> -> ((genCDecl "triton_node_t" "id" ni) : params) >> -- parameters >> +> ((genCDecl "triton_addr_t" "id" ni) : params) >> -- parameters >>> stubStmts >> >>> mkServiceFun :: CFunDef -> RemoteT CExtDecl >> @@ -778,7 +785,7 @@ CTypeOfType CDecl NodeInfo >>> input_stream <- readInputStream input_file >>> let parse_result = parseC input_stream (position 0 input_file 1 1) >>> case parse_result of >> -> Left parse_err -> error (show parse_err) >> +> Left parse_err -> error $ "Parse failed for input file: >> " ++ input_file ++ ": " ++ (show parse_err) >>> Right ast -> return ast >> >>> getRegistryDecl :: String -> NodeInfo -> CTranslUnit >> @@ -841,6 +848,7 @@ CTypeOfType CDecl NodeInfo >>> sname = getServiceName opts >>> regdir = getRegistryDir opts >>> defs = getDefs opts >> +> gccopts = getGCCOpts opts >>> header = "Usage: ae-remote-parser [OPTIONS...] files..." >>> >>> when (not $ null errs) $ ioError $ userError ((concat errs) ++ >> @@ -850,7 +858,8 @@ CTypeOfType CDecl NodeInfo >>> when (isNothing outfile && isNothing sname) $ ioError $ >>> userError "No output file specified." >> >>> when pheader $ do { mapM_ (\f -> parseRemoteHeader f report >>> (fromJust outfile)) files ; exitWith (ExitSuccess) } >> -> r <- newRemoteState "" includes defs "src/aesop/ae-remote- >> parser.h" -- empty string here because the parseRemote function >> sets the filename for each file >> +> -- empty string here because the parseRemote function sets >> the filename for each file >> +> r <- newRemoteState "" includes defs "src/aesop/ae-remote- >> parser.h" gccopts >>> let remotes = map (\f -> parseRemote pretty includes outfile >>> report f) files :: [RemoteT ()] >>> r <- foldM (flip execStateT) r remotes >>> when (isJust sname) $ do { runStateT (writeRegistryFiles >>> (fromJust sname) regdir) r; return () } >> diff --git a/code/src/aesop/parser/tests/remote/test-remote-fault- >> injector.aer b/code/src/aesop/parser/tests/remote/test-remote-fault- >> injector.aer >> index e7d342f..72046a9 100644 >> --- a/code/src/aesop/parser/tests/remote/test-remote-fault- >> injector.aer >> +++ b/code/src/aesop/parser/tests/remote/test-remote-fault- >> injector.aer >> @@ -20,7 +20,6 @@ >> #include "mpi.h" >> >> >> -static triton_msg_ctx_t mpi_msg_ctx; >> static float failure_rate = 0; >> >> __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t >> *out); >> @@ -30,7 +29,7 @@ __remote __blocking triton_ret_t >> scatter_gather(int32_t in, int32_t *out) >> triton_ret_t ret, >> ret1 = TRITON_SUCCESS, >> ret2 = TRITON_SUCCESS; >> - triton_node_t from, self, n1, n2; >> + triton_addr_t from, self, n1, n2; >> triton_string_t fromstr, selfstr; >> int rank, r1, r2, size; >> char n1str[100], n2str[100]; >> @@ -53,10 +52,12 @@ __remote __blocking triton_ret_t >> scatter_gather(int32_t in, int32_t *out) >> r2 = r1 + 2; >> } >> >> - sprintf(n1str, "%d", r1); >> - n1 = triton_node_lookup(mpi_msg_ctx, n1str); >> - sprintf(n2str, "%d", r2); >> - n2 = triton_node_lookup(mpi_msg_ctx, n2str); >> + sprintf(n1str, "mpi://%d", r1); >> + ret = triton_addr_lookup(n1str, &n1); >> + assert(ret == TRITON_SUCCESS); >> + sprintf(n2str, "mpi://%d", r2); >> + ret = triton_addr_lookup(n2str, &n2); >> + assert(ret == TRITON_SUCCESS); >> >> pwait >> { >> @@ -206,10 +207,6 @@ int main(int argc, char *argv[]) >> ret = aer_service_init(); >> assert(ret == TRITON_SUCCESS); >> >> - /* we need the mpi context so that we can lookup nodes */ >> - mpi_msg_ctx = aer_service_get_context(); >> - assert(mpi_msg_ctx); >> - >> ret = aer_remote_register_test_remote_fault(); >> assert(ret == TRITON_SUCCESS); >> >> diff --git a/code/src/aesop/parser/tests/remote/test-remote- >> mock.aer b/code/src/aesop/parser/tests/remote/test-remote-mock.aer >> index a95509b..95d68d6 100644 >> --- a/code/src/aesop/parser/tests/remote/test-remote-mock.aer >> +++ b/code/src/aesop/parser/tests/remote/test-remote-mock.aer >> @@ -5,16 +5,16 @@ >> #include "src/aesop/hints.h" >> #include "src/remote/encoding.h" >> #include "src/remote/remote.hae" >> +#include "src/net/triton-addr.h" >> #include "src/net/triton-message.hae" >> #include "src/net/triton-message-method.hae" >> #include "src/net/mock/mock-method.h" >> #include "src/common/resources/scheduling/sched.hae" >> #include "src/common/resources/timer/timer.hae" >> +#include "src/zeroconf/zeroconf.h" >> >> #include "src/remote/service.hae" >> >> -static triton_msg_ctx_t mock_ctx; >> - >> __remote struct myremotes >> { >> int32_t t1; >> @@ -26,7 +26,7 @@ __remote __blocking triton_ret_t >> remotefun1(int32_t in, int32_t *out); >> __remote __blocking triton_ret_t remotefun1(int32_t in, int32_t *out) >> { >> triton_ret_t ret; >> - triton_node_t from, self; >> + triton_addr_t from, self; >> triton_string_t fromstr, selfstr; >> >> /* do a blocking call here just so we have something */ >> @@ -39,7 +39,7 @@ __remote __blocking triton_ret_t >> remotefun1(int32_t in, int32_t *out) >> { >> return ret; >> } >> - ret = triton_node_to_string(mock_ctx, self, &selfstr); >> + ret = triton_addr_to_string(self, &selfstr); >> if(ret != TRITON_SUCCESS) >> { >> return ret; >> @@ -51,7 +51,7 @@ __remote __blocking triton_ret_t >> remotefun1(int32_t in, int32_t *out) >> { >> return ret; >> } >> - ret = triton_node_to_string(mock_ctx, from, &fromstr); >> + ret = triton_addr_to_string(from, &fromstr); >> if(ret != TRITON_SUCCESS) >> { >> return ret; >> @@ -70,7 +70,7 @@ __remote __blocking triton_ret_t >> remotefun2(struct myremotes *in, struct myremot >> __remote __blocking triton_ret_t remotefun2(struct myremotes *in, >> struct myremotes *out) >> { >> triton_ret_t ret; >> - triton_node_t from, self; >> + triton_addr_t from, self; >> triton_string_t fromstr, selfstr; >> >> /* do a blocking call here just so we have something */ >> @@ -84,7 +84,7 @@ __remote __blocking triton_ret_t >> remotefun2(struct myremotes *in, struct myremot >> { >> return ret; >> } >> - ret = triton_node_to_string(mock_ctx, self, &selfstr); >> + ret = triton_addr_to_string(self, &selfstr); >> if(ret != TRITON_SUCCESS) >> { >> return ret; >> @@ -95,13 +95,15 @@ __remote __blocking triton_ret_t >> remotefun2(struct myremotes *in, struct myremot >> { >> return ret; >> } >> - ret = triton_node_to_string(mock_ctx, from, &fromstr); >> + ret = triton_addr_to_string(from, &fromstr); >> if(ret != TRITON_SUCCESS) >> { >> return ret; >> } >> >> - printf("remotefun2 invoked from (%s -> %s): in: (%d,%d) out: >> (%d,%d)\n", fromstr.string, selfstr.string, in->t1, in->ut1, out- >> >t1, out->ut1); >> + printf("remotefun2 invoked from (%s -> %s): in: (%d,%llu) >> out: (%d,%llu)\n", >> + fromstr.string, selfstr.string, >> + in->t1, (unsigned long long)in->ut1, out->t1, (unsigned >> long long)out->ut1); >> >> triton_string_destroy(&fromstr); >> >> @@ -116,7 +118,7 @@ __blocking void do_remote_clients(int count) >> >> pwait >> { >> - pprivate triton_node_t self, node0; >> + pprivate triton_addr_t self, node0; >> pprivate int i; >> pprivate char nodestr[100]; >> >> @@ -124,12 +126,19 @@ __blocking void do_remote_clients(int count) >> { >> pbranch >> { >> - sprintf(nodestr, "%d", i); >> - self = triton_node_lookup(mock_ctx, nodestr); >> + /* kind of a hack, we setup the nodes here by >> doing a lookup of a node string >> + * in the mock method and then for this pbranch, >> tell the mock method what its >> + * current address is using hints. >> + * Future triton_addr_self() calls will return >> this addr. >> + */ >> + sprintf(nodestr, "mock://%d", i); >> + ret = triton_addr_lookup(nodestr, &self); >> + assert(ret == TRITON_SUCCESS); >> ret = aesop_hints_put("triton.mock.self", >> sizeof(self), &self); >> assert(ret == TRITON_SUCCESS); >> >> - node0 = triton_node_lookup(mock_ctx, "0"); >> + ret = triton_addr_lookup("mock://0", &node0); >> + assert(ret == TRITON_SUCCESS); >> >> ret = remote_remotefun1(node0, 10, &fun1res); >> assert(ret == TRITON_SUCCESS); >> @@ -153,11 +162,14 @@ __blocking void do_remote_test(int count) >> >> pwait >> { >> - pprivate triton_node_t self; >> + pprivate triton_addr_t self; >> >> pbranch >> { >> - self = triton_node_lookup(mock_ctx, "0"); >> + /* tell the server what its address is */ >> + >> + ret = triton_addr_lookup("0", &self); >> + assert(ret == TRITON_SUCCESS); >> ret = aesop_hints_put("triton.mock.self", sizeof(self), >> &self); >> assert(ret == TRITON_SUCCESS); >> >> @@ -214,7 +226,7 @@ int main(int argc, char *argv[]) >> ret = triton_msg_mock_init(); >> assert(ret == TRITON_SUCCESS); >> >> - ret = triton_msg_enable_method("mock", &mock_ctx); >> + ret = triton_msg_enable_method("mock"); >> assert(ret == TRITON_SUCCESS); >> >> if(argc > 2) >> diff --git a/code/src/aesop/parser/tests/remote/test-remote-mpi.aer >> b/code/src/aesop/parser/tests/remote/test-remote-mpi.aer >> index 106427a..3ad0724 100644 >> --- a/code/src/aesop/parser/tests/remote/test-remote-mpi.aer >> +++ b/code/src/aesop/parser/tests/remote/test-remote-mpi.aer >> @@ -19,8 +19,6 @@ >> #include "mpi.h" >> >> >> -static triton_msg_ctx_t mpi_msg_ctx; >> - >> __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t >> *out); >> >> __remote __blocking triton_ret_t scatter_gather(int32_t in, int32_t >> *out) >> @@ -28,7 +26,7 @@ __remote __blocking triton_ret_t >> scatter_gather(int32_t in, int32_t *out) >> triton_ret_t ret, >> ret1 = TRITON_SUCCESS, >> ret2 = TRITON_SUCCESS; >> - triton_node_t from, self, n1, n2; >> + triton_addr_t from, self, n1, n2; >> triton_string_t fromstr, selfstr; >> int rank, r1, r2, size; >> char n1str[100], n2str[100]; >> @@ -51,10 +49,13 @@ __remote __blocking triton_ret_t >> scatter_gather(int32_t in, int32_t *out) >> r2 = r1 + 2; >> } >> >> - sprintf(n1str, "%d", r1); >> - n1 = triton_node_lookup(mpi_msg_ctx, n1str); >> - sprintf(n2str, "%d", r2); >> - n2 = triton_node_lookup(mpi_msg_ctx, n2str); >> + sprintf(n1str, "mpi://%d", r1); >> + ret = triton_addr_lookup(n1str, &n1); >> + assert(ret == TRITON_SUCCESS); >> + >> + sprintf(n2str, "mpi://%d", r2); >> + ret = triton_addr_lookup(n2str, &n2); >> + assert(ret == TRITON_SUCCESS); >> >> pwait >> { >> @@ -183,10 +184,6 @@ int main(int argc, char *argv[]) >> ret = aer_service_init(); >> assert(ret == TRITON_SUCCESS); >> >> - /* we need the mpi context so that we can lookup nodes */ >> - mpi_msg_ctx = aer_service_get_context(); >> - assert(mpi_msg_ctx); >> - >> ret = aer_remote_register_test_remote_mpi(); >> assert(ret == TRITON_SUCCESS); >> >> diff --git a/code/src/common/tests/testhash.c b/code/src/common/ >> tests/testhash.c >> index 2a79dfb..48905aa 100644 >> --- a/code/src/common/tests/testhash.c >> +++ b/code/src/common/tests/testhash.c >> @@ -5,7 +5,7 @@ >> #include "src/common/triton-hash.h" >> #include "src/common/triton-string.h" >> >> -#include "src/net/triton-node.h" >> +#include "src/net/triton-addr.h" >> >> struct e >> { >> @@ -21,14 +21,14 @@ struct s >> >> struct n >> { >> - triton_node_t *node; >> + triton_addr_t *node; >> triton_list_link_t link; >> }; >> >> struct k >> { >> - triton_node_t from; >> - triton_node_t to; >> + triton_addr_t from; >> + triton_addr_t to; >> int32_t tag; >> }; >> >> @@ -75,7 +75,7 @@ static int s_compare(void *key, struct >> triton_hash_link *link) >> >> static int n_compare(void *key, struct triton_hash_link *link) >> { >> - triton_node_t *value1 = (triton_node_t *)key; >> + triton_addr_t *value1 = (triton_addr_t *)key; >> struct n *value2 = triton_hash_get_entry(link, struct n, link); >> assert(key); >> assert(link); >> @@ -176,7 +176,7 @@ int main(int argc, char *argv[]) >> for(i = 0; i < 3; ++i) >> { >> ns = malloc(sizeof(*ns)); >> - ns->node = malloc(sizeof(triton_node_t)); >> + ns->node = malloc(sizeof(triton_addr_t)); >> ns->node->l = i*i; >> ns->node->u = i+i; >> triton_hash_add(table, ns->node, &(ns->link)); >> @@ -184,7 +184,7 @@ int main(int argc, char *argv[]) >> >> for(i = 0; i < 3; ++i) >> { >> - triton_node_t node; >> + triton_addr_t node; >> node.l = i*i; >> node.u = i+i; >> result = triton_hash_search(table, &node); >> diff --git a/code/src/common/tests/testlist.c b/code/src/common/ >> tests/testlist.c >> index 6f984ec..cd404ac 100644 >> --- a/code/src/common/tests/testlist.c >> +++ b/code/src/common/tests/testlist.c >> @@ -144,7 +144,7 @@ int main(int argc, char *argv[]) >> } >> >> i = 0; >> - triton_list_for_each_entry(ep, esc, &l, link) >> + triton_list_for_each_entry(ep, esc, &l, struct e, link) >> { >> assert(ep->v == i); >> triton_list_del(&ep->link); >> diff --git a/code/src/common/triton-debug.c b/code/src/common/ >> triton-debug.c >> index 3df655e..e308763 100644 >> --- a/code/src/common/triton-debug.c >> +++ b/code/src/common/triton-debug.c >> @@ -312,7 +312,7 @@ triton_ret_t triton_debug_enable(const char >> *file, const char *masks) >> { >> /* unknown mask */ >> free(tmpmasks); >> - return triton_error_wrap(TRITON_ERR_INVAL, >> TRITON_NODE_NULL, "Unknown debug mask '%s'", s); >> + return triton_error_wrap(TRITON_ERR_INVAL, >> TRITON_ADDR_NULL, "Unknown debug mask '%s'", s); >> } >> entry = triton_hash_get_entry(llink, struct >> triton_debug_mask_entry, link); >> assert(entry); >> @@ -347,7 +347,7 @@ void triton_debug_disable(void) >> triton_debug_enabled_none = 1; >> triton_debug_enabled_all = 0; >> triton_bitarray_clear(triton_debug_enabled_minor, >> TRITON_DEBUG_MAXSIZE); >> - triton_list_for_each_entry(m, sm, &allocated_masks, link) >> + triton_list_for_each_entry(m, sm, &allocated_masks, >> triton_debug_mask_t, link) >> { >> free(m->string); >> triton_list_del(&m->link); >> diff --git a/code/src/common/triton-error.c b/code/src/common/ >> triton-error.c >> index a8dcee7..98219be 100644 >> --- a/code/src/common/triton-error.c >> +++ b/code/src/common/triton-error.c >> @@ -82,7 +82,7 @@ triton_ret_t triton_error_from_errno(int errno_val) >> >> static inline triton_ret_t error_wrap_va( >> triton_ret_t parent, >> - triton_node_t node, >> + triton_addr_t node, >> triton_error_code_t error_code, >> const char *format, >> va_list ap) >> @@ -120,7 +120,7 @@ static inline triton_ret_t error_wrap_va( >> return err; >> } >> >> -triton_ret_t triton_error_wrap(triton_ret_t parent, triton_node_t >> node, const char *format, ...) >> +triton_ret_t triton_error_wrap(triton_ret_t parent, triton_addr_t >> node, const char *format, ...) >> { >> triton_ret_t ret; >> va_list ap; >> @@ -130,7 +130,7 @@ triton_ret_t triton_error_wrap(triton_ret_t >> parent, triton_node_t node, const ch >> return ret; >> } >> >> -triton_ret_t triton_error_wrap_with_code(triton_ret_t parent, >> triton_node_t node, triton_error_code_t error_code, const char >> *format, ...) >> +triton_ret_t triton_error_wrap_with_code(triton_ret_t parent, >> triton_addr_t node, triton_error_code_t error_code, const char >> *format, ...) >> { >> triton_ret_t ret; >> va_list ap; >> @@ -160,7 +160,7 @@ void triton_error_destroy(triton_ret_t error) >> return; >> } >> >> -triton_ret_t triton_error_to_strings(triton_ret_t error, >> triton_msg_ctx_t msg_ctx, triton_string_t **strings, int *count) >> +triton_ret_t triton_error_to_strings(triton_ret_t error, >> triton_string_t **strings, int *count) >> { >> triton_ret_t tmperr; >> triton_string_t *strs; >> @@ -182,9 +182,10 @@ triton_ret_t >> triton_error_to_strings(triton_ret_t error, triton_msg_ctx_t msg_ct >> triton_string_t nodestr; >> triton_ret_t ret; >> >> - ret = triton_node_to_string(msg_ctx, tmperr->node, >> &nodestr); >> + ret = triton_addr_to_string(tmperr->node, &nodestr); >> >> - triton_string_init(&strs[ind], "{%s} %s", (ret == >> TRITON_SUCCESS) ? triton_string_get(&nodestr) : "none", >> triton_string_get(&tmperr->message)); >> + triton_string_init(&strs[ind], "{%s} %s", >> + (ret == TRITON_SUCCESS) ? >> triton_string_get(&nodestr) : "none", triton_string_get(&tmperr- >> >message)); >> if(ret == TRITON_SUCCESS) triton_string_destroy(&nodestr); >> tmperr = tmperr->base; >> } >> diff --git a/code/src/common/triton-error.h b/code/src/common/ >> triton-error.h >> index 6334105..241e345 100644 >> --- a/code/src/common/triton-error.h >> +++ b/code/src/common/triton-error.h >> @@ -26,11 +26,11 @@ typedef int32_t triton_error_code_t; >> >> typedef struct triton_error *triton_ret_t; >> >> -#include "src/net/triton-node.h" >> +#include "src/net/triton-addr.h" >> >> struct triton_error >> { >> - triton_node_t node; >> + triton_addr_t node; >> triton_error_code_t error_code; >> triton_string_t message; >> int count; >> @@ -45,7 +45,7 @@ extern triton_ret_t TRITON_##__name__ >> >> #define TRITON_ERROR_DEF(__name__, __val__, __msg__) \ >> triton_error_code_t TRITON_##__name__##_CODE = __val__; \ >> -struct triton_error static_triton_##__name__ = >> { TRITON_NODE_NULL_STATIC_INITIALIZER, __val__, >> triton_string_init_const(__msg__), 0, NULL}; \ >> +struct triton_error static_triton_##__name__ = >> { TRITON_ADDR_NULL_STATIC_INITIALIZER, __val__, >> triton_string_init_const(__msg__), 0, NULL}; \ >> triton_ret_t TRITON_##__name__ = &static_triton_##__name__ >> >> TRITON_ERROR_DECL(ERR_NULL); >> @@ -106,13 +106,13 @@ triton_ret_t >> triton_error_from_error_code(triton_error_code_t ec); >> */ >> triton_ret_t triton_error_wrap( >> triton_ret_t parent, >> - triton_node_t node, >> + triton_addr_t node, >> const char *message, /** An optional message to add to the error >> */ >> ...); >> >> triton_ret_t triton_error_wrap_with_code( >> triton_ret_t parent, >> - triton_node_t node, >> + triton_addr_t node, >> triton_error_code_t error_code, >> const char *format, ...); >> >> @@ -121,6 +121,6 @@ triton_ret_t triton_error_wrap_with_code( >> */ >> void triton_error_destroy(triton_ret_t error); >> >> -triton_ret_t triton_error_to_strings(triton_ret_t error, >> triton_msg_ctx_t msg_ctx, triton_string_t **error_strings, int >> *count); >> +triton_ret_t triton_error_to_strings(triton_ret_t error, >> triton_string_t **error_strings, int *count); >> >> #endif /* __TRITON_ERROR_H__ */ >> diff --git a/code/src/common/triton-error.h1 b/code/src/common/ >> triton-error.h1 >> deleted file mode 100644 >> index 19e3a09..0000000 >> --- a/code/src/common/triton-error.h1 >> +++ /dev/null >> @@ -1,93 +0,0 @@ >> -#ifndef __TRITON_ERROR_H__ >> -#define __TRITON_ERROR_H__ >> - >> -#include <errno.h> >> - >> -#include "src/common/triton-types.h" >> -#include "src/common/triton-string.h" >> -#include "src/net/triton-node.h" >> - >> -/* The number of errors that can be chained together to form a >> single error */ >> -#define TRITON_MAX_ERRORS 256 >> - >> -typedef int32_t triton_error_code_t; >> - >> -/** >> - * The error type allows errors to be wrapped in an error type, >> useful >> - * for managing error codes, logging errors in a consistent >> format, and >> - * later finger-pointing of errors. This structure and the >> - * companion error interfaces should be used throughout the entire >> framework. >> - * Errors in responses should >> - * be in the triton_ret_t format, and errors from resources and >> other components >> - * should use this type as well. >> - * The error structure consists of a single error code for the >> - * error, the source node where the error is generated, and >> optional error >> - * messages. >> - */ >> - >> -typedef struct triton_error *triton_ret_t; >> -__remote struct triton_error >> -{ >> - triton_node_t node; >> - triton_error_code_t error_code; >> - triton_string_t message; >> - int count; >> - triton_ret_t base; >> -}; >> - >> -#define TRITON_ERROR_DECL(__name__) \ >> -extern triton_error_code_t TRITON_##__name__##_CODE; \ >> -extern struct triton_error static_triton_##__name__; \ >> -extern triton_ret_t TRITON_##__name__ >> - >> -#define TRITON_ERROR_DEF(__name__, __val__, __msg__) \ >> -triton_error_code_t TRITON_##__name__##_CODE = __val__; \ >> -struct triton_error static_triton_##__name__ = { TRITON_NODE_NULL, >> __val__, triton_string_init_const(__msg__), 0, NULL}; \ >> -triton_ret_t TRITON_##__name__ = &static_triton_##__name__ >> - >> -TRITON_ERROR_DECL(ERR_NULL); >> - >> -TRITON_ERROR_DECL(SUCCESS); >> -TRITON_ERROR_DECL(ERR_NOMEM); >> -TRITON_ERROR_DECL(ERR_INVAL); >> -TRITON_ERROR_DECL(ERR_FAULT); >> -TRITON_ERROR_DECL(ERR_CANCEL); >> -TRITON_ERROR_DECL(ERR_NOSYS); >> -TRITON_ERROR_DECL(ERR_OVERFLOW); >> - >> -TRITON_ERROR_DECL(ERR_UNKNOWN); >> - >> -/** >> - * Get the error pointer of a given errno. If the errno is not >> known, just return >> - * an unknown error pointer. >> - */ >> -triton_ret_t triton_error_from_errno(int errno_val); >> - >> -/** >> - * Create a triton_ret_t type from a base error, and include a >> message >> - * about the error. The returned error structure is a heap >> variable, >> - * a companion call to triton_error_destroy is required. >> - * >> - * This function allows errors to be chained, allowing for proper >> - * finger pointer as errors are passed from node to node. >> - * >> - * If no terminal error already exists, TRITON_ERR_NULL should be >> used. >> - */ >> -triton_ret_t triton_error_wrap( >> - triton_ret_t terminal, >> - const char *message, /** An optional message to add to the >> error */ >> - ...); >> - >> -triton_ret_t triton_error_wrap_with_code( >> - triton_ret_t terminal, >> - triton_error_code_t error_code, >> - const char *format, ...); >> - >> -/** >> - * Free an error that was created with triton_error_wrap. >> - */ >> -void triton_error_destroy(triton_ret_t error); >> - >> -triton_ret_t triton_error_to_strings(triton_ret_t error, >> triton_string_t **error_strings, int *count); >> - >> -#endif /* __TRITON_ERROR_H__ */ >> diff --git a/code/src/common/triton-list.h b/code/src/common/triton- >> list.h >> index cde2460..41103e8 100644 >> --- a/code/src/common/triton-list.h >> +++ b/code/src/common/triton-list.h >> @@ -123,12 +123,12 @@ static inline uint64_t >> triton_list_count(triton_list_t *list) >> * @head: the head for your list. >> * @member: the name of the list_struct within the struct. >> */ >> -#define triton_list_for_each_entry(__pos, __scratch, __list, >> __member) \ >> - for (__pos = >> triton_list_get_entry((triton_list_tolink(__list))->next, >> typeof(*__pos), __member), \ >> - __scratch = >> triton_list_get_entry((triton_list_tolink(__list))->next->next, >> typeof(*__scratch), __member); \ >> +#define triton_list_for_each_entry(__pos, __scratch, __list, >> __type, __member) \ >> + for (__pos = >> triton_list_get_entry((triton_list_tolink(__list))->next, __type, >> __member), \ >> + __scratch = >> triton_list_get_entry((triton_list_tolink(__list))->next->next, >> __type, __member); \ >> (__pos) && (&(__pos)->__member != >> (triton_list_tolink(__list))); \ >> __pos = __scratch, \ >> - __scratch = triton_list_get_entry((__pos)->__member.next, >> typeof(*__scratch), __member)) >> + __scratch = triton_list_get_entry((__pos)->__member.next, >> __type, __member)) >> >> static inline int triton_list_exists(triton_list_t *list, struct >> triton_list_link *llink) >> { >> diff --git a/code/src/common/triton-log.c b/code/src/common/triton- >> log.c >> index be8c0f0..dcd5780 100644 >> --- a/code/src/common/triton-log.c >> +++ b/code/src/common/triton-log.c >> @@ -43,7 +43,7 @@ triton_ret_t triton_log_error(triton_log_t log, >> triton_ret_t error, const char * >> >> /* TODO: for now we just spit out the error to stderr, need to >> fix this later */ >> >> - ret = triton_error_to_strings(error, NULL, &strings, &count); >> + ret = triton_error_to_strings(error, &strings, &count); >> if(ret != TRITON_SUCCESS) >> { >> return ret; >> diff --git a/code/src/common/triton-notify.c b/code/src/common/ >> triton-notify.c >> index 6f18d01..dad974f 100644 >> --- a/code/src/common/triton-notify.c >> +++ b/code/src/common/triton-notify.c >> @@ -29,7 +29,7 @@ void triton_notify(triton_noter_t *noter, void >> *message) >> triton_listener_entry_t *entry; >> triton_listener_entry_t *scratch; >> >> - triton_list_for_each_entry(entry, scratch, noter->listeners, link) >> + triton_list_for_each_entry(entry, scratch, noter->listeners, >> struct triton_listener_entry, link) >> { >> entry->listener(noter, message); >> } >> diff --git a/code/src/fakess/test/announce.ae b/code/src/fakess/ >> test/announce.ae >> index ff4a3a2..c60dae7 100644 >> --- a/code/src/fakess/test/announce.ae >> +++ b/code/src/fakess/test/announce.ae >> @@ -26,7 +26,7 @@ static __blocking void receiver() >> triton_fakess_recv(MPI_COMM_WORLD); >> >> triton_list_for_each_entry(peer, scratch, &triton_fakess_peers, >> - link) >> + triton_fakess_peer_t, link) >> { >> printf("peer: mpi rank: %i node: (%lu.%lu)\n", >> peer->rank, peer->node.u, peer->node.l); >> diff --git a/code/src/fakess/test/observer.ae b/code/src/fakess/ >> test/observer.ae >> index 06cbc0a..b189f2f 100644 >> --- a/code/src/fakess/test/observer.ae >> +++ b/code/src/fakess/test/observer.ae >> @@ -42,7 +42,7 @@ __blocking void callback(int a) >> >> static __blocking void receiver() >> { >> - triton_node_t node; >> + triton_addr_t node; >> triton_fakess_data_t *data; >> triton_string_t key; >> char *value; >> diff --git a/code/src/fakess/test/post-global.ae b/code/src/fakess/ >> test/post-global.ae >> index b34fea2..41bd017 100644 >> --- a/code/src/fakess/test/post-global.ae >> +++ b/code/src/fakess/test/post-global.ae >> @@ -30,7 +30,7 @@ static __blocking void sender() >> >> static __blocking void receiver() >> { >> - triton_node_t node; >> + triton_addr_t node; >> triton_fakess_data_t *data; >> triton_string_t key; >> char *value; >> diff --git a/code/src/net/fault-injector/fault-method.ae b/code/src/ >> net/fault-injector/fault-method.ae >> index 1fd0840..40a9ac8 100644 >> --- a/code/src/net/fault-injector/fault-method.ae >> +++ b/code/src/net/fault-injector/fault-method.ae >> @@ -4,7 +4,7 @@ >> >> #include "src/net/fault-injector/fault-method.h" >> #include "src/common/triton-hash.h" >> -#include "src/net/triton-node.h" >> +#include "src/net/triton-addr.h" >> #include "src/net/triton-message.hae" >> #include "src/net/triton-message-method.hae" >> #include "src/common/resources/timer/timer.hae" >> @@ -39,34 +39,34 @@ static int should_fail(void) >> return 0; >> } >> >> -static triton_node_t triton_msg_fault_node_self(void) >> +static triton_msg_method_addr_t fault_addr_self(void) >> { >> - return(base_method->node_self()); >> + return(base_method->addr_self()); >> } >> >> -static triton_ret_t triton_msg_fault_node_to_string(triton_node_t >> node, triton_string_t *nodestr) >> +static triton_ret_t fault_addr_to_string(triton_msg_method_addr_t >> node, triton_string_t *nodestr) >> { >> - return(base_method->node_to_string(node, nodestr)); >> + return(base_method->addr_to_string(node, nodestr)); >> } >> >> -static triton_node_t triton_msg_fault_node_lookup(const char *name) >> +static triton_ret_t fault_addr_lookup(const char *name, >> triton_msg_method_addr_t *addr) >> { >> - return(base_method->node_lookup(name)); >> + return(base_method->addr_lookup(name, addr)); >> } >> >> -static triton_ret_t triton_msg_fault_group_add(const char >> *service_name, triton_msg_group_t *group) >> +static triton_ret_t fault_group_add(const char *service_name, >> triton_msg_method_group_t *group) >> { >> return(base_method->group_add(service_name, group)); >> } >> >> -static triton_msg_tag_t >> triton_msg_fault_new_tag(triton_msg_group_t group) >> +static triton_msg_tag_t fault_new_tag(triton_msg_group_t group) >> { >> return(base_method->new_tag(group)); >> } >> >> -static __blocking triton_ret_t triton_msg_fault_send( >> - triton_node_t to, >> - triton_msg_group_t group, >> +static __blocking triton_ret_t fault_send( >> + triton_msg_method_addr_t to, >> + triton_msg_method_group_t group, >> triton_msg_tag_t tag, >> int count, >> char **buffers, >> @@ -81,9 +81,9 @@ static __blocking triton_ret_t >> triton_msg_fault_send( >> return(base_method->send(to, group, tag, count, buffers, sizes)); >> } >> >> -static __blocking triton_ret_t triton_msg_fault_recv( >> - triton_node_t from, >> - triton_msg_group_t group, >> +static __blocking triton_ret_t fault_recv( >> + triton_msg_method_addr_t from, >> + triton_msg_method_group_t group, >> triton_msg_tag_t tag, >> int count, >> char **buffers, >> @@ -99,9 +99,9 @@ static __blocking triton_ret_t >> triton_msg_fault_recv( >> return(base_method->recv(from, group, tag, count, buffers, >> sizes, bytes_received)); >> } >> >> -static __blocking triton_ret_t triton_msg_fault_recv_any( >> - triton_msg_group_t group, >> - triton_node_t *from, >> +static __blocking triton_ret_t fault_recv_any( >> + triton_msg_method_group_t group, >> + triton_msg_method_addr_t *from, >> triton_msg_tag_t *tag, >> int count, >> char **buffers, >> @@ -116,12 +116,12 @@ static __blocking triton_ret_t >> triton_msg_fault_recv_any( >> return(base_method->recv_any(group, from, tag, count, buffers, >> sizes, bytes_received)); >> } >> >> -static triton_ret_t triton_msg_fault_enable(void) >> +static triton_ret_t fault_enable(void) >> { >> return(base_method->enable()); >> } >> >> -static void triton_msg_fault_disable(void) >> +static void fault_disable(void) >> { >> return(base_method->disable()); >> } >> @@ -129,20 +129,20 @@ static void triton_msg_fault_disable(void) >> static struct triton_msg_method triton_msg_fault_method = >> { >> .name = "fault-injector", >> - .id = FAULT_METHOD_ID, >> >> - .node_self = triton_msg_fault_node_self, >> - .node_to_string = triton_msg_fault_node_to_string, >> - .node_lookup = triton_msg_fault_node_lookup, >> - .new_tag = triton_msg_fault_new_tag, >> + .addr_self = fault_addr_self, >> + .addr_equal = fault_addr_equal, >> + .addr_to_string = fault_addr_to_string, >> + .addr_lookup = fault_addr_lookup, >> + .new_tag = fault_new_tag, >> >> - .enable = triton_msg_fault_enable, >> - .disable = triton_msg_fault_disable, >> + .enable = fault_enable, >> + .disable = fault_disable, >> >> - .group_add = triton_msg_fault_group_add, >> - .send = triton_msg_fault_send, >> - .recv = triton_msg_fault_recv, >> - .recv_any = triton_msg_fault_recv_any >> + .group_add = fault_group_add, >> + .send = fault_send, >> + .recv = fault_recv, >> + .recv_any = fault_recv_any >> }; >> >> /* __attribute__((constructor)) void triton_msg_fault_init(const >> char* base_method_name) */ >> diff --git a/code/src/net/mock/mock-method.ae b/code/src/net/mock/ >> mock-method.ae >> index 7634c7d..3730f77 100644 >> --- a/code/src/net/mock/mock-method.ae >> +++ b/code/src/net/mock/mock-method.ae >> @@ -1,7 +1,7 @@ >> >> #include "src/common/triton-hash.h" >> #include "src/aesop/hints.h" >> -#include "src/net/triton-node.h" >> +#include "src/net/triton-addr.h" >> #include "src/net/triton-message.hae" >> #include "src/net/triton-message-method.hae" >> #include "src/common/resources/scheduling/sched.hae" >> @@ -9,38 +9,36 @@ >> >> #include <stdint.h> >> >> -#define MOCK_METHOD_ID 2 >> +static triton_msg_method_addr_t triton_mock_zero = 0; >> >> -static uint128_t triton_mock_zero = {0, >> triton_method_id_mask(MOCK_METHOD_ID)}; >> +static triton_debug_mask_t mock_dbg_mask; >> >> -triton_debug_mask_t mock_dbg_mask; >> - >> -static triton_node_t triton_msg_mock_node_self(void) >> +static triton_msg_method_addr_t mock_addr_self(void) >> { >> return triton_mock_zero; >> } >> >> -static triton_ret_t triton_msg_mock_node_to_string(triton_node_t >> node, triton_string_t *rstr) >> +static int mock_addr_equal(triton_msg_method_addr_t a1, >> triton_msg_method_addr_t a2) >> { >> - assert(node.u == triton_method_id_mask(MOCK_METHOD_ID)); >> - >> - triton_string_init(rstr, "%d", node.l); >> + return a1 == a2; >> +} >> >> +static triton_ret_t mock_addr_to_string(triton_msg_method_addr_t >> addr, triton_string_t *rstr) >> +{ >> + triton_string_init(rstr, "%d", addr); >> return TRITON_SUCCESS; >> } >> >> -static triton_node_t triton_msg_mock_node_lookup(const char *name) >> +static triton_ret_t mock_addr_lookup(const char *name, >> triton_msg_method_addr_t *addr) >> { >> - triton_node_t n; >> - triton_node_set_method_id(n, MOCK_METHOD_ID); >> - n.l = atoi(name); >> - return n; >> + *addr = atoi(name); >> + return TRITON_SUCCESS; >> } >> >> struct match_key >> { >> - triton_node_t from; >> - triton_node_t to; >> + triton_msg_method_addr_t from; >> + triton_msg_method_addr_t to; >> triton_msg_tag_t tag; >> uint32_t __padding; >> }; >> @@ -76,8 +74,8 @@ struct recv >> >> struct recvany >> { >> - triton_node_t self; >> - triton_node_t *from; >> + triton_msg_method_addr_t self; >> + triton_msg_method_addr_t *from; >> triton_msg_tag_t *tag; >> int count; >> char **buffers; >> @@ -89,9 +87,9 @@ struct recvany >> struct triton_list_link link; >> }; >> >> -struct node_waiting_entry >> +struct addr_waiting_entry >> { >> - triton_node_t node; >> + triton_msg_method_addr_t addr; >> triton_list_t queue; >> struct triton_hash_link hash_link; >> }; >> @@ -99,7 +97,7 @@ struct node_waiting_entry >> struct triton_mock_group >> { >> char *name; >> - triton_msg_group_t group; >> + triton_msg_method_group_t group; >> int tag_counter; >> >> triton_mutex_t match_mutex; >> @@ -114,10 +112,10 @@ struct triton_mock_group >> */ >> struct triton_hash_table *recvh; >> >> - /* hash of node to node_waiting_entry struct (holds queue of >> waiting sends) to be checked by recvany */ >> + /* hash of addr to addr_waiting_entry struct (holds queue of >> waiting sends) to be checked by recvany */ >> struct triton_hash_table *sendq; >> >> - /* hash of node to node_waiting_entry struct (holds queue of >> wiating recvanys) to be checked by send */ >> + /* hash of addr to addr_waiting_entry struct (holds queue of >> wiating recvanys) to be checked by send */ >> struct triton_hash_table *recvanyq; >> >> /* hash entry for groups hash */ >> @@ -145,7 +143,7 @@ static void group_entry_free(void *x) >> >> static int mock_enabled = 0; >> >> -static void triton_msg_mock_disable(void) >> +static void mock_disable(void) >> { >> mock_enabled--; >> assert(mock_enabled >= 0); >> @@ -169,7 +167,7 @@ static int group_hash(void *key, int table_size) >> return (*(uint32_t *)key) & (table_size - 1); >> } >> >> -static triton_ret_t triton_msg_mock_enable(void) >> +static triton_ret_t mock_enable(void) >> { >> if(mock_enabled == 0) >> { >> @@ -189,7 +187,8 @@ static int send_compare(void *k, struct >> triton_hash_link *l) >> struct match_key *key = (struct match_key *)k; >> struct send *s = triton_hash_get_entry(l, struct send, hash_link); >> >> - return (!memcmp(&s->key.from, &key->from, sizeof(key->from)) >> && !memcmp(&s->key.to, &key->to, sizeof(key->to)) && s->key.tag == >> key->tag); >> + return (!memcmp(&s->key.from, &key->from, sizeof(key->from)) && >> + !memcmp(&s->key.to, &key->to, sizeof(key->to)) && s- >> >key.tag == key->tag); >> } >> >> static int recv_compare(void *k, struct triton_hash_link *l) >> @@ -197,7 +196,8 @@ static int recv_compare(void *k, struct >> triton_hash_link *l) >> struct match_key *key = (struct match_key *)k; >> struct recv *r = triton_hash_get_entry(l, struct recv, link); >> >> - return (!memcmp(&r->key.from, &key->from, sizeof(key->from)) >> && !memcmp(&r->key.to, &key->to, sizeof(key->to)) && r->key.tag == >> key->tag); >> + return (!memcmp(&r->key.from, &key->from, sizeof(key->from)) && >> + !memcmp(&r->key.to, &key->to, sizeof(key->to)) && r- >> >key.tag == key->tag); >> } >> >> static int match_key_hash(void *k, int table_size) >> @@ -211,17 +211,17 @@ static int match_key_hash(void *k, int >> table_size) >> return a; >> } >> >> -static int node_compare(void *k, struct triton_hash_link *l) >> +static int addr_compare(void *k, struct triton_hash_link *l) >> { >> - triton_node_t *n = (triton_node_t *)k; >> - struct node_waiting_entry *nw = triton_hash_get_entry(l, >> struct node_waiting_entry, hash_link); >> - return !memcmp(n, &nw->node, sizeof(*n)); >> + triton_msg_method_addr_t *n = (triton_msg_method_addr_t *)k; >> + struct addr_waiting_entry *nw = triton_hash_get_entry(l, >> struct addr_waiting_entry, hash_link); >> + return !memcmp(n, &nw->addr, sizeof(*n)); >> } >> >> -static int node_hash(void *k, int table_size) >> +static int addr_hash(void *k, int table_size) >> { >> uint32_t h1 = 0, h2 = 0; >> - triton_node_t *n = (triton_node_t *)k; >> + triton_msg_method_addr_t *n = (triton_msg_method_addr_t *)k; >> bj_hashlittle2(n, sizeof(*n), &h1, &h2); >> return h1 & (table_size - 1); >> } >> @@ -229,7 +229,7 @@ static int node_hash(void *k, int table_size) >> static triton_ret_t send_queue_enqueue(struct triton_mock_group *g, >> struct send *send) >> { >> struct triton_hash_link *l = triton_hash_search(g->sendq, &send- >> >key.to); >> - struct node_waiting_entry *e; >> + struct addr_waiting_entry *e; >> >> if(!l) >> { >> @@ -239,23 +239,23 @@ static triton_ret_t send_queue_enqueue(struct >> triton_mock_group *g, struct send >> return TRITON_ERR_NOMEM; >> } >> >> - e->node = send->key.to; >> + e->addr = send->key.to; >> triton_list_init(&e->queue); >> triton_list_link_clear(&e->hash_link); >> - triton_hash_add(g->sendq, &e->node, &e->hash_link); >> + triton_hash_add(g->sendq, &e->addr, &e->hash_link); >> } >> else >> { >> - e = triton_hash_get_entry(l, struct node_waiting_entry, >> hash_link); >> + e = triton_hash_get_entry(l, struct addr_waiting_entry, >> hash_link); >> } >> >> triton_queue_enqueue(&send->queue_link, &e->queue); >> return TRITON_SUCCESS; >> } >> >> -static struct send *send_queue_dequeue(struct triton_mock_group >> *g, triton_node_t dest) >> +static struct send *send_queue_dequeue(struct triton_mock_group >> *g, triton_msg_method_addr_t dest) >> { >> - struct node_waiting_entry *e; >> + struct addr_waiting_entry *e; >> struct triton_hash_link *l = triton_hash_search(g->sendq, &dest); >> struct triton_list_link *ll; >> struct send *send; >> @@ -265,7 +265,7 @@ static struct send *send_queue_dequeue(struct >> triton_mock_group *g, triton_node_ >> return NULL; >> } >> >> - e = triton_hash_get_entry(l, struct node_waiting_entry, >> hash_link); >> + e = triton_hash_get_entry(l, struct addr_waiting_entry, >> hash_link); >> >> ll = triton_queue_dequeue(&e->queue); >> if(!ll) >> @@ -281,7 +281,7 @@ static struct send *send_queue_dequeue(struct >> triton_mock_group *g, triton_node_ >> static triton_ret_t recvany_queue_enqueue(struct triton_mock_group >> *g, struct recvany *recvany) >> { >> struct triton_hash_link *l = triton_hash_search(g->recvanyq, >> &recvany->self); >> - struct node_waiting_entry *e; >> + struct addr_waiting_entry *e; >> >> if(!l) >> { >> @@ -291,23 +291,23 @@ static triton_ret_t >> recvany_queue_enqueue(struct triton_mock_group *g, struct re >> return TRITON_ERR_NOMEM; >> } >> >> - e->node = recvany->self; >> + e->addr = recvany->self; >> triton_list_init(&e->queue); >> triton_list_link_clear(&e->hash_link); >> - triton_hash_add(g->recvanyq, &e->node, &e->hash_link); >> + triton_hash_add(g->recvanyq, &e->addr, &e->hash_link); >> } >> else >> { >> - e = triton_hash_get_entry(l, struct node_waiting_entry, >> hash_link); >> + e = triton_hash_get_entry(l, struct addr_waiting_entry, >> hash_link); >> } >> >> triton_queue_enqueue(&recvany->link, &e->queue); >> return TRITON_SUCCESS; >> } >> >> -static struct recvany *recvany_queue_dequeue(struct >> triton_mock_group *g, triton_node_t dest) >> +static struct recvany *recvany_queue_dequeue(struct >> triton_mock_group *g, triton_msg_method_addr_t dest) >> { >> - struct node_waiting_entry *e; >> + struct addr_waiting_entry *e; >> struct triton_hash_link *l = triton_hash_search(g->recvanyq, >> &dest); >> struct triton_list_link *ll; >> struct recvany *recvany; >> @@ -317,7 +317,7 @@ static struct recvany >> *recvany_queue_dequeue(struct triton_mock_group *g, triton >> return NULL; >> } >> >> - e = triton_hash_get_entry(l, struct node_waiting_entry, >> hash_link); >> + e = triton_hash_get_entry(l, struct addr_waiting_entry, >> hash_link); >> >> ll = triton_queue_dequeue(&e->queue); >> if(!ll) >> @@ -330,7 +330,7 @@ static struct recvany >> *recvany_queue_dequeue(struct triton_mock_group *g, triton >> return recvany; >> } >> >> -static triton_ret_t triton_msg_mock_group_add(const char >> *service_name, triton_msg_group_t *group) >> +static triton_ret_t mock_group_add(const char *service_name, >> triton_msg_method_group_t *group) >> { >> int ret; >> uint32_t h1 = 0, h2 = 0; >> @@ -351,8 +351,8 @@ static triton_ret_t >> triton_msg_mock_group_add(const char *service_name, triton_m >> >> newgroup->sendh = triton_hash_init(send_compare, match_key_hash, >> bj_hashsize(17)); >> newgroup->recvh = triton_hash_init(recv_compare, match_key_hash, >> bj_hashsize(17)); >> - newgroup->sendq = triton_hash_init(node_compare, node_hash, >> bj_hashsize(17)); >> - newgroup->recvanyq = triton_hash_init(node_compare, node_hash, >> bj_hashsize(17)); >> + newgroup->sendq = triton_hash_init(addr_compare, addr_hash, >> bj_hashsize(17)); >> + newgroup->recvanyq = triton_hash_init(addr_compare, addr_hash, >> bj_hashsize(17)); >> >> triton_mutex_init(&newgroup->match_mutex, NULL); >> *group = newgroup->group; >> @@ -364,7 +364,7 @@ static triton_ret_t >> triton_msg_mock_group_add(const char *service_name, triton_m >> return TRITON_SUCCESS; >> } >> >> -static triton_msg_tag_t triton_msg_mock_new_tag(triton_msg_group_t >> group) >> +static triton_msg_tag_t mock_new_tag(triton_msg_method_group_t >> group) >> { >> struct triton_hash_link *groupl; >> struct triton_mock_group *group_entry; >> @@ -424,9 +424,9 @@ static triton_ret_t copy_buffers(char >> **inbuffers, uint32_t *insizes, int incoun >> * Step 2: Look for receive with matching from/to/tag tuple. If >> none exists: >> * Step 3: Allocate send structure, queue send into table for >> receive any, then queue send for recv. >> */ >> -static __blocking triton_ret_t triton_msg_mock_send( >> - triton_node_t to, >> - triton_msg_group_t g, >> +static __blocking triton_ret_t mock_send( >> + triton_msg_method_addr_t to, >> + triton_msg_method_group_t g, >> triton_msg_tag_t tag, >> int count, >> char **buffers, >> @@ -439,18 +439,21 @@ static __blocking triton_ret_t >> triton_msg_mock_send( >> struct recvany *rany; >> struct recv *recv; >> int i, total_size = 0, rindex; >> - triton_node_t self; >> + triton_addr_t self; >> + triton_msg_method_addr_t mself; >> struct match_key mkey; >> struct send *send; >> triton_string_t selfstr, tostr; >> >> - /* get self node from hints hidden by aesop framework */ >> + /* get self addr from hints hidden by aesop framework */ >> ret = aesop_hints_get("triton.mock.self", sizeof(self), &self); >> if(ret != TRITON_SUCCESS) >> { >> return ret; >> } >> >> + mself = self.l; >> + >> for(i = 0; i < count; ++i) >> { >> total_size += sizes[i]; >> @@ -458,8 +461,8 @@ static __blocking triton_ret_t >> triton_msg_mock_send( >> >> if(triton_debug_enabled(mock_dbg_mask)) >> { >> - triton_msg_mock_node_to_string(self, &selfstr); >> - triton_msg_mock_node_to_string(to, &tostr); >> + mock_addr_to_string(mself, &selfstr); >> + mock_addr_to_string(to, &tostr); >> triton_debug(mock_dbg_mask, "mock_send: from=%s, to=%s, >> group=%u, tag=%d\n", selfstr.string, tostr.string, g, tag); >> } >> >> @@ -482,7 +485,7 @@ static __blocking triton_ret_t >> triton_msg_mock_send( >> triton_mutex_unlock(&group->match_mutex); >> >> /* copy send info to recv any */ >> - *rany->from = self; >> + *rany->from = mself; >> *rany->tag = tag; >> if(rany->total_size < total_size) >> { >> @@ -509,11 +512,11 @@ static __blocking triton_ret_t >> triton_msg_mock_send( >> } >> >> match_key_init(&mkey); >> - mkey.from = self; >> + mkey.from = mself; >> mkey.to = to; >> mkey.tag = tag; >> >> - /* no recv any, look for recv with matching node/tag */ >> + /* no recv any, look for recv with matching addr/tag */ >> recvl = triton_hash_search_and_remove(group->recvh, &mkey); >> if(recvl != NULL) >> { >> @@ -551,7 +554,7 @@ static __blocking triton_ret_t >> triton_msg_mock_send( >> } >> >> match_key_init(&send->key); >> - send->key.from = self; >> + send->key.from = mself; >> send->key.to = to; >> send->key.tag = tag; >> send->count = count; >> @@ -596,16 +599,17 @@ static __blocking triton_ret_t >> triton_msg_mock_send( >> return ret; >> } >> >> -static __blocking triton_ret_t triton_msg_mock_recv( >> - triton_node_t from, >> - triton_msg_group_t group, >> +static __blocking triton_ret_t mock_recv( >> + triton_msg_method_addr_t from, >> + triton_msg_method_group_t group, >> triton_msg_tag_t tag, >> int count, >> char **buffers, >> uint32_t *sizes, >> uint32_t *bytes_received) >> { >> - triton_node_t to, self; >> + triton_addr_t self; >> + triton_msg_method_addr_t to, mself; >> struct triton_hash_link *groupl; >> struct triton_mock_group *group_entry; >> struct match_key mkey; >> @@ -621,10 +625,12 @@ static __blocking triton_ret_t >> triton_msg_mock_recv( >> return ret; >> } >> >> + mself = self.l; >> + >> if(triton_debug_enabled(mock_dbg_mask)) >> { >> - triton_msg_mock_node_to_string(from, &fromstr); >> - triton_msg_mock_node_to_string(self, &selfstr); >> + mock_addr_to_string(from, &fromstr); >> + mock_addr_to_string(mself, &selfstr); >> triton_debug(mock_dbg_mask, "mock_recv: from=%s, to=%s, >> group=%u, tag=%d\n", fromstr.string, selfstr.string, group, tag); >> } >> >> @@ -640,7 +646,7 @@ static __blocking triton_ret_t >> triton_msg_mock_recv( >> /* look in unmatched send table for match */ >> triton_mutex_lock(&group_entry->match_mutex); >> match_key_init(&mkey); >> - mkey.to = self; >> + mkey.to = mself; >> mkey.from = from; >> mkey.tag = tag; >> sendl = triton_hash_search_and_remove(group_entry->sendh, &mkey); >> @@ -677,7 +683,7 @@ static __blocking triton_ret_t >> triton_msg_mock_recv( >> } >> >> match_key_init(&recv->key); >> - recv->key.to = self; >> + recv->key.to = mself; >> recv->key.from = from; >> recv->key.tag = tag; >> recv->count = count; >> @@ -712,9 +718,9 @@ static __blocking triton_ret_t >> triton_msg_mock_recv( >> return ret; >> } >> >> -static __blocking triton_ret_t triton_msg_mock_recv_any( >> - triton_msg_group_t group, >> - triton_node_t *from, >> +static __blocking triton_ret_t mock_recv_any( >> + triton_msg_method_group_t group, >> + triton_msg_method_addr_t *from, >> triton_msg_tag_t *tag, >> int count, >> char **buffers, >> @@ -727,7 +733,8 @@ static __blocking triton_ret_t >> triton_msg_mock_recv_any( >> triton_ret_t ret; >> struct send *send; >> struct recvany *rany; >> - triton_node_t self; >> + triton_addr_t self; >> + triton_msg_method_addr_t mself; >> triton_string_t selfstr; >> >> ret = aesop_hints_get("triton.mock.self", sizeof(self), &self); >> @@ -736,6 +743,8 @@ static __blocking triton_ret_t >> triton_msg_mock_recv_any( >> return ret; >> } >> >> + mself = self.l; >> + >> for(i = 0; i < count; ++i) >> { >> total_size += sizes[i]; >> @@ -743,7 +752,7 @@ static __blocking triton_ret_t >> triton_msg_mock_recv_any( >> >> if(triton_debug_enabled(mock_dbg_mask)) >> { >> - triton_msg_mock_node_to_string(self, &selfstr); >> + mock_addr_to_string(mself, &selfstr); >> triton_debug(mock_dbg_mask, "mock_recv_any: to=%s, group=%u >> \n", selfstr.string, group); >> } >> >> @@ -762,7 +771,7 @@ static __blocking triton_ret_t >> triton_msg_mock_recv_any( >> >> triton_mutex_lock(&group_entry->match_mutex); >> >> - send = send_queue_dequeue(group_entry, self); >> + send = send_queue_dequeue(group_entry, mself); >> if(send != NULL) >> { >> triton_debug(mock_dbg_mask, >> @@ -798,7 +807,7 @@ static __blocking triton_ret_t >> triton_msg_mock_recv_any( >> >> /* no send found, add to recv any queue */ >> rany = malloc(sizeof(*rany)); >> - rany->self = self; >> + rany->self = mself; >> rany->from = from; >> rany->tag = tag; >> rany->count = count; >> @@ -838,20 +847,20 @@ static __blocking triton_ret_t >> triton_msg_mock_recv_any( >> static struct triton_msg_method triton_msg_mock_method = >> { >> .name = "mock", >> - .id = MOCK_METHOD_ID, >> >> - .node_self = triton_msg_mock_node_self, >> - .node_to_string = triton_msg_mock_node_to_string, >> - .node_lookup = triton_msg_mock_node_lookup, >> - .new_tag = triton_msg_mock_new_tag, >> + .addr_self = mock_addr_self, >> + .addr_equal = mock_addr_equal, >> + .addr_to_string = mock_addr_to_string, >> + .addr_lookup = mock_addr_lookup, >> + .new_tag = mock_new_tag, >> >> - .enable = triton_msg_mock_enable, >> - .disable = triton_msg_mock_disable, >> + .enable = mock_enable, >> + .disable = mock_disable, >> >> - .group_add = triton_msg_mock_group_add, >> - .send = triton_msg_mock_send, >> - .recv = triton_msg_mock_recv, >> - .recv_any = triton_msg_mock_recv_any >> + .group_add = mock_group_add, >> + .send = mock_send, >> + .recv = mock_recv, >> + .recv_any = mock_recv_any >> }; >> >> triton_ret_t triton_msg_mock_init(void) >> diff --git a/code/src/net/module.mk.in b/code/src/net/module.mk.in >> index 695e3f0..7eb49fc 100644 >> --- a/code/src/net/module.mk.in >> +++ b/code/src/net/module.mk.in >> @@ -4,5 +4,5 @@ AESOP_HDR += $(DIR)/triton-message.hae \ >> $(DIR)/triton-message-method.hae \ >> $(DIR)/triton-message-internal.hae >> >> -AELIBSRC += $(DIR)/triton-message.ae $(DIR)/triton-node.ae >> +AELIBSRC += $(DIR)/triton-message.ae >> >> diff --git a/code/src/net/mpi/mpi-method.ae b/code/src/net/mpi/mpi- >> method.ae >> index 780c602..ee42cb4 100644 >> --- a/code/src/net/mpi/mpi-method.ae >> +++ b/code/src/net/mpi/mpi-method.ae >> @@ -5,37 +5,35 @@ >> #include <mpi.h> >> #include "src/net/mpi/mpi.hae" >> >> -#include "src/net/triton-node.h" >> +#include "src/net/triton-addr.h" >> #include "src/net/mpi/errors.h" >> #include "src/net/triton-message.hae" >> #include "src/net/triton-message-method.hae" >> #include "src/net/mpi/mpi-method.h" >> >> -#define MPI_METHOD_ID 1 >> -#define node2rank(node) ((int)((node).l)) >> -#define rank2node(rank, node) (node).l = (rank); >> triton_node_set_method_id((node), MPI_METHOD_ID) >> +static triton_msg_method_addr_t mpi_rank; >> >> -static uint128_t triton_mpi_rank; >> +static triton_msg_method_addr_t mpi_addr_self(void) >> +{ >> + return mpi_rank; >> +} >> >> -static triton_node_t triton_msg_mpi_node_self(void) >> +static int mpi_addr_equal(triton_msg_method_addr_t a1, >> triton_msg_method_addr_t a2) >> { >> - return triton_mpi_rank; >> + return a1 == a2; >> } >> >> -static triton_ret_t triton_msg_mpi_node_to_string(triton_node_t >> node, triton_string_t *nodestr) >> +static triton_ret_t mpi_addr_to_string(triton_msg_method_addr_t >> addr, triton_string_t *addrstr) >> { >> - assert(node.u == triton_method_id_mask(MPI_METHOD_ID)); >> - triton_string_init(nodestr, "%d", node2rank(node)); >> + triton_string_init(addrstr, "%ud", (uint32_t)addr); >> return TRITON_SUCCESS; >> } >> >> -static triton_node_t triton_msg_mpi_node_lookup(const char *name) >> +static triton_addr_t mpi_addr_lookup(const char *name) >> { >> int rank; >> - triton_node_t node; >> rank = atoi(name); >> - rank2node(rank, node); >> - return node; >> + return (uint64_t)rank; >> } >> >> struct triton_mpi_group >> @@ -50,7 +48,7 @@ struct triton_mpi_group >> >> static struct triton_hash_table *group_table = NULL; >> >> -static triton_ret_t triton_msg_mpi_group_add(const char >> *service_name, triton_msg_group_t *group) >> +static triton_ret_t mpi_group_add(const char *service_name, >> triton_msg_method_group_t *group) >> { >> int ret; >> uint32_t h1 = 0, h2 = 0; >> @@ -81,7 +79,7 @@ static triton_ret_t >> triton_msg_mpi_group_add(const char *service_name, triton_ms >> return TRITON_SUCCESS; >> } >> >> -static triton_msg_tag_t triton_msg_mpi_new_tag(triton_msg_group_t >> group) >> +static triton_msg_tag_t mpi_new_tag(triton_msg_method_group_t group) >> { >> struct triton_hash_link *groupl; >> struct triton_mpi_group *group_entry; >> @@ -102,15 +100,15 @@ static triton_msg_tag_t >> triton_msg_mpi_new_tag(triton_msg_group_t group) >> } >> >> >> -static __blocking triton_ret_t triton_msg_mpi_send( >> - triton_node_t to, >> - triton_msg_group_t group, >> +static __blocking triton_ret_t mpi_send( >> + triton_msg_method_addr_t to, >> + triton_msg_method_group_t group, >> triton_msg_tag_t tag, >> int count, >> char **buffers, >> uint32_t *sizes) >> { >> - int ret, rank, i; >> + int ret, i; >> MPI_Datatype hind_type; >> MPI_Aint *offsets; >> struct triton_hash_link *groupl; >> @@ -146,9 +144,7 @@ static __blocking triton_ret_t >> triton_msg_mpi_send( >> groupl = triton_hash_search(group_table, &group); >> group_entry = triton_hash_get_entry(groupl, struct >> triton_mpi_group, link); >> >> - rank = node2rank(to); >> - >> - ret = triton_mpi_send(MPI_BOTTOM, 1, hind_type, rank, tag, >> group_entry->comm); >> + ret = triton_mpi_send(MPI_BOTTOM, 1, hind_type, (int)to, tag, >> group_entry->comm); >> if(ret != MPI_SUCCESS) >> { >> free(offsets); >> @@ -161,16 +157,16 @@ static __blocking triton_ret_t >> triton_msg_mpi_send( >> return TRITON_SUCCESS; >> } >> >> -static __blocking triton_ret_t triton_msg_mpi_recv( >> - triton_node_t from, >> - triton_msg_group_t group, >> +static __blocking triton_ret_t mpi_recv( >> + triton_msg_method_addr_t from, >> + triton_msg_method_group_t group, >> triton_msg_tag_t tag, >> int count, >> char **buffers, >> uint32_t *sizes, >> uint32_t *bytes_received) >> { >> - int ret, rank, i; >> + int ret, i; >> MPI_Datatype hind_type; >> MPI_Aint *offsets; >> struct triton_hash_link *groupl; >> @@ -207,9 +203,7 @@ static __blocking triton_ret_t >> triton_msg_mpi_recv( >> groupl = triton_hash_search(group_table, &group); >> group_entry = triton_hash_get_entry(groupl, struct >> triton_mpi_group, link); >> >> - rank = node2rank(from); >> - >> - ret = triton_mpi_recv(MPI_BOTTOM, 1, hind_type, rank, tag, >> group_entry->comm, &status); >> + ret = triton_mpi_recv(MPI_BOTTOM, 1, hind_type, (int)from, >> tag, group_entry->comm, &status); >> if(ret != MPI_SUCCESS) >> { >> free(offsets); >> @@ -230,9 +224,9 @@ static __blocking triton_ret_t >> triton_msg_mpi_recv( >> return TRITON_SUCCESS; >> } >> >> -static __blocking triton_ret_t triton_msg_mpi_recv_any( >> +static __blocking triton_ret_t mpi_recv_any( >> triton_msg_group_t group, >> - triton_node_t *from, >> + triton_addr_t *from, >> triton_msg_tag_t *tag, >> int count, >> char **buffers, >> @@ -292,7 +286,7 @@ static __blocking triton_ret_t >> triton_msg_mpi_recv_any( >> return triton_error_from_mpi(ret); >> } >> >> - rank2node(status.MPI_SOURCE, *from); >> + rank2addr(status.MPI_SOURCE, *from); >> >> *tag = status.MPI_TAG; >> >> @@ -313,7 +307,7 @@ static int mpi_group_compare(void *key, struct >> triton_hash_link *link) >> >> static int mpi_enabled = 0; >> >> -static triton_ret_t triton_msg_mpi_enable(void) >> +static triton_ret_t mpi_enable(void) >> { >> int rank, ret; >> int mpi_thread_level; >> @@ -340,7 +334,7 @@ static triton_ret_t triton_msg_mpi_enable(void) >> } >> >> /* set my rank */ >> - rank2node(rank, triton_mpi_rank); >> + mpi_rank = (triton_msg_method_addr_t)rank; >> >> assert(group_table == NULL); >> group_table = triton_hash_init(mpi_group_compare, >> triton_hash_32bit_hash, 1024); >> @@ -365,7 +359,7 @@ static void group_entry_free(void *x) >> free(g); >> } >> >> -static void triton_msg_mpi_disable(void) >> +static void mpi_disable(void) >> { >> mpi_enabled--; >> assert(mpi_enabled >= 0); >> @@ -380,20 +374,20 @@ static void triton_msg_mpi_disable(void) >> static struct triton_msg_method triton_msg_mpi_method = >> { >> .name = "mpi", >> - .id = MPI_METHOD_ID, >> >> - .node_self = triton_msg_mpi_node_self, >> - .node_to_string = triton_msg_mpi_node_to_string, >> - .node_lookup = triton_msg_mpi_node_lookup, >> - .new_tag = triton_msg_mpi_new_tag, >> + .addr_self = mpi_addr_self, >> + .addr_equal = mpi_addr_equal, >> + .addr_to_string = mpi_addr_to_string, >> + .addr_lookup = mpi_addr_lookup, >> + .new_tag = mpi_new_tag, >> >> - .enable = triton_msg_mpi_enable, >> - .disable = triton_msg_mpi_disable, >> + .enable = mpi_enable, >> + .disable = mpi_disable, >> >> - .group_add = triton_msg_mpi_group_add, >> - .send = triton_msg_mpi_send, >> - .recv = triton_msg_mpi_recv, >> - .recv_any = triton_msg_mpi_recv_any >> + .group_add = mpi_group_add, >> + .send = mpi_send, >> + .recv = mpi_recv, >> + .recv_any = mpi_recv_any >> }; >> >> __attribute__((constructor)) void triton_msg_mpi_init(void) >> diff --git a/code/src/net/mpi/mpi.c b/code/src/net/mpi/mpi.c >> index b6df7fe..12086c4 100644 >> --- a/code/src/net/mpi/mpi.c >> +++ b/code/src/net/mpi/mpi.c >> @@ -804,7 +804,7 @@ triton_ret_t triton_error_from_mpi(int r) >> int size; >> char mpi_error_msg[MPI_MAX_ERROR_STRING]; >> int rank, class; >> - triton_node_t node; >> + triton_addr_t node; >> >> if(r == MPI_SUCCESS) >> { >> diff --git a/code/src/net/test/mock-client-server.ae b/code/src/net/ >> test/mock-client-server.ae >> index 064f92b..630e3d6 100644 >> --- a/code/src/net/test/mock-client-server.ae >> +++ b/code/src/net/test/mock-client-server.ae >> @@ -11,7 +11,7 @@ __blocking void do_server(triton_msg_ctx_t >> mock_ctx, triton_msg_group_t unexp_gr >> triton_ret_t ret; >> char *buffer; >> uint32_t buffer_size, recved; >> - triton_node_t from, self; >> + triton_addr_t from, self; >> triton_msg_tag_t tag; >> int count = 0; >> triton_string_t nstr, selfstr, tostr; >> @@ -21,14 +21,14 @@ __blocking void do_server(triton_msg_ctx_t >> mock_ctx, triton_msg_group_t unexp_gr >> assert(buffer); >> >> aesop_hints_get("triton.mock.self", sizeof(self), &self); >> - ret = triton_node_to_string(mock_ctx, self, &selfstr); >> + ret = triton_addr_to_string(mock_ctx, self, &selfstr); >> assert(ret == TRITON_SUCCESS); >> >> while(count < (total-1)) >> { >> ret = triton_msg_recv_any(mock_ctx, unexp_group, &from, >> &tag, 1, &buffer, &buffer_size, &recved); >> assert(ret == TRITON_SUCCESS); >> - ret = triton_node_to_string(mock_ctx, from, &nstr); >> + ret = triton_addr_to_string(mock_ctx, from, &nstr); >> assert(ret == TRITON_SUCCESS); >> printf("%s: <- %s, tag=%d\n", selfstr.string, nstr.string, >> tag); >> ret = triton_msg_send(mock_ctx, from, exp_group, tag, 1, >> &buffer, &recved); >> @@ -44,20 +44,20 @@ __blocking void do_server(triton_msg_ctx_t >> mock_ctx, triton_msg_group_t unexp_gr >> >> __blocking void do_client(triton_msg_ctx_t mock_ctx, >> triton_msg_group_t unexp_group, triton_msg_group_t exp_group) >> { >> - triton_node_t to, self; >> + triton_addr_t to, self; >> triton_string_t selfstr, tostr; >> triton_msg_tag_t tag; >> triton_ret_t ret; >> char *buffer; >> uint32_t buffer_size, recved; >> >> - to = triton_node_lookup(mock_ctx, "0"); >> + ret = triton_addr_lookup(mock_ctx, "mock://0", &to); >> tag = triton_msg_new_tag(mock_ctx, unexp_group); >> >> - ret = triton_node_to_string(mock_ctx, to, &tostr); >> + ret = triton_addr_to_string(to, &tostr); >> >> aesop_hints_get("triton.mock.self", sizeof(self), &self); >> - ret = triton_node_to_string(mock_ctx, self, &selfstr); >> + ret = triton_addr_to_string(self, &selfstr); >> >> buffer_size = 16 * 1024; >> buffer = malloc(buffer_size); >> @@ -89,10 +89,9 @@ int main(int argc, char *argv[]) >> ae_op_id_t op_id; >> ae_hints_t h[100]; >> ae_context_t ctx; >> - triton_msg_ctx_t mock_ctx; >> triton_msg_group_t unexp_group, exp_group; >> int i; >> - triton_node_t node; >> + triton_addr_t node; >> >> aesop_init(); >> >> @@ -111,13 +110,13 @@ int main(int argc, char *argv[]) >> triton_msg_init(); >> triton_msg_mock_init(); >> >> - ret = triton_msg_enable_method("mock", &mock_ctx); >> + ret = triton_msg_enable_method("mock"); >> assert(ret == TRITON_SUCCESS); >> >> - ret = triton_msg_group_add(mock_ctx, "test-server-unexp", >> &unexp_group); >> + ret = triton_msg_group_add("test-server-unexp", &unexp_group); >> assert(ret == TRITON_SUCCESS); >> >> - ret = triton_msg_group_add(mock_ctx, "test-server-exp", >> &exp_group); >> + ret = triton_msg_group_add("test-server-exp", &exp_group); >> assert(ret == TRITON_SUCCESS); >> >> ret = ae_hints_type_register("triton.mock.self", 0, >> &aer_encoder_uint128_t); >> @@ -126,8 +125,9 @@ int main(int argc, char *argv[]) >> for(i = 0; i < 100; ++i) >> { >> char nodestr[100]; >> - sprintf(nodestr, "%d", i); >> - node = triton_node_lookup(mock_ctx, nodestr); >> + sprintf(nodestr, "mock://%d", i); >> + ret = triton_addr_lookup(nodestr, &node); >> + assert(ret == TRITON_SUCCESS); >> h[i] = NULL; >> ret = ae_hints_put(&h[i], "triton.mock.self", sizeof(node), >> &node); >> assert(ret == TRITON_SUCCESS); >> diff --git a/code/src/net/test/mpi-client-server.ae b/code/src/net/ >> test/mpi-client-server.ae >> index c6f93c6..0606504 100644 >> --- a/code/src/net/test/mpi-client-server.ae >> +++ b/code/src/net/test/mpi-client-server.ae >> @@ -10,11 +10,10 @@ >> __blocking void do_server(void) >> { >> triton_ret_t ret; >> - triton_msg_ctx_t mpi_ctx; >> triton_msg_group_t unexp_group, exp_group; >> char *buffer; >> uint32_t buffer_size, recved; >> - triton_node_t from, to, me; >> + triton_addr_t from, to, me; >> triton_msg_tag_t tag; >> int count = 0, total = 0; >> triton_string_t nstr, mestr, tostr; >> @@ -27,21 +26,22 @@ __blocking void do_server(void) >> triton_mpi_init(); >> triton_msg_mpi_init(); >> >> - ret = triton_msg_enable_method("mpi", &mpi_ctx); >> + ret = triton_msg_enable_method("mpi"); >> assert(ret == TRITON_SUCCESS); >> >> - ret = triton_msg_group_add(mpi_ctx, "test-server-unexp", >> &unexp_group); >> + ret = triton_msg_group_add("mpi", "test-server-unexp", >> &unexp_group); >> assert(ret == TRITON_SUCCESS); >> >> - ret = triton_msg_group_add(mpi_ctx, "test-server-exp", >> &exp_group); >> + ret = triton_msg_group_add("mpi", "test-server-exp", >> &exp_group); >> assert(ret == TRITON_SUCCESS); >> >> buffer_size = 16 * 1024; >> buffer = malloc(buffer_size); >> assert(buffer); >> >> - me = triton_node_self(mpi_ctx); >> - ret = triton_node_to_string(mpi_ctx, me, &mestr); >> + ret = triton_addr_self("mpi", &me); >> + assert(ret == TRITON_SUCCESS); >> + ret = triton_addr_to_string(me, &mestr); >> assert(ret == TRITON_SUCCESS); >> >> MPI_Comm_size(MPI_COMM_WORLD, &total); >> @@ -51,12 +51,12 @@ __blocking void do_server(void) >> /* I'm a server! */ >> while(count < (total-1)) >> { >> - ret = triton_msg_recv_any(mpi_ctx, unexp_group, &from, >> &tag, 1, &buffer, &buffer_size, &recved); >> + ret = triton_msg_recv_any(unexp_group, &from, &tag, 1, >> &buffer, &buffer_size, &recved); >> assert(ret == TRITON_SUCCESS); >> - ret = triton_node_to_string(mpi_ctx, from, &nstr); >> + ret = triton_addr_to_string(from, &nstr); >> assert(ret == TRITON_SUCCESS); >> printf("Node %s received message from: %s, with tag: %d >> \n", mestr.string, nstr.string, tag); >> - ret = triton_msg_send(mpi_ctx, from, exp_group, tag, >> 1, &buffer, &recved); >> + ret = triton_msg_send(from, exp_group, tag, 1, >> &buffer, &recved); >> printf("Node %s sent response to: %s, with tag: %d\n", >> mestr.string, nstr.string, tag); >> >> triton_string_destroy(&nstr); >> @@ -66,19 +66,19 @@ __blocking void do_server(void) >> } >> else >> { >> - to = triton_node_lookup(mpi_ctx, "0"); >> - tag = triton_msg_new_tag(mpi_ctx, unexp_group); >> + ret = triton_addr_lookup("mpi://0", &to); >> + tag = triton_msg_new_tag(unexp_group); >> >> - ret = triton_node_to_string(mpi_ctx, to, &tostr); >> + ret = triton_addr_to_string(to, &tostr); >> assert(ret == TRITON_SUCCESS); >> >> /* I'm a client */ >> - ret = triton_msg_send(mpi_ctx, to, unexp_group, tag, 1, >> &buffer, &buffer_size); >> + ret = triton_msg_send(to, unexp_group, tag, 1, &buffer, >> &buffer_size); >> printf("Node %s sent message to: %s, with tag: %d\n", >> mestr.string, tostr.string, tag); >> assert(ret == TRITON_SUCCESS); >> >> printf("Node %s receiving message from: %s, with tag: %d\n", >> mestr.string, tostr.string, tag); >> - ret = triton_msg_recv(mpi_ctx, to, exp_group, tag, 1, >> &buffer, &buffer_size, &recved); >> + ret = triton_msg_recv(to, exp_group, tag, 1, &buffer, >> &buffer_size, &recved); >> printf("Node %s received message from: %s, with tag: %d\n", >> mestr.string, tostr.string, tag); >> >> triton_string_destroy(&tostr); >> diff --git a/code/src/net/triton-addr.h b/code/src/net/triton-addr.h >> new file mode 100644 >> index 0000000..e411a5a >> --- /dev/null >> +++ b/code/src/net/triton-addr.h >> @@ -0,0 +1,29 @@ >> +#ifndef __TRITON_ADDR_H__ >> +#define __TRITON_ADDR_H__ >> + >> +#include "src/common/triton-string.h" >> +#include "src/common/triton-types.h" >> + >> +/** >> + * The triton_addr_t is an opaque object for a node in the >> system. Internally, this >> + * address holds the messaging context (state for the method), and >> the method specific >> + * structures for the address. >> + */ >> +typedef uint128_t triton_addr_t; >> + >> +#define TRITON_ADDR_NULL_STATIC_INITIALIZER { .u = 0, .l = 0 } >> + >> +extern triton_addr_t triton_addr_null; >> +#define TRITON_ADDR_NULL triton_addr_null >> + >> +triton_addr_t triton_addr_self(const char *method); >> + >> +#include "src/common/triton-error.h" >> + >> +triton_ret_t triton_addr_to_string(triton_addr_t addr, >> triton_string_t *str); >> + >> +triton_ret_t triton_addr_lookup(const char *method, triton_addr_t >> *addr); >> + >> +int triton_addr_equal(triton_addr_t a1, triton_addr_t a2); >> + >> +#endif /* __TRITON_ADDR_H__ */ >> diff --git a/code/src/net/triton-message-internal.hae b/code/src/ >> net/triton-message-internal.hae >> deleted file mode 100644 >> index 0a0d445..0000000 >> --- a/code/src/net/triton-message-internal.hae >> +++ /dev/null >> @@ -1,12 +0,0 @@ >> -#ifndef __TRITON_MESSAGE_INTERNAL_HAE__ >> -#define __TRITON_MESSAGE_INTERNAL_HAE__ >> - >> -#include "src/net/triton-message-method.hae" >> - >> -struct msg_ctx >> -{ >> - struct triton_msg_method *method; >> -}; >> - >> -#endif >> - >> diff --git a/code/src/net/triton-message-method.hae b/code/src/net/ >> triton-message-method.hae >> index 1e8f92e..b7f08d5 100644 >> --- a/code/src/net/triton-message-method.hae >> +++ b/code/src/net/triton-message-method.hae >> @@ -1,44 +1,118 @@ >> #ifndef __TRITON_MESSAGE_METHOD_HAE__ >> #define __TRITON_MESSAGE_METHOD_HAE__ >> >> -#include "src/net/triton-node.h" >> +#include "src/net/triton-addr.h" >> #include "src/net/triton-message.hae" >> >> -triton_ret_t triton_msg_enable_method(const char *method, >> triton_msg_ctx_t *new_ctx); >> -void triton_msg_disable_method(triton_msg_ctx_t *c); >> +triton_ret_t triton_msg_enable_method(const char *method); >> +void triton_msg_disable_method(const char *method); >> >> -triton_ret_t triton_msg_create_ctx_from_id(uint32_t id, >> triton_msg_ctx_t *c); >> -void triton_msg_ctx_destroy(triton_msg_ctx_t c); >> +typedef uint64_t triton_msg_method_addr_t; >> +typedef uint32_t triton_msg_method_group_t; >> >> struct triton_msg_method >> { >> + /** >> + * The name of this method. Must match the endpoint method >> prefix. e.g. endpoint=mpi://20, name=mpi >> + */ >> const char *name; >> - uint32_t id; >> >> - triton_node_t (*node_self)(void); >> - triton_ret_t (*node_to_string)(triton_node_t node, >> triton_string_t *str); >> - triton_node_t (*node_lookup)(const char *name); >> + /** >> + * Get the local address. >> + */ >> + triton_msg_method_addr_t (*addr_self)(void); >> >> + int (*addr_equal)(triton_msg_method_addr_t a1, >> triton_msg_method_addr_t a2); >> + >> + /** >> + * Get the endpoint string for this address, *without* >> including the endpoint method prefix. >> + */ >> + triton_ret_t (*addr_to_string)(triton_msg_method_addr_t addr, >> triton_string_t *str); >> + >> + /** >> + * Lookup an address contained in a string. The format >> depends on the method type, but should >> + * not include the endpoint method prefix. >> + */ >> + triton_ret_t (*addr_lookup)(const char *name, >> triton_msg_method_addr_t *addr); >> + >> + /** >> + * Enable this method. Enabling/disabling a method may affect >> polling times and resources used. >> + */ >> triton_ret_t (*enable)(void); >> + >> + /** >> + * Disable this method. >> + */ >> void (*disable)(void); >> >> - triton_ret_t (*group_add)(const char *service_name, >> triton_msg_group_t *group); >> + /** >> + * Add a group with the given service name. >> + */ >> + triton_ret_t (*group_add)(const char *service_name, >> triton_msg_method_group_t *group); >> + >> + /** >> + * Get a new tag that can be used for matching sends and >> receives. >> + */ >> + triton_msg_tag_t (*new_tag)(triton_msg_method_group_t group); >> >> - triton_msg_tag_t (*new_tag)(triton_msg_group_t group); >> + /** >> + * Allocate a buffer for sending and receiving. Method can >> use this >> + * call to pin a buffer. >> + * TODO: Should we include information about the type of >> buffer to allocate? >> + */ >> + char * (*buffer_allocate)(uint64_t size); >> >> - char * (*buffer_allocate)(uint32_t size); >> + /** >> + * Free a buffer allocated with buffer_allocate. >> + */ >> void (*buffer_free)(char *buffer); >> >> - __blocking triton_ret_t (*send)( >> - triton_node_t to, triton_msg_group_t group, >> triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes); >> - __blocking triton_ret_t (*recv)( >> - triton_node_t from, triton_msg_group_t group, >> triton_msg_tag_t tag, int count, char **buffers, uint32_t *sizes, >> uint32_t *bytes_received); >> - __blocking triton_ret_t (*recv_any)( >> - triton_msg_group_t group, triton_node_t *from, >> triton_msg_tag_t *tag, int count, char **buffers, uint32_t *sizes, >> uint32_t *bytes_received); >> + /** >> + * Send a message using a particular group and tag >> + */ >> + __blocking triton_ret_t (*send)(triton_msg_method_addr_t to, >> + triton_msg_method_group_t group, >> + triton_msg_tag_t tag, >> + int count, >> + char **buffers, >> + uint32_t *sizes); >> + >> + /** >> + * Receive (pre-posted) a message from a specific address, on >> a specific group, with a specific tag. >> + */ >> + __blocking triton_ret_t (*recv)(triton_msg_method_addr_t from, >> + triton_msg_method_group_t group, >> + triton_msg_tag_t tag, >> + int count, >> + char **buffers, >> + uint32_t *sizes, >> + uint32_t *bytes_received); >> + >> + /** >> + * Receive a message from a specific group, but from any >> address with any tag. >> + */ >> + __blocking triton_ret_t (*recv_any)(triton_msg_method_group_t >> group, >> + triton_msg_method_addr_t >> *from, >> + triton_msg_tag_t *tag, >> + int count, >> + char **buffers, >> + uint32_t *sizes, >> + uint32_t *bytes_received); >> }; >> >> +/** >> + * Methods must register their implementations to the message layer. >> + */ >> triton_ret_t triton_msg_method_register(struct triton_msg_method >> *method); >> + >> +/** >> + * Unregister a method if its being finalized. >> + */ >> void triton_msg_method_unregister(const char *name); >> + >> +/** >> + * Lookup a registered method based on method name. >> + */ >> struct triton_msg_method* triton_msg_lookup_method(const char* >> method); >> >> #endif >> diff --git a/code/src/net/triton-message.ae b/code/src/net/triton- >> message.ae >> index 44742a0..4d7e849 100644 >> --- a/code/src/net/triton-message.ae >> +++ b/code/src/net/triton-message.ae >> @@ -5,13 +5,45 @@ >> #include "src/net/triton-message-method.hae" >> #include "src/common/triton-hash.h" >> >> +triton_addr_t triton_addr_null = >> TRITON_ADDR_NULL_STATIC_INITIALIZER; >> + >> +/** >> + * Methods register themselves through the >> triton_msg_method_register call. >> + * Once registered, an entry in the method_table keeps track of a >> method >> + * keyed on its name. The entry also contains a list of group >> structures >> + * so that the group structures can be freed once the method entry >> structure >> + * is removed from the method_table. >> + */ >> + >> static struct triton_hash_table *method_table = NULL; >> -static struct triton_hash_table *method_id_table = NULL; >> +static struct triton_hash_table *address_table = NULL; >> + >> +static inline void addr_split(triton_addr_t addr, struct >> triton_msg_method **method, triton_msg_method_addr_t *method_addr) >> +{ >> + if(method) *method = (struct triton_msg_method *)addr.u; >> + if(method_addr) *method_addr = addr.l; >> +} >> + >> +static triton_addr_t addr_wrap(struct triton_msg_method *method, >> triton_msg_method_addr_t method_addr) >> +{ >> + triton_addr_t addr; >> + addr.u = (uint64_t)(uintptr_t)method; >> + addr.l = method_addr; >> + return addr; >> +} >> + >> +struct triton_msg_group >> +{ >> + uint32_t group; >> + struct triton_msg_method *method; >> + struct triton_list_link link; >> +}; >> >> struct method_entry >> { >> char *name; >> struct triton_msg_method *method; >> + triton_list_t groups; >> struct triton_hash_link link; >> struct triton_hash_link id_link; >> }; >> @@ -22,28 +54,26 @@ static int method_compare(void *k, struct >> triton_hash_link *l) >> return (!strcmp(m->method->name, (char *)k)); >> } >> >> -static int method_id_compare(void *k, struct triton_hash_link *l) >> -{ >> - struct method_entry *m = triton_hash_get_entry(l, struct >> method_entry, id_link); >> - return m->method->id == *(int *)k; >> -} >> - >> triton_ret_t triton_msg_init(void) >> { >> if(!method_table) >> { >> method_table = triton_hash_init(method_compare, >> triton_hash_strhash, 1024); >> if(!method_table) return TRITON_ERR_NOMEM; >> - method_id_table = triton_hash_init(method_id_compare, >> triton_hash_32bit_hash, 1024); >> - if(!method_id_table) return TRITON_ERR_NOMEM; >> } >> - >> return TRITON_SUCCESS; >> } >> >> static void free_method(void *x) >> { >> + struct triton_msg_group *g1, *g2; >> struct method_entry *m = (struct method_entry *)x; >> + triton_list_for_each_entry(g1, g2, &m->groups, struct >> triton_msg_group, link) >> + { >> + triton_list_del(&g1->link); >> + free(g1); >> + } >> + >> free(m->name); >> free(m); >> } >> @@ -52,8 +82,6 @@ void triton_msg_finalize(void) >> { >> if(method_table) >> { >> - triton_hash_finalize(method_id_table); >> - method_id_table = NULL; >> triton_hash_destroy_and_finalize(method_table, struct >> method_entry, link, free_method); >> method_table = NULL; >> } >> @@ -70,11 +98,11 @@ triton_ret_t triton_msg_method_register(struct >> triton_msg_method *method) >> ret = triton_msg_init(); >> assert(ret == TRITON_SUCCESS); >> >> - l = triton_hash_search(method_id_table, &method->id); >> + l = triton_hash_search(method_table, &method->name); >> if(l) >> { >> - /* method with this ID already exists! Either the same >> method is being >> - * registered, or another method is trying to use an ID >> already in use. >> + /* method with this name already exists! Either the same >> method is being >> + * registered, or another method is trying to use an >> method already in use. >> */ >> return TRITON_ERR_METHOD_ID_INUSE; >> } >> @@ -84,11 +112,10 @@ triton_ret_t triton_msg_method_register(struct >> triton_msg_method *method) >> >> m->method = method; >> m->name = strdup(m->method->name); >> + triton_list_init(&m->groups); >> >> triton_list_link_clear(&m->link); >> triton_hash_add(method_table, m->name, &m->link); >> - triton_list_link_clear(&m->id_link); >> - triton_hash_add(method_id_table, &m->method->id, &m->id_link); >> } >> >> void triton_msg_method_unregister(const char *name) >> @@ -96,43 +123,12 @@ void triton_msg_method_unregister(const char >> *name) >> struct triton_hash_link *link; >> struct method_entry *m; >> >> - link = triton_hash_search_and_remove(method_table, name); >> + link = triton_hash_search_and_remove(method_table, (char >> *)name); >> m = triton_hash_get_entry(link, struct method_entry, link); >> - triton_hash_search_and_remove(method_id_table, &m->method->id); >> free(m->name); >> free(m); >> } >> >> -struct msg_ctx >> -{ >> - struct triton_msg_method *method; >> -}; >> - >> -triton_ret_t triton_msg_create_ctx_from_id(uint32_t id, >> triton_msg_ctx_t *c) >> -{ >> - struct triton_hash_link *l; >> - struct method_entry *m; >> - struct msg_ctx *ctx; >> - >> - l = triton_hash_search(method_id_table, &id); >> - if(!l) return TRITON_ERR_MSG_METHOD_NOTFOUND; >> - >> - m = triton_hash_get_entry(l, struct method_entry, link); >> - >> - ctx = malloc(sizeof(*ctx)); >> - if(ctx == NULL) return TRITON_ERR_NOMEM; >> - >> - ctx->method = m->method; >> - >> - *c = (void *)ctx; >> - return TRITON_SUCCESS; >> -} >> - >> -void triton_msg_ctx_destroy(triton_msg_ctx_t c) >> -{ >> - free(c); >> -} >> - >> /* finds the method structure matching the specified name */ >> struct triton_msg_method* triton_msg_lookup_method(const char* >> method) >> { >> @@ -145,12 +141,11 @@ struct triton_msg_method* >> triton_msg_lookup_method(const char* method) >> return(m->method); >> } >> >> -triton_ret_t triton_msg_enable_method(const char *method, >> triton_msg_ctx_t *new_ctx) >> +triton_ret_t triton_msg_enable_method(const char *method) >> { >> triton_ret_t ret; >> struct triton_hash_link *link; >> struct method_entry *m; >> - struct msg_ctx *ctx; >> >> triton_msg_init(); >> >> @@ -164,59 +159,86 @@ triton_ret_t triton_msg_enable_method(const >> char *method, triton_msg_ctx_t *new_ >> if(ret != TRITON_SUCCESS) return ret; >> } >> >> - ctx = malloc(sizeof(*ctx)); >> - if(ctx == NULL) return TRITON_ERR_NOMEM; >> - >> - ctx->method = m->method; >> - >> - *new_ctx = (void *)ctx; >> return TRITON_SUCCESS; >> } >> >> -void triton_msg_disable_method(triton_msg_ctx_t *c) >> +void triton_msg_disable_method(const char *method) >> { >> - struct msg_ctx *ctx; >> + struct triton_msg_method *m = triton_msg_lookup_method(method); >> + if(!m) >> + { >> + return; >> + } >> >> - ctx = (struct msg_ctx *)(*c); >> - if(ctx->method->disable) >> + if(m->disable) >> { >> - ctx->method->disable(); >> + m->disable(); >> } >> - free(ctx); >> - *c = NULL; >> + return; >> } >> >> -triton_ret_t triton_msg_group_add(triton_msg_ctx_t ctx, const char >> *service_name, triton_msg_group_t *group) >> +triton_ret_t triton_msg_group_add(const char *method, const char >> *service_name, triton_msg_group_t *group) >> { >> - struct msg_ctx *c; >> - c = (struct msg_ctx *)ctx; >> - return c->method->group_add(service_name, group); >> + triton_ret_t ret; >> + struct triton_hash_link *link; >> + struct triton_msg_group *g; >> + struct method_entry *m; >> + >> + link = triton_hash_search(method_table, (void *)method); >> + if(!link) return TRITON_ERR_MSG_METHOD_NOTFOUND; >> + m = triton_hash_get_entry(link, struct method_entry, link); >> + >> + g = malloc(sizeof(*g)); >> + if(!g) >> + { >> + return TRITON_ERR_NOMEM; >> + } >> + >> + g->method = m->method; >> + ret = m->method->group_add(service_name, &g->group); >> + if(ret != TRITON_SUCCESS) >> + { >> + free(g); >> + return ret; >> + } >> + >> + /* need to keep track of groups so we can free stuff when a >> method is disabled */ >> + triton_queue_enqueue(&g->link, &m->groups); >> + >> + *group = g; >> + return TRITON_SUCCESS; >> } >> >> -triton_msg_tag_t triton_msg_new_tag(triton_msg_ctx_t ctx, >> triton_msg_group_t group) >> +triton_msg_tag_t triton_msg_new_tag(triton_msg_group_t group) >> { >> - struct msg_ctx *c; >> - c = (struct msg_ctx *)ctx; >> - return c->method->new_tag(group); >> + struct triton_msg_group *g = (struct triton_msg_group *)group; >> + return g->method->new_tag(g->group); >> } >> >> __blocking triton_ret_t triton_msg_send( >> - triton_msg_ctx_t ctx, >> - triton_node_t to, >> + triton_addr_t to, >> triton_msg_group_t group, >> triton_msg_tag_t tag, >> int count, >> char **buffers, >> uint32_t *sizes) >> { >> - struct msg_ctx *c; >> - c = (struct msg_ctx *)ctx; >> - return c->method->send(to, group, tag, count, buffers, sizes); >> + struct triton_msg_method *tm; >> + triton_msg_method_addr_t maddr; >> + struct triton_msg_group *g = (struct triton_msg_group *)group; >> + >> + addr_split(to, &tm, &maddr); >> + >> + /* group method should be the same as the to method. >> + * TODO: Make this a real error. >> + */ >> + assert(g->method == tm); >> + >> + return g->method->send(maddr, g->group, tag, count, buffers, >> sizes); >> } >> >> __blocking triton_ret_t triton_msg_recv( >> - triton_msg_ctx_t ctx, >> - triton_node_t from, >> + triton_addr_t from, >> triton_msg_group_t group, >> triton_msg_tag_t tag, >> int count, >> @@ -224,24 +246,110 @@ __blocking triton_ret_t triton_msg_recv( >> uint32_t *sizes, >> uint32_t *bytes_received) >> { >> - struct msg_ctx *c; >> - c = (struct msg_ctx *)ctx; >> - return c->method->recv(from, group, tag, count, buffers, >> sizes, bytes_received); >> + struct triton_msg_method *fm; >> + triton_msg_method_addr_t maddr; >> + struct triton_msg_group *g = (struct triton_msg_group *)group; >> + >> + addr_split(from, &fm, &maddr); >> + >> + /* from method should match group method >> + * TODO: fix this to be a real error */ >> + assert(fm == g->method); >> + >> + return g->method->recv(maddr, g->group, tag, count, buffers, >> sizes, bytes_received); >> } >> >> __blocking triton_ret_t triton_msg_recv_any( >> - triton_msg_ctx_t ctx, >> triton_msg_group_t group, >> - triton_node_t *from, >> + triton_addr_t *from, >> triton_msg_tag_t *tag, >> int count, >> char **buffers, >> uint32_t *sizes, >> uint32_t *bytes_received) >> { >> - struct msg_ctx *c; >> - c = (struct msg_ctx *)ctx; >> - return c->method->recv_any(group, from, tag, count, buffers, >> sizes, bytes_received); >> + triton_ret_t ret; >> + triton_msg_method_addr_t method_from; >> + >> + struct triton_msg_group *g = (struct triton_msg_group *)group; >> + ret = g->method->recv_any(g->group, &method_from, tag, count, >> buffers, sizes, bytes_received); >> + if(ret != TRITON_SUCCESS) >> + { >> + return ret; >> + } >> + >> + /* set the from field properly */ >> + *from = addr_wrap(g->method, method_from); >> + return TRITON_SUCCESS; >> +} >> + >> +/** >> + * Address functions. >> + */ >> +int triton_addr_equal(triton_addr_t a1, triton_addr_t a2) >> +{ >> + struct triton_msg_method *m1, *m2; >> + triton_msg_method_addr_t ma1, ma2; >> + >> + addr_split(a1, &m1, &ma1); >> + addr_split(a2, &m2, &ma2); >> + return (m1 == m2) && m1->addr_equal(ma1, ma2); >> +} >> + >> +triton_addr_t triton_addr_self(const char *method) >> +{ >> + triton_msg_method_addr_t maddr; >> + triton_ret_t ret; >> + >> + struct triton_msg_method *m = triton_msg_lookup_method(method); >> + maddr = m->addr_self(); >> + return addr_wrap(m, maddr); >> +} >> + >> +triton_ret_t triton_addr_to_string(triton_addr_t addr, >> triton_string_t *str) >> +{ >> + triton_ret_t ret; >> + triton_string_t methodstr; >> + struct triton_msg_method *m; >> + triton_msg_method_addr_t maddr; >> + >> + addr_split(addr, &m, &maddr); >> + ret = m->addr_to_string(maddr, &methodstr); >> + if(ret != TRITON_SUCCESS) >> + { >> + return ret; >> + } >> + triton_string_init(str, "%s://%s", m->name, str->string); >> + triton_string_destroy(&methodstr); >> + return TRITON_SUCCESS; >> +} >> + >> +triton_ret_t triton_addr_lookup(const char *name, triton_addr_t >> *addr) >> +{ >> + char prefix[256]; >> + char method_name[1024]; >> + triton_msg_method_addr_t maddr; >> + struct triton_addr *a; >> + triton_ret_t ret; >> + >> + /* parse addr endpoint prefix, so that we can lookup the >> method */ >> + sscanf(name, "%256s://%1024s", prefix, method_name); >> + >> + struct triton_msg_method *m = >> triton_msg_lookup_method(method_name); >> + if(!m) >> + { >> + /* TODO: Add some debugging and/or wrap the error up with >> prefix and method_name info */ >> + return TRITON_ERR_MSG_METHOD_NOTFOUND; >> + } >> + >> + ret = m->addr_lookup(method_name, &maddr); >> + if(ret != TRITON_SUCCESS) >> + { >> + return ret; >> + } >> + >> + *addr = addr_wrap(m, maddr); >> + return TRITON_SUCCESS; >> } >> >> /* >> diff --git a/code/src/net/triton-message.hae b/code/src/net/triton- >> message.hae >> index f8bd642..bbb8b17 100644 >> --- a/code/src/net/triton-message.hae >> +++ b/code/src/net/triton-message.hae >> @@ -5,37 +5,61 @@ >> #include "src/common/triton-types.h" >> #include "src/common/triton-error.h" >> #include "src/aesop/aesop.h" >> -#include "src/net/triton-node.h" >> +#include "src/net/triton-addr.h" >> >> +/** >> + * Right now we use 32-bits for the tag. >> + */ >> typedef int32_t triton_msg_tag_t; >> >> -typedef uint32_t triton_msg_group_t; >> +/** >> + * Groups allow users of the message interface to logically group >> messages together >> + * based on a particular service. This provides scoping for the >> message tag values >> + * (tags from different groups can have the same value) and also >> allows different >> + * types of messages to be received. For example, unexpected >> messages could be received >> + * using recv_any on an unexpected group, while expected messages >> can be received >> + * using the recv call with a tag specified. >> + * >> + * At the moment, the MPI method simply creates a new communicator >> for each new group >> + * that gets added. Various interfaces could create separate >> groups and send messages >> + * using different groups on different ae_context_t variables, >> allowing for separate >> + * polling of the different groups through the different aesop >> contexts. >> + */ >> + >> +struct triton_msg_group; >> +typedef struct triton_msg_group *triton_msg_group_t; >> >> +/** >> + * Initialize the messaging interface. >> + */ >> triton_ret_t triton_msg_init(void); >> + >> +/** >> + * Finalize the messaging interface. >> + */ >> void triton_msg_finalize(void); >> >> /** >> * Add a message group. Examples: >> * >> - * Allow for unexpected messages to be received via group_recv. >> + * Allow for unexpected messages to be received via recv_any, >> without also receiving expected receives. >> * >> - * group_add(ctx, "aesop.remote.unexpected", >> &ae_remote_unexp_group); >> - * group_add(ctx, "aesop.remote.expexted", &ae_remote_exp_group); >> + * group_add(method_name, "aesop.remote.unexpected", >> &ae_remote_unexp_group); >> + * group_add(method_name, "aesop.remote.expexted", >> &ae_remote_exp_group); >> */ >> -triton_ret_t triton_msg_group_add(triton_msg_ctx_t ctx, const char >> *service_name, triton_msg_group_t *group); >> +triton_ret_t triton_msg_group_add(const char *method_name, const >> char *service_name, triton_msg_group_t *group); >> >> /** >> * Get a new tag from the message context. >> */ >> -int32_t triton_msg_new_tag(triton_msg_ctx_t ctx, >> triton_msg_group_t group); >> +triton_msg_tag_t triton_msg_new_tag(triton_msg_group_t group); >> >> /** >> - * Sends a message using the method from the ctx. >> + * Sends a message using the method the group was created on. >> * Group and tag fields must be specified to allow for proper >> matching at the receive side. >> */ >> __blocking triton_ret_t triton_msg_send( >> - triton_msg_ctx_t ctx, >> - triton_node_t to, >> + triton_addr_t to, >> triton_msg_group_t group, >> triton_msg_tag_t tag, >> int count, >> @@ -43,13 +67,12 @@ __blocking triton_ret_t triton_msg_send( >> uint32_t *sizes); >> >> /** >> - * Receive a message using the method from the ctx. >> + * Receive a message using the method the group was created on. >> * The received message will match on the group and tag fields >> passed in >> * and the message buffers will be filled. This call does an >> expected receive. >> */ >> __blocking triton_ret_t triton_msg_recv( >> - triton_msg_ctx_t ctx, >> - triton_node_t from, >> + triton_addr_t from, >> triton_msg_group_t group, >> triton_msg_tag_t tag, >> int count, >> @@ -58,14 +81,12 @@ __blocking triton_ret_t triton_msg_recv( >> uint32_t *bytes_received); >> >> __blocking triton_ret_t triton_msg_recv_any( >> - triton_msg_ctx_t ctx, >> triton_msg_group_t group, >> - triton_node_t *from, >> + triton_addr_t *from, >> triton_msg_tag_t *tag, >> int count, >> char **buffers, >> uint32_t *sizes, >> uint32_t *bytes_received); >> >> - >> #endif /* __TRITON_MESSAGE_HAE__ */ >> diff --git a/code/src/net/triton-node.ae b/code/src/net/triton- >> node.ae >> deleted file mode 100644 >> index 7986552..0000000 >> --- a/code/src/net/triton-node.ae >> +++ /dev/null >> @@ -1,62 +0,0 @@ >> - >> -#include "src/net/triton-node.h" >> -#include "src/net/triton-message-internal.hae" >> -#include "src/aesop/aesop.h" >> - >> -triton_node_t triton_node_null = { .u = 0, .l = 0 }; >> -uint128_t triton_node_diff_max = { .u = UINT64_MAX, .l = >> UINT64_MAX}; >> - >> -triton_node_t triton_node_self(triton_msg_ctx_t ctx) >> -{ >> - struct msg_ctx *c; >> - c = (struct msg_ctx *)ctx; >> - >> - return c->method->node_self(); >> -} >> - >> -triton_ret_t triton_node_to_string(triton_msg_ctx_t ctx, >> triton_node_t node, triton_string_t *str) >> -{ >> - struct msg_ctx *c; >> - triton_ret_t ret; >> - c = (struct msg_ctx *)ctx; >> - >> - if(triton_node_is_null(&node)) >> - { >> - triton_string_init(str, "none"); >> - return TRITON_SUCCESS; >> - } >> - >> - if(c == NULL) >> - { >> - /* guess context from node type. methods within the >> messaging layer can use all 128 bits >> - * of the node type for their purposes (IPv6 for example), >> but if a method doesn't use >> - * all 128 bits, they can use a flag in the upper 64 bits >> to indicate the type of method >> - */ >> - ret = triton_node_get_ctx(node, &ctx); >> - if(ret != TRITON_SUCCESS) >> - { >> - return ret; >> - } >> - >> - ret = c->method->node_to_string(node, str); >> - triton_msg_ctx_destroy(ctx); >> - return ret; >> - } >> - >> - return c->method->node_to_string(node, str); >> -} >> - >> -triton_node_t triton_node_lookup(triton_msg_ctx_t ctx, const char >> *name) >> -{ >> - struct msg_ctx *c; >> - c = (struct msg_ctx *)ctx; >> - >> - return c->method->node_lookup(name); >> -} >> - >> -triton_ret_t triton_node_get_ctx(triton_node_t node, >> triton_msg_ctx_t *ctx) >> -{ >> - uint32_t id = triton_node_get_method_id(node); >> - return triton_msg_create_ctx_from_id(id, ctx); >> -} >> - >> diff --git a/code/src/net/triton-node.h b/code/src/net/triton-node.h >> deleted file mode 100644 >> index a3ecc4c..0000000 >> --- a/code/src/net/triton-node.h >> +++ /dev/null >> @@ -1,48 +0,0 @@ >> -#ifndef __TRITON_NODE_H__ >> -#define __TRITON_NODE_H__ >> - >> -#include "src/common/triton-string.h" >> -#include "src/common/triton-types.h" >> - >> -/** >> - * A message context is used to group messaging methods (mpi for >> example). >> - * See src/net/triton-message-method.hae for more details. >> - */ >> -typedef void *triton_msg_ctx_t; >> - >> -/** >> - * The triton_node_t is an opaque address for a node in the system. >> - */ >> -typedef uint128_t triton_node_t; >> - >> -extern uint128_t triton_node_diff_max; >> - >> -extern triton_node_t triton_node_null; >> -#define TRITON_NODE_NULL triton_node_null >> - >> -#define TRITON_NODE_NULL_STATIC_INITIALIZER { .l = 0, .u = 0 } >> - >> -#define triton_node_is_null(node) ((node)->l == 0 && (node)->u == 0) >> - >> -triton_node_t triton_node_self(triton_msg_ctx_t ctx); >> - >> -#include "src/common/triton-error.h" >> - >> -triton_ret_t triton_node_to_string(triton_msg_ctx_t ctx, >> triton_node_t node, triton_string_t *str); >> - >> -triton_node_t triton_node_lookup(triton_msg_ctx_t ctx, const char >> *name); >> - >> -#define triton_node_eq(n1,n2) ((n1).l==(n2).l && (n1).u==(n2).u) >> - >> -/* messaging methods can optionally store a flag in the upper part >> of the node bits >> - * to allow a node's originating method to be identified. This is >> optional, some >> - * methods may choose to use all 128 bits for the node itself. >> Thus far, figuring >> - * out the originating method of a node is only needed for >> triton_node_to_string. >> - */ >> -#define triton_node_get_method_id(node) ((int)(node.u >> 56) & >> 0x000000FF) >> -#define triton_method_id_mask(id) (0xFF00000000000000ULL & >> (((uint64_t)id) << 56)) >> -#define triton_node_set_method_id(node, method) (node.u = >> triton_method_id_mask(method)) >> - >> -triton_ret_t triton_node_get_ctx(triton_node_t node, >> triton_msg_ctx_t *ctx); >> - >> -#endif /* __TRITON_NODE_H__ */ >> diff --git a/code/src/remote/encoding-pw.h b/code/src/remote/ >> encoding-pw.h >> index 8cd8c72..4398249 100644 >> --- a/code/src/remote/encoding-pw.h >> +++ b/code/src/remote/encoding-pw.h >> @@ -537,7 +537,7 @@ static struct aer_encoder >> aer_encoder_triton_buffer_t = >> #define aer_encode_size_triton_list_t(__list, __varname, >> __typename, __size) do { \ >> __typename *__pos; \ >> __sum = 0; \ >> - triton_list_for_each_entry(__pos, __list) \ >> + triton_list_for_each_entry(__pos, __typename, __list) \ >> { \ >> __sum += aer_encode_size_##__typename(NULL, __pos); \ >> } \ >> @@ -551,7 +551,7 @@ static struct aer_encoder >> aer_encoder_triton_buffer_t = >> mret = aer_encode_uint64_t(__buf, NULL, >> triton_list_size(__list)); \ >> if(mret == TRITON_SUCCESS) \ >> { \ >> - triton_list_for_each_entry(__pos, __list, __member) \ >> + triton_list_for_each_entry(__pos, __list, __typename, >> __member) \ >> { \ >> mret = aer_encode_##__typename(__buf, NULL, __pos); \ >> if(mret != TRITON_SUCCESS) break; \ >> diff --git a/code/src/remote/error-encoding.h b/code/src/remote/ >> error-encoding.h >> index 5a5d3e6..9473cf5 100644 >> --- a/code/src/remote/error-encoding.h >> +++ b/code/src/remote/error-encoding.h >> @@ -11,7 +11,7 @@ static inline uint64_t >> aer_encode_size_triton_ret_t(const char *name, void *x) >> triton_ret_t *ret = (triton_ret_t *)x; >> >> size += aer_encode_size_triton_ret_t("base", &(*ret)->base); >> - size += aer_encode_triton_node_t("node", &(*ret)->node); >> + size += aer_encode_triton_addr_t("node", &(*ret)->node); >> size += aer_encode_size_uint32_t("error_code", &(*ret)- >> >error_code); >> size += aer_encode_size_triton_string_t("message", &(*ret)- >> >message); >> return size; >> @@ -21,7 +21,7 @@ static inline triton_ret_t >> aer_encode_inner_error(triton_buffer_t *buf, triton_r >> { >> triton_ret_t err; >> >> - err = aer_encode_triton_node_t(buf, "node", &(*ret)->node); >> + err = aer_encode_triton_addr_t(buf, "node", &(*ret)->node); >> if(err != TRITON_SUCCESS) >> { >> return err; >> @@ -63,7 +63,7 @@ static inline triton_ret_t >> aer_decode_inner_error(triton_buffer_t *buf, triton_r >> { >> triton_ret_t err; >> >> - err = aer_decode_triton_node_t(buf, NULL, &(*ret)->node); >> + err = aer_decode_triton_addr_t(buf, NULL, &(*ret)->node); >> if(err != TRITON_SUCCESS) return err; >> >> err = aer_decode_uint32_t(buf, NULL, &(*ret)->error_code); >> @@ -82,7 +82,7 @@ static inline triton_ret_t >> aer_decode_triton_ret_t(triton_buffer_t *buf, char ** >> triton_ret_t prev, first; >> uint32_t count; >> struct triton_error *newerror; >> - triton_node_t base_node; >> + triton_addr_t base_node; >> uint32_t base_err_code; >> >> assert(ret != NULL); >> @@ -114,7 +114,7 @@ static inline triton_ret_t >> aer_decode_triton_ret_t(triton_buffer_t *buf, char ** >> >> } >> >> - err = aer_decode_triton_node_t(buf, NULL, &base_node); >> + err = aer_decode_triton_addr_t(buf, NULL, &base_node); >> if(err != TRITON_SUCCESS) return err; /* TODO: fix leaked >> errors */ >> >> err = aer_decode_uint32_t(buf, NULL, &base_err_code); >> diff --git a/code/src/remote/message.ae b/code/src/remote/message.ae >> index 41957b8..2f8833e 100644 >> --- a/code/src/remote/message.ae >> +++ b/code/src/remote/message.ae >> @@ -4,11 +4,10 @@ >> >> extern triton_msg_group_t ae_remote_unexp_group; >> extern triton_msg_group_t ae_remote_exp_group; >> -extern triton_msg_ctx_t ae_remote_msg_ctx; >> >> static triton_msg_tag_t aer_remote_next_tag(void) >> { >> - return triton_msg_new_tag(ae_remote_msg_ctx, >> ae_remote_unexp_group); >> + return triton_msg_new_tag(ae_remote_unexp_group); >> } >> >> void aer_message_reset(aer_message_t *m) >> @@ -40,11 +39,10 @@ uint64_t aer_message_get_op(aer_message_t *m) >> return m->header.op; >> } >> >> -__blocking triton_ret_t aer_message_send_unexp(triton_node_t dest, >> triton_msg_tag_t tag, aer_message_t *msg) >> +__blocking triton_ret_t aer_message_send_unexp(triton_addr_t dest, >> triton_msg_tag_t tag, aer_message_t *msg) >> { >> /* TODO: timeout/retry.. */ >> - return triton_msg_send(ae_remote_msg_ctx, >> - dest, >> + return triton_msg_send(dest, >> ae_remote_unexp_group, >> aer_remote_next_tag(), >> 1, >> @@ -52,11 +50,10 @@ __blocking triton_ret_t >> aer_message_send_unexp(triton_node_t dest, triton_msg_ta >> &msg->buffer.size); >> } >> >> -__blocking triton_ret_t aer_message_send_exp(triton_node_t dest, >> triton_msg_tag_t tag, aer_message_t *msg) >> +__blocking triton_ret_t aer_message_send_exp(triton_addr_t dest, >> triton_msg_tag_t tag, aer_message_t *msg) >> { >> /* TODO: timeout/retry.. */ >> - return triton_msg_send(ae_remote_msg_ctx, >> - dest, >> + return triton_msg_send(dest, >> ae_remote_exp_group, >> tag, >> 1, >> @@ -64,12 +61,11 @@ __blocking triton_ret_t >> aer_message_send_exp(triton_node_t dest, triton_msg_tag_ >> &msg->buffer.size); >> } >> >> -__blocking triton_ret_t aer_message_recv_any(triton_node_t *from, >> aer_message_t *msg) >> +__blocking triton_ret_t aer_message_recv_any(triton_addr_t *from, >> aer_message_t *msg) >> { >> triton_ret_t ret; >> >> - ret = triton_msg_recv_any(ae_remote_msg_ctx, >> - ae_remote_unexp_group, >> + ret = triton_msg_recv_any(ae_remote_unexp_group, >> from, >> &msg->header.tag, >> 1, >> @@ -85,11 +81,10 @@ __blocking triton_ret_t >> aer_message_recv_any(triton_node_t *from, aer_message_t >> } >> >> >> -__blocking triton_ret_t aer_message_recv(triton_node_t from, >> aer_message_t *msg) >> +__blocking triton_ret_t aer_message_recv(triton_addr_t from, >> aer_message_t *msg) >> { >> /* TODO: timeout/retry.. */ >> - return triton_msg_recv(ae_remote_msg_ctx, >> - from, >> + return triton_msg_recv(from, >> ae_remote_exp_group, >> msg->header.tag, >> 1, >> @@ -98,7 +93,7 @@ __blocking triton_ret_t >> aer_message_recv(triton_node_t from, aer_message_t *msg) >> &msg->buffer.size); >> } >> >> -__blocking triton_ret_t aer_message_sendrecv(triton_node_t dest, >> +__blocking triton_ret_t aer_message_sendrecv(triton_addr_t dest, >> aer_message_t *send, >> aer_message_t *recv) >> { >> @@ -110,8 +105,7 @@ __blocking triton_ret_t >> aer_message_sendrecv(triton_node_t dest, >> { >> pbranch >> { >> - recv_ret = triton_msg_recv(ae_remote_msg_ctx, >> - dest, >> + recv_ret = triton_msg_recv(dest, >> ae_remote_exp_group, >> tag, >> 1, >> @@ -122,8 +116,7 @@ __blocking triton_ret_t >> aer_message_sendrecv(triton_node_t dest, >> >> pbranch >> { >> - send_ret = triton_msg_send(ae_remote_msg_ctx, >> - dest, >> + send_ret = triton_msg_send(dest, >> ae_remote_unexp_group, >> tag, >> 1, >> diff --git a/code/src/remote/message.hae b/code/src/remote/ >> message.hae >> index 4fbc0e5..680f249 100644 >> --- a/code/src/remote/message.hae >> +++ b/code/src/remote/message.hae >> @@ -43,26 +43,26 @@ uint64_t aer_message_get_op(aer_message_t >> *message); >> * Send an aesop remote message to the destination. This message is >> sent >> * using the aesop remote unexpected group, with the tag specified >> in the message. >> */ >> -__blocking triton_ret_t aer_message_send_unexp(triton_node_t dest, >> triton_msg_tag_t tag, aer_message_t *msg); >> +__blocking triton_ret_t aer_message_send_unexp(triton_addr_t dest, >> triton_msg_tag_t tag, aer_message_t *msg); >> >> /** >> * Send the aesop remote message to the destination, with the >> message sent using >> * the expected group. >> */ >> -__blocking triton_ret_t aer_message_send_exp(triton_node_t dest, >> triton_msg_tag_t tag, aer_message_t *msg); >> +__blocking triton_ret_t aer_message_send_exp(triton_addr_t dest, >> triton_msg_tag_t tag, aer_message_t *msg); >> >> /** >> * Receive an aesop remote message from a given source. All >> receives in this case >> * are expected, and should have a matching send_exp. >> */ >> -__blocking triton_ret_t aer_message_recv(triton_node_t source, >> aer_message_t *msg); >> +__blocking triton_ret_t aer_message_recv(triton_addr_t source, >> aer_message_t *msg); >> >> -__blocking triton_ret_t aer_message_sendrecv(triton_node_t dest, >> aer_message_t *send, aer_message_t *recv); >> +__blocking triton_ret_t aer_message_sendrecv(triton_addr_t dest, >> aer_message_t *send, aer_message_t *recv); >> >> /** >> * Receive an aesop remote message from anyone, returning the >> message and the source. >> */ >> -__blocking triton_ret_t aer_message_recv_any(triton_node_t *from, >> aer_message_t *msg); >> +__blocking triton_ret_t aer_message_recv_any(triton_addr_t *from, >> aer_message_t *msg); >> >> uint32_t aer_message_header_size(void); >> >> diff --git a/code/src/remote/node-encoding.h b/code/src/remote/node- >> encoding.h >> index 78c2791..067d5b9 100644 >> --- a/code/src/remote/node-encoding.h >> +++ b/code/src/remote/node-encoding.h >> @@ -4,17 +4,17 @@ >> >> #include "remote/encoding.h" >> >> -static inline uint64_t aer_encode_triton_node_t(const char *name, >> void *x) >> +static inline uint64_t aer_encode_triton_addr_t(const char *name, >> void *x) >> { >> return aer_encode_uint128_t(name, x); >> } >> >> -static inline triton_ret_t >> aer_encode_triton_node_t(triton_buffer_t *buf, const char *name, >> void *x) >> +static inline triton_ret_t >> aer_encode_triton_addr_t(triton_buffer_t *buf, const char *name, >> void *x) >> { >> return aer_encode_uint128_t(buf, name, x); >> } >> >> -static inline triton_ret_t >> aer_decode_triton_node_t(triton_buffer_t *buf, char **name, void *x) >> +static inline triton_ret_t >> aer_decode_triton_addr_t(triton_buffer_t *buf, char **name, void *x) >> { >> return aer_encode_uint128_t(buf, name, x); >> } >> diff --git a/code/src/remote/service.hae b/code/src/remote/ >> service.hae >> index 3476e15..e7b8821 100644 >> --- a/code/src/remote/service.hae >> +++ b/code/src/remote/service.hae >> @@ -6,13 +6,11 @@ >> >> uint64_t aer_service_unique_id(const char *opname); >> >> -triton_msg_ctx_t aer_service_get_context(void); >> - >> triton_ret_t aer_service_register(uint64_t service_id, >> const char *service, >> __blocking triton_ret_t >> (*service_fn)(aer_message_t *in, aer_message_t *out)); >> >> -__blocking triton_ret_t aer_service_invoke(triton_node_t from, >> uint64_t service_id, aer_message_t *in, aer_message_t *out); >> +__blocking triton_ret_t aer_service_invoke(triton_addr_t from, >> uint64_t service_id, aer_message_t *in, aer_message_t *out); >> >> triton_ret_t aer_service_init(void); >> >> diff --git a/code/src/replicated-osd/tests/rosd-create-bench.aer b/ >> code/src/replicated-osd/tests/rosd-create-bench.aer >> index 194cef0..8e28ff0 100644 >> --- a/code/src/replicated-osd/tests/rosd-create-bench.aer >> +++ b/code/src/replicated-osd/tests/rosd-create-bench.aer >> @@ -41,7 +41,7 @@ __blocking void do_remote_server(void) >> int rank; >> uint128_t oid; >> int32_t out; >> - triton_node_t svr; >> + triton_addr_t svr; >> int nprocs; >> >> MPI_Comm_rank(MPI_COMM_WORLD, &rank); >> @@ -81,11 +81,12 @@ __blocking void do_remote_remove(void) >> int rank; >> uint128_t oid; >> int32_t out; >> - triton_node_t svr; >> + triton_addr_t svr; >> >> MPI_Comm_rank(MPI_COMM_WORLD, &rank); >> >> - svr = triton_node_lookup(mpi_msg_ctx, "0"); >> + ret = triton_addr_lookup("mpi://0", &svr); >> + assert(ret == TRITON_SUCCESS); >> >> /* TODO: clean this up; I'm cheating for convenience... */ >> oid = triton_uint128_from_uint64(0); >> @@ -128,11 +129,12 @@ __blocking void do_remote_test(void) >> int rank; >> uint128_t oid; >> int32_t out; >> - triton_node_t svr; >> + triton_addr_t svr; >> >> MPI_Comm_rank(MPI_COMM_WORLD, &rank); >> >> - svr = triton_node_lookup(mpi_msg_ctx, "0"); >> + ret = triton_addr_lookup("mpi://0", &svr); >> + assert(ret == TRITON_SUCCESS); >> >> /* TODO: clean this up; I'm cheating for convenience... */ >> oid = triton_uint128_from_uint64(0); >> diff --git a/code/src/replicated-osd/tests/rosd1.aer b/code/src/ >> replicated-osd/tests/rosd1.aer >> index 3e0932e..8757dfc 100644 >> --- a/code/src/replicated-osd/tests/rosd1.aer >> +++ b/code/src/replicated-osd/tests/rosd1.aer >> @@ -22,8 +22,6 @@ >> >> #include "mpi.h" >> >> -static triton_msg_ctx_t mpi_msg_ctx; >> - >> __blocking void do_remote_test(void) >> { >> triton_ret_t ret; >> @@ -31,7 +29,7 @@ __blocking void do_remote_test(void) >> int rank; >> uint128_t oid; >> int32_t out; >> - triton_node_t svr; >> + triton_addr_t svr; >> struct rosd_create_req req; >> >> MPI_Comm_rank(MPI_COMM_WORLD, &rank); >> @@ -51,7 +49,8 @@ __blocking void do_remote_test(void) >> ret = triton_timer(2000); >> assert(ret == TRITON_SUCCESS); >> >> - svr = triton_node_lookup(mpi_msg_ctx, "0"); >> + ret = triton_addr_lookup("mpi://0", &svr); >> + assert(ret == TRITON_SUCCESS); >> >> oid = triton_uint128_from_uint64(rank); >> >> @@ -116,10 +115,6 @@ int main(int argc, char *argv[]) >> ret = aer_service_init(); >> assert(ret == TRITON_SUCCESS); >> >> - /* we need the mpi context so that we can lookup nodes */ >> - mpi_msg_ctx = aer_service_get_context(); >> - assert(mpi_msg_ctx); >> - >> ret = aer_remote_register_rosd(); >> assert(ret == TRITON_SUCCESS); >> >> diff --git a/code/src/versioned-osd/prototype/tests/module.mk.in b/ >> code/src/versioned-osd/prototype/tests/module.mk.in >> index d7827e5..c529d81 100644 >> --- a/code/src/versioned-osd/prototype/tests/module.mk.in >> +++ b/code/src/versioned-osd/prototype/tests/module.mk.in >> @@ -12,3 +12,5 @@ AELIBSRC += $(DIR)/faker.ae >> LIBSRC += $(DIR)/fake-resource.c >> >> MODLIBS_$(DIR) = -lpthread -ldb >> + >> +DEPLIBS += -ldb >> diff --git a/code/src/versioned-osd/prototype/vosd-fd-cache.ae b/ >> code/src/versioned-osd/prototype/vosd-fd-cache.ae >> index 6574d93..8efe4d4 100644 >> --- a/code/src/versioned-osd/prototype/vosd-fd-cache.ae >> +++ b/code/src/versioned-osd/prototype/vosd-fd-cache.ae >> @@ -147,9 +147,13 @@ __blocking triton_ret_t fd_cache_get(struct >> fd_cache_entry **entry, uint128_t oi >> struct stat statbuf; >> triton_ret_t tret; >> triton_ret_t tret_tmp; >> - int posix_open_flags = O_RDWR|O_CREAT|O_NOATIME; >> + int posix_open_flags = O_RDWR|O_CREAT; >> char oid_str[TRITON_UINT128_STRLEN]; >> >> +#ifdef HAVE_NOATIME >> + posix_open_flags |= O_NOATIME; >> +#endif >> + >> triton_mutex_lock(&fd_mutex); >> assert(oid_table); >> >> @@ -179,7 +183,9 @@ __blocking triton_ret_t fd_cache_get(struct >> fd_cache_entry **entry, uint128_t oi >> tmp_entry->ref_count = 1; >> >> if(flags & VOSD_INIT_FLAG_DATA_ODIRECT) >> +#ifdef HAVE_ODIRECT >> posix_open_flags |= O_DIRECT; >> +#endif >> /* note: if data coalescing is enabled then we leave it to the >> vosd to >> * decide when to sync. Otherwise we turn it on automatically >> */ >> diff --git a/code/triton-config.h.in b/code/triton-config.h.in >> index f2b1def..6685feb 100644 >> --- a/code/triton-config.h.in >> +++ b/code/triton-config.h.in >> @@ -1,8 +1,5 @@ >> /* triton-config.h.in. Generated from configure.ac by autoheader. >> */ >> >> -/* Define if building universal (internal helper macro) */ >> -#undef AC_APPLE_UNIVERSAL_BUILD >> - >> /* Define if third param (message) to DB error callback function is >> const */ >> #undef HAVE_CONST_THIRD_PARAMETER_TO_DB_ERROR_CALLBACK >> >> @@ -24,6 +21,12 @@ >> /* Define to 1 if you have the <memory.h> header file. */ >> #undef HAVE_MEMORY_H >> >> +/* Define if O_NOATIME exists */ >> +#undef HAVE_NOATIME >> + >> +/* Define if O_DIRECT exists */ >> +#undef HAVE_ODIRECT >> + >> /* Define to 1 if you have the <stdint.h> header file. */ >> #undef HAVE_STDINT_H >> >> @@ -66,9 +69,6 @@ >> /* Define to the one symbol short name of this package. */ >> #undef PACKAGE_TARNAME >> >> -/* Define to the home page for this package. */ >> -#undef PACKAGE_URL >> - >> /* Define to the version of this package. */ >> #undef PACKAGE_VERSION >> >> @@ -90,14 +90,6 @@ >> /* sub version number */ >> #undef TRITON_VERSION_SUB >> >> -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with >> the most >> - significant byte first (like Motorola and SPARC, unlike Intel). >> */ >> -#if defined AC_APPLE_UNIVERSAL_BUILD >> -# if defined __BIG_ENDIAN__ >> -# define WORDS_BIGENDIAN 1 >> -# endif >> -#else >> -# ifndef WORDS_BIGENDIAN >> -# undef WORDS_BIGENDIAN >> -# endif >> -#endif >> +/* Define to 1 if your processor stores words with the most >> significant byte >> + first (like Motorola and SPARC, unlike Intel and VAX). */ >> +#undef WORDS_BIGENDIAN >> >> >> hooks/post-receive >> -- >> Triton Repository >> _______________________________________________ >> triton-commits mailing list >> [email protected] >> https://lists.mcs.anl.gov/mailman/listinfo/triton-commits >
participants (3)
-
noreply@mcs.anl.gov -
Rob Ross -
Sam Lang