diff --git a/dependencies/archives/sparsehash.patch b/dependencies/archives/sparsehash.patch index 58d9648e2e..8c3e5f597d 100644 --- a/dependencies/archives/sparsehash.patch +++ b/dependencies/archives/sparsehash.patch @@ -1,18699 +1,45 @@ -diff -u -r ./aclocal.m4 ../../../../sparsehash/aclocal.m4 ---- ./aclocal.m4 2014-03-24 21:08:08.315847724 +0100 -+++ ../../../../sparsehash/aclocal.m4 1980-01-01 00:00:00.000000000 +0100 -@@ -1,7 +1,7 @@ --# generated automatically by aclocal 1.11.1 -*- Autoconf -*- -+# generated automatically by aclocal 1.10.1 -*- Autoconf -*- - - # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, --# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -+# 2005, 2006, 2007, 2008 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,13 +13,13 @@ - - m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl --m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, --[m4_warning([this file was generated for autoconf 2.68. -+m4_if(AC_AUTOCONF_VERSION, [2.62],, -+[m4_warning([this file was generated for autoconf 2.62. - You have another version of autoconf. It may work, but is not guaranteed to. - If you have problems, you may need to regenerate the build system entirely. - To do so, use the procedure documented by the package, typically `autoreconf'.])]) - --# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -+# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. - # - # This file is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, -@@ -31,10 +31,10 @@ - # generated from the m4 files accompanying Automake X.Y. - # (This private macro should not be called outside this file.) - AC_DEFUN([AM_AUTOMAKE_VERSION], --[am__api_version='1.11' -+[am__api_version='1.10' - dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to - dnl require some minimum version. Point them to the right macro. --m4_if([$1], [1.11.1], [], -+m4_if([$1], [1.10.1], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl - ]) - -@@ -48,12 +48,12 @@ - # AM_SET_CURRENT_AUTOMAKE_VERSION - # ------------------------------- - # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. --# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. - AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], --[AM_AUTOMAKE_VERSION([1.11.1])dnl -+[AM_AUTOMAKE_VERSION([1.10.1])dnl - m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl --_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -+_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)]) - - # AM_AUX_DIR_EXPAND -*- Autoconf -*- - -@@ -110,14 +110,14 @@ - - # AM_CONDITIONAL -*- Autoconf -*- - --# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 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. - --# serial 9 -+# serial 8 - - # AM_CONDITIONAL(NAME, SHELL-CONDITION) - # ------------------------------------- -@@ -130,7 +130,6 @@ - AC_SUBST([$1_FALSE])dnl - _AM_SUBST_NOTMAKE([$1_TRUE])dnl - _AM_SUBST_NOTMAKE([$1_FALSE])dnl --m4_define([_AM_COND_VALUE_$1], [$2])dnl - if $2; then - $1_TRUE= - $1_FALSE='#' -@@ -144,14 +143,14 @@ - Usually this means the macro was only invoked conditionally.]]) - fi])]) - --# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 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. - --# serial 10 -+# serial 9 - - # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be - # written in clear, in which case automake, when reading aclocal.m4, -@@ -208,16 +207,6 @@ - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi -- am__universal=false -- m4_case([$1], [CC], -- [case " $depcc " in #( -- *\ -arch\ *\ -arch\ *) am__universal=true ;; -- esac], -- [CXX], -- [case " $depcc " in #( -- *\ -arch\ *\ -arch\ *) am__universal=true ;; -- esac]) -- - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and -@@ -235,17 +224,7 @@ - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - -- # We check with `-c' and `-o' for the sake of the "dashmstdout" -- # mode. It turns out that the SunPro C++ compiler does not properly -- # handle `-M -o', and we need to detect this. Also, some Intel -- # versions had trouble with output in subdirs -- am__obj=sub/conftest.${OBJEXT-o} -- am__minus_obj="-o $am__obj" - case $depmode in -- gcc) -- # This depmode causes a compiler race in universal mode. -- test "$am__universal" = false || continue -- ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested -@@ -255,23 +234,19 @@ - break - fi - ;; -- msvisualcpp | msvcmsys) -- # This compiler won't grok `-c -o', but also, the minuso test has -- # not run yet. These depmodes are late enough in the game, and -- # so weak that their functioning should not be impacted. -- am__obj=conftest.${OBJEXT-o} -- am__minus_obj= -- ;; - none) break ;; - esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. - if depmode=$depmode \ -- source=sub/conftest.c object=$am__obj \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -- grep $am__obj sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message -@@ -328,68 +303,57 @@ - - # Generate code to set up dependency tracking. -*- Autoconf -*- - --# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 - # Free Software Foundation, Inc. - # - # This file is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. - --#serial 5 -+#serial 3 - - # _AM_OUTPUT_DEPENDENCY_COMMANDS - # ------------------------------ - AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], --[{ -- # Autoconf 2.62 quotes --file arguments for eval, but not when files -- # are listed without --file. Let's play safe and only enable the eval -- # if we detect the quoting. -- case $CONFIG_FILES in -- *\'*) eval set x "$CONFIG_FILES" ;; -- *) set x $CONFIG_FILES ;; -- esac -- shift -- for mf -- do -- # Strip MF so we end up with the name of the file. -- mf=`echo "$mf" | sed -e 's/:.*$//'` -- # Check whether this is an Automake generated Makefile or not. -- # We used to match only the files named `Makefile.in', but -- # some people rename them; so instead we look at the file content. -- # Grep'ing the first line is not enough: some people post-process -- # each Makefile.in and add a new line on top of each file to say so. -- # Grep'ing the whole file is not good either: AIX grep has a line -- # limit of 2048, but all sed's we know have understand at least 4000. -- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then -- dirpart=`AS_DIRNAME("$mf")` -- else -- continue -- fi -- # Extract the definition of DEPDIR, am__include, and am__quote -- # from the Makefile without running `make'. -- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -- test -z "$DEPDIR" && continue -- am__include=`sed -n 's/^am__include = //p' < "$mf"` -- test -z "am__include" && continue -- am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -- # When using ansi2knr, U may be empty or an underscore; expand it -- U=`sed -n 's/^U = //p' < "$mf"` -- # Find all dependency output files, they are included files with -- # $(DEPDIR) in their names. We invoke sed twice because it is the -- # simplest approach to changing $(DEPDIR) to its actual value in the -- # expansion. -- for file in `sed -n " -- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -- # Make sure the directory exists. -- test -f "$dirpart/$file" && continue -- fdir=`AS_DIRNAME(["$file"])` -- AS_MKDIR_P([$dirpart/$fdir]) -- # echo "creating $dirpart/$file" -- echo '# dummy' > "$dirpart/$file" -- done -+[for mf in $CONFIG_FILES; do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # Grep'ing the whole file is not good either: AIX grep has a line -+ # limit of 2048, but all sed's we know have understand at least 4000. -+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then -+ dirpart=`AS_DIRNAME("$mf")` -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`AS_DIRNAME(["$file"])` -+ AS_MKDIR_P([$dirpart/$fdir]) -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" - done --} -+done - ])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -@@ -421,13 +385,13 @@ - # Do all the work for Automake. -*- Autoconf -*- - - # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, --# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. -+# 2005, 2006, 2008 Free Software Foundation, Inc. - # - # This file is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. - --# serial 16 -+# serial 13 - - # This macro actually does too much. Some checks are only needed if - # your package does certain things. But this isn't really a big deal. -@@ -444,7 +408,7 @@ - # arguments mandatory, and then we can depend on a new Autoconf - # release and drop the old call support. - AC_DEFUN([AM_INIT_AUTOMAKE], --[AC_PREREQ([2.62])dnl -+[AC_PREREQ([2.60])dnl - dnl Autoconf wants to disallow AM_ names. We explicitly allow - dnl the ones we care about. - m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -@@ -495,8 +459,8 @@ - AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) - AM_MISSING_PROG(AUTOHEADER, autoheader) - AM_MISSING_PROG(MAKEINFO, makeinfo) --AC_REQUIRE([AM_PROG_INSTALL_SH])dnl --AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -+AM_PROG_INSTALL_SH -+AM_PROG_INSTALL_STRIP - AC_REQUIRE([AM_PROG_MKDIR_P])dnl - # We need awk for the "check" target. The system "awk" is bad on - # some platforms. -@@ -504,36 +468,23 @@ - AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AM_SET_LEADING_DOT])dnl - _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], -- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], -- [_AM_PROG_TAR([v7])])]) -+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], -+ [_AM_PROG_TAR([v7])])]) - _AM_IF_OPTION([no-dependencies],, - [AC_PROVIDE_IFELSE([AC_PROG_CC], -- [_AM_DEPENDENCIES(CC)], -- [define([AC_PROG_CC], -- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -+ [_AM_DEPENDENCIES(CC)], -+ [define([AC_PROG_CC], -+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl - AC_PROVIDE_IFELSE([AC_PROG_CXX], -- [_AM_DEPENDENCIES(CXX)], -- [define([AC_PROG_CXX], -- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -+ [_AM_DEPENDENCIES(CXX)], -+ [define([AC_PROG_CXX], -+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl - AC_PROVIDE_IFELSE([AC_PROG_OBJC], -- [_AM_DEPENDENCIES(OBJC)], -- [define([AC_PROG_OBJC], -- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl --]) --_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl --dnl The `parallel-tests' driver may need to know about EXEEXT, so add the --dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro --dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. --AC_CONFIG_COMMANDS_PRE(dnl --[m4_provide_if([_AM_COMPILER_EXEEXT], -- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl --]) -- --dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not --dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further --dnl mangled by Autoconf and run in a shell conditional statement. --m4_define([_AC_COMPILER_EXEEXT], --m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) -+ [_AM_DEPENDENCIES(OBJC)], -+ [define([AC_PROG_OBJC], -+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -+]) -+]) - - - # When config.status generates a header, we must update the stamp-h file. -@@ -557,7 +508,7 @@ - done - echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - --# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. -+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. - # - # This file is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, -@@ -568,14 +519,7 @@ - # Define $install_sh. - AC_DEFUN([AM_PROG_INSTALL_SH], - [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl --if test x"${install_sh}" != xset; then -- case $am_aux_dir in -- *\ * | *\ *) -- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; -- *) -- install_sh="\${SHELL} $am_aux_dir/install-sh" -- esac --fi -+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} - AC_SUBST(install_sh)]) - - # Copyright (C) 2003, 2005 Free Software Foundation, Inc. -@@ -601,13 +545,13 @@ - - # Check to see how 'make' treats includes. -*- Autoconf -*- - --# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. -+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. - # - # This file is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. - --# serial 4 -+# serial 3 - - # AM_MAKE_INCLUDE() - # ----------------- -@@ -616,7 +560,7 @@ - [am_make=${MAKE-make} - cat > confinc << 'END' - am__doit: -- @echo this is the am__doit target -+ @echo done - .PHONY: am__doit - END - # If we don't find an include directive, just comment out the code. -@@ -626,24 +570,24 @@ - _am_result=none - # First try GNU make style include. - echo "include confinc" > confmf --# Ignore all kinds of additional output from `make'. --case `$am_make -s -f confmf 2> /dev/null` in #( --*the\ am__doit\ target*) -- am__include=include -- am__quote= -- _am_result=GNU -- ;; --esac -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi - # Now try BSD make style include. - if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf -- case `$am_make -s -f confmf 2> /dev/null` in #( -- *the\ am__doit\ target*) -- am__include=.include -- am__quote="\"" -- _am_result=BSD -- ;; -- esac -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ fi - fi - AC_SUBST([am__include]) - AC_SUBST([am__quote]) -@@ -653,14 +597,14 @@ - - # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - --# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 - # Free Software Foundation, Inc. - # - # This file is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. - --# serial 6 -+# serial 5 - - # AM_MISSING_PROG(NAME, PROGRAM) - # ------------------------------ -@@ -677,14 +621,7 @@ - AC_DEFUN([AM_MISSING_HAS_RUN], - [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl - AC_REQUIRE_AUX_FILE([missing])dnl --if test x"${MISSING+set}" != xset; then -- case $am_aux_dir in -- *\ * | *\ *) -- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; -- *) -- MISSING="\${SHELL} $am_aux_dir/missing" ;; -- esac --fi -+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" - # Use eval to expand $SHELL - if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -@@ -722,13 +659,13 @@ - - # Helper functions for option handling. -*- Autoconf -*- - --# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. -+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. - # - # This file is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. - --# serial 4 -+# serial 3 - - # _AM_MANGLE_OPTION(NAME) - # ----------------------- -@@ -745,7 +682,7 @@ - # ---------------------------------- - # OPTIONS is a space-separated list of Automake options. - AC_DEFUN([_AM_SET_OPTIONS], --[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) -+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - - # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) - # ------------------------------------------- -@@ -755,14 +692,14 @@ - - # Check to make sure that the build environment is sane. -*- Autoconf -*- - --# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 - # Free Software Foundation, Inc. - # - # This file is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. - --# serial 5 -+# serial 4 - - # AM_SANITY_CHECK - # --------------- -@@ -771,29 +708,16 @@ - # Just in case - sleep 1 - echo timestamp > conftest.file --# Reject unsafe characters in $srcdir or the absolute working directory --# name. Accept space and tab only in the latter. --am_lf=' --' --case `pwd` in -- *[[\\\"\#\$\&\'\`$am_lf]]*) -- AC_MSG_ERROR([unsafe absolute working directory name]);; --esac --case $srcdir in -- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) -- AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; --esac -- - # Do `set' in a subshell so we don't clobber the current shell's - # arguments. Must try -L first in case configure is actually a - # symlink; some systems play weird games with the mod time of symlinks - # (eg FreeBSD returns the mod time of the symlink's containing - # directory). - if ( -- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` -+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. -- set X `ls -t "$srcdir/configure" conftest.file` -+ set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ -@@ -846,25 +770,18 @@ - INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - AC_SUBST([INSTALL_STRIP_PROGRAM])]) - --# Copyright (C) 2006, 2008 Free Software Foundation, Inc. -+# Copyright (C) 2006 Free Software Foundation, Inc. - # - # This file is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. - --# serial 2 -- - # _AM_SUBST_NOTMAKE(VARIABLE) - # --------------------------- - # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. - # This macro is traced by Automake. - AC_DEFUN([_AM_SUBST_NOTMAKE]) - --# AM_SUBST_NOTMAKE(VARIABLE) --# --------------------------- --# Public sister of _AM_SUBST_NOTMAKE. --AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) -- - # Check how to create a tarball. -*- Autoconf -*- - - # Copyright (C) 2004, 2005 Free Software Foundation, Inc. -Only in .: autom4te.cache -diff -u -r ./ChangeLog ../../../../sparsehash/ChangeLog ---- ./ChangeLog 2014-02-10 13:15:25.876132247 +0100 -+++ ../../../../sparsehash/ChangeLog 1980-01-01 00:00:00.000000000 +0100 -@@ -1,13 +1,3 @@ --Thu Feb 23 23:47:18 2012 Google Inc. -- -- * sparsehash: version 2.0.2 -- * BUGFIX: Fix backwards compatibility for include folders -- --Wed Feb 01 02:57:48 2012 Google Inc. -- -- * sparsehash: version 2.0.1 -- * BUGFIX: Fix path to malloc_extension.h in time_hash_map.cc -- - Tue Jan 31 11:33:04 2012 Google Inc. - - * sparsehash: version 2.0 -Only in .: compile -diff -u -r ./config.guess ../../../../sparsehash/config.guess ---- ./config.guess 2014-03-24 21:08:08.315847724 +0100 -+++ ../../../../sparsehash/config.guess 1980-01-01 00:00:00.000000000 +0100 -@@ -1,10 +1,10 @@ - #! /bin/sh - # Attempt to guess a canonical system name. - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, --# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, --# 2011 Free Software Foundation, Inc. -+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -+# Free Software Foundation, Inc. - --timestamp='2011-05-11' -+timestamp='2008-01-08' - - # This file is free software; you can redistribute it and/or modify it - # under the terms of the GNU General Public License as published by -@@ -27,16 +27,16 @@ - # the same distribution terms that you use for the rest of that program. - - --# Originally written by Per Bothner. Please send patches (context --# diff format) to and include a ChangeLog --# entry. -+# Originally written by Per Bothner . -+# Please send patches to . Submit a context -+# diff and a properly formatted ChangeLog entry. - # - # This script attempts to guess a canonical system name similar to - # config.sub. If it succeeds, it prints the system name on stdout, and - # exits with 0. Otherwise, it exits with 1. - # --# You can get the latest version of this script from: --# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD -+# The plan is that this can be called by configure scripts if you -+# don't specify an explicit build system type. - - me=`echo "$0" | sed -e 's,.*/,,'` - -@@ -56,9 +56,8 @@ - GNU config.guess ($timestamp) - - Originally written by Per Bothner. --Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, --2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free --Software Foundation, Inc. -+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - - This is free software; see the source for copying conditions. There is NO - warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." -@@ -171,7 +170,7 @@ - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ -- | grep -q __ELF__ -+ | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? -@@ -181,7 +180,7 @@ - fi - ;; - *) -- os=netbsd -+ os=netbsd - ;; - esac - # The OS release -@@ -224,7 +223,7 @@ - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) -- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` -+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on -@@ -270,10 +269,7 @@ - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` -- # Reset EXIT trap before exiting to avoid spurious non-zero exit code. -- exitcode=$? -- trap '' 0 -- exit $exitcode ;; -+ exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead -@@ -299,7 +295,7 @@ - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) -- echo powerpc-ibm-os400 -+ echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} -@@ -328,33 +324,14 @@ - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; -- s390x:SunOS:*:*) -- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -- exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; -- i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) -- echo i386-pc-auroraux${UNAME_RELEASE} -- exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) -- eval $set_cc_for_build -- SUN_ARCH="i386" -- # If there is a compiler, see if it is configured for 64-bit objects. -- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. -- # This test works for both compilers. -- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then -- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ -- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ -- grep IS_64BIT_ARCH >/dev/null -- then -- SUN_ARCH="x86_64" -- fi -- fi -- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -+ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize -@@ -398,23 +375,23 @@ - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) -- echo m68k-atari-mint${UNAME_RELEASE} -+ echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} -- exit ;; -+ exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) -- echo m68k-atari-mint${UNAME_RELEASE} -+ echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) -- echo m68k-milan-mint${UNAME_RELEASE} -- exit ;; -+ echo m68k-milan-mint${UNAME_RELEASE} -+ exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) -- echo m68k-hades-mint${UNAME_RELEASE} -- exit ;; -+ echo m68k-hades-mint${UNAME_RELEASE} -+ exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) -- echo m68k-unknown-mint${UNAME_RELEASE} -- exit ;; -+ echo m68k-unknown-mint${UNAME_RELEASE} -+ exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; -@@ -484,8 +461,8 @@ - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) -- # DG/UX returns AViiON for all architectures -- UNAME_PROCESSOR=`/usr/bin/uname -p` -+ # DG/UX returns AViiON for all architectures -+ UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ -@@ -498,7 +475,7 @@ - else - echo i586-dg-dgux${UNAME_RELEASE} - fi -- exit ;; -+ exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; -@@ -555,7 +532,7 @@ - echo rs6000-ibm-aix3.2 - fi - exit ;; -- *:AIX:*:[4567]) -+ *:AIX:*:[456]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 -@@ -598,52 +575,52 @@ - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` -- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` -- case "${sc_cpu_version}" in -- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 -- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 -- 532) # CPU_PA_RISC2_0 -- case "${sc_kernel_bits}" in -- 32) HP_ARCH="hppa2.0n" ;; -- 64) HP_ARCH="hppa2.0w" ;; -+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` -+ case "${sc_cpu_version}" in -+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 -+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 -+ 532) # CPU_PA_RISC2_0 -+ case "${sc_kernel_bits}" in -+ 32) HP_ARCH="hppa2.0n" ;; -+ 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 -- esac ;; -- esac -+ esac ;; -+ esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build -- sed 's/^ //' << EOF >$dummy.c -- -- #define _HPUX_SOURCE -- #include -- #include -- -- int main () -- { -- #if defined(_SC_KERNEL_BITS) -- long bits = sysconf(_SC_KERNEL_BITS); -- #endif -- long cpu = sysconf (_SC_CPU_VERSION); -+ sed 's/^ //' << EOF >$dummy.c - -- switch (cpu) -- { -- case CPU_PA_RISC1_0: puts ("hppa1.0"); break; -- case CPU_PA_RISC1_1: puts ("hppa1.1"); break; -- case CPU_PA_RISC2_0: -- #if defined(_SC_KERNEL_BITS) -- switch (bits) -- { -- case 64: puts ("hppa2.0w"); break; -- case 32: puts ("hppa2.0n"); break; -- default: puts ("hppa2.0"); break; -- } break; -- #else /* !defined(_SC_KERNEL_BITS) */ -- puts ("hppa2.0"); break; -- #endif -- default: puts ("hppa1.0"); break; -- } -- exit (0); -- } -+ #define _HPUX_SOURCE -+ #include -+ #include -+ -+ int main () -+ { -+ #if defined(_SC_KERNEL_BITS) -+ long bits = sysconf(_SC_KERNEL_BITS); -+ #endif -+ long cpu = sysconf (_SC_CPU_VERSION); -+ -+ switch (cpu) -+ { -+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break; -+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break; -+ case CPU_PA_RISC2_0: -+ #if defined(_SC_KERNEL_BITS) -+ switch (bits) -+ { -+ case 64: puts ("hppa2.0w"); break; -+ case 32: puts ("hppa2.0n"); break; -+ default: puts ("hppa2.0"); break; -+ } break; -+ #else /* !defined(_SC_KERNEL_BITS) */ -+ puts ("hppa2.0"); break; -+ #endif -+ default: puts ("hppa1.0"); break; -+ } -+ exit (0); -+ } - EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa -@@ -663,7 +640,7 @@ - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | -- grep -q __LP64__ -+ grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else -@@ -734,22 +711,22 @@ - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd -- exit ;; -+ exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi -- exit ;; -+ exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd -- exit ;; -+ exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd -- exit ;; -+ exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd -- exit ;; -+ exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; -@@ -773,14 +750,14 @@ - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` -- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` -- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` -- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" -- exit ;; -+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` -+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` -+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" -+ exit ;; - 5000:UNIX_System_V:4.*:*) -- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` -- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` -- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" -+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` -+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` -+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} -@@ -808,18 +785,18 @@ - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) -- # uname -m includes "-pc" on this system. -- echo ${UNAME_MACHINE}-mingw32 -+ # uname -m includes "-pc" on this system. -+ echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; -- *:Interix*:*) -- case ${UNAME_MACHINE} in -+ *:Interix*:[3456]*) -+ case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; -- authenticamd | genuineintel | EM64T) -+ EM64T | authenticamd) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) -@@ -829,9 +806,6 @@ - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; -- 8664:Windows_NT:*) -- echo x86_64-pc-mks -- exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we -@@ -861,20 +835,6 @@ - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; -- alpha:Linux:*:*) -- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in -- EV5) UNAME_MACHINE=alphaev5 ;; -- EV56) UNAME_MACHINE=alphaev56 ;; -- PCA56) UNAME_MACHINE=alphapca56 ;; -- PCA57) UNAME_MACHINE=alphapca56 ;; -- EV6) UNAME_MACHINE=alphaev6 ;; -- EV67) UNAME_MACHINE=alphaev67 ;; -- EV68*) UNAME_MACHINE=alphaev68 ;; -- esac -- objdump --private-headers /bin/sh | grep -q ld.so.1 -- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi -- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} -- exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ -@@ -882,13 +842,7 @@ - then - echo ${UNAME_MACHINE}-unknown-linux-gnu - else -- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ -- | grep -q __ARM_PCS_VFP -- then -- echo ${UNAME_MACHINE}-unknown-linux-gnueabi -- else -- echo ${UNAME_MACHINE}-unknown-linux-gnueabihf -- fi -+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi - fi - exit ;; - avr32*:Linux:*:*) -@@ -901,18 +855,7 @@ - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) -- echo frv-unknown-linux-gnu -- exit ;; -- i*86:Linux:*:*) -- LIBC=gnu -- eval $set_cc_for_build -- sed 's/^ //' << EOF >$dummy.c -- #ifdef __dietlibc__ -- LIBC=dietlibc -- #endif --EOF -- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` -- echo "${UNAME_MACHINE}-pc-linux-${LIBC}" -+ echo frv-unknown-linux-gnu - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu -@@ -923,33 +866,74 @@ - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -- mips:Linux:*:* | mips64:Linux:*:*) -+ mips:Linux:*:*) -+ eval $set_cc_for_build -+ sed 's/^ //' << EOF >$dummy.c -+ #undef CPU -+ #undef mips -+ #undef mipsel -+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) -+ CPU=mipsel -+ #else -+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) -+ CPU=mips -+ #else -+ CPU= -+ #endif -+ #endif -+EOF -+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' -+ /^CPU/{ -+ s: ::g -+ p -+ }'`" -+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } -+ ;; -+ mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU -- #undef ${UNAME_MACHINE} -- #undef ${UNAME_MACHINE}el -+ #undef mips64 -+ #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) -- CPU=${UNAME_MACHINE}el -+ CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) -- CPU=${UNAME_MACHINE} -+ CPU=mips64 - #else - CPU= - #endif - #endif - EOF -- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` -+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' -+ /^CPU/{ -+ s: ::g -+ p -+ }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; -- padre:Linux:*:*) -- echo sparc-unknown-linux-gnu -+ ppc:Linux:*:*) -+ echo powerpc-unknown-linux-gnu - exit ;; -- parisc64:Linux:*:* | hppa64:Linux:*:*) -- echo hppa64-unknown-linux-gnu -+ ppc64:Linux:*:*) -+ echo powerpc64-unknown-linux-gnu -+ exit ;; -+ alpha:Linux:*:*) -+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in -+ EV5) UNAME_MACHINE=alphaev5 ;; -+ EV56) UNAME_MACHINE=alphaev56 ;; -+ PCA56) UNAME_MACHINE=alphapca56 ;; -+ PCA57) UNAME_MACHINE=alphapca56 ;; -+ EV6) UNAME_MACHINE=alphaev6 ;; -+ EV67) UNAME_MACHINE=alphaev67 ;; -+ EV68*) UNAME_MACHINE=alphaev68 ;; -+ esac -+ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null -+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi -+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level -@@ -959,17 +943,14 @@ - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; -- ppc64:Linux:*:*) -- echo powerpc64-unknown-linux-gnu -- exit ;; -- ppc:Linux:*:*) -- echo powerpc-unknown-linux-gnu -+ parisc64:Linux:*:* | hppa64:Linux:*:*) -+ echo hppa64-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu -@@ -977,9 +958,6 @@ - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -- tile*:Linux:*:*) -- echo ${UNAME_MACHINE}-tilera-linux-gnu -- exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; -@@ -987,8 +965,71 @@ - echo x86_64-unknown-linux-gnu - exit ;; - xtensa*:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -+ i*86:Linux:*:*) -+ # The BFD linker knows what the default object file format is, so -+ # first see if it will tell us. cd to the root directory to prevent -+ # problems with other programs or directories called `ld' in the path. -+ # Set LC_ALL=C to ensure ld outputs messages in English. -+ ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ -+ | sed -ne '/supported targets:/!d -+ s/[ ][ ]*/ /g -+ s/.*supported targets: *// -+ s/ .*// -+ p'` -+ case "$ld_supported_targets" in -+ elf32-i386) -+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" -+ ;; -+ a.out-i386-linux) -+ echo "${UNAME_MACHINE}-pc-linux-gnuaout" -+ exit ;; -+ coff-i386) -+ echo "${UNAME_MACHINE}-pc-linux-gnucoff" -+ exit ;; -+ "") -+ # Either a pre-BFD a.out linker (linux-gnuoldld) or -+ # one that does not give us useful --help. -+ echo "${UNAME_MACHINE}-pc-linux-gnuoldld" -+ exit ;; -+ esac -+ # Determine whether the default compiler is a.out or elf -+ eval $set_cc_for_build -+ sed 's/^ //' << EOF >$dummy.c -+ #include -+ #ifdef __ELF__ -+ # ifdef __GLIBC__ -+ # if __GLIBC__ >= 2 -+ LIBC=gnu -+ # else -+ LIBC=gnulibc1 -+ # endif -+ # else -+ LIBC=gnulibc1 -+ # endif -+ #else -+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -+ LIBC=gnu -+ #else -+ LIBC=gnuaout -+ #endif -+ #endif -+ #ifdef __dietlibc__ -+ LIBC=dietlibc -+ #endif -+EOF -+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' -+ /^LIBC/{ -+ s: ::g -+ p -+ }'`" -+ test x"${LIBC}" != x && { -+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}" -+ exit -+ } -+ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } -+ ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both -@@ -996,11 +1037,11 @@ - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) -- # Unixware is an offshoot of SVR4, but it has its own version -- # number series starting with 2... -- # I am not positive that other SVR4 systems won't match this, -+ # Unixware is an offshoot of SVR4, but it has its own version -+ # number series starting with 2... -+ # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. -- # Use sysv4.2uw... so that sysv4* matches it. -+ # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) -@@ -1017,7 +1058,7 @@ - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; -- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) -+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) -@@ -1032,7 +1073,7 @@ - fi - exit ;; - i*86:*:5:[678]*) -- # UnixWare 7.x, OpenUNIX and OpenServer 6. -+ # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; -@@ -1060,13 +1101,10 @@ - exit ;; - pc:*:*:*) - # Left here for compatibility: -- # uname -m prints for DJGPP always 'pc', but it prints nothing about -- # the processor, so we play safe by assuming i586. -- # Note: whatever this is, it MUST be the same as what config.sub -- # prints for the "djgpp" host, or else GDB configury will decide that -- # this is a cross-build. -- echo i586-pc-msdosdjgpp -- exit ;; -+ # uname -m prints for DJGPP always 'pc', but it prints nothing about -+ # the processor, so we play safe by assuming i386. -+ echo i386-pc-msdosdjgpp -+ exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; -@@ -1101,18 +1139,8 @@ - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) -- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ -- && { echo i486-ncr-sysv4; exit; } ;; -- NCR*:*:4.2:* | MPRAS*:*:4.2:*) -- OS_REL='.3' -- test -r /etc/.relid \ -- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` -- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ -- && { echo i486-ncr-sysv4.3${OS_REL}; exit; } -- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ -- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } -- /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ -- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; -+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ -+ && { echo i486-ncr-sysv4; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; -@@ -1125,7 +1153,7 @@ - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; -- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) -+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) -@@ -1145,10 +1173,10 @@ - echo ns32k-sni-sysv - fi - exit ;; -- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort -- # says -- echo i586-unisys-sysv4 -- exit ;; -+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort -+ # says -+ echo i586-unisys-sysv4 -+ exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm -@@ -1174,11 +1202,11 @@ - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then -- echo mips-nec-sysv${UNAME_RELEASE} -+ echo mips-nec-sysv${UNAME_RELEASE} - else -- echo mips-unknown-sysv${UNAME_RELEASE} -+ echo mips-unknown-sysv${UNAME_RELEASE} - fi -- exit ;; -+ exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; -@@ -1188,9 +1216,6 @@ - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; -- BePC:Haiku:*:*) # Haiku running on Intel PC compatible. -- echo i586-pc-haiku -- exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; -@@ -1218,16 +1243,6 @@ - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in -- i386) -- eval $set_cc_for_build -- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then -- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ -- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ -- grep IS_64BIT_ARCH >/dev/null -- then -- UNAME_PROCESSOR="x86_64" -- fi -- fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} -@@ -1243,9 +1258,6 @@ - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; -- NEO-?:NONSTOP_KERNEL:*:*) -- echo neo-tandem-nsk${UNAME_RELEASE} -- exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; -@@ -1291,13 +1303,13 @@ - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) -- echo mips-sei-seiux${UNAME_RELEASE} -+ echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) -- UNAME_MACHINE=`(uname -p) 2>/dev/null` -+ UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; -@@ -1312,9 +1324,6 @@ - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; -- i*86:AROS:*:*) -- echo ${UNAME_MACHINE}-pc-aros -- exit ;; - esac - - #echo '(No uname command or uname output not recognized.)' 1>&2 -@@ -1337,11 +1346,11 @@ - #include - printf ("m68k-sony-newsos%s\n", - #ifdef NEWSOS4 -- "4" -+ "4" - #else -- "" -+ "" - #endif -- ); exit (0); -+ ); exit (0); - #endif - #endif - -@@ -1475,9 +1484,9 @@ - the operating system you are using. It is advised that you - download the most up to date version of the config scripts from - -- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD -+ http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess - and -- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD -+ http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub - - If the version you run ($0) is already up to date, please - send the following data and any information you think might be -diff -u -r ./config.sub ../../../../sparsehash/config.sub ---- ./config.sub 2014-03-24 21:08:08.325847803 +0100 -+++ ../../../../sparsehash/config.sub 1980-01-01 00:00:00.000000000 +0100 -@@ -1,10 +1,10 @@ - #! /bin/sh - # Configuration validation subroutine script. - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, --# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, --# 2011 Free Software Foundation, Inc. -+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -+# Free Software Foundation, Inc. - --timestamp='2011-03-23' -+timestamp='2008-01-16' - - # This file is (in principle) common to ALL GNU software. - # The presence of a machine in this file suggests that SOME GNU software -@@ -32,16 +32,13 @@ - - - # Please send patches to . Submit a context --# diff and a properly formatted GNU ChangeLog entry. -+# diff and a properly formatted ChangeLog entry. - # - # Configuration subroutine to validate and canonicalize a configuration type. - # Supply the specified configuration type as an argument. - # If it is invalid, we print an error message on stderr and exit with code 1. - # Otherwise, we print the canonical config type on stdout and succeed. - --# You can get the latest version of this script from: --# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD -- - # This file is supposed to be the same for all GNU packages - # and recognize all the CPU types, system types and aliases - # that are meaningful with *any* GNU software. -@@ -75,9 +72,8 @@ - version="\ - GNU config.sub ($timestamp) - --Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, --2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free --Software Foundation, Inc. -+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - - This is free software; see the source for copying conditions. There is NO - warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." -@@ -124,10 +120,8 @@ - # Here we must recognize all the valid KERNEL-OS combinations. - maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` - case $maybe_os in -- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ -- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ -- knetbsd*-gnu* | netbsd*-gnu* | \ -- kopensolaris*-gnu* | \ -+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ -+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` -@@ -154,13 +148,10 @@ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -- -apple | -axis | -knuth | -cray | -microblaze) -+ -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; -- -bluegene*) -- os=-cnk -- ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 -@@ -175,10 +166,10 @@ - os=-chorusos - basic_machine=$1 - ;; -- -chorusrdb) -- os=-chorusrdb -+ -chorusrdb) -+ os=-chorusrdb - basic_machine=$1 -- ;; -+ ;; - -hiux*) - os=-hiuxwe2 - ;; -@@ -258,16 +249,13 @@ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ -- | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ -- | maxq | mb | microblaze | mcore | mep | metag \ -+ | maxq | mb | microblaze | mcore | mep \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ -- | mips64octeon | mips64octeonel \ -- | mips64orion | mips64orionel \ -- | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ -+ | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ -@@ -280,42 +268,28 @@ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ -- | moxie \ - | mt \ - | msp430 \ -- | nds32 | nds32le | nds32be \ - | nios | nios2 \ - | ns16k | ns32k \ -- | open8 \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ -- | powerpc | powerpc64 | powerpc64le | powerpcle \ -+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ -- | rx \ - | score \ -- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ -+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ -- | spu \ -- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ -- | ubicom32 \ -+ | spu | strongarm \ -+ | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ -- | x86 | xc16x | xstormy16 | xtensa \ -- | z8k | z80) -+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ -+ | z8k) - basic_machine=$basic_machine-unknown - ;; -- c54x) -- basic_machine=tic54x-unknown -- ;; -- c55x) -- basic_machine=tic55x-unknown -- ;; -- c6x) -- basic_machine=tic6x-unknown -- ;; -- m6811 | m68hc11 | m6812 | m68hc12 | picochip) -+ m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none -@@ -326,18 +300,6 @@ - basic_machine=mt-unknown - ;; - -- strongarm | thumb | xscale) -- basic_machine=arm-unknown -- ;; -- -- xscaleeb) -- basic_machine=armeb-unknown -- ;; -- -- xscaleel) -- basic_machine=armel-unknown -- ;; -- - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. -@@ -358,7 +320,7 @@ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ -- | c[123]* | c30-* | [cjt]90-* | c4x-* \ -+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ -@@ -367,17 +329,14 @@ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ -- | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ -- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ -+ | m88110-* | m88k-* | maxq-* | mcore-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ -- | mips64octeon-* | mips64octeonel-* \ -- | mips64orion-* | mips64orionel-* \ -- | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ -+ | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ -@@ -392,31 +351,27 @@ - | mmix-* \ - | mt-* \ - | msp430-* \ -- | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ -- | open8-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ -- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ -+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ -- | romp-* | rs6000-* | rx-* \ -- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ -+ | romp-* | rs6000-* \ -+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ -- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ -- | tahoe-* \ -+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ -+ | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ -- | tile-* | tilegx-* \ - | tron-* \ -- | ubicom32-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ -- | x86-* | x86_64-* | xc16x-* | xps100-* \ -+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ -- | z8k-* | z80-*) -+ | z8k-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) -@@ -438,7 +393,7 @@ - basic_machine=a29k-amd - os=-udi - ;; -- abacus) -+ abacus) - basic_machine=abacus-unknown - ;; - adobe68k) -@@ -484,10 +439,6 @@ - basic_machine=m68k-apollo - os=-bsd - ;; -- aros) -- basic_machine=i386-pc -- os=-aros -- ;; - aux) - basic_machine=m68k-apple - os=-aux -@@ -504,27 +455,10 @@ - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; -- bluegene*) -- basic_machine=powerpc-ibm -- os=-cnk -- ;; -- c54x-*) -- basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- c55x-*) -- basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- c6x-*) -- basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; -- cegcc) -- basic_machine=arm-unknown -- os=-cegcc -- ;; - convex-c1) - basic_machine=c1-convex - os=-bsd -@@ -553,7 +487,7 @@ - basic_machine=craynv-cray - os=-unicosmp - ;; -- cr16 | cr16-*) -+ cr16) - basic_machine=cr16-unknown - os=-elf - ;; -@@ -592,10 +526,6 @@ - basic_machine=m88k-motorola - os=-sysv3 - ;; -- dicos) -- basic_machine=i686-pc -- os=-dicos -- ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp -@@ -769,9 +699,6 @@ - basic_machine=ns32k-utek - os=-sysv - ;; -- microblaze) -- basic_machine=microblaze-xilinx -- ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 -@@ -876,12 +803,6 @@ - np1) - basic_machine=np1-gould - ;; -- neo-tandem) -- basic_machine=neo-tandem -- ;; -- nse-tandem) -- basic_machine=nse-tandem -- ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; -@@ -964,10 +885,9 @@ - ;; - power) basic_machine=power-ibm - ;; -- ppc | ppcbe) basic_machine=powerpc-unknown -+ ppc) basic_machine=powerpc-unknown - ;; -- ppc-* | ppcbe-*) -- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` -+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown -@@ -1061,9 +981,6 @@ - basic_machine=i860-stratus - os=-sysv4 - ;; -- strongarm-* | thumb-*) -- basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; - sun2) - basic_machine=m68000-sun - ;; -@@ -1120,10 +1037,17 @@ - basic_machine=t90-cray - os=-unicos - ;; -- # This must be matched before tile*. -- tilegx*) -- basic_machine=tilegx-unknown -- os=-linux-gnu -+ tic54x | c54x*) -+ basic_machine=tic54x-unknown -+ os=-coff -+ ;; -+ tic55x | c55x*) -+ basic_machine=tic55x-unknown -+ os=-coff -+ ;; -+ tic6x | c6x*) -+ basic_machine=tic6x-unknown -+ os=-coff - ;; - tile*) - basic_machine=tile-unknown -@@ -1196,9 +1120,6 @@ - xps | xps100) - basic_machine=xps100-honeywell - ;; -- xscale-* | xscalee[bl]-*) -- basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` -- ;; - ymp) - basic_machine=ymp-cray - os=-unicos -@@ -1207,10 +1128,6 @@ - basic_machine=z8k-unknown - os=-sim - ;; -- z80-*-coff) -- basic_machine=z80-unknown -- os=-sim -- ;; - none) - basic_machine=none-none - os=-none -@@ -1249,7 +1166,7 @@ - we32k) - basic_machine=we32k-att - ;; -- sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) -+ sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) -@@ -1296,12 +1213,9 @@ - if [ x"$os" != x"" ] - then - case $os in -- # First match some system type aliases -- # that might get confused with valid system types. -+ # First match some system type aliases -+ # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. -- -auroraux) -- os=-auroraux -- ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; -@@ -1322,11 +1236,10 @@ - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ -- | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ -- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ -- | -sym* | -kopensolaris* \ -+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ -+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ -- | -aos* | -aros* \ -+ | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ -@@ -1335,10 +1248,9 @@ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ -- | -chorusos* | -chorusrdb* | -cegcc* \ -+ | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ -- | -mingw32* | -linux-gnu* | -linux-android* \ -- | -linux-newlib* | -linux-uclibc* \ -+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ -@@ -1346,7 +1258,7 @@ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ -- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) -+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) -@@ -1385,7 +1297,7 @@ - -opened*) - os=-openedition - ;; -- -os400*) -+ -os400*) - os=-os400 - ;; - -wince*) -@@ -1434,7 +1346,7 @@ - -sinix*) - os=-sysv4 - ;; -- -tpf*) -+ -tpf*) - os=-tpf - ;; - -triton*) -@@ -1476,11 +1388,6 @@ - -zvmoe) - os=-zvmoe - ;; -- -dicos*) -- os=-dicos -- ;; -- -nacl*) -- ;; - -none) - ;; - *) -@@ -1503,10 +1410,10 @@ - # system, and we'll never get to this point. - - case $basic_machine in -- score-*) -+ score-*) - os=-elf - ;; -- spu-*) -+ spu-*) - os=-elf - ;; - *-acorn) -@@ -1518,17 +1425,8 @@ - arm*-semi) - os=-aout - ;; -- c4x-* | tic4x-*) -- os=-coff -- ;; -- tic54x-*) -- os=-coff -- ;; -- tic55x-*) -- os=-coff -- ;; -- tic6x-*) -- os=-coff -+ c4x-* | tic4x-*) -+ os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) -@@ -1555,7 +1453,7 @@ - m68*-cisco) - os=-aout - ;; -- mep-*) -+ mep-*) - os=-elf - ;; - mips*-cisco) -@@ -1582,7 +1480,7 @@ - *-ibm) - os=-aix - ;; -- *-knuth) -+ *-knuth) - os=-mmixware - ;; - *-wec) -@@ -1687,7 +1585,7 @@ - -sunos*) - vendor=sun - ;; -- -cnk*|-aix*) -+ -aix*) - vendor=ibm - ;; - -beos*) -diff -u -r ./configure ../../../../sparsehash/configure ---- ./configure 2014-03-24 21:08:08.325847803 +0100 -+++ ../../../../sparsehash/configure 1980-01-01 00:00:00.000000000 +0100 -@@ -1,24 +1,20 @@ - #! /bin/sh - # Guess values for system-dependent variables and create Makefiles. --# Generated by GNU Autoconf 2.68 for sparsehash 2.0.2. -+# Generated by GNU Autoconf 2.62 for sparsehash 2.0. - # - # Report bugs to . - # --# - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, --# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software --# Foundation, Inc. --# --# -+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - # This configure script is free software; the Free Software Foundation - # gives unlimited permission to copy, distribute and modify it. --## -------------------- ## --## 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 -@@ -26,15 +22,23 @@ - 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 - - -+ -+ -+# 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 -+ - as_nl=' - ' - export as_nl -@@ -42,13 +46,7 @@ - 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 -+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' - else -@@ -59,7 +57,7 @@ - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; -- case $arg in #( -+ case $arg in - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -@@ -82,6 +80,13 @@ - } - fi - -+# Support unset when possible. -+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then -+ as_unset=unset -+else -+ as_unset=false -+fi -+ - - # IFS - # We need space, tab and new line, in precisely that order. Quoting is -@@ -91,16 +96,15 @@ - IFS=" "" $as_nl" - - # Find who we are. Look in the path if we contain no directory separator. --as_myself= --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 - - ;; -@@ -112,16 +116,12 @@ - fi - if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -- exit 1 -+ { (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='> ' -@@ -133,307 +133,330 @@ - LANGUAGE=C - export LANGUAGE - -+# 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 || -+$as_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. -- # Preserve -v and -x to the replacement shell. -- BASH_ENV=/dev/null -- ENV=/dev/null -- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -- export CONFIG_SHELL -- case $- in # (((( -- *v*x* | *x*v* ) as_opts=-vx ;; -- *v* ) as_opts=-v ;; -- *x* ) as_opts=-x ;; -- * ) as_opts= ;; -- esac -- exec "$CONFIG_SHELL" $as_opts "$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=: -+ # 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 -+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 bug-autoconf@gnu.org and --$0: google-sparsehash@googlegroups.com about your system, --$0: including any error possibly output before this --$0: message. Then install a modern shell, or manually run --$0: the script under such a 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=: -+ # 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 -+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_unset=as_fn_unset -- --# 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_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_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 -+ exitcode=1 -+ echo as_func_success failed. -+fi - --} # 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_failure; then -+ exitcode=1 -+ echo as_func_failure succeeded. -+fi -+ -+if as_func_ret_success; then -+ : - else -- as_fn_append () -- { -- eval $1=\$$1\$2 -- } --fi # as_fn_append -+ exitcode=1 -+ echo as_func_ret_success failed. -+fi - --# 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=$(( $* )) -- }' -+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 STATUS 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=$1; test $as_status -eq 0 && as_status=1 -- if test "$4"; then -- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -- fi -- $as_echo "$as_me: error: $2" >&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 bug-autoconf@gnu.org about your system, -+ echo including any error possibly output before this message. -+ echo This can help us improve future autoconf versions. -+ echo Configuration will now proceed without shell functions. -+} - --# 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_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. :-) -+ 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/= -@@ -450,7 +473,8 @@ - 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; } -+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 -+ { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the -@@ -460,18 +484,29 @@ - exit - } - --ECHO_C= ECHO_N= ECHO_T= --case `echo -n x` in #((((( ---n*) -- case `echo 'xy\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=' ';; -+ -+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 -+-n*) -+ case `echo 'x\c'` in -+ *c*) ECHO_T=' ';; # ECHO_T is single tab character. -+ *) 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 -@@ -501,7 +536,7 @@ - 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 -@@ -520,10 +555,10 @@ - if test -d "$1"; then - test -d "$1/."; - else -- case $1 in #( -+ 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 - ' -@@ -537,11 +572,11 @@ - as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - --test -n "$DJDIR" || exec 7<&0 &1 -+ -+exec 7<&0 &1 - - # Name of the host. --# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, - # so uname gets run too. - ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -@@ -556,14 +591,14 @@ - subdirs= - MFLAGS= - MAKEFLAGS= -+SHELL=${CONFIG_SHELL-/bin/sh} - - # Identity of this package. - PACKAGE_NAME='sparsehash' - PACKAGE_TARNAME='sparsehash' --PACKAGE_VERSION='2.0.2' --PACKAGE_STRING='sparsehash 2.0.2' -+PACKAGE_VERSION='2.0' -+PACKAGE_STRING='sparsehash 2.0' - PACKAGE_BUGREPORT='google-sparsehash@googlegroups.com' --PACKAGE_URL='' - - ac_unique_file="README" - # Factoring default headers for most tests. -@@ -602,113 +637,110 @@ - # include - #endif" - --ac_subst_vars='am__EXEEXT_FALSE --am__EXEEXT_TRUE --LTLIBOBJS --LIBOBJS --tcmalloc_libs --tcmalloc_flags --PTHREAD_CFLAGS --PTHREAD_LIBS --PTHREAD_CC --acx_pthread_config --host_os --host_vendor --host_cpu --host --build_os --build_vendor --build_cpu --build --CXXCPP --EGREP --GREP --GCC_FALSE --GCC_TRUE --CPP --am__fastdepCC_FALSE --am__fastdepCC_TRUE --CCDEPMODE --ac_ct_CC --CFLAGS --CC --am__fastdepCXX_FALSE --am__fastdepCXX_TRUE --CXXDEPMODE --AMDEPBACKSLASH --AMDEP_FALSE --AMDEP_TRUE --am__quote --am__include --DEPDIR --OBJEXT --EXEEXT --ac_ct_CXX --CPPFLAGS --LDFLAGS --CXXFLAGS --CXX --am__untar --am__tar --AMTAR --am__leading_dot --SET_MAKE --AWK --mkdir_p --MKDIR_P --INSTALL_STRIP_PROGRAM --STRIP --install_sh --MAKEINFO --AUTOHEADER --AUTOMAKE --AUTOCONF --ACLOCAL --VERSION --PACKAGE --CYGPATH_W --am__isrc --INSTALL_DATA --INSTALL_SCRIPT --INSTALL_PROGRAM --target_alias --host_alias --build_alias --LIBS --ECHO_T --ECHO_N --ECHO_C --DEFS --mandir --localedir --libdir --psdir --pdfdir --dvidir --htmldir --infodir --docdir --oldincludedir --includedir --localstatedir --sharedstatedir --sysconfdir --datadir --datarootdir --libexecdir --sbindir --bindir --program_transform_name --prefix --exec_prefix --PACKAGE_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 -+INSTALL_PROGRAM -+INSTALL_SCRIPT -+INSTALL_DATA -+am__isrc -+CYGPATH_W -+PACKAGE -+VERSION -+ACLOCAL -+AUTOCONF -+AUTOMAKE -+AUTOHEADER -+MAKEINFO -+install_sh -+STRIP -+INSTALL_STRIP_PROGRAM -+MKDIR_P -+mkdir_p -+AWK -+SET_MAKE -+am__leading_dot -+AMTAR -+am__tar -+am__untar -+CXX -+CXXFLAGS -+LDFLAGS -+CPPFLAGS -+ac_ct_CXX -+EXEEXT -+OBJEXT -+DEPDIR -+am__include -+am__quote -+AMDEP_TRUE -+AMDEP_FALSE -+AMDEPBACKSLASH -+CXXDEPMODE -+am__fastdepCXX_TRUE -+am__fastdepCXX_FALSE -+CC -+CFLAGS -+ac_ct_CC -+CCDEPMODE -+am__fastdepCC_TRUE -+am__fastdepCC_FALSE -+CPP -+GCC_TRUE -+GCC_FALSE -+GREP -+EGREP -+CXXCPP -+build -+build_cpu -+build_vendor -+build_os -+host -+host_cpu -+host_vendor -+host_os -+acx_pthread_config -+PTHREAD_CC -+PTHREAD_LIBS -+PTHREAD_CFLAGS -+tcmalloc_flags -+tcmalloc_libs -+LIBOBJS -+LTLIBOBJS' - ac_subst_files='' - ac_user_opts=' - enable_option_checking -@@ -790,9 +822,8 @@ - fi - - case $ac_option in -- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; -- *=) ac_optarg= ;; -- *) ac_optarg=yes ;; -+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; -+ *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. -@@ -837,7 +868,8 @@ - ac_useropt=`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" -+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 -+ { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in -@@ -863,7 +895,8 @@ - ac_useropt=`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" -+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 -+ { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in -@@ -1067,7 +1100,8 @@ - ac_useropt=`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" -+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 -+ { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in -@@ -1083,7 +1117,8 @@ - ac_useropt=`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" -+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 -+ { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in -@@ -1113,17 +1148,17 @@ - | --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" -+ -*) { $as_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 && -+ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 -+ { (exit 1); exit 1; }; } - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - -@@ -1132,7 +1167,7 @@ - $as_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 -- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" -+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -@@ -1140,14 +1175,16 @@ - - if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` -- as_fn_error $? "missing argument to $ac_option" -+ { $as_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 ;; -+ fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2 -+ { (exit 1); exit 1; }; } ;; -+ *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac - fi - -@@ -1169,7 +1206,8 @@ - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac -- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -+ { $as_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' -@@ -1183,8 +1221,8 @@ - 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. -- If a cross compiler is detected then cross compile mode will be used" >&2 -+ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. -+ If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -@@ -1199,9 +1237,11 @@ - 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" -+ { $as_echo "$as_me: error: Working directory cannot be determined" >&2 -+ { (exit 1); exit 1; }; } - test "X$ac_ls_di" = "X$ac_pwd_ls_di" || -- as_fn_error $? "pwd does not report name of working directory" -+ { $as_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. -@@ -1240,11 +1280,13 @@ - 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" -+ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 -+ { (exit 1); exit 1; }; } - fi - ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" - ac_abs_confdir=`( -- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" -+ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 -+ { (exit 1); exit 1; }; } - pwd)` - # When building in place, set srcdir=. - if test "$ac_abs_confdir" = "$ac_pwd"; then -@@ -1270,7 +1312,7 @@ - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF --\`configure' configures sparsehash 2.0.2 to adapt to many kinds of systems. -+\`configure' configures sparsehash 2.0 to adapt to many kinds of systems. - - Usage: $0 [OPTION]... [VAR=VALUE]... - -@@ -1284,7 +1326,7 @@ - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit -- -q, --quiet, --silent do not print \`checking ...' messages -+ -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files -@@ -1340,7 +1382,7 @@ - - if test -n "$ac_init_help"; then - case $ac_init_help in -- short | recursive ) echo "Configuration of sparsehash 2.0.2:";; -+ short | recursive ) echo "Configuration of sparsehash 2.0:";; - esac - cat <<\_ACEOF - -@@ -1361,7 +1403,7 @@ - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l -- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if -+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CC C compiler command - CFLAGS C compiler flags -@@ -1434,616 +1476,41 @@ - test -n "$ac_init_help" && exit $ac_status - if $ac_init_version; then - cat <<\_ACEOF --sparsehash configure 2.0.2 --generated by GNU Autoconf 2.68 -+sparsehash configure 2.0 -+generated by GNU Autoconf 2.62 - --Copyright (C) 2010 Free Software Foundation, Inc. -+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - This configure script is free software; the Free Software Foundation - gives unlimited permission to copy, distribute and modify it. - _ACEOF - exit - fi -+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 sparsehash $as_me 2.0, which was -+generated by GNU Autoconf 2.62. Invocation command line was -+ -+ $ $0 $@ - --## ------------------------ ## --## Autoconf initialization. ## --## ------------------------ ## -- --# ac_fn_cxx_try_compile LINENO --# ---------------------------- --# Try to compile conftest.$ac_ext, and return whether this succeeded. --ac_fn_cxx_try_compile () -+_ACEOF -+exec 5>>config.log - { -- 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_cxx_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 -+cat <<_ASUNAME -+## --------- ## -+## Platform. ## -+## --------- ## - -- ac_retval=1 --fi -- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -- as_fn_set_status $ac_retval -+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -+uname -m = `(uname -m) 2>/dev/null || echo unknown` -+uname -r = `(uname -r) 2>/dev/null || echo unknown` -+uname -s = `(uname -s) 2>/dev/null || echo unknown` -+uname -v = `(uname -v) 2>/dev/null || echo unknown` - --} # ac_fn_cxx_try_compile -- --# 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; ${as_lineno_stack:+:} 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; } > conftest.i && { -- 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; ${as_lineno_stack:+:} 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; ${as_lineno_stack:+:} unset as_lineno -- as_fn_set_status $ac_retval -- --} # ac_fn_c_try_run -- --# 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; ${as_lineno_stack:+:} unset as_lineno -- as_fn_set_status $ac_retval -- --} # ac_fn_c_try_link -- --# ac_fn_c_check_func LINENO FUNC VAR --# ---------------------------------- --# Tests whether FUNC exists, setting the cache variable VAR accordingly --ac_fn_c_check_func () --{ -- 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 eval \${$3+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --/* Define $2 to an innocuous variant, in case declares $2. -- For example, HP-UX 11i declares gettimeofday. */ --#define $2 innocuous_$2 -- --/* System header to define __stub macros and hopefully few prototypes, -- which can conflict with char $2 (); below. -- Prefer to if __STDC__ is defined, since -- exists even on freestanding compilers. */ -- --#ifdef __STDC__ --# include --#else --# include --#endif -- --#undef $2 -- --/* Override any GCC internal prototype to avoid an error. -- Use char because int might match the return type of a GCC -- builtin and then its argument prototype would still apply. */ --#ifdef __cplusplus --extern "C" --#endif --char $2 (); --/* The GNU C library defines this for functions which it implements -- to always fail with ENOSYS. Some functions are actually named -- something starting with __ and the normal name is an alias. */ --#if defined __stub_$2 || defined __stub___$2 --choke me --#endif -- --int --main () --{ --return $2 (); -- ; -- return 0; --} --_ACEOF --if ac_fn_c_try_link "$LINENO"; then : -- eval "$3=yes" --else -- eval "$3=no" --fi --rm -f core conftest.err conftest.$ac_objext \ -- conftest$ac_exeext 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; ${as_lineno_stack:+:} unset as_lineno -- --} # ac_fn_c_check_func -- --# ac_fn_c_check_type LINENO TYPE VAR INCLUDES --# ------------------------------------------- --# Tests whether TYPE exists after having included INCLUDES, setting cache --# variable VAR accordingly. --ac_fn_c_check_type () --{ -- 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 eval \${$3+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- eval "$3=no" -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --$4 --int --main () --{ --if (sizeof ($2)) -- return 0; -- ; -- return 0; --} --_ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --$4 --int --main () --{ --if (sizeof (($2))) -- return 0; -- ; -- return 0; --} --_ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- --else -- eval "$3=yes" --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 --eval ac_res=\$$3 -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 --$as_echo "$ac_res" >&6; } -- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -- --} # ac_fn_c_check_type -- --# 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 eval \${$3+:} false; 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; ${as_lineno_stack:+:} unset as_lineno -- --} # ac_fn_c_check_header_compile -- --# 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 eval \${$3+:} false; then : -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 --$as_echo_n "checking for $2... " >&6; } --if eval \${$3+:} false; 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.i 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;} --( $as_echo "## ------------------------------------------------- ## --## Report this to google-sparsehash@googlegroups.com ## --## ------------------------------------------------- ##" -- ) | 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 eval \${$3+:} false; 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; ${as_lineno_stack:+:} unset as_lineno -- --} # ac_fn_c_check_header_mongrel -- --# ac_fn_cxx_try_cpp LINENO --# ------------------------ --# Try to preprocess conftest.$ac_ext, and return whether this succeeded. --ac_fn_cxx_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; } > conftest.i && { -- test -z "$ac_cxx_preproc_warn_flag$ac_cxx_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; ${as_lineno_stack:+:} unset as_lineno -- as_fn_set_status $ac_retval -- --} # ac_fn_cxx_try_cpp -- --# ac_fn_cxx_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_cxx_check_header_mongrel () --{ -- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -- if eval \${$3+:} false; then : -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 --$as_echo_n "checking for $2... " >&6; } --if eval \${$3+:} false; 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_cxx_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_cxx_try_cpp "$LINENO"; then : -- ac_header_preproc=yes --else -- ac_header_preproc=no --fi --rm -f conftest.err conftest.i 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_cxx_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;} --( $as_echo "## ------------------------------------------------- ## --## Report this to google-sparsehash@googlegroups.com ## --## ------------------------------------------------- ##" -- ) | 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 eval \${$3+:} false; 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; ${as_lineno_stack:+:} unset as_lineno -- --} # ac_fn_cxx_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 sparsehash $as_me 2.0.2, which was --generated by GNU Autoconf 2.68. Invocation command line was -- -- $ $0 $@ -- --_ACEOF --exec 5>>config.log --{ --cat <<_ASUNAME --## --------- ## --## Platform. ## --## --------- ## -- --hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` --uname -m = `(uname -m) 2>/dev/null || echo unknown` --uname -r = `(uname -r) 2>/dev/null || echo unknown` --uname -s = `(uname -s) 2>/dev/null || echo unknown` --uname -v = `(uname -v) 2>/dev/null || echo unknown` -- --/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` --/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` -+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - - /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` - /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -@@ -2060,8 +1527,8 @@ - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- $as_echo "PATH: $as_dir" -- done -+ $as_echo "PATH: $as_dir" -+done - IFS=$as_save_IFS - - } >&5 -@@ -2098,9 +1565,9 @@ - ac_arg=`$as_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 -@@ -2116,13 +1583,13 @@ - -* ) 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 -@@ -2134,9 +1601,11 @@ - { - echo - -- $as_echo "## ---------------- ## -+ cat <<\_ASBOX -+## ---------------- ## - ## Cache variables. ## --## ---------------- ##" -+## ---------------- ## -+_ASBOX - echo - # The following way of writing the cache mishandles newlines in values, - ( -@@ -2145,13 +1614,13 @@ - 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_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -+$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -- *) { eval $ac_var=; unset $ac_var;} ;; -+ *) $as_unset $ac_var ;; - esac ;; - esac - done -@@ -2170,9 +1639,11 @@ - ) - echo - -- $as_echo "## ----------------- ## -+ cat <<\_ASBOX -+## ----------------- ## - ## Output variables. ## --## ----------------- ##" -+## ----------------- ## -+_ASBOX - echo - for ac_var in $ac_subst_vars - do -@@ -2185,9 +1656,11 @@ - echo - - if test -n "$ac_subst_files"; then -- $as_echo "## ------------------- ## -+ cat <<\_ASBOX -+## ------------------- ## - ## File substitutions. ## --## ------------------- ##" -+## ------------------- ## -+_ASBOX - echo - for ac_var in $ac_subst_files - do -@@ -2201,9 +1674,11 @@ - fi - - if test -s confdefs.h; then -- $as_echo "## ----------- ## -+ cat <<\_ASBOX -+## ----------- ## - ## confdefs.h. ## --## ----------- ##" -+## ----------- ## -+_ASBOX - echo - cat confdefs.h - echo -@@ -2217,39 +1692,37 @@ - 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 - - -@@ -2258,12 +1731,7 @@ - ac_site_file1=NONE - ac_site_file2=NONE - if test -n "$CONFIG_SITE"; then -- # We do not want a PATH search for config.site. -- case $CONFIG_SITE in #(( -- -*) ac_site_file1=./$CONFIG_SITE;; -- */*) ac_site_file1=$CONFIG_SITE;; -- *) ac_site_file1=./$CONFIG_SITE;; -- esac -+ ac_site_file1=$CONFIG_SITE - elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -@@ -2274,23 +1742,19 @@ - for ac_site_file in "$ac_site_file1" "$ac_site_file2" - 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 -+ if test -r "$ac_site_file"; then -+ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 - $as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 -- . "$ac_site_file" \ -- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 --$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --as_fn_error $? "failed to load site script $ac_site_file --See \`config.log' for more details" "$LINENO" 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 -+ # Some versions of bash will fail to source /dev/null (special -+ # files actually), so we avoid doing that. -+ if test -f "$cache_file"; then -+ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 - $as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; -@@ -2298,7 +1762,7 @@ - esac - fi - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -+ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 - $as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file - fi -@@ -2313,11 +1777,11 @@ - 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:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 - $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) -- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 - $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; -@@ -2327,17 +1791,17 @@ - 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:$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:$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:$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:$LINENO: current value: \`$ac_new_val'" >&5 - $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac -@@ -2349,20 +1813,41 @@ - 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:$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 -+ { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} -+ { (exit 1); exit 1; }; } - fi --## -------------------- ## --## Main body of script. ## --## -------------------- ## -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - ac_ext=c - ac_cpp='$CPP $CPPFLAGS' -@@ -2374,7 +1859,7 @@ - # The argument here is just something that should be in the current directory - # (for sanity checking) - --am__api_version='1.11' -+am__api_version='1.10' - - ac_aux_dir= - for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do -@@ -2393,7 +1878,9 @@ - fi - done - if test -z "$ac_aux_dir"; then -- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -+ { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 -+$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} -+ { (exit 1); exit 1; }; } - fi - - # These three variables are undocumented and unsupported, -@@ -2419,10 +1906,10 @@ - # 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 "$as_me:$LINENO: checking for a BSD-compatible install" >&5 - $as_echo_n "checking for a BSD-compatible install... " >&6; } - if test -z "$INSTALL"; then --if ${ac_cv_path_install+:} false; then : -+if test "${ac_cv_path_install+set}" = set; then - $as_echo_n "(cached) " >&6 - else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -@@ -2430,11 +1917,11 @@ - 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. -@@ -2471,7 +1958,7 @@ - ;; - esac - -- done -+done - IFS=$as_save_IFS - - rm -rf conftest.one conftest.two conftest.dir -@@ -2487,7 +1974,7 @@ - INSTALL=$ac_install_sh - fi - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 - $as_echo "$INSTALL" >&6; } - - # Use test -z because SunOS4 sh mishandles braces in ${var-val}. -@@ -2498,201 +1985,78 @@ - - test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 --$as_echo_n "checking whether build environment is sane... " >&6; } --# Just in case --sleep 1 --echo timestamp > conftest.file --# Reject unsafe characters in $srcdir or the absolute working directory --# name. Accept space and tab only in the latter. --am_lf=' --' --case `pwd` in -- *[\\\"\#\$\&\'\`$am_lf]*) -- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; --esac --case $srcdir in -- *[\\\"\#\$\&\'\`$am_lf\ \ ]*) -- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; --esac -- --# Do `set' in a subshell so we don't clobber the current shell's --# arguments. Must try -L first in case configure is actually a --# symlink; some systems play weird games with the mod time of symlinks --# (eg FreeBSD returns the mod time of the symlink's containing --# directory). --if ( -- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` -- if test "$*" = "X"; then -- # -L didn't work. -- set X `ls -t "$srcdir/configure" conftest.file` -- fi -- rm -f conftest.file -- if test "$*" != "X $srcdir/configure conftest.file" \ -- && test "$*" != "X conftest.file $srcdir/configure"; then -- -- # If neither matched, then we have a broken ls. This can happen -- # if, for instance, CONFIG_SHELL is bash and it inherits a -- # broken ls alias from the environment. This has actually -- # happened. Such a system could not be considered "sane". -- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken --alias in your environment" "$LINENO" 5 -- fi -- -- test "$2" = conftest.file -- ) --then -- # Ok. -- : --else -- as_fn_error $? "newly created file is older than distributed files! --Check your system clock" "$LINENO" 5 --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 --$as_echo "yes" >&6; } --test "$program_prefix" != NONE && -- program_transform_name="s&^&$program_prefix&;$program_transform_name" --# Use a double $ so make ignores it. --test "$program_suffix" != NONE && -- program_transform_name="s&\$&$program_suffix&;$program_transform_name" --# Double any \ or $. --# By default was `s,x,x', remove it if useless. --ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' --program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` -- --# expand $ac_aux_dir to an absolute path --am_aux_dir=`cd $ac_aux_dir && pwd` -- --if test x"${MISSING+set}" != xset; then -- case $am_aux_dir in -- *\ * | *\ *) -- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; -- *) -- MISSING="\${SHELL} $am_aux_dir/missing" ;; -- esac --fi --# Use eval to expand $SHELL --if eval "$MISSING --run true"; then -- am_missing_run="$MISSING --run " --else -- am_missing_run= -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 --$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} --fi -- --if test x"${install_sh}" != xset; then -- case $am_aux_dir in -- *\ * | *\ *) -- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; -- *) -- install_sh="\${SHELL} $am_aux_dir/install-sh" -- esac --fi -- --# Installed binaries are usually stripped using `strip' when the user --# run `make install-strip'. However `strip' might not be the right --# tool to use in cross-compilation environments, therefore Automake --# will honor the `STRIP' environment variable to overrule this program. --if test "$cross_compiling" != no; then -- if test -n "$ac_tool_prefix"; then -- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. --set dummy ${ac_tool_prefix}strip; ac_word=$2 --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 --$as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_prog_STRIP+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- if test -n "$STRIP"; then -- ac_cv_prog_STRIP="$STRIP" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -- ac_cv_prog_STRIP="${ac_tool_prefix}strip" -- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done -- done --IFS=$as_save_IFS -- --fi --fi --STRIP=$ac_cv_prog_STRIP --if test -n "$STRIP"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 --$as_echo "$STRIP" >&6; } --else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 --$as_echo "no" >&6; } --fi -- -- --fi --if test -z "$ac_cv_prog_STRIP"; then -- ac_ct_STRIP=$STRIP -- # Extract the first word of "strip", so it can be a program name with args. --set dummy strip; ac_word=$2 --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 --$as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_prog_ac_ct_STRIP+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- if test -n "$ac_ct_STRIP"; then -- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -- ac_cv_prog_ac_ct_STRIP="strip" -- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -- break 2 -- fi --done -- done --IFS=$as_save_IFS -- --fi --fi --ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP --if test -n "$ac_ct_STRIP"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 --$as_echo "$ac_ct_STRIP" >&6; } --else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 --$as_echo "no" >&6; } --fi -+{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -+$as_echo_n "checking whether build environment is sane... " >&6; } -+# Just in case -+sleep 1 -+echo timestamp > conftest.file -+# Do `set' in a subshell so we don't clobber the current shell's -+# arguments. Must try -L first in case configure is actually a -+# symlink; some systems play weird games with the mod time of symlinks -+# (eg FreeBSD returns the mod time of the symlink's containing -+# directory). -+if ( -+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` -+ if test "$*" = "X"; then -+ # -L didn't work. -+ set X `ls -t $srcdir/configure conftest.file` -+ fi -+ rm -f conftest.file -+ if test "$*" != "X $srcdir/configure conftest.file" \ -+ && test "$*" != "X conftest.file $srcdir/configure"; then - -- if test "x$ac_ct_STRIP" = x; then -- STRIP=":" -- 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;} --ac_tool_warned=yes ;; --esac -- STRIP=$ac_ct_STRIP -- fi -+ # If neither matched, then we have a broken ls. This can happen -+ # if, for instance, CONFIG_SHELL is bash and it inherits a -+ # broken ls alias from the environment. This has actually -+ # happened. Such a system could not be considered "sane". -+ { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -+alias in your environment" >&5 -+$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -+alias in your environment" >&2;} -+ { (exit 1); exit 1; }; } -+ fi -+ -+ test "$2" = conftest.file -+ ) -+then -+ # Ok. -+ : - else -- STRIP="$ac_cv_prog_STRIP" -+ { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! -+Check your system clock" >&5 -+$as_echo "$as_me: error: newly created file is older than distributed files! -+Check your system clock" >&2;} -+ { (exit 1); exit 1; }; } - fi -+{ $as_echo "$as_me:$LINENO: result: yes" >&5 -+$as_echo "yes" >&6; } -+test "$program_prefix" != NONE && -+ program_transform_name="s&^&$program_prefix&;$program_transform_name" -+# Use a double $ so make ignores it. -+test "$program_suffix" != NONE && -+ program_transform_name="s&\$&$program_suffix&;$program_transform_name" -+# Double any \ or $. -+# By default was `s,x,x', remove it if useless. -+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` -+ -+# expand $ac_aux_dir to an absolute path -+am_aux_dir=`cd $ac_aux_dir && pwd` - -+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -+# Use eval to expand $SHELL -+if eval "$MISSING --run true"; then -+ am_missing_run="$MISSING --run " -+else -+ am_missing_run= -+ { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} - fi --INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -+{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 - $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } - if test -z "$MKDIR_P"; then -- if ${ac_cv_path_mkdir+:} false; then : -+ if test "${ac_cv_path_mkdir+set}" = set; then - $as_echo_n "(cached) " >&6 - else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -@@ -2700,7 +2064,7 @@ - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- for ac_prog in mkdir gmkdir; do -+ for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( -@@ -2712,12 +2076,11 @@ - esac - done - done -- done -+done - IFS=$as_save_IFS - - fi - -- test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else -@@ -2725,10 +2088,11 @@ - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. -+ test -d ./--version && rmdir ./--version - MKDIR_P="$ac_install_sh -d" - fi - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -+{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 - $as_echo "$MKDIR_P" >&6; } - - mkdir_p="$MKDIR_P" -@@ -2741,9 +2105,9 @@ - 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 "$as_me:$LINENO: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_prog_AWK+:} false; then : -+if test "${ac_cv_prog_AWK+set}" = set; then - $as_echo_n "(cached) " >&6 - else - if test -n "$AWK"; then -@@ -2754,24 +2118,24 @@ - 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_AWK="$ac_prog" -- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi - done -- done -+done - IFS=$as_save_IFS - - fi - fi - AWK=$ac_cv_prog_AWK - if test -n "$AWK"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -+ { $as_echo "$as_me:$LINENO: result: $AWK" >&5 - $as_echo "$AWK" >&6; } - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - fi - -@@ -2779,11 +2143,11 @@ - test -n "$AWK" && break - done - --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -+{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 - $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } - set x ${MAKE-make} - ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` --if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : -+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 - else - cat >conftest.make <<\_ACEOF -@@ -2791,7 +2155,7 @@ - all: - @echo '@@@%%%=$(MAKE)=@@@%%%' - _ACEOF --# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -+# GNU make sometimes prints "make[1]: Entering...", which would confuse us. - case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; -@@ -2801,11 +2165,11 @@ - rm -f conftest.make - fi - if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+ { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } - SET_MAKE= - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" - fi -@@ -2825,7 +2189,9 @@ - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then -- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 -+ { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -+$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} -+ { (exit 1); exit 1; }; } - fi - fi - -@@ -2841,7 +2207,7 @@ - - # Define the identity of the package. - PACKAGE='sparsehash' -- VERSION='2.0.2' -+ VERSION='2.0' - - - cat >>confdefs.h <<_ACEOF -@@ -2869,6 +2235,112 @@ - - MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} -+ -+# Installed binaries are usually stripped using `strip' when the user -+# run `make install-strip'. However `strip' might not be the right -+# tool to use in cross-compilation environments, therefore Automake -+# will honor the `STRIP' environment variable to overrule this program. -+if test "$cross_compiling" != no; then -+ if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -+set dummy ${ac_tool_prefix}strip; ac_word=$2 -+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if test "${ac_cv_prog_STRIP+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$STRIP"; then -+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_STRIP="${ac_tool_prefix}strip" -+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+done -+IFS=$as_save_IFS -+ -+fi -+fi -+STRIP=$ac_cv_prog_STRIP -+if test -n "$STRIP"; then -+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 -+$as_echo "$STRIP" >&6; } -+else -+ { $as_echo "$as_me:$LINENO: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+fi -+if test -z "$ac_cv_prog_STRIP"; then -+ ac_ct_STRIP=$STRIP -+ # Extract the first word of "strip", so it can be a program name with args. -+set dummy strip; ac_word=$2 -+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$ac_ct_STRIP"; then -+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_prog_ac_ct_STRIP="strip" -+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+done -+IFS=$as_save_IFS -+ -+fi -+fi -+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -+if test -n "$ac_ct_STRIP"; then -+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -+$as_echo "$ac_ct_STRIP" >&6; } -+else -+ { $as_echo "$as_me:$LINENO: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ if test "x$ac_ct_STRIP" = x; then -+ STRIP=":" -+ else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -+whose name does not start with the host triplet. If you think this -+configuration is useful to you, please write to autoconf@gnu.org." >&5 -+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -+whose name does not start with the host triplet. If you think this -+configuration is useful to you, please write to autoconf@gnu.org." >&2;} -+ac_tool_warned=yes ;; -+esac -+ STRIP=$ac_ct_STRIP -+ fi -+else -+ STRIP="$ac_cv_prog_STRIP" -+fi -+ -+fi -+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -+ - # We need awk for the "check" target. The system "awk" is bad on - # some platforms. - # Always define AMTAR for backward compatibility. -@@ -2899,9 +2371,9 @@ - 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 "$as_me:$LINENO: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_prog_CXX+:} false; then : -+if test "${ac_cv_prog_CXX+set}" = set; then - $as_echo_n "(cached) " >&6 - else - if test -n "$CXX"; then -@@ -2912,24 +2384,24 @@ - 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_CXX="$ac_tool_prefix$ac_prog" -- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi - done -- done -+done - IFS=$as_save_IFS - - fi - fi - CXX=$ac_cv_prog_CXX - if test -n "$CXX"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -+ { $as_echo "$as_me:$LINENO: result: $CXX" >&5 - $as_echo "$CXX" >&6; } - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - fi - -@@ -2943,9 +2415,9 @@ - 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 "$as_me:$LINENO: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_prog_ac_ct_CXX+:} false; then : -+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - $as_echo_n "(cached) " >&6 - else - if test -n "$ac_ct_CXX"; then -@@ -2956,24 +2428,24 @@ - 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_CXX="$ac_prog" -- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi - done -- done -+done - IFS=$as_save_IFS - - fi - fi - ac_ct_CXX=$ac_cv_prog_ac_ct_CXX - if test -n "$ac_ct_CXX"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 - $as_echo "$ac_ct_CXX" >&6; } - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - fi - -@@ -2986,8 +2458,12 @@ - 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;} -+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -+whose name does not start with the host triplet. If you think this -+configuration is useful to you, please write to autoconf@gnu.org." >&5 -+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -+whose name does not start with the host triplet. If you think this -+configuration is useful to you, please write to autoconf@gnu.org." >&2;} - ac_tool_warned=yes ;; - esac - CXX=$ac_ct_CXX -@@ -2997,31 +2473,48 @@ - fi - fi - # Provide some information about the compiler. --$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -+$as_echo "$as_me:$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" -+{ (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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$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 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } -+{ (ac_try="$ac_compiler -v >&5" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compiler -v >&5") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } -+{ (ac_try="$ac_compiler -V >&5" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compiler -V >&5") 2>&5 -+ ac_status=$? -+ $as_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 -@@ -3037,8 +2530,8 @@ - # 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; } -+{ $as_echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 -+$as_echo_n "checking for C++ compiler default output file name... " >&6; } - ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - - # The possible output files: -@@ -3054,17 +2547,17 @@ - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$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 : -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; then - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. - # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' - # in a Makefile. We should not override ac_cv_exeext if it was cached, -@@ -3081,7 +2574,7 @@ - # 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 -@@ -3100,132 +2593,118 @@ - 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 --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 77 "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; } --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 "$as_me:$LINENO: result: $ac_file" >&5 - $as_echo "$ac_file" >&6; } --ac_exeext=$ac_cv_exeext -+if test -z "$ac_file"; then -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - --rm -f -r a.out a.out.dSYM 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" --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; }; then : -- # If both `conftest.exe' and `conftest' are `present' (well, observable) --# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will --# work properly (i.e., refer to `conftest.exe'), while it won't with --# `rm'. --for ac_file in conftest.exe conftest conftest.*; do -- test -f "$ac_file" || continue -- case $ac_file in -- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.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; } -+{ { $as_echo "$as_me:$LINENO: error: C++ compiler cannot create executables -+See \`config.log' for more details." >&5 -+$as_echo "$as_me: error: C++ compiler cannot create executables -+See \`config.log' for more details." >&2;} -+ { (exit 77); exit 77; }; } - 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_ext --EXEEXT=$ac_cv_exeext --ac_exeext=$EXEEXT --cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include --int --main () --{ --FILE *f = fopen ("conftest.out", "w"); -- return ferror (f) || fclose (f) != 0; -+ac_exeext=$ac_cv_exeext - -- ; -- 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; } -+{ $as_echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 -+$as_echo_n "checking whether the C++ compiler works... " >&6; } -+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -+# If not cross compiling, check that we can run a simple program. - if test "$cross_compiling" != yes; then -- { { 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 -+ if { ac_try='./$ac_file' -+ { (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_echo="\"\$as_me:$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 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else -- { { $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. -+ { { $as_echo "$as_me:$LINENO: error: cannot run C++ compiled programs. - If you meant to cross compile, use \`--host'. --See \`config.log' for more details" "$LINENO" 5; } -+See \`config.log' for more details." >&5 -+$as_echo "$as_me: error: cannot run C++ compiled programs. -+If you meant to cross compile, use \`--host'. -+See \`config.log' for more details." >&2;} -+ { (exit 1); exit 1; }; } - fi - fi - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 --$as_echo "$cross_compiling" >&6; } -+{ $as_echo "$as_me:$LINENO: result: yes" >&5 -+$as_echo "yes" >&6; } -+ -+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -+ac_clean_files=$ac_clean_files_save -+# Check that the compiler produces executables we can run. If not, either -+# the compiler is broken, or we cross compile. -+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -+$as_echo_n "checking whether we are cross compiling... " >&6; } -+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 -+$as_echo "$cross_compiling" >&6; } -+ -+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 -+$as_echo_n "checking for suffix of executables... " >&6; } -+if { (ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; then -+ # If both `conftest.exe' and `conftest' are `present' (well, observable) -+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -+# work properly (i.e., refer to `conftest.exe'), while it won't with -+# `rm'. -+for ac_file in conftest.exe conftest conftest.*; do -+ test -f "$ac_file" || continue -+ case $ac_file in -+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; -+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` -+ break;; -+ * ) break;; -+ esac -+done -+else -+ { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -+See \`config.log' for more details." >&5 -+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -+See \`config.log' for more details." >&2;} -+ { (exit 1); exit 1; }; } -+fi - --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 -+rm -f conftest$ac_cv_exeext -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -+$as_echo "$ac_cv_exeext" >&6; } -+ -+rm -f conftest.$ac_ext -+EXEEXT=$ac_cv_exeext -+ac_exeext=$EXEEXT -+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 - $as_echo_n "checking for suffix of object files... " >&6; } --if ${ac_cv_objext+:} false; then : -+if test "${ac_cv_objext+set}" = set; then - $as_echo_n "(cached) " >&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 -@@ -3237,17 +2716,17 @@ - } - _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$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 : -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; then - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in -@@ -3260,23 +2739,29 @@ - $as_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; } -+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -+See \`config.log' for more details." >&5 -+$as_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 "$as_me:$LINENO: result: $ac_cv_objext" >&5 - $as_echo "$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 "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 - $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } --if ${ac_cv_cxx_compiler_gnu+:} false; then : -+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - $as_echo_n "(cached) " >&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 -@@ -3290,16 +2775,37 @@ - return 0; - } - _ACEOF --if ac_fn_cxx_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes - else -- ac_compiler_gnu=no -+ $as_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_cxx_compiler_gnu=$ac_compiler_gnu - - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 - $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } - if test $ac_compiler_gnu = yes; then - GXX=yes -@@ -3308,16 +2814,20 @@ - fi - ac_test_CXXFLAGS=${CXXFLAGS+set} - ac_save_CXXFLAGS=$CXXFLAGS --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 - $as_echo_n "checking whether $CXX accepts -g... " >&6; } --if ${ac_cv_prog_cxx_g+:} false; then : -+if test "${ac_cv_prog_cxx_g+set}" = set; then - $as_echo_n "(cached) " >&6 - else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-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 -@@ -3328,11 +2838,35 @@ - return 0; - } - _ACEOF --if ac_fn_cxx_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes - else -- CXXFLAGS="" -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ CXXFLAGS="" -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ - - int -@@ -3343,12 +2877,36 @@ - return 0; - } - _ACEOF --if ac_fn_cxx_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ : - else -- ac_cxx_werror_flag=$ac_save_cxx_werror_flag -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-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 -@@ -3359,17 +2917,42 @@ - return 0; - } - _ACEOF --if ac_fn_cxx_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes -+else -+ $as_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_cxx_werror_flag=$ac_save_cxx_werror_flag - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 - $as_echo "$ac_cv_prog_cxx_g" >&6; } - if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -@@ -3399,44 +2982,44 @@ - am_make=${MAKE-make} - cat > confinc << 'END' - am__doit: -- @echo this is the am__doit target -+ @echo done - .PHONY: am__doit - END - # If we don't find an include directive, just comment out the code. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -+{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 - $as_echo_n "checking for style of include used by $am_make... " >&6; } - am__include="#" - am__quote= - _am_result=none - # First try GNU make style include. - echo "include confinc" > confmf --# Ignore all kinds of additional output from `make'. --case `$am_make -s -f confmf 2> /dev/null` in #( --*the\ am__doit\ target*) -- am__include=include -- am__quote= -- _am_result=GNU -- ;; --esac -+# We grep out `Entering directory' and `Leaving directory' -+# messages which can occur if `w' ends up in MAKEFLAGS. -+# In particular we don't look at `^make:' because GNU make might -+# be invoked under some other name (usually "gmake"), in which -+# case it prints its new name instead of `make'. -+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then -+ am__include=include -+ am__quote= -+ _am_result=GNU -+fi - # Now try BSD make style include. - if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf -- case `$am_make -s -f confmf 2> /dev/null` in #( -- *the\ am__doit\ target*) -- am__include=.include -- am__quote="\"" -- _am_result=BSD -- ;; -- esac -+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then -+ am__include=.include -+ am__quote="\"" -+ _am_result=BSD -+ fi - fi - - --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -+{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5 - $as_echo "$_am_result" >&6; } - rm -f confinc confmf - - # Check whether --enable-dependency-tracking was given. --if test "${enable_dependency_tracking+set}" = set; then : -+if test "${enable_dependency_tracking+set}" = set; then - enableval=$enable_dependency_tracking; - fi - -@@ -3456,9 +3039,9 @@ - - depcc="$CXX" am_compiler_list= - --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 - $as_echo_n "checking dependency style of $depcc... " >&6; } --if ${am_cv_CXX_dependencies_compiler_type+:} false; then : -+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then - $as_echo_n "(cached) " >&6 - else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -@@ -3484,11 +3067,6 @@ - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi -- am__universal=false -- case " $depcc " in #( -- *\ -arch\ *\ -arch\ *) am__universal=true ;; -- esac -- - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and -@@ -3506,17 +3084,7 @@ - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - -- # We check with `-c' and `-o' for the sake of the "dashmstdout" -- # mode. It turns out that the SunPro C++ compiler does not properly -- # handle `-M -o', and we need to detect this. Also, some Intel -- # versions had trouble with output in subdirs -- am__obj=sub/conftest.${OBJEXT-o} -- am__minus_obj="-o $am__obj" - case $depmode in -- gcc) -- # This depmode causes a compiler race in universal mode. -- test "$am__universal" = false || continue -- ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested -@@ -3526,23 +3094,19 @@ - break - fi - ;; -- msvisualcpp | msvcmsys) -- # This compiler won't grok `-c -o', but also, the minuso test has -- # not run yet. These depmodes are late enough in the game, and -- # so weak that their functioning should not be impacted. -- am__obj=conftest.${OBJEXT-o} -- am__minus_obj= -- ;; - none) break ;; - esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. - if depmode=$depmode \ -- source=sub/conftest.c object=$am__obj \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -- grep $am__obj sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message -@@ -3566,7 +3130,7 @@ - fi - - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -+{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 - $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } - CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - -@@ -3589,9 +3153,9 @@ - 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 "$as_me:$LINENO: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_prog_CC+:} false; then : -+if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 - else - if test -n "$CC"; then -@@ -3602,24 +3166,24 @@ - 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 -+ $as_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 "$as_me:$LINENO: result: $CC" >&5 - $as_echo "$CC" >&6; } - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - fi - -@@ -3629,9 +3193,209 @@ - 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 "$as_me:$LINENO: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$ac_ct_CC"; then -+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { 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:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+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:$LINENO: result: $ac_ct_CC" >&5 -+$as_echo "$ac_ct_CC" >&6; } -+else -+ { $as_echo "$as_me:$LINENO: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ if test "x$ac_ct_CC" = x; then -+ CC="" -+ else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -+whose name does not start with the host triplet. If you think this -+configuration is useful to you, please write to autoconf@gnu.org." >&5 -+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -+whose name does not start with the host triplet. If you think this -+configuration is useful to you, please write to autoconf@gnu.org." >&2;} -+ac_tool_warned=yes ;; -+esac -+ CC=$ac_ct_CC -+ fi -+else -+ CC="$ac_cv_prog_CC" -+fi -+ -+if test -z "$CC"; then -+ if test -n "$ac_tool_prefix"; then -+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -+set dummy ${ac_tool_prefix}cc; ac_word=$2 -+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if test "${ac_cv_prog_CC+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { 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:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+done -+IFS=$as_save_IFS -+ -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:$LINENO: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:$LINENO: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ fi -+fi -+if test -z "$CC"; then -+ # Extract the first word of "cc", so it can be a program name with args. -+set dummy cc; ac_word=$2 -+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if test "${ac_cv_prog_CC+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ ac_prog_rejected=no -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { 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:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+done -+IFS=$as_save_IFS -+ -+if test $ac_prog_rejected = yes; then -+ # We found a bogon in the path, so make sure we never use it. -+ set dummy $ac_cv_prog_CC -+ shift -+ if test $# != 0; then -+ # We chose a different compiler from the bogus one. -+ # However, it has the same basename, so the bogon will be chosen -+ # first if we set CC to just the basename; use the full file name. -+ shift -+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" -+ fi -+fi -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:$LINENO: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:$LINENO: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+fi -+if test -z "$CC"; then -+ if test -n "$ac_tool_prefix"; then -+ for ac_prog in cl.exe -+ 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:$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 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { 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:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+done -+IFS=$as_save_IFS -+ -+fi -+fi -+CC=$ac_cv_prog_CC -+if test -n "$CC"; then -+ { $as_echo "$as_me:$LINENO: result: $CC" >&5 -+$as_echo "$CC" >&6; } -+else -+ { $as_echo "$as_me:$LINENO: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ test -n "$CC" && break -+ done -+fi -+if test -z "$CC"; then -+ ac_ct_CC=$CC -+ for ac_prog in cl.exe -+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:$LINENO: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_prog_ac_ct_CC+:} false; then : -+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&6 - else - if test -n "$ac_ct_CC"; then -@@ -3642,1079 +3406,1832 @@ - 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 -+ ac_cv_prog_ac_ct_CC="$ac_prog" -+ $as_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 "$as_me:$LINENO: result: $ac_ct_CC" >&5 - $as_echo "$ac_ct_CC" >&6; } - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - fi - -+ -+ test -n "$ac_ct_CC" && break -+done -+ - if test "x$ac_ct_CC" = x; then - CC="" - 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;} -+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -+whose name does not start with the host triplet. If you think this -+configuration is useful to you, please write to autoconf@gnu.org." >&5 -+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -+whose name does not start with the host triplet. If you think this -+configuration is useful to you, please write to autoconf@gnu.org." >&2;} - ac_tool_warned=yes ;; - esac - CC=$ac_ct_CC - fi -+fi -+ -+fi -+ -+ -+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -+See \`config.log' for more details." >&5 -+$as_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:$LINENO: checking for C compiler version" >&5 -+set X $ac_compile -+ac_compiler=$2 -+{ (ac_try="$ac_compiler --version >&5" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compiler --version >&5") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } -+{ (ac_try="$ac_compiler -v >&5" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compiler -v >&5") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } -+{ (ac_try="$ac_compiler -V >&5" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compiler -V >&5") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } -+ -+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -+if test "${ac_cv_c_compiler_gnu+set}" = set; then -+ $as_echo_n "(cached) " >&6 - else -- CC="$ac_cv_prog_CC" -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+#ifndef __GNUC__ -+ choke me -+#endif -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (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:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_compiler_gnu=yes -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_compiler_gnu=no - fi - --if test -z "$CC"; then -- if test -n "$ac_tool_prefix"; then -- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. --set dummy ${ac_tool_prefix}cc; ac_word=$2 --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 --$as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_prog_CC+:} false; then : -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ac_cv_c_compiler_gnu=$ac_compiler_gnu -+ -+fi -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -+$as_echo "$ac_cv_c_compiler_gnu" >&6; } -+if test $ac_compiler_gnu = yes; then -+ GCC=yes -+else -+ GCC= -+fi -+ac_test_CFLAGS=${CFLAGS+set} -+ac_save_CFLAGS=$CFLAGS -+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -+$as_echo_n "checking whether $CC accepts -g... " >&6; } -+if test "${ac_cv_prog_cc_g+set}" = set; then - $as_echo_n "(cached) " >&6 - else -- if test -n "$CC"; then -- ac_cv_prog_CC="$CC" # Let the user override the test. -+ ac_save_c_werror_flag=$ac_c_werror_flag -+ ac_c_werror_flag=yes -+ ac_cv_prog_cc_g=no -+ CFLAGS="-g" -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (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:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_prog_cc_g=yes - else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if { 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 -- break 2 -- fi --done -- done --IFS=$as_save_IFS -+ $as_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 -+main () -+{ -+ -+ ; -+ 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ : -+else -+ $as_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 >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext -+if { (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:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_prog_cc_g=yes -+else -+ $as_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 --CC=$ac_cv_prog_CC --if test -n "$CC"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 --$as_echo "$CC" >&6; } -+ -+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:$LINENO: result: $ac_cv_prog_cc_g" >&5 -+$as_echo "$ac_cv_prog_cc_g" >&6; } -+if test "$ac_test_CFLAGS" = set; then -+ CFLAGS=$ac_save_CFLAGS -+elif test $ac_cv_prog_cc_g = yes; then -+ if test "$GCC" = yes; then -+ CFLAGS="-g -O2" -+ else -+ CFLAGS="-g" -+ fi -+else -+ if test "$GCC" = yes; then -+ CFLAGS="-O2" -+ else -+ CFLAGS= -+ fi -+fi -+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -+if test "${ac_cv_prog_cc_c89+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+else -+ ac_cv_prog_cc_c89=no -+ac_save_CC=$CC -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include -+#include -+#include -+#include -+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -+struct buf { int x; }; -+FILE * (*rcsopen) (struct buf *, struct stat *, int); -+static char *e (p, i) -+ char **p; -+ int i; -+{ -+ return p[i]; -+} -+static char *f (char * (*g) (char **, int), char **p, ...) -+{ -+ char *s; -+ va_list v; -+ va_start (v,p); -+ s = g (p, va_arg (v,int)); -+ va_end (v); -+ return s; -+} -+ -+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has -+ function prototypes and stuff, but not '\xHH' hex character constants. -+ These don't provoke an error unfortunately, instead are silently treated -+ as 'x'. The following induces an error, until -std is added to get -+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an -+ array size at least. It's necessary to write '\x00'==0 to get something -+ that's true only with -std. */ -+int osf4_cc_array ['\x00' == 0 ? 1 : -1]; -+ -+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters -+ inside strings and character constants. */ -+#define FOO(x) 'x' -+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; -+ -+int test (int i, double x); -+struct s1 {int (*f) (int a);}; -+struct s2 {int (*f) (double a);}; -+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -+int argc; -+char **argv; -+int -+main () -+{ -+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; -+ ; -+ return 0; -+} -+_ACEOF -+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -+do -+ CC="$ac_save_CC $ac_arg" -+ 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:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_prog_cc_c89=$ac_arg - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 --$as_echo "no" >&6; } --fi -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - - -- fi - fi --if test -z "$CC"; then -- # Extract the first word of "cc", so it can be a program name with args. --set dummy cc; ac_word=$2 --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 --$as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_prog_CC+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- if test -n "$CC"; then -- ac_cv_prog_CC="$CC" # Let the user override the test. --else -- ac_prog_rejected=no --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if { 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 -- break 2 -- fi -+ -+rm -f core conftest.err conftest.$ac_objext -+ test "x$ac_cv_prog_cc_c89" != "xno" && break - done -- done --IFS=$as_save_IFS -+rm -f conftest.$ac_ext -+CC=$ac_save_CC - --if test $ac_prog_rejected = yes; then -- # We found a bogon in the path, so make sure we never use it. -- set dummy $ac_cv_prog_CC -- shift -- if test $# != 0; then -- # We chose a different compiler from the bogus one. -- # However, it has the same basename, so the bogon will be chosen -- # first if we set CC to just the basename; use the full file name. -- shift -- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" -- fi --fi --fi --fi --CC=$ac_cv_prog_CC --if test -n "$CC"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 --$as_echo "$CC" >&6; } --else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 --$as_echo "no" >&6; } - fi -+# AC_CACHE_VAL -+case "x$ac_cv_prog_cc_c89" in -+ x) -+ { $as_echo "$as_me:$LINENO: result: none needed" >&5 -+$as_echo "none needed" >&6; } ;; -+ xno) -+ { $as_echo "$as_me:$LINENO: result: unsupported" >&5 -+$as_echo "unsupported" >&6; } ;; -+ *) -+ CC="$CC $ac_cv_prog_cc_c89" -+ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -+esac - - --fi --if test -z "$CC"; then -- if test -n "$ac_tool_prefix"; then -- for ac_prog in cl.exe -- 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 ${ac_cv_prog_CC+:} false; then : -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+depcc="$CC" am_compiler_list= -+ -+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -+$as_echo_n "checking dependency style of $depcc... " >&6; } -+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - $as_echo_n "(cached) " >&6 - else -- if test -n "$CC"; then -- ac_cv_prog_CC="$CC" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if { 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 -- break 2 -+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -+ # We make a subdir and do the tests there. Otherwise we can end up -+ # making bogus files that we don't know about and never remove. For -+ # instance it was reported that on HP-UX the gcc test will end up -+ # making a dummy file named `D' -- because `-MD' means `put the output -+ # in D'. -+ mkdir conftest.dir -+ # Copy depcomp to subdir because otherwise we won't find it if we're -+ # using a relative directory. -+ cp "$am_depcomp" conftest.dir -+ cd conftest.dir -+ # We will build objects and dependencies in a subdirectory because -+ # it helps to detect inapplicable dependency modes. For instance -+ # both Tru64's cc and ICC support -MD to output dependencies as a -+ # side effect of compilation, but ICC will put the dependencies in -+ # the current directory while Tru64 will put them in the object -+ # directory. -+ mkdir sub -+ -+ am_cv_CC_dependencies_compiler_type=none -+ if test "$am_compiler_list" = ""; then -+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi --done -+ for depmode in $am_compiler_list; do -+ # Setup a source with many dependencies, because some compilers -+ # like to wrap large dependency lists on column 80 (with \), and -+ # we should not choose a depcomp mode which is confused by this. -+ # -+ # We need to recreate these files for each test, as the compiler may -+ # overwrite some of them when testing with obscure command lines. -+ # This happens at least with the AIX C compiler. -+ : > sub/conftest.c -+ for i in 1 2 3 4 5 6; do -+ echo '#include "conftst'$i'.h"' >> sub/conftest.c -+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -+ # Solaris 8's {/usr,}/bin/sh. -+ touch sub/conftst$i.h -+ done -+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ -+ case $depmode in -+ nosideeffect) -+ # after this tag, mechanisms are not by side-effect, so they'll -+ # only be used when explicitly requested -+ if test "x$enable_dependency_tracking" = xyes; then -+ continue -+ else -+ break -+ fi -+ ;; -+ none) break ;; -+ esac -+ # We check with `-c' and `-o' for the sake of the "dashmstdout" -+ # mode. It turns out that the SunPro C++ compiler does not properly -+ # handle `-M -o', and we need to detect this. -+ if depmode=$depmode \ -+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ -+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ -+ >/dev/null 2>conftest.err && -+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && -+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -+ # icc doesn't choke on unknown options, it will just issue warnings -+ # or remarks (even with -Werror). So we grep stderr for any message -+ # that says an option was ignored or not supported. -+ # When given -MP, icc 7.0 and 7.1 complain thusly: -+ # icc: Command line warning: ignoring option '-M'; no argument required -+ # The diagnosis changed in icc 8.0: -+ # icc: Command line remark: option '-MP' not supported -+ if (grep 'ignoring option' conftest.err || -+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -+ am_cv_CC_dependencies_compiler_type=$depmode -+ break -+ fi -+ fi - done --IFS=$as_save_IFS - -+ cd .. -+ rm -rf conftest.dir -+else -+ am_cv_CC_dependencies_compiler_type=none - 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; } -+{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type -+ -+ if -+ test "x$enable_dependency_tracking" != xno \ -+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then -+ am__fastdepCC_TRUE= -+ am__fastdepCC_FALSE='#' - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 --$as_echo "no" >&6; } -+ am__fastdepCC_TRUE='#' -+ am__fastdepCC_FALSE= - fi - - -- test -n "$CC" && break -- done -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -+$as_echo_n "checking how to run the C preprocessor... " >&6; } -+# On Suns, sometimes $CPP names a directory. -+if test -n "$CPP" && test -d "$CPP"; then -+ CPP= - fi --if test -z "$CC"; then -- ac_ct_CC=$CC -- for ac_prog in cl.exe --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 ${ac_cv_prog_ac_ct_CC+:} false; then : -+if test -z "$CPP"; then -+ if test "${ac_cv_prog_CPP+set}" = set; then - $as_echo_n "(cached) " >&6 - else -- if test -n "$ac_ct_CC"; then -- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. --else --as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH -+ # Double quotes because CPP needs to be expanded -+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" -+ do -+ ac_preproc_ok=false -+for ac_c_preproc_warn_flag in '' yes - do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- 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 -- break 2 -- fi --done -- done --IFS=$as_save_IFS -+ # Use a header file that comes with gcc, so configuring glibc -+ # with a fresh cross-compiler works. -+ # Prefer to if __STDC__ is defined, since -+ # exists even on freestanding compilers. -+ # On the NeXT, cc -E runs the code through the compiler's parser, -+ # not just through cpp. "Syntax error" is here to catch this case. -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#ifdef __STDC__ -+# include -+#else -+# include -+#endif -+ Syntax error -+_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null && { -+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -+ test ! -s conftest.err -+ }; then -+ : -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - -+ # Broken: fails on valid input. -+continue - 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; } -+ -+rm -f conftest.err conftest.$ac_ext -+ -+ # OK, works on sane cases. Now check whether nonexistent headers -+ # can be detected and how. -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include -+_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null && { -+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -+ test ! -s conftest.err -+ }; then -+ # Broken: success on invalid input. -+continue - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 --$as_echo "no" >&6; } -+ $as_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 - -- test -n "$ac_ct_CC" && break - done -- -- if test "x$ac_ct_CC" = x; then -- CC="" -- 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;} --ac_tool_warned=yes ;; --esac -- CC=$ac_ct_CC -- fi -+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -+rm -f conftest.err conftest.$ac_ext -+if $ac_preproc_ok; then -+ break - fi - -+ done -+ ac_cv_prog_CPP=$CPP -+ -+fi -+ CPP=$ac_cv_prog_CPP -+else -+ ac_cv_prog_CPP=$CPP - fi -+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 -+$as_echo "$CPP" >&6; } -+ac_preproc_ok=false -+for ac_c_preproc_warn_flag in '' yes -+do -+ # Use a header file that comes with gcc, so configuring glibc -+ # with a fresh cross-compiler works. -+ # Prefer to if __STDC__ is defined, since -+ # exists even on freestanding compilers. -+ # On the NeXT, cc -E runs the code through the compiler's parser, -+ # not just through cpp. "Syntax error" is here to catch this case. -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#ifdef __STDC__ -+# include -+#else -+# include -+#endif -+ Syntax error -+_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null && { -+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -+ test ! -s conftest.err -+ }; then -+ : -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - -+ # Broken: fails on valid input. -+continue -+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; } -+rm -f conftest.err conftest.$ac_ext - --# 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" -+ # OK, works on sane cases. Now check whether nonexistent headers -+ # can be detected and how. -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include -+_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 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? -- 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 -- --{ $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 ${ac_cv_c_compiler_gnu+:} false; then : -- $as_echo_n "(cached) " >&6 -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null && { -+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -+ test ! -s conftest.err -+ }; then -+ # Broken: success on invalid input. -+continue - else -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - --int --main () --{ --#ifndef __GNUC__ -- choke me --#endif -+ # Passes both tests. -+ac_preproc_ok=: -+break -+fi - -- ; -- return 0; --} --_ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- ac_compiler_gnu=yes -+rm -f conftest.err conftest.$ac_ext -+ -+done -+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -+rm -f conftest.err conftest.$ac_ext -+if $ac_preproc_ok; then -+ : - else -- ac_compiler_gnu=no -+ { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -+See \`config.log' for more details." >&5 -+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -+See \`config.log' for more details." >&2;} -+ { (exit 1); exit 1; }; } - 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 -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+ if test "$GCC" = yes; then -+ GCC_TRUE= -+ GCC_FALSE='#' - else -- GCC= -+ GCC_TRUE='#' -+ GCC_FALSE= - fi --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 ${ac_cv_prog_cc_g+:} false; then : -+ # let the Makefile know if we're gcc -+ -+# Check whether some low-level functions/files are available -+ -+ -+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -+$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -+if test "${ac_cv_path_GREP+set}" = set; then - $as_echo_n "(cached) " >&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 --/* end confdefs.h. */ -+ 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 -+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. -+ # 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" -+ while : -+ do -+ cat "conftest.in" "conftest.in" >"conftest.tmp" -+ mv "conftest.tmp" "conftest.in" -+ cp "conftest.in" "conftest.nl" -+ $as_echo 'GREP' >> "conftest.nl" -+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break -+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break -+ ac_count=`expr $ac_count + 1` -+ 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" -+ ac_path_GREP_max=$ac_count -+ fi -+ # 10*(2^10) chars as input seems more than enough -+ test $ac_count -gt 10 && break -+ done -+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -+esac - --int --main () --{ -+ $ac_path_GREP_found && break 3 -+ done -+ done -+done -+IFS=$as_save_IFS -+ if test -z "$ac_cv_path_GREP"; then -+ { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} -+ { (exit 1); exit 1; }; } -+ fi -+else -+ ac_cv_path_GREP=$GREP -+fi -+ -+fi -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -+$as_echo "$ac_cv_path_GREP" >&6; } -+ GREP="$ac_cv_path_GREP" -+ -+ -+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 -+$as_echo_n "checking for egrep... " >&6; } -+if test "${ac_cv_path_EGREP+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+else -+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 -+ then ac_cv_path_EGREP="$GREP -E" -+ else -+ if test -z "$EGREP"; then -+ ac_path_EGREP_found=false -+ # Loop through the user's path and test for each of PROGNAME-LIST -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+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. -+ # 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" -+ while : -+ do -+ cat "conftest.in" "conftest.in" >"conftest.tmp" -+ mv "conftest.tmp" "conftest.in" -+ cp "conftest.in" "conftest.nl" -+ $as_echo 'EGREP' >> "conftest.nl" -+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break -+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break -+ ac_count=`expr $ac_count + 1` -+ 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" -+ ac_path_EGREP_max=$ac_count -+ fi -+ # 10*(2^10) chars as input seems more than enough -+ test $ac_count -gt 10 && break -+ done -+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -+esac - -- ; -- return 0; --} --_ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- ac_cv_prog_cc_g=yes -+ $ac_path_EGREP_found && break 3 -+ done -+ done -+done -+IFS=$as_save_IFS -+ if test -z "$ac_cv_path_EGREP"; then -+ { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} -+ { (exit 1); exit 1; }; } -+ fi - else -- CFLAGS="" -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ -- --int --main () --{ -- -- ; -- return 0; --} --_ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_path_EGREP=$EGREP -+fi - --else -- ac_c_werror_flag=$ac_save_c_werror_flag -- CFLAGS="-g" -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ -+ fi -+fi -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -+$as_echo "$ac_cv_path_EGREP" >&6; } -+ EGREP="$ac_cv_path_EGREP" - --int --main () --{ - -- ; -- return 0; --} --_ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- ac_cv_prog_cc_g=yes --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; } --if test "$ac_test_CFLAGS" = set; then -- CFLAGS=$ac_save_CFLAGS --elif test $ac_cv_prog_cc_g = yes; then -- if test "$GCC" = yes; then -- CFLAGS="-g -O2" -- else -- CFLAGS="-g" -- fi --else -- if test "$GCC" = yes; then -- CFLAGS="-O2" -- else -- CFLAGS= -- fi --fi --{ $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 ${ac_cv_prog_cc_c89+:} false; then : -+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -+$as_echo_n "checking for ANSI C header files... " >&6; } -+if test "${ac_cv_header_stdc+set}" = set; then - $as_echo_n "(cached) " >&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 - #include --#include --#include --#include --/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ --struct buf { int x; }; --FILE * (*rcsopen) (struct buf *, struct stat *, int); --static char *e (p, i) -- char **p; -- int i; --{ -- return p[i]; --} --static char *f (char * (*g) (char **, int), char **p, ...) --{ -- char *s; -- va_list v; -- va_start (v,p); -- s = g (p, va_arg (v,int)); -- va_end (v); -- return s; --} -- --/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has -- function prototypes and stuff, but not '\xHH' hex character constants. -- These don't provoke an error unfortunately, instead are silently treated -- as 'x'. The following induces an error, until -std is added to get -- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an -- array size at least. It's necessary to write '\x00'==0 to get something -- that's true only with -std. */ --int osf4_cc_array ['\x00' == 0 ? 1 : -1]; -- --/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters -- inside strings and character constants. */ --#define FOO(x) 'x' --int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; -+#include -+#include - --int test (int i, double x); --struct s1 {int (*f) (int a);}; --struct s2 {int (*f) (double a);}; --int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); --int argc; --char **argv; - int - main () - { --return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; -+ - ; - return 0; - } - _ACEOF --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 : -- ac_cv_prog_cc_c89=$ac_arg --fi --rm -f core conftest.err conftest.$ac_objext -- test "x$ac_cv_prog_cc_c89" != "xno" && break --done --rm -f conftest.$ac_ext --CC=$ac_save_CC -- --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; } ;; -- xno) -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 --$as_echo "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; } ;; -+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 --if test "x$ac_cv_prog_cc_c89" != xno; then : -+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_header_stdc=yes -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - -+ ac_cv_header_stdc=no - fi - --ac_ext=c --ac_cpp='$CPP $CPPFLAGS' --ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' --ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' --ac_compiler_gnu=$ac_cv_c_compiler_gnu -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - --depcc="$CC" am_compiler_list= -+if test $ac_cv_header_stdc = yes; then -+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include - --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 --$as_echo_n "checking dependency style of $depcc... " >&6; } --if ${am_cv_CC_dependencies_compiler_type+:} false; then : -- $as_echo_n "(cached) " >&6 -+_ACEOF -+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -+ $EGREP "memchr" >/dev/null 2>&1; then -+ : - else -- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then -- # We make a subdir and do the tests there. Otherwise we can end up -- # making bogus files that we don't know about and never remove. For -- # instance it was reported that on HP-UX the gcc test will end up -- # making a dummy file named `D' -- because `-MD' means `put the output -- # in D'. -- mkdir conftest.dir -- # Copy depcomp to subdir because otherwise we won't find it if we're -- # using a relative directory. -- cp "$am_depcomp" conftest.dir -- cd conftest.dir -- # We will build objects and dependencies in a subdirectory because -- # it helps to detect inapplicable dependency modes. For instance -- # both Tru64's cc and ICC support -MD to output dependencies as a -- # side effect of compilation, but ICC will put the dependencies in -- # the current directory while Tru64 will put them in the object -- # directory. -- mkdir sub -- -- am_cv_CC_dependencies_compiler_type=none -- if test "$am_compiler_list" = ""; then -- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` -- fi -- am__universal=false -- case " $depcc " in #( -- *\ -arch\ *\ -arch\ *) am__universal=true ;; -- esac -- -- for depmode in $am_compiler_list; do -- # Setup a source with many dependencies, because some compilers -- # like to wrap large dependency lists on column 80 (with \), and -- # we should not choose a depcomp mode which is confused by this. -- # -- # We need to recreate these files for each test, as the compiler may -- # overwrite some of them when testing with obscure command lines. -- # This happens at least with the AIX C compiler. -- : > sub/conftest.c -- for i in 1 2 3 4 5 6; do -- echo '#include "conftst'$i'.h"' >> sub/conftest.c -- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with -- # Solaris 8's {/usr,}/bin/sh. -- touch sub/conftst$i.h -- done -- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -+ ac_cv_header_stdc=no -+fi -+rm -f conftest* - -- # We check with `-c' and `-o' for the sake of the "dashmstdout" -- # mode. It turns out that the SunPro C++ compiler does not properly -- # handle `-M -o', and we need to detect this. Also, some Intel -- # versions had trouble with output in subdirs -- am__obj=sub/conftest.${OBJEXT-o} -- am__minus_obj="-o $am__obj" -- case $depmode in -- gcc) -- # This depmode causes a compiler race in universal mode. -- test "$am__universal" = false || continue -- ;; -- nosideeffect) -- # after this tag, mechanisms are not by side-effect, so they'll -- # only be used when explicitly requested -- if test "x$enable_dependency_tracking" = xyes; then -- continue -- else -- break -- fi -- ;; -- msvisualcpp | msvcmsys) -- # This compiler won't grok `-c -o', but also, the minuso test has -- # not run yet. These depmodes are late enough in the game, and -- # so weak that their functioning should not be impacted. -- am__obj=conftest.${OBJEXT-o} -- am__minus_obj= -- ;; -- none) break ;; -- esac -- if depmode=$depmode \ -- source=sub/conftest.c object=$am__obj \ -- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ -- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ -- >/dev/null 2>conftest.err && -- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && -- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && -- grep $am__obj sub/conftest.Po > /dev/null 2>&1 && -- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then -- # icc doesn't choke on unknown options, it will just issue warnings -- # or remarks (even with -Werror). So we grep stderr for any message -- # that says an option was ignored or not supported. -- # When given -MP, icc 7.0 and 7.1 complain thusly: -- # icc: Command line warning: ignoring option '-M'; no argument required -- # The diagnosis changed in icc 8.0: -- # icc: Command line remark: option '-MP' not supported -- if (grep 'ignoring option' conftest.err || -- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else -- am_cv_CC_dependencies_compiler_type=$depmode -- break -- fi -- fi -- done -+fi - -- cd .. -- rm -rf conftest.dir -+if test $ac_cv_header_stdc = yes; then -+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include -+ -+_ACEOF -+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -+ $EGREP "free" >/dev/null 2>&1; then -+ : - else -- am_cv_CC_dependencies_compiler_type=none -+ ac_cv_header_stdc=no - fi -+rm -f conftest* - - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 --$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } --CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - -- if -- test "x$enable_dependency_tracking" != xno \ -- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then -- am__fastdepCC_TRUE= -- am__fastdepCC_FALSE='#' -+if test $ac_cv_header_stdc = yes; then -+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -+ if test "$cross_compiling" = yes; then -+ : - else -- am__fastdepCC_TRUE='#' -- am__fastdepCC_FALSE= -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include -+#include -+#if ((' ' & 0x0FF) == 0x020) -+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -+#else -+# define ISLOWER(c) \ -+ (('a' <= (c) && (c) <= 'i') \ -+ || ('j' <= (c) && (c) <= 'r') \ -+ || ('s' <= (c) && (c) <= 'z')) -+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -+#endif -+ -+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -+int -+main () -+{ -+ int i; -+ for (i = 0; i < 256; i++) -+ if (XOR (islower (i), ISLOWER (i)) -+ || toupper (i) != TOUPPER (i)) -+ return 2; -+ 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -+ { (case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_try") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ : -+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 -+ -+( exit $ac_status ) -+ac_cv_header_stdc=no -+fi -+rm -rf conftest.dSYM -+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext - fi - - --ac_ext=c --ac_cpp='$CPP $CPPFLAGS' --ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' --ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' --ac_compiler_gnu=$ac_cv_c_compiler_gnu --{ $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; } --# On Suns, sometimes $CPP names a directory. --if test -n "$CPP" && test -d "$CPP"; then -- CPP= - fi --if test -z "$CPP"; then -- if ${ac_cv_prog_CPP+:} false; then : -+fi -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -+$as_echo "$ac_cv_header_stdc" >&6; } -+if test $ac_cv_header_stdc = yes; then -+ -+cat >>confdefs.h <<\_ACEOF -+#define STDC_HEADERS 1 -+_ACEOF -+ -+fi -+ -+ -+ -+for ac_func in memcpy memmove -+do -+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -+$as_echo_n "checking for $ac_func... " >&6; } -+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 - else -- # Double quotes because CPP needs to be expanded -- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" -- do -- ac_preproc_ok=false --for ac_c_preproc_warn_flag in '' yes --do -- # Use a header file that comes with gcc, so configuring glibc -- # with a fresh cross-compiler works. -- # Prefer to if __STDC__ is defined, since -- # 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. */ -+/* Define $ac_func to an innocuous variant, in case declares $ac_func. -+ For example, HP-UX 11i declares gettimeofday. */ -+#define $ac_func innocuous_$ac_func -+ -+/* System header to define __stub macros and hopefully few prototypes, -+ which can conflict with char $ac_func (); below. -+ Prefer to if __STDC__ is defined, since -+ exists even on freestanding compilers. */ -+ - #ifdef __STDC__ - # include - #else - # include - #endif -- Syntax error --_ACEOF --if ac_fn_c_try_cpp "$LINENO"; then : - -+#undef $ac_func -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char $ac_func (); -+/* The GNU C library defines this for functions which it implements -+ to always fail with ENOSYS. Some functions are actually named -+ something starting with __ and the normal name is an alias. */ -+#if defined __stub_$ac_func || defined __stub___$ac_func -+choke me -+#endif -+ -+int -+main () -+{ -+return $ac_func (); -+ ; -+ return 0; -+} -+_ACEOF -+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:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && { -+ test "$cross_compiling" = yes || -+ $as_test_x conftest$ac_exeext -+ }; then -+ eval "$as_ac_var=yes" - else -- # Broken: fails on valid input. --continue -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ eval "$as_ac_var=no" - fi --rm -f conftest.err conftest.i 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 -+rm -rf conftest.dSYM -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext -+fi -+ac_res=`eval 'as_val=${'$as_ac_var'} -+ $as_echo "$as_val"'` -+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } -+if test `eval 'as_val=${'$as_ac_var'} -+ $as_echo "$as_val"'` = yes; then -+ cat >>confdefs.h <<_ACEOF -+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -+_ACEOF -+ -+fi -+done -+ -+# 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` -+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -+$as_echo_n "checking for $ac_header... " >&6; } -+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then -+ $as_echo_n "(cached) " >&6 -+else -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ --#include -+$ac_includes_default -+ -+#include <$ac_header> - _ACEOF --if ac_fn_c_try_cpp "$LINENO"; then : -- # Broken: success on invalid input. --continue -+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:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ eval "$as_ac_Header=yes" - else -- # Passes both tests. --ac_preproc_ok=: --break --fi --rm -f conftest.err conftest.i conftest.$ac_ext -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - --done --# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. --rm -f conftest.i conftest.err conftest.$ac_ext --if $ac_preproc_ok; then : -- break -+ eval "$as_ac_Header=no" - fi - -- done -- ac_cv_prog_CPP=$CPP -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+ac_res=`eval 'as_val=${'$as_ac_Header'} -+ $as_echo "$as_val"'` -+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } -+if test `eval 'as_val=${'$as_ac_Header'} -+ $as_echo "$as_val"'` = yes; then -+ cat >>confdefs.h <<_ACEOF -+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -+_ACEOF - - fi -- CPP=$ac_cv_prog_CPP -+ -+done -+ -+ -+{ $as_echo "$as_me:$LINENO: checking for uint16_t" >&5 -+$as_echo_n "checking for uint16_t... " >&6; } -+if test "${ac_cv_type_uint16_t+set}" = set; then -+ $as_echo_n "(cached) " >&6 - else -- ac_cv_prog_CPP=$CPP --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 --$as_echo "$CPP" >&6; } --ac_preproc_ok=false --for ac_c_preproc_warn_flag in '' yes --do -- # Use a header file that comes with gcc, so configuring glibc -- # with a fresh cross-compiler works. -- # Prefer to if __STDC__ is defined, since -- # 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 -+ ac_cv_type_uint16_t=no -+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 --#else --# include --#endif -- Syntax error -+$ac_includes_default -+int -+main () -+{ -+if (sizeof (uint16_t)) -+ return 0; -+ ; -+ return 0; -+} - _ACEOF --if ac_fn_c_try_cpp "$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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+$ac_includes_default -+int -+main () -+{ -+if (sizeof ((uint16_t))) -+ 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ : - else -- # Broken: fails on valid input. --continue -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_cv_type_uint16_t=yes - fi --rm -f conftest.err conftest.i 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 --/* end confdefs.h. */ --#include --_ACEOF --if ac_fn_c_try_cpp "$LINENO"; then : -- # Broken: success on invalid input. --continue -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - else -- # Passes both tests. --ac_preproc_ok=: --break --fi --rm -f conftest.err conftest.i conftest.$ac_ext -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - --done --# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. --rm -f conftest.i conftest.err conftest.$ac_ext --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; } - fi - --ac_ext=c --ac_cpp='$CPP $CPPFLAGS' --ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' --ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' --ac_compiler_gnu=$ac_cv_c_compiler_gnu -- -- if test "$GCC" = yes; then -- GCC_TRUE= -- GCC_FALSE='#' --else -- GCC_TRUE='#' -- GCC_FALSE= -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -- # let the Makefile know if we're gcc -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uint16_t" >&5 -+$as_echo "$ac_cv_type_uint16_t" >&6; } -+if test $ac_cv_type_uint16_t = yes; then - --# Check whether some low-level functions/files are available -+cat >>confdefs.h <<_ACEOF -+#define HAVE_UINT16_T 1 -+_ACEOF - - --{ $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 ${ac_cv_path_GREP+:} false; then : -+fi -+ # defined in C99 systems -+{ $as_echo "$as_me:$LINENO: checking for u_int16_t" >&5 -+$as_echo_n "checking for u_int16_t... " >&6; } -+if test "${ac_cv_type_u_int16_t+set}" = set; then - $as_echo_n "(cached) " >&6 - else -- if test -z "$GREP"; then -- ac_path_GREP_found=false -- # Loop through the user's path and test for each of PROGNAME-LIST -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --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. -- # 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" -- while : -- do -- cat "conftest.in" "conftest.in" >"conftest.tmp" -- mv "conftest.tmp" "conftest.in" -- cp "conftest.in" "conftest.nl" -- $as_echo 'GREP' >> "conftest.nl" -- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break -- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break -- as_fn_arith $ac_count + 1 && ac_count=$as_val -- 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" -- ac_path_GREP_max=$ac_count -- fi -- # 10*(2^10) chars as input seems more than enough -- test $ac_count -gt 10 && break -- done -- rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -+ ac_cv_type_u_int16_t=no -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+$ac_includes_default -+int -+main () -+{ -+if (sizeof (u_int16_t)) -+ 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 -- -- $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 -+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+$ac_includes_default -+int -+main () -+{ -+if (sizeof ((u_int16_t))) -+ 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ : - else -- ac_cv_path_GREP=$GREP --fi -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - -+ ac_cv_type_u_int16_t=yes - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 --$as_echo "$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 ${ac_cv_path_EGREP+:} false; then : -- $as_echo_n "(cached) " >&6 -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - 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 -- 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 --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. -- # 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" -- while : -- do -- cat "conftest.in" "conftest.in" >"conftest.tmp" -- mv "conftest.tmp" "conftest.in" -- cp "conftest.in" "conftest.nl" -- $as_echo 'EGREP' >> "conftest.nl" -- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break -- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break -- as_fn_arith $ac_count + 1 && ac_count=$as_val -- 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" -- ac_path_EGREP_max=$ac_count -- fi -- # 10*(2^10) chars as input seems more than enough -- test $ac_count -gt 10 && break -- done -- rm -f conftest.in conftest.tmp conftest.nl conftest.out;; --esac -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ - -- $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 --else -- ac_cv_path_EGREP=$EGREP - fi - -- fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 --$as_echo "$ac_cv_path_EGREP" >&6; } -- EGREP="$ac_cv_path_EGREP" -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_int16_t" >&5 -+$as_echo "$ac_cv_type_u_int16_t" >&6; } -+if test $ac_cv_type_u_int16_t = yes; then -+ -+cat >>confdefs.h <<_ACEOF -+#define HAVE_U_INT16_T 1 -+_ACEOF - - --{ $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 ${ac_cv_header_stdc+:} false; then : -+fi -+ # defined in BSD-derived systems, and gnu -+{ $as_echo "$as_me:$LINENO: checking for __uint16" >&5 -+$as_echo_n "checking for __uint16... " >&6; } -+if test "${ac_cv_type___uint16+set}" = set; then - $as_echo_n "(cached) " >&6 - else -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+ ac_cv_type___uint16=no -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ --#include --#include --#include --#include -- -+$ac_includes_default - int - main () - { -- -+if (sizeof (__uint16)) -+ return 0; - ; - return 0; - } - _ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- ac_cv_header_stdc=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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+$ac_includes_default -+int -+main () -+{ -+if (sizeof ((__uint16))) -+ 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ : - else -- ac_cv_header_stdc=no -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_cv_type___uint16=yes - 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 --/* end confdefs.h. */ --#include -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - --_ACEOF --if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "memchr" >/dev/null 2>&1; then : - --else -- ac_cv_header_stdc=no - fi --rm -f conftest* - -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type___uint16" >&5 -+$as_echo "$ac_cv_type___uint16" >&6; } -+if test $ac_cv_type___uint16 = yes; then - --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 --/* end confdefs.h. */ --#include -- -+cat >>confdefs.h <<_ACEOF -+#define HAVE___UINT16 1 - _ACEOF --if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "free" >/dev/null 2>&1; then : - --else -- ac_cv_header_stdc=no --fi --rm -f conftest* - - fi -- --if test $ac_cv_header_stdc = yes; then -- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -- if test "$cross_compiling" = yes; then : -- : -+ # defined in some windows systems (vc7) -+{ $as_echo "$as_me:$LINENO: checking for long long" >&5 -+$as_echo_n "checking for long long... " >&6; } -+if test "${ac_cv_type_long_long+set}" = set; then -+ $as_echo_n "(cached) " >&6 - else -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+ ac_cv_type_long_long=no -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ --#include --#include --#if ((' ' & 0x0FF) == 0x020) --# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') --# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) --#else --# define ISLOWER(c) \ -- (('a' <= (c) && (c) <= 'i') \ -- || ('j' <= (c) && (c) <= 'r') \ -- || ('s' <= (c) && (c) <= 'z')) --# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) --#endif -- --#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -+$ac_includes_default - int - main () - { -- int i; -- for (i = 0; i < 256; i++) -- if (XOR (islower (i), ISLOWER (i)) -- || toupper (i) != TOUPPER (i)) -- return 2; -+if (sizeof (long long)) -+ return 0; -+ ; - return 0; - } - _ACEOF --if ac_fn_c_try_run "$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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+$ac_includes_default -+int -+main () -+{ -+if (sizeof ((long long))) -+ 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ : - else -- 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 --fi -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - -+ ac_cv_type_long_long=yes - fi --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 --$as_echo "$ac_cv_header_stdc" >&6; } --if test $ac_cv_header_stdc = yes; then - --$as_echo "#define STDC_HEADERS 1" >>confdefs.h -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - --fi - --for ac_func in memcpy memmove --do : -- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` --ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" --if eval test \"x\$"$as_ac_var"\" = x"yes"; then : -- cat >>confdefs.h <<_ACEOF --#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 --_ACEOF -+fi - -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi --done -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5 -+$as_echo "$ac_cv_type_long_long" >&6; } -+if test $ac_cv_type_long_long = yes; then - --# 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 --" --if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : -- cat >>confdefs.h <<_ACEOF --#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -+cat >>confdefs.h <<_ACEOF -+#define HAVE_LONG_LONG 1 - _ACEOF - --fi - --done -+fi -+ # probably defined everywhere, but... - -+# These are 'only' needed for unittests - --ac_fn_c_check_type "$LINENO" "uint16_t" "ac_cv_type_uint16_t" "$ac_includes_default" --if test "x$ac_cv_type_uint16_t" = xyes; then : - --cat >>confdefs.h <<_ACEOF --#define HAVE_UINT16_T 1 --_ACEOF - - -+for ac_header in sys/resource.h unistd.h sys/time.h sys/utsname.h -+do -+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then -+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -+$as_echo_n "checking for $ac_header... " >&6; } -+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then -+ $as_echo_n "(cached) " >&6 - fi -- # defined in C99 systems --ac_fn_c_check_type "$LINENO" "u_int16_t" "ac_cv_type_u_int16_t" "$ac_includes_default" --if test "x$ac_cv_type_u_int16_t" = xyes; then : -- --cat >>confdefs.h <<_ACEOF --#define HAVE_U_INT16_T 1 -+ac_res=`eval 'as_val=${'$as_ac_Header'} -+ $as_echo "$as_val"'` -+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } -+else -+ # Is the header compilable? -+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -+$as_echo_n "checking $ac_header usability... " >&6; } -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ - _ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+$ac_includes_default -+#include <$ac_header> -+_ACEOF -+rm -f conftest.$ac_objext -+if { (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:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_header_compiler=yes -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - -- -+ ac_header_compiler=no - fi -- # defined in BSD-derived systems, and gnu --ac_fn_c_check_type "$LINENO" "__uint16" "ac_cv_type___uint16" "$ac_includes_default" --if test "x$ac_cv_type___uint16" = xyes; then : - --cat >>confdefs.h <<_ACEOF --#define HAVE___UINT16 1 --_ACEOF -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -+$as_echo "$ac_header_compiler" >&6; } - -+# Is the header present? -+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -+$as_echo_n "checking $ac_header presence... " >&6; } -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include <$ac_header> -+_ACEOF -+if { (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:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null && { -+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -+ test ! -s conftest.err -+ }; then -+ ac_header_preproc=yes -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 - -+ ac_header_preproc=no - fi -- # defined in some windows systems (vc7) --ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default" --if test "x$ac_cv_type_long_long" = xyes; then : -- --cat >>confdefs.h <<_ACEOF --#define HAVE_LONG_LONG 1 --_ACEOF - -+rm -f conftest.err conftest.$ac_ext -+{ $as_echo "$as_me:$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:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes -+ ;; -+ no:yes:* ) -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} -+ ( cat <<\_ASBOX -+## ------------------------------------------------- ## -+## Report this to google-sparsehash@googlegroups.com ## -+## ------------------------------------------------- ## -+_ASBOX -+ ) | sed "s/^/$as_me: WARNING: /" >&2 -+ ;; -+esac -+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -+$as_echo_n "checking for $ac_header... " >&6; } -+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then -+ $as_echo_n "(cached) " >&6 -+else -+ eval "$as_ac_Header=\$ac_header_preproc" - fi -- # probably defined everywhere, but... -+ac_res=`eval 'as_val=${'$as_ac_Header'} -+ $as_echo "$as_val"'` -+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } - --# These are 'only' needed for unittests --for ac_header in sys/resource.h unistd.h sys/time.h sys/utsname.h --do : -- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` --ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" --if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : -+fi -+if test `eval 'as_val=${'$as_ac_Header'} -+ $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF -@@ -4739,10 +5256,10 @@ - ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' - ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' - ac_compiler_gnu=$ac_cv_cxx_compiler_gnu --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 -+{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 - $as_echo_n "checking how to run the C++ preprocessor... " >&6; } - if test -z "$CXXCPP"; then -- if ${ac_cv_prog_CXXCPP+:} false; then : -+ if test "${ac_cv_prog_CXXCPP+set}" = set; then - $as_echo_n "(cached) " >&6 - else - # Double quotes because CXXCPP needs to be expanded -@@ -4757,7 +5274,11 @@ - # 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 -@@ -4766,34 +5287,78 @@ - #endif - Syntax error - _ACEOF --if ac_fn_cxx_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null && { -+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ }; then -+ : - else -+ $as_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.i conftest.$ac_ext -+ -+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 - _ACEOF --if ac_fn_cxx_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null && { -+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ }; then - # Broken: success on invalid input. - continue - else -+ $as_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.i conftest.$ac_ext -+ -+rm -f conftest.err conftest.$ac_ext - - done - # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. --rm -f conftest.i conftest.err conftest.$ac_ext --if $ac_preproc_ok; then : -+rm -f conftest.err conftest.$ac_ext -+if $ac_preproc_ok; then - break - fi - -@@ -4805,7 +5370,7 @@ - else - ac_cv_prog_CXXCPP=$CXXCPP - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -+{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5 - $as_echo "$CXXCPP" >&6; } - ac_preproc_ok=false - for ac_cxx_preproc_warn_flag in '' yes -@@ -4816,7 +5381,11 @@ - # 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 -@@ -4825,55 +5394,238 @@ - #endif - Syntax error - _ACEOF --if ac_fn_cxx_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null && { -+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ }; then -+ : - else -+ $as_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.i 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 -+rm -f conftest.err conftest.$ac_ext -+ -+ # OK, works on sane cases. Now check whether nonexistent headers -+ # can be detected and how. -+ cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include -+_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null && { -+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ }; then -+ # Broken: success on invalid input. -+continue -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ # Passes both tests. -+ac_preproc_ok=: -+break -+fi -+ -+rm -f conftest.err conftest.$ac_ext -+ -+done -+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -+rm -f conftest.err conftest.$ac_ext -+if $ac_preproc_ok; then -+ : -+else -+ { { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check -+See \`config.log' for more details." >&5 -+$as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check -+See \`config.log' for more details." >&2;} -+ { (exit 1); exit 1; }; } -+fi -+ -+ac_ext=cpp -+ac_cpp='$CXXCPP $CPPFLAGS' -+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -+ -+ -+ -+for ac_header in google/malloc_extension.h -+do -+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then -+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -+$as_echo_n "checking for $ac_header... " >&6; } -+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then -+ $as_echo_n "(cached) " >&6 -+fi -+ac_res=`eval 'as_val=${'$as_ac_Header'} -+ $as_echo "$as_val"'` -+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } -+else -+ # Is the header compilable? -+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -+$as_echo_n "checking $ac_header usability... " >&6; } -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+$ac_includes_default -+#include <$ac_header> -+_ACEOF -+rm -f conftest.$ac_objext -+if { (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:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_header_compiler=yes -+else -+ $as_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 -+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -+$as_echo "$ac_header_compiler" >&6; } -+ -+# Is the header present? -+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -+$as_echo_n "checking $ac_header presence... " >&6; } -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ --#include -+#include <$ac_header> - _ACEOF --if ac_fn_cxx_try_cpp "$LINENO"; then : -- # Broken: success on invalid input. --continue -+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:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null && { -+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ }; then -+ ac_header_preproc=yes - else -- # Passes both tests. --ac_preproc_ok=: --break -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_header_preproc=no - fi --rm -f conftest.err conftest.i conftest.$ac_ext - --done --# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. --rm -f conftest.i conftest.err conftest.$ac_ext --if $ac_preproc_ok; then : -+rm -f conftest.err conftest.$ac_ext -+{ $as_echo "$as_me:$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_cxx_preproc_warn_flag in -+ yes:no: ) -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes -+ ;; -+ no:yes:* ) -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} -+ ( cat <<\_ASBOX -+## ------------------------------------------------- ## -+## Report this to google-sparsehash@googlegroups.com ## -+## ------------------------------------------------- ## -+_ASBOX -+ ) | sed "s/^/$as_me: WARNING: /" >&2 -+ ;; -+esac -+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -+$as_echo_n "checking for $ac_header... " >&6; } -+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then -+ $as_echo_n "(cached) " >&6 - 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 \"$CXXCPP\" fails sanity check --See \`config.log' for more details" "$LINENO" 5; } -+ eval "$as_ac_Header=\$ac_header_preproc" - fi -+ac_res=`eval 'as_val=${'$as_ac_Header'} -+ $as_echo "$as_val"'` -+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } - --ac_ext=cpp --ac_cpp='$CXXCPP $CPPFLAGS' --ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' --ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' --ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -- -- --for ac_header in google/malloc_extension.h --do : -- ac_fn_cxx_check_header_mongrel "$LINENO" "google/malloc_extension.h" "ac_cv_header_google_malloc_extension_h" "$ac_includes_default" --if test "x$ac_cv_header_google_malloc_extension_h" = xyes; then : -+fi -+if test `eval 'as_val=${'$as_ac_Header'} -+ $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF --#define HAVE_GOOGLE_MALLOC_EXTENSION_H 1 -+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF - tcmalloc_libs=-ltcmalloc - else -@@ -4888,27 +5640,35 @@ - if test -n "$tcmalloc_libs"; then - # Make sure we can run config.sub. - $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || -- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -+ { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} -+ { (exit 1); exit 1; }; } - --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -+{ $as_echo "$as_me:$LINENO: checking build system type" >&5 - $as_echo_n "checking build system type... " >&6; } --if ${ac_cv_build+:} false; then : -+if test "${ac_cv_build+set}" = set; then - $as_echo_n "(cached) " >&6 - else - ac_build_alias=$build_alias - test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` - test "x$ac_build_alias" = x && -- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -+ { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} -+ { (exit 1); exit 1; }; } - ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || -- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 -+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} -+ { (exit 1); exit 1; }; } - - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 - $as_echo "$ac_cv_build" >&6; } - case $ac_cv_build in - *-*-*) ;; --*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -+$as_echo "$as_me: error: invalid value of canonical build" >&2;} -+ { (exit 1); exit 1; }; };; - esac - build=$ac_cv_build - ac_save_IFS=$IFS; IFS='-' -@@ -4924,24 +5684,28 @@ - case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -+{ $as_echo "$as_me:$LINENO: checking host system type" >&5 - $as_echo_n "checking host system type... " >&6; } --if ${ac_cv_host+:} false; then : -+if test "${ac_cv_host+set}" = set; then - $as_echo_n "(cached) " >&6 - else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build - else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || -- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} -+ { (exit 1); exit 1; }; } - fi - - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 - $as_echo "$ac_cv_host" >&6; } - case $ac_cv_host in - *-*-*) ;; --*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -+$as_echo "$as_me: error: invalid value of canonical host" >&2;} -+ { (exit 1); exit 1; }; };; - esac - host=$ac_cv_host - ac_save_IFS=$IFS; IFS='-' -@@ -4980,9 +5744,13 @@ - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 -+ { $as_echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 - $as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; } -- 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. -@@ -5000,12 +5768,39 @@ - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && { -+ test "$cross_compiling" = yes || -+ $as_test_x conftest$ac_exeext -+ }; then - acx_pthread_ok=yes -+else -+ $as_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 -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 -+ -+rm -rf conftest.dSYM -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext -+ { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 - $as_echo "$acx_pthread_ok" >&6; } - if test x"$acx_pthread_ok" = xno; then - PTHREAD_LIBS="" -@@ -5067,12 +5862,12 @@ - - case $flag in - none) -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 -+ { $as_echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 - $as_echo_n "checking whether pthreads work without any flags... " >&6; } - ;; - - -*) -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5 -+ { $as_echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 - $as_echo_n "checking whether pthreads work with $flag... " >&6; } - PTHREAD_CFLAGS="$flag" - ;; -@@ -5080,9 +5875,9 @@ - pthread-config) - # Extract the first word of "pthread-config", so it can be a program name with args. - set dummy pthread-config; ac_word=$2 --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_prog_acx_pthread_config+:} false; then : -+if test "${ac_cv_prog_acx_pthread_config+set}" = set; then - $as_echo_n "(cached) " >&6 - else - if test -n "$acx_pthread_config"; then -@@ -5093,14 +5888,14 @@ - 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_acx_pthread_config="yes" -- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi - done -- done -+done - IFS=$as_save_IFS - - test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" -@@ -5108,10 +5903,10 @@ - fi - acx_pthread_config=$ac_cv_prog_acx_pthread_config - if test -n "$acx_pthread_config"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_config" >&5 -+ { $as_echo "$as_me:$LINENO: result: $acx_pthread_config" >&5 - $as_echo "$acx_pthread_config" >&6; } - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - fi - -@@ -5122,7 +5917,7 @@ - ;; - - *) -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5 -+ { $as_echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 - $as_echo_n "checking for the pthreads library -l$flag... " >&6; } - PTHREAD_LIBS="-l$flag" - ;; -@@ -5142,7 +5937,11 @@ - # pthread_cleanup_push because it is one of the few pthread - # functions on Solaris that doesn't have a non-functional libc stub. - # We try pthread_create on general principles. -- 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 - int -@@ -5155,16 +5954,43 @@ - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && { -+ test "$cross_compiling" = yes || -+ $as_test_x conftest$ac_exeext -+ }; then - acx_pthread_ok=yes -+else -+ $as_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 -rf conftest.dSYM -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 -+ { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 - $as_echo "$acx_pthread_ok" >&6; } - if test "x$acx_pthread_ok" = xyes; then - break; -@@ -5183,11 +6009,15 @@ - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 -+ { $as_echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 - $as_echo_n "checking for joinable pthread attribute... " >&6; } - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do -- 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 - int -@@ -5198,13 +6028,40 @@ - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && { -+ test "$cross_compiling" = yes || -+ $as_test_x conftest$ac_exeext -+ }; then - attr_name=$attr; break -+else -+ $as_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 -rf conftest.dSYM -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext - done -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $attr_name" >&5 -+ { $as_echo "$as_me:$LINENO: result: $attr_name" >&5 - $as_echo "$attr_name" >&6; } - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then - -@@ -5214,14 +6071,14 @@ - - fi - -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5 -+ { $as_echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 - $as_echo_n "checking if more special flags are required for pthreads... " >&6; } - flag=no - case "${host_cpu}-${host_os}" in - *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; - *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; - esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${flag}" >&5 -+ { $as_echo "$as_me:$LINENO: result: ${flag}" >&5 - $as_echo "${flag}" >&6; } - if test "x$flag" != xno; then - PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" -@@ -5235,9 +6092,9 @@ - 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 "$as_me:$LINENO: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if ${ac_cv_prog_PTHREAD_CC+:} false; then : -+if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then - $as_echo_n "(cached) " >&6 - else - if test -n "$PTHREAD_CC"; then -@@ -5248,24 +6105,24 @@ - 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_PTHREAD_CC="$ac_prog" -- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi - done -- done -+done - IFS=$as_save_IFS - - fi - fi - PTHREAD_CC=$ac_cv_prog_PTHREAD_CC - if test -n "$PTHREAD_CC"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5 -+ { $as_echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 - $as_echo "$PTHREAD_CC" >&6; } - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - fi - -@@ -5310,9 +6167,13 @@ - # compiler. If not (and OS X's ld, for instance, does not accept -z), - # then we can't do this test. - if test x"$done" = xno; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to check for GCC pthread/shared inconsistencies" >&5 -+ { $as_echo "$as_me:$LINENO: checking whether to check for GCC pthread/shared inconsistencies" >&5 - $as_echo_n "checking whether to check for GCC pthread/shared inconsistencies... " >&6; } -- 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 -@@ -5323,27 +6184,56 @@ - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && { -+ test "$cross_compiling" = yes || -+ $as_test_x conftest$ac_exeext -+ }; then -+ : - else -- done=yes -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ done=yes - fi --rm -f core conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext -+ -+rm -rf conftest.dSYM -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext - - if test "x$done" = xyes ; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+ { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } - fi - fi - - if test x"$done" = xno; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -pthread is sufficient with -shared" >&5 -+ { $as_echo "$as_me:$LINENO: checking whether -pthread is sufficient with -shared" >&5 - $as_echo_n "checking whether -pthread is sufficient with -shared... " >&6; } -- 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 - int -@@ -5356,17 +6246,44 @@ - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && { -+ test "$cross_compiling" = yes || -+ $as_test_x conftest$ac_exeext -+ }; then - done=yes -+else -+ $as_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 -rf conftest.dSYM -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext - - if test "x$done" = xyes; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+ { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - fi - fi -@@ -5376,10 +6293,14 @@ - # about -lpthread - # - if test x"$done" = xno; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lpthread fixes that" >&5 -+ { $as_echo "$as_me:$LINENO: checking whether -lpthread fixes that" >&5 - $as_echo_n "checking whether -lpthread fixes that... " >&6; } - LIBS="-lpthread $PTHREAD_LIBS $save_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. */ - #include - int -@@ -5392,18 +6313,45 @@ - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && { -+ test "$cross_compiling" = yes || -+ $as_test_x conftest$ac_exeext -+ }; then - done=yes -+else -+ $as_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 -rf conftest.dSYM -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext - - if test "x$done" = xyes; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+ { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } - PTHREAD_LIBS="-lpthread $PTHREAD_LIBS" - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - fi - fi -@@ -5411,10 +6359,14 @@ - # FreeBSD 4.10 gcc forgets to use -lc_r instead of -lc - # - if test x"$done" = xno; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc_r fixes that" >&5 -+ { $as_echo "$as_me:$LINENO: checking whether -lc_r fixes that" >&5 - $as_echo_n "checking whether -lc_r fixes that... " >&6; } - LIBS="-lc_r $PTHREAD_LIBS $save_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. */ - #include - int -@@ -5427,36 +6379,67 @@ - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && { -+ test "$cross_compiling" = yes || -+ $as_test_x conftest$ac_exeext -+ }; then - done=yes -+else -+ $as_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 -rf conftest.dSYM -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext - - if test "x$done" = xyes; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+ { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } - PTHREAD_LIBS="-lc_r $PTHREAD_LIBS" - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - fi - fi - if test x"$done" = xno; then - # OK, we have run out of ideas -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Impossible to determine how to use pthreads with shared libraries" >&5 -+ { $as_echo "$as_me:$LINENO: WARNING: Impossible to determine how to use pthreads with shared libraries" >&5 - $as_echo "$as_me: WARNING: Impossible to determine how to use pthreads with shared libraries" >&2;} - - # so it's not safe to assume that we may use pthreads - acx_pthread_ok=no - fi - -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether what we have so far is sufficient with -nostdlib" >&5 -+ { $as_echo "$as_me:$LINENO: checking whether what we have so far is sufficient with -nostdlib" >&5 - $as_echo_n "checking whether what we have so far is sufficient with -nostdlib... " >&6; } - CFLAGS="-nostdlib $CFLAGS" - # we need c with nostdlib - LIBS="$LIBS -lc" -- 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 - int -@@ -5469,27 +6452,56 @@ - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && { -+ test "$cross_compiling" = yes || -+ $as_test_x conftest$ac_exeext -+ }; then - done=yes - else -- done=no -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ done=no - fi --rm -f core conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext -+ -+rm -rf conftest.dSYM -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext - - if test "x$done" = xyes; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+ { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - fi - - if test x"$done" = xno; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lpthread saves the day" >&5 -+ { $as_echo "$as_me:$LINENO: checking whether -lpthread saves the day" >&5 - $as_echo_n "checking whether -lpthread saves the day... " >&6; } - LIBS="-lpthread $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. */ - #include - int -@@ -5502,22 +6514,47 @@ - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && { -+ test "$cross_compiling" = yes || -+ $as_test_x conftest$ac_exeext -+ }; then - done=yes - else -- done=no -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ done=no - fi --rm -f core conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext -+ -+rm -rf conftest.dSYM -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext - - if test "x$done" = xyes; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+ { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } - PTHREAD_LIBS="$PTHREAD_LIBS -lpthread" - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Impossible to determine how to use pthreads with shared libraries and -nostdlib" >&5 -+ { $as_echo "$as_me:$LINENO: WARNING: Impossible to determine how to use pthreads with shared libraries and -nostdlib" >&5 - $as_echo "$as_me: WARNING: Impossible to determine how to use pthreads with shared libraries and -nostdlib" >&2;} - fi - fi -@@ -5536,7 +6573,9 @@ - # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: - if test x"$acx_pthread_ok" = xyes; then - --$as_echo "#define HAVE_PTHREAD 1" >>confdefs.h -+cat >>confdefs.h <<\_ACEOF -+#define HAVE_PTHREAD 1 -+_ACEOF - - : - else -@@ -5558,9 +6597,9 @@ - - # Figure out where hash_map lives and also hash_fun.h (or stl_hash_fun.h). - # This also tells us what namespace hash code lives in. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler implements namespaces" >&5 -+{ $as_echo "$as_me:$LINENO: checking whether the compiler implements namespaces" >&5 - $as_echo_n "checking whether the compiler implements namespaces... " >&6; } --if ${ac_cv_cxx_namespaces+:} false; then : -+if test "${ac_cv_cxx_namespaces+set}" = set; then - $as_echo_n "(cached) " >&6 - else - -@@ -5570,7 +6609,11 @@ - ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' - ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -- 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. */ - namespace Outer { - namespace Inner { int i = 0; }} -@@ -5582,11 +6625,32 @@ - return 0; - } - _ACEOF --if ac_fn_cxx_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then - ac_cv_cxx_namespaces=yes - else -- ac_cv_cxx_namespaces=no -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_cv_cxx_namespaces=no - fi -+ - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_ext=cpp - ac_cpp='$CXXCPP $CPPFLAGS' -@@ -5595,15 +6659,17 @@ - ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_namespaces" >&5 -+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_namespaces" >&5 - $as_echo "$ac_cv_cxx_namespaces" >&6; } - if test "$ac_cv_cxx_namespaces" = yes; then - --$as_echo "#define HAVE_NAMESPACES 1" >>confdefs.h -+cat >>confdefs.h <<\_ACEOF -+#define HAVE_NAMESPACES 1 -+_ACEOF - - fi - -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking the location of hash_map" >&5 -+ { $as_echo "$as_me:$LINENO: checking the location of hash_map" >&5 - $as_echo_n "checking the location of hash_map... " >&6; } - - ac_ext=cpp -@@ -5615,7 +6681,11 @@ - ac_cv_cxx_hash_map="" - # First try unordered_map, but not on gcc's before 4.2 -- I've - # seen unexplainable unordered_map bugs with -O2 on older gcc's. -- 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. */ - #if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2)) - # error GCC too old for unordered_map -@@ -5629,17 +6699,42 @@ - return 0; - } - _ACEOF --if ac_fn_cxx_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then - stl_hash_old_gcc=no - else -- stl_hash_old_gcc=yes -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ stl_hash_old_gcc=yes - fi -+ - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - for location in unordered_map tr1/unordered_map; do - for namespace in std std::tr1; do - if test -z "$ac_cv_cxx_hash_map" -a "$stl_hash_old_gcc" != yes; then - # Some older gcc's have a buggy tr1, so test a bit of code. -- 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 <$location> - int -@@ -5651,11 +6746,34 @@ - return 0; - } - _ACEOF --if ac_fn_cxx_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then - ac_cv_cxx_hash_map="<$location>"; - ac_cv_cxx_hash_namespace="$namespace"; - ac_cv_cxx_have_unordered_map="yes"; -+else -+ $as_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 - done -@@ -5664,7 +6782,11 @@ - for location in ext/hash_map hash_map; do - for namespace in __gnu_cxx "" std stdext; do - if test -z "$ac_cv_cxx_hash_map"; then -- 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 <$location> - int -@@ -5675,11 +6797,34 @@ - return 0; - } - _ACEOF --if ac_fn_cxx_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then - ac_cv_cxx_hash_map="<$location>"; - ac_cv_cxx_hash_namespace="$namespace"; - ac_cv_cxx_have_unordered_map="no"; -+else -+ $as_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 - done -@@ -5687,10 +6832,14 @@ - ac_cv_cxx_hash_set=`echo "$ac_cv_cxx_hash_map" | sed s/map/set/`; - if test -n "$ac_cv_cxx_hash_map"; then - --$as_echo "#define HAVE_HASH_MAP 1" >>confdefs.h -+cat >>confdefs.h <<\_ACEOF -+#define HAVE_HASH_MAP 1 -+_ACEOF - - --$as_echo "#define HAVE_HASH_SET 1" >>confdefs.h -+cat >>confdefs.h <<\_ACEOF -+#define HAVE_HASH_SET 1 -+_ACEOF - - - cat >>confdefs.h <<_ACEOF -@@ -5709,20 +6858,22 @@ - - if test "$ac_cv_cxx_have_unordered_map" = yes; then - --$as_echo "#define HAVE_UNORDERED_MAP 1" >>confdefs.h -+cat >>confdefs.h <<\_ACEOF -+#define HAVE_UNORDERED_MAP 1 -+_ACEOF - - fi -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_hash_map" >&5 -+ { $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_hash_map" >&5 - $as_echo "$ac_cv_cxx_hash_map" >&6; } - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 -+ { $as_echo "$as_me:$LINENO: result: " >&5 - $as_echo "" >&6; } -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: could not find an STL hash_map" >&5 -+ { $as_echo "$as_me:$LINENO: WARNING: could not find an STL hash_map" >&5 - $as_echo "$as_me: WARNING: could not find an STL hash_map" >&2;} - fi - - -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to include hash_fun directly" >&5 -+ { $as_echo "$as_me:$LINENO: checking how to include hash_fun directly" >&5 - $as_echo_n "checking how to include hash_fun directly... " >&6; } - - ac_ext=cpp -@@ -5737,7 +6888,11 @@ - hash_fun.h stl_hash_fun.h \ - stl/_hash_fun.h; do - if test -z "$ac_cv_cxx_stl_hash_fun"; then -- 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 <$location> - int -@@ -5748,9 +6903,32 @@ - return 0; - } - _ACEOF --if ac_fn_cxx_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+$as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_cxx_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then - ac_cv_cxx_stl_hash_fun="<$location>"; -+else -+ $as_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 - done -@@ -5770,7 +6948,7 @@ - #define HASH_NAMESPACE $ac_cv_cxx_hash_namespace - _ACEOF - -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_stl_hash_fun" >&5 -+ { $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_stl_hash_fun" >&5 - $as_echo "$ac_cv_cxx_stl_hash_fun" >&6; } - - -@@ -5778,7 +6956,7 @@ - # TODO(csilvers): change this to default to sparsehash instead. - google_namespace_default=google - # Check whether --enable-namespace was given. --if test "${enable_namespace+set}" = set; then : -+if test "${enable_namespace+set}" = set; then - enableval=$enable_namespace; case "$enableval" in - yes) google_namespace="$google_namespace_default" ;; - no) google_namespace="" ;; -@@ -5819,13 +6997,17 @@ - # windows, and possibly on future unix STL implementations, this - # macro will evaluate to something different.) - --$as_echo "#define SPARSEHASH_HASH_NO_NAMESPACE hash" >>confdefs.h -+cat >>confdefs.h <<\_ACEOF -+#define SPARSEHASH_HASH_NO_NAMESPACE hash -+_ACEOF - - - # Do *not* define this in terms of SPARSEHASH_HASH_NO_NAMESPACE, because - # SPARSEHASH_HASH is exported to sparseconfig.h, but S_H_NO_NAMESPACE isn't. - --$as_echo "#define SPARSEHASH_HASH HASH_NAMESPACE::hash" >>confdefs.h -+cat >>confdefs.h <<\_ACEOF -+#define SPARSEHASH_HASH HASH_NAMESPACE::hash -+_ACEOF - - - -@@ -5859,13 +7041,13 @@ - 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_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -+$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -- *) { eval $ac_var=; unset $ac_var;} ;; -+ *) $as_unset $ac_var ;; - esac ;; - esac - done -@@ -5873,8 +7055,8 @@ - (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" -@@ -5896,23 +7078,12 @@ - :end' >>confcache - if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then -- if test "x$cache_file" != "x/dev/null"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -+ test "x$cache_file" != "x/dev/null" && -+ { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 - $as_echo "$as_me: updating cache $cache_file" >&6;} -- if test ! -f "$cache_file" || test -h "$cache_file"; then -- cat confcache >"$cache_file" -- else -- case $cache_file in #( -- */* | ?:*) -- mv -f confcache "$cache_file"$$ && -- mv -f "$cache_file"$$ "$cache_file" ;; #( -- *) -- mv -f confcache "$cache_file" ;; -- esac -- fi -- fi -+ cat confcache >$cache_file - else -- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -+ { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 - $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi - fi -@@ -5926,54 +7097,56 @@ - - ac_libobjs= - ac_ltlibobjs= --U= - 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"` - # 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 - - LTLIBOBJS=$ac_ltlibobjs - - -- if test -n "$EXEEXT"; then -- am__EXEEXT_TRUE= -- am__EXEEXT_FALSE='#' --else -- am__EXEEXT_TRUE='#' -- am__EXEEXT_FALSE= --fi -- - if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then -- as_fn_error $? "conditional \"AMDEP\" was never defined. --Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+ { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -+Usually this means the macro was only invoked conditionally." >&5 -+$as_echo "$as_me: error: conditional \"AMDEP\" was never defined. -+Usually this means the macro was only invoked conditionally." >&2;} -+ { (exit 1); exit 1; }; } - fi - if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then -- as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. --Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. -+Usually this means the macro was only invoked conditionally." >&5 -+$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. -+Usually this means the macro was only invoked conditionally." >&2;} -+ { (exit 1); exit 1; }; } - fi - if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then -- as_fn_error $? "conditional \"am__fastdepCC\" was never defined. --Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -+Usually this means the macro was only invoked conditionally." >&5 -+$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -+Usually this means the macro was only invoked conditionally." >&2;} -+ { (exit 1); exit 1; }; } - fi - if test -z "${GCC_TRUE}" && test -z "${GCC_FALSE}"; then -- as_fn_error $? "conditional \"GCC\" was never defined. --Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+ { { $as_echo "$as_me:$LINENO: error: conditional \"GCC\" was never defined. -+Usually this means the macro was only invoked conditionally." >&5 -+$as_echo "$as_me: error: conditional \"GCC\" was never defined. -+Usually this means the macro was only invoked conditionally." >&2;} -+ { (exit 1); exit 1; }; } - fi - --: "${CONFIG_STATUS=./config.status}" -+: ${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:$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 -+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - #! $SHELL - # Generated by $as_me. - # Run this file to recreate the current configuration. -@@ -5983,18 +7156,17 @@ - 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 || ac_write_fail=1 -+## --------------------- ## -+## 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 -@@ -6002,15 +7174,23 @@ - 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 - - -+ -+ -+# 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 -+ - as_nl=' - ' - export as_nl -@@ -6018,13 +7198,7 @@ - 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 -+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' - else -@@ -6035,7 +7209,7 @@ - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; -- case $arg in #( -+ case $arg in - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -@@ -6058,6 +7232,13 @@ - } - fi - -+# Support unset when possible. -+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then -+ as_unset=unset -+else -+ as_unset=false -+fi -+ - - # IFS - # We need space, tab and new line, in precisely that order. Quoting is -@@ -6067,16 +7248,15 @@ - IFS=" "" $as_nl" - - # Find who we are. Look in the path if we contain no directory separator. --as_myself= --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 - - ;; -@@ -6088,16 +7268,12 @@ - fi - if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -- exit 1 -+ { (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='> ' -@@ -6109,89 +7285,7 @@ - LANGUAGE=C - export LANGUAGE - --# CDPATH. --(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -- -- --# as_fn_error STATUS 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=$1; test $as_status -eq 0 && as_status=1 -- if test "$4"; then -- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -- fi -- $as_echo "$as_me: error: $2" >&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 -- -- -+# Required to use basename. - if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -@@ -6205,12 +7299,8 @@ - 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\(//\)$' \| \ -@@ -6230,25 +7320,76 @@ - } - 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" || -+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 -+ { (exit 1); exit 1; }; } -+ -+ # Don't try to exec as it changes $[0], causing all sort of problems -+ # (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 -@@ -6277,56 +7418,8 @@ - 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 -@@ -6345,10 +7438,10 @@ - if test -d "$1"; then - test -d "$1/."; - else -- case $1 in #( -+ 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 - ' -@@ -6363,19 +7456,13 @@ - - - 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 sparsehash $as_me 2.0.2, which was --generated by GNU Autoconf 2.68. Invocation command line was -+This file was extended by sparsehash $as_me 2.0, which was -+generated by GNU Autoconf 2.62. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS -@@ -6388,15 +7475,6 @@ - - _ACEOF - --case $ac_config_files in *" --"*) set x $ac_config_files; shift; ac_config_files=$*;; --esac -- --case $ac_config_headers in *" --"*) set x $ac_config_headers; shift; ac_config_headers=$*;; --esac -- -- - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - # Files that config.status was made for. - config_files="$ac_config_files" -@@ -6407,22 +7485,19 @@ - - cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - 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] -+ --file=FILE[:TEMPLATE] - instantiate the configuration file FILE -- --header=FILE[:TEMPLATE] -+ --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - - Configuration files: -@@ -6434,17 +7509,16 @@ - Configuration commands: - $config_commands - --Report bugs to ." -+Report bugs to ." - - _ACEOF - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 --ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" - ac_cs_version="\\ --sparsehash config.status 2.0.2 --configured by $0, generated by GNU Autoconf 2.68, -- with options \\"\$ac_cs_config\\" -+sparsehash config.status 2.0 -+configured by $0, generated by GNU Autoconf 2.62, -+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - --Copyright (C) 2010 Free Software Foundation, Inc. -+Copyright (C) 2008 Free Software Foundation, Inc. - This config.status script is free software; the Free Software Foundation - gives unlimited permission to copy, distribute and modify it." - -@@ -6462,16 +7536,11 @@ - while test $# != 0 - do - case $1 in -- --*=?*) -+ --*=*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; -- --*=) -- ac_option=`expr "X$1" : 'X\([^=]*\)='` -- ac_optarg= -- ac_shift=: -- ;; - *) - ac_option=$1 - ac_optarg=$2 -@@ -6485,29 +7554,27 @@ - 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 ;; - --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"` ;; -- '') as_fn_error $? "missing file argument" ;; - 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.";; -+ { $as_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 ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ -@@ -6515,10 +7582,11 @@ - ac_cs_silent=: ;; - - # This is an error. -- -*) as_fn_error $? "unrecognized option: \`$1' --Try \`$0 --help' for more information." ;; -+ -*) { $as_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 -@@ -6573,7 +7641,9 @@ - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - -- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; -+ *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} -+ { (exit 1); exit 1; }; };; - esac - done - -@@ -6596,24 +7666,26 @@ - # after its creation but before its name has been assigned to `$tmp'. - $debug || - { -- tmp= ac_tmp= -+ tmp= - trap 'exit_status=$? -- : "${ac_tmp:=$tmp}" -- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $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. - - { - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && -- test -d "$tmp" -+ test -n "$tmp" && test -d "$tmp" - } || - { - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") --} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 --ac_tmp=$tmp -+} || -+{ -+ $as_echo "$as_me: cannot create a temporary directory in ." >&2 -+ { (exit 1); exit 1; } -+} - - # Set up the scripts for CONFIG_FILES section. - # No need to generate them if there are no CONFIG_FILES. -@@ -6621,13 +7693,7 @@ - if test -n "$CONFIG_FILES"; then - - --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_cr=' ' - ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` - if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -@@ -6635,7 +7701,7 @@ - ac_cs_awk_cr=$ac_cr - fi - --echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -+echo 'BEGIN {' >"$tmp/subs1.awk" && - _ACEOF - - -@@ -6644,18 +7710,23 @@ - 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 '^'` -+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} -+ { (exit 1); exit 1; }; } -+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` - ac_delim='%!_!# ' - for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || -- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} -+ { (exit 1); exit 1; }; } - -- ac_delim_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.awk | grep -c X` = $ac_delim_num; then - break - elif $ac_last_try; then -- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} -+ { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -@@ -6663,7 +7734,7 @@ - rm -f conf$$subs.sh - - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 --cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -+cat >>"\$tmp/subs1.awk" <<\\_ACAWK && - _ACEOF - sed -n ' - h -@@ -6677,7 +7748,7 @@ - t delim - :nl - h --s/\(.\{148\}\)..*/\1/ -+s/\(.\{148\}\).*/\1/ - t more1 - s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ - p -@@ -6691,7 +7762,7 @@ - t nl - :delim - h --s/\(.\{148\}\)..*/\1/ -+s/\(.\{148\}\).*/\1/ - t more2 - s/["\\]/\\&/g; s/^/"/; s/$/"/ - p -@@ -6711,7 +7782,7 @@ - rm -f conf$$subs.awk - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - _ACAWK --cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && -+cat >>"\$tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -@@ -6743,29 +7814,23 @@ - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" - else - cat --fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ -- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ -+ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 -+$as_echo "$as_me: error: could not setup config files machinery" >&2;} -+ { (exit 1); exit 1; }; } - _ACEOF - --# VPATH may cause trouble with some makes, so we remove sole $(srcdir), --# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -+# VPATH may cause trouble with some makes, so we remove $(srcdir), -+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and - # trailing colons and then remove the whole line if VPATH becomes empty - # (actually we leave an empty line to preserve line numbers). - if test "x$srcdir" = x.; then -- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ --h --s/// --s/^/:/ --s/[ ]*$/:/ --s/:\$(srcdir):/:/g --s/:\${srcdir}:/:/g --s/:@srcdir@:/:/g --s/^:*// -+ ac_vpsub='/^[ ]*VPATH[ ]*=/{ -+s/:*\$(srcdir):*/:/ -+s/:*\${srcdir}:*/:/ -+s/:*@srcdir@:*/:/ -+s/^\([^=]*=[ ]*\):*/\1/ - s/:*$// --x --s/\(=[ ]*\).*/\1/ --G --s/\n// - s/^[^=]*=[ ]*$// - }' - fi -@@ -6777,7 +7842,7 @@ - # 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 >"$ac_tmp/defines.awk" <<\_ACAWK || -+cat >"$tmp/defines.awk" <<\_ACAWK || - BEGIN { - _ACEOF - -@@ -6789,11 +7854,13 @@ - # handling of long lines. - ac_delim='%!_!# ' - for ac_last_try in false false :; do -- ac_tt=`sed -n "/$ac_delim/p" confdefs.h` -- if test -z "$ac_tt"; then -+ 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 -+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 -+$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} -+ { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -@@ -6859,9 +7926,9 @@ - } - 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 "#". -+ prefix = substr(line, 1, index(line, defundef) - 1) - print prefix "define", macro P[macro] D[macro] - next - } else { -@@ -6869,7 +7936,7 @@ - # 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, "*/" -+ print "/*", line, "*/" - next - } - } -@@ -6878,7 +7945,9 @@ - _ACAWK - _ACEOF - cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -+ { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 -+$as_echo "$as_me: error: could not setup config headers machinery" >&2;} -+ { (exit 1); exit 1; }; } - fi # test -n "$CONFIG_HEADERS" - - -@@ -6891,7 +7960,9 @@ - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; -- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; -+ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -+$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;} -+ { (exit 1); exit 1; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac -@@ -6910,7 +7981,7 @@ - for ac_f - do - case $ac_f in -- -) ac_f="$ac_tmp/stdin";; -+ -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. -@@ -6919,10 +7990,12 @@ - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || -- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; -+ { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} -+ { (exit 1); exit 1; }; };; - esac - 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 -@@ -6933,7 +8006,7 @@ - `' 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:$LINENO: creating $ac_file" >&5 - $as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. -@@ -6945,8 +8018,10 @@ - esac - - case $ac_tag in -- *:-:* | *:-) cat >"$ac_tmp/stdin" \ -- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; -+ *:-:* | *:-) cat >"$tmp/stdin" \ -+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -+$as_echo "$as_me: error: could not create $ac_file" >&2;} -+ { (exit 1); exit 1; }; } ;; - esac - ;; - esac -@@ -6974,7 +8049,47 @@ - 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=`$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_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} -+ { (exit 1); exit 1; }; }; } - ac_builddir=. - - case "$ac_dir" in -@@ -7031,6 +8146,7 @@ - # 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/ { - p -@@ -7040,11 +8156,12 @@ - /@docdir@/p - /@infodir@/p - /@localedir@/p --/@mandir@/p' -+/@mandir@/p -+' - case `eval "sed -n \"\$ac_sed_dataroot\" $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:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 - $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} - _ACEOF - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -@@ -7054,7 +8171,7 @@ - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g -- s&\\\${datarootdir}&$datarootdir&g' ;; -+ s&\\\${datarootdir}&$datarootdir&g' ;; - esac - _ACEOF - -@@ -7082,24 +8199,27 @@ - s&@MKDIR_P@&$ac_MKDIR_P&;t t - $ac_datarootdir_hack - " --eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ -- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ -+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -+$as_echo "$as_me: error: could not create $ac_file" >&2;} -+ { (exit 1); exit 1; }; } - - test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && -- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && -- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ -- "$ac_tmp/out"`; test -z "$ac_out"; } && -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' --which seems to be undefined. Please make sure it is defined" >&5 -+ { 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:$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' --which seems to be undefined. Please make sure it is defined" >&2;} -+which seems to be undefined. Please make sure it is defined." >&2;} - -- rm -f "$ac_tmp/stdin" -+ rm -f "$tmp/stdin" - case $ac_file in -- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; -- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; -+ -) 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 -+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -+$as_echo "$as_me: error: could not create $ac_file" >&2;} -+ { (exit 1); exit 1; }; } - ;; - :H) - # -@@ -7108,21 +8228,27 @@ - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ -- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" -- } >"$ac_tmp/config.h" \ -- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" -+ } >"$tmp/config.h" \ -+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -+$as_echo "$as_me: error: could not create $ac_file" >&2;} -+ { (exit 1); exit 1; }; } -+ if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then -+ { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 - $as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" -- mv "$ac_tmp/config.h" "$ac_file" \ -- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 -+ mv "$tmp/config.h" "$ac_file" \ -+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -+$as_echo "$as_me: error: could not create $ac_file" >&2;} -+ { (exit 1); exit 1; }; } - fi - else - $as_echo "/* $configure_input */" \ -- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ -- || as_fn_error $? "could not create -" "$LINENO" 5 -+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ -+ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 -+$as_echo "$as_me: error: could not create -" >&2;} -+ { (exit 1); exit 1; }; } - fi - # Compute "$ac_file"'s index in $config_headers. - _am_arg="$ac_file" -@@ -7160,35 +8286,25 @@ - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - -- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -+ :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 - $as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in -- "depfiles":C) test x"$AMDEP_TRUE" != x"" || { -- # Autoconf 2.62 quotes --file arguments for eval, but not when files -- # are listed without --file. Let's play safe and only enable the eval -- # if we detect the quoting. -- case $CONFIG_FILES in -- *\'*) eval set x "$CONFIG_FILES" ;; -- *) set x $CONFIG_FILES ;; -- esac -- shift -- for mf -- do -- # Strip MF so we end up with the name of the file. -- mf=`echo "$mf" | sed -e 's/:.*$//'` -- # Check whether this is an Automake generated Makefile or not. -- # We used to match only the files named `Makefile.in', but -- # some people rename them; so instead we look at the file content. -- # Grep'ing the first line is not enough: some people post-process -- # each Makefile.in and add a new line on top of each file to say so. -- # Grep'ing the whole file is not good either: AIX grep has a line -- # limit of 2048, but all sed's we know have understand at least 4000. -- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then -- dirpart=`$as_dirname -- "$mf" || -+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do -+ # Strip MF so we end up with the name of the file. -+ mf=`echo "$mf" | sed -e 's/:.*$//'` -+ # Check whether this is an Automake generated Makefile or not. -+ # We used to match only the files named `Makefile.in', but -+ # some people rename them; so instead we look at the file content. -+ # Grep'ing the first line is not enough: some people post-process -+ # each Makefile.in and add a new line on top of each file to say so. -+ # Grep'ing the whole file is not good either: AIX grep has a line -+ # limit of 2048, but all sed's we know have understand at least 4000. -+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then -+ dirpart=`$as_dirname -- "$mf" || - $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ -@@ -7211,28 +8327,28 @@ - q - } - s/.*/./; q'` -- else -- continue -- fi -- # Extract the definition of DEPDIR, am__include, and am__quote -- # from the Makefile without running `make'. -- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -- test -z "$DEPDIR" && continue -- am__include=`sed -n 's/^am__include = //p' < "$mf"` -- test -z "am__include" && continue -- am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -- # When using ansi2knr, U may be empty or an underscore; expand it -- U=`sed -n 's/^U = //p' < "$mf"` -- # Find all dependency output files, they are included files with -- # $(DEPDIR) in their names. We invoke sed twice because it is the -- # simplest approach to changing $(DEPDIR) to its actual value in the -- # expansion. -- for file in `sed -n " -- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -- # Make sure the directory exists. -- test -f "$dirpart/$file" && continue -- fdir=`$as_dirname -- "$file" || -+ else -+ continue -+ fi -+ # Extract the definition of DEPDIR, am__include, and am__quote -+ # from the Makefile without running `make'. -+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` -+ test -z "$DEPDIR" && continue -+ am__include=`sed -n 's/^am__include = //p' < "$mf"` -+ test -z "am__include" && continue -+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"` -+ # When using ansi2knr, U may be empty or an underscore; expand it -+ U=`sed -n 's/^U = //p' < "$mf"` -+ # Find all dependency output files, they are included files with -+ # $(DEPDIR) in their names. We invoke sed twice because it is the -+ # simplest approach to changing $(DEPDIR) to its actual value in the -+ # expansion. -+ for file in `sed -n " -+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ -+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do -+ # Make sure the directory exists. -+ test -f "$dirpart/$file" && continue -+ fdir=`$as_dirname -- "$file" || - $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ -@@ -7255,24 +8371,66 @@ - q - } - s/.*/./; q'` -- as_dir=$dirpart/$fdir; as_fn_mkdir_p -- # echo "creating $dirpart/$file" -- echo '# dummy' > "$dirpart/$file" -+ { as_dir=$dirpart/$fdir -+ 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=`$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_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} -+ { (exit 1); exit 1; }; }; } -+ # echo "creating $dirpart/$file" -+ echo '# dummy' > "$dirpart/$file" - done --} -+done - ;; - - esac - 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 -+ { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 -+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} -+ { (exit 1); exit 1; }; } - - - # configure is writing to config.log, and then calls config.status. -@@ -7293,10 +8451,10 @@ - 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 1 -+ $ac_cs_success || { (exit 1); exit 1; } - 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;} -+ { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5 -+$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;} - fi - -diff -u -r ./configure.ac ../../../../sparsehash/configure.ac ---- ./configure.ac 2014-02-10 13:15:25.876132247 +0100 -+++ ../../../../sparsehash/configure.ac 1980-01-01 00:00:00.000000000 +0100 -@@ -4,7 +4,7 @@ - # make sure we're interpreted by some minimal autoconf - AC_PREREQ(2.57) - --AC_INIT(sparsehash, 2.0.2, google-sparsehash@googlegroups.com) -+AC_INIT(sparsehash, 2.0, google-sparsehash@googlegroups.com) - # The argument here is just something that should be in the current directory - # (for sanity checking) - AC_CONFIG_SRCDIR(README) -diff -u -r ./depcomp ../../../../sparsehash/depcomp ---- ./depcomp 2014-03-24 21:08:08.325847803 +0100 -+++ ../../../../sparsehash/depcomp 1980-01-01 00:00:00.000000000 +0100 -@@ -1,10 +1,10 @@ - #! /bin/sh - # depcomp - compile a program generating dependencies as side-effects - --scriptversion=2009-04-28.21; # UTC -+scriptversion=2007-03-29.01 - --# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free --# Software Foundation, Inc. -+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software -+# Foundation, Inc. - - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -17,7 +17,9 @@ - # GNU General Public License for more details. - - # You should have received a copy of the GNU General Public License --# along with this program. If not, see . -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -+# 02110-1301, USA. - - # As a special exception to the GNU General Public License, if you - # distribute this file as part of a program that contains a -@@ -85,15 +87,6 @@ - depmode=dashmstdout - fi - --cygpath_u="cygpath -u -f -" --if test "$depmode" = msvcmsys; then -- # This is just like msvisualcpp but w/o cygpath translation. -- # Just convert the backslash-escaped backslashes to single forward -- # slashes to satisfy depend.m4 -- cygpath_u="sed s,\\\\\\\\,/,g" -- depmode=msvisualcpp --fi -- - case "$depmode" in - gcc3) - ## gcc 3 implements dependency tracking that does exactly what -@@ -199,14 +192,14 @@ - ' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' --' ' ' >> "$depfile" -- echo >> "$depfile" -+' ' ' >> $depfile -+ echo >> $depfile - - # The second pass generates a dummy entry for each header file. - tr ' ' ' - ' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ -- >> "$depfile" -+ >> $depfile - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile -@@ -335,12 +328,7 @@ - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. -- sed -ne '2,${ -- s/^ *// -- s/ \\*$// -- s/$/:/ -- p -- }' "$tmpdepfile" >> "$depfile" -+ sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi -@@ -416,7 +404,7 @@ - - # Remove the call to Libtool. - if test "$libtool" = yes; then -- while test "X$1" != 'X--mode=compile'; do -+ while test $1 != '--mode=compile'; do - shift - done - shift -@@ -467,39 +455,32 @@ - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then -- while test "X$1" != 'X--mode=compile'; do -+ while test $1 != '--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift -- cleared=no eat=no -- for arg -- do -+ cleared=no -+ for arg in "$@"; do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac -- if test $eat = yes; then -- eat=no -- continue -- fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. -- -arch) -- eat=yes ;; - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done -- obj_suffix=`echo "$object" | sed 's/^.*\././'` -+ obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" -@@ -519,7 +500,7 @@ - - # Remove the call to Libtool. - if test "$libtool" = yes; then -- while test "X$1" != 'X--mode=compile'; do -+ while test $1 != '--mode=compile'; do - shift - done - shift -@@ -557,27 +538,13 @@ - - msvisualcpp) - # Important note: in order to support this mode, a compiler *must* -- # always write the preprocessed file to stdout. -+ # always write the preprocessed file to stdout, regardless of -o, -+ # because we must use -o when running libtool. - "$@" || exit $? -- -- # Remove the call to Libtool. -- if test "$libtool" = yes; then -- while test "X$1" != 'X--mode=compile'; do -- shift -- done -- shift -- fi -- - IFS=" " - for arg - do - case "$arg" in -- -o) -- shift -- ;; -- $object) -- shift -- ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift -@@ -590,23 +557,16 @@ - ;; - esac - done -- "$@" -E 2>/dev/null | -- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" -+ "$@" -E | -+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" -- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" -+ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" -- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" -+ . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - --msvcmsys) -- # This case exists only to let depend.m4 do its work. It works by -- # looking at the text of this script. This case will never be run, -- # since it is checked for above. -- exit 1 -- ;; -- - none) - exec "$@" - ;; -@@ -625,6 +585,5 @@ - # eval: (add-hook 'write-file-hooks 'time-stamp) - # time-stamp-start: "scriptversion=" - # time-stamp-format: "%:y-%02m-%02d.%02H" --# time-stamp-time-zone: "UTC" --# time-stamp-end: "; # UTC" -+# time-stamp-end: "$" - # End: -diff -u -r ./doc/dense_hash_map.html ../../../../sparsehash/doc/dense_hash_map.html ---- ./doc/dense_hash_map.html 2014-02-10 13:15:25.796131579 +0100 -+++ ../../../../sparsehash/doc/dense_hash_map.html 1980-01-01 00:00:00.000000000 +0100 -@@ -1629,7 +1629,7 @@ - if (fwrite(&value.first, sizeof(value.first), 1, fp) != 1) - return false; - // Write the value. -- assert(value.second.length() <= 255); // we only support writing small strings -+ assert(value.second.length() <= 255); // we only support writing small strings - const unsigned char size = value.second.length(); - if (fwrite(&size, 1, 1, fp) != 1) - return false; -@@ -1640,10 +1640,10 @@ - bool operator()(FILE* fp, std::pair<const int, std::string>* value) const { - // Read the key. Note the need for const_cast to get around - // the fact hash_map keys are always const. -- if (fread(const_cast<int*>(&value->first), sizeof(value->first), 1, fp) != 1) -+ if (fread(const_cast(&value->first), sizeof(value->first), 1, fp) != 1) - return false; - // Read the value. -- unsigned char size; // all strings are <= 255 chars long -+ unsigned char size; // all strings are <= 255 chars long - if (fread(&size, 1, 1, fp) != 1) - return false; - char* buf = new char[size]; -@@ -1651,7 +1651,7 @@ - delete[] buf; - return false; - } -- value->second.assign(buf, size); -+ value->second.assign(buf, size); - delete[] buf; - return true; - } -@@ -1717,7 +1717,7 @@ -

NOTE: older versions of dense_hash_map provided a - different API, consisting of read_metadata(), - read_nopointer_data(), write_metadata(), --write_nopointer_data(). These methods were never implemented -+write_nopointer_data(). These meothds were never implemented - and always did nothing but return false. You should - exclusively use the new API for serialization.

- -diff -u -r ./doc/dense_hash_set.html ../../../../sparsehash/doc/dense_hash_set.html ---- ./doc/dense_hash_set.html 2014-02-10 13:15:25.796131579 +0100 -+++ ../../../../sparsehash/doc/dense_hash_set.html 1980-01-01 00:00:00.000000000 +0100 -@@ -1317,8 +1317,8 @@ - - - -- -- -+ -+ - template <ValueSerializer, OUTPUT> - bool serialize(ValueSerializer serializer, OUTPUT *fp) - -@@ -1335,7 +1335,7 @@ - - - Read in a serialization of a hash_set from a stream, replacing the -- existing hash_set contents with the serialized contents. -+ existing hash_map contents with the serialized contents. - See below. - - -@@ -1471,7 +1471,7 @@ -
- struct StringSerializer {
-   bool operator()(FILE* fp, const std::string& value) const {
--    assert(value.length() <= 255);   // we only support writing small strings
-+    assert(value.length() <= 255);   // we only support writing small strings
-     const unsigned char size = value.length();
-     if (fwrite(&size, 1, 1, fp) != 1)
-       return false;
-@@ -1480,7 +1480,7 @@
-     return true;
-   }
-   bool operator()(FILE* fp, std::string* value) const {
--    unsigned char size;    // all strings are <= 255 chars long
-+    unsigned char size;    // all strings are <= 255 chars long
-     if (fread(&size, 1, 1, fp) != 1)
-       return false;
-     char* buf = new char[size];
-@@ -1488,7 +1488,7 @@
-       delete[] buf;
-       return false;
-     }
--    value->assign(buf, size);
-+    value->assign(buf, size);
-     delete[] buf;
-     return true;
-   }
-@@ -1554,7 +1554,7 @@
- 

NOTE: older versions of dense_hash_set provided a - different API, consisting of read_metadata(), - read_nopointer_data(), write_metadata(), --write_nopointer_data(). These methods were never implemented -+write_nopointer_data(). These meothds were never implemented - and always did nothing but return false. You should - exclusively use the new API for serialization.

- -diff -u -r ./doc/index.html ../../../../sparsehash/doc/index.html ---- ./doc/index.html 2014-02-10 13:15:25.796131579 +0100 -+++ ../../../../sparsehash/doc/index.html 1980-01-01 00:00:00.000000000 +0100 -@@ -61,7 +61,7 @@ -
-
- Craig Silverstein
--Last modified: Thu Jan 25 17:58:02 PST 2007 -+Last modified: Thu Jan 19 13:32:48 PST 2012 -
- - -diff -u -r ./doc/sparse_hash_map.html ../../../../sparsehash/doc/sparse_hash_map.html ---- ./doc/sparse_hash_map.html 2014-02-10 13:15:25.796131579 +0100 -+++ ../../../../sparsehash/doc/sparse_hash_map.html 1980-01-01 00:00:00.000000000 +0100 -@@ -1214,51 +1214,13 @@ - - - -- template <ValueSerializer, OUTPUT> -- bool serialize(ValueSerializer serializer, OUTPUT *fp) -- -- -- sparse_hash_map -- -- -- See below. -- -- -- -- -- -- template <ValueSerializer, INPUT> -- bool unserialize(ValueSerializer serializer, INPUT *fp) -- -- -- sparse_hash_map -- -- -- See below. -- -- -- -- -- -- NopointerSerializer -- -- -- sparse_hash_map -- -- -- See below. -- -- -- -- -- - bool write_metadata(FILE *fp) - - - sparse_hash_map - - -- DEPRECATED. See below. -+ See below. - - - -@@ -1270,7 +1232,7 @@ - sparse_hash_map - - -- DEPRECATED. See below. -+ See below. - - - -@@ -1282,7 +1244,7 @@ - sparse_hash_map - - -- DEPRECATED. See below. -+ See below. - - - -@@ -1294,7 +1256,7 @@ - sparse_hash_map - - -- DEPRECATED. See below. -+ See below. - - - -@@ -1380,33 +1342,10 @@ - - - -- template <ValueSerializer, OUTPUT> -- bool serialize(ValueSerializer serializer, OUTPUT *fp) -- -- -- Emit a serialization of the hash_map to a stream. -- See below. -- -- -- -- -- -- template <ValueSerializer, INPUT> -- bool unserialize(ValueSerializer serializer, INPUT *fp) -- -- -- Read in a serialization of a hash_map from a stream, replacing the -- existing hash_map contents with the serialized contents. -- See below. -- -- -- -- -- - bool write_metadata(FILE *fp) - - -- This function is DEPRECATED. See below. -+ Write hashtable metadata to fp. See below. - - - -@@ -1415,7 +1354,7 @@ - bool read_metadata(FILE *fp) - - -- This function is DEPRECATED. See below. -+ Read hashtable metadata from fp. See below. - - - -@@ -1424,7 +1363,8 @@ - bool write_nopointer_data(FILE *fp) - - -- This function is DEPRECATED. See below. -+ Write hashtable contents to fp. This is valid only if the -+ hashtable key and value are "plain" data. See below. - - - -@@ -1433,7 +1373,8 @@ - bool read_nopointer_data(FILE *fp) - - -- This function is DEPRECATED. See below. -+ Read hashtable contents to fp. This is valid only if the -+ hashtable key and value are "plain" data. See below. - - - -@@ -1547,131 +1488,58 @@ -

Input/Output

- -

It is possible to save and restore sparse_hash_map objects --to an arbitrary stream (such as a disk file) using the --serialize() and unserialize() methods.

-- --

Each of these methods takes two arguments: a serializer, --which says how to write hashtable items to disk, and a stream, --which can be a C++ stream (istream or its subclasses for --input, ostream or its subclasses for output), a --FILE*, or a user-defined type (as described below).

-- --

The serializer is a functor that takes a stream and a --single hashtable element (a value_type, which is a pair of --the key and data) and copies the hashtable element to the stream (for --serialize()) or fills the hashtable element contents from the --stream (for unserialize()), and returns true on success or --false on error. The copy-in and copy-out functions can be provided in --a single functor. Here is a sample serializer that read/writes a hashtable --element for an int-to-string hash_map to a FILE*:

-- --
--struct StringToIntSerializer {
--  bool operator()(FILE* fp, const std::pair<const int, std::string>& value) const {
--    // Write the key.  We ignore endianness for this example.
--    if (fwrite(&value.first, sizeof(value.first), 1, fp) != 1)
--      return false;
--    // Write the value.
--    assert(value.second.length() <= 255);   // we only support writing small strings
--    const unsigned char size = value.second.length();
--    if (fwrite(&size, 1, 1, fp) != 1)
--      return false;
--    if (fwrite(value.second.data(), size, 1, fp) != 1)
--      return false;
--    return true;
--  }
--  bool operator()(FILE* fp, std::pair<const int, std::string>* value) const {
--    // Read the key.  Note the need for const_cast to get around
--    // the fact hash_map keys are always const.
--    if (fread(const_cast<int*>(&value->first), sizeof(value->first), 1, fp) != 1)
--      return false;
--    // Read the value.
--    unsigned char size;    // all strings are <= 255 chars long
--    if (fread(&size, 1, 1, fp) != 1)
--      return false;
--    char* buf = new char[size];
--    if (fread(buf, size, 1, fp) != 1) {
--      delete[] buf;
--      return false;
--    }
--    new(&value->second) string(buf, size);
--    delete[] buf;
--    return true;
--  }
--};
--
-- --

Here is the functor being used in code (error checking omitted):

--
--   sparse_hash_map<string, int> mymap = CreateMap();
--   FILE* fp = fopen("hashtable.data", "w");
--   mymap.serialize(StringToIntSerializer(), fp);
--   fclose(fp);
--
--   sparse_hash_map<string, int> mymap2;
--   FILE* fp_in = fopen("hashtable.data", "r");
--   mymap2.unserialize(StringToIntSerializer(), fp_in);
--   fclose(fp_in);
--   assert(mymap == mymap2);
--
-+to disk. Storage takes place in two steps. The first writes the -+hashtable metadata. The second writes the actual data.

- --

Important note: the code above uses placement-new to --instantiate the string. This is required for any --non-POD type (which is why we didn't need to worry about this to read --in the integer key). The value_type passed in to the unserializer --points to garbage memory, so it is not safe to assign to it directly --if doing so causes a destructor to be called.

-- --

Also note that this example serializer can only serialize to a --FILE*. If you want to also be able to use this serializer with C++ --streams, you will need to write two more overloads of --operator()'s, one that reads from an istream, and --one that writes to an ostream. Likewise if you want to --support serializing to a custom class.

-- --

If both the key and data are "simple" enough, you can use the --pre-supplied functor NopointerSerializer. This copies the --hashtable data using the equivalent of a memcpy<>. Native C --data types can be serialized this way, as can structs of native C data --types. Pointers and STL objects cannot.

-+

To write a hashtable to disk, first call write_metadata() -+on an open file pointer. This saves the hashtable information in a -+byte-order-independent format.

-+ -+

After the metadata has been written to disk, you must write the -+actual data stored in the hash-map to disk. If both the key and data -+are "simple" enough, you can do this by calling -+write_nopointer_data(). "Simple" data is data that can be -+safely copied to disk via fwrite(). Native C data types fall -+into this category, as do structs of native C data types. Pointers -+and STL objects do not.

- --

Note that NopointerSerializer() does not do any endian -+

Note that write_nopointer_data() does not do any endian - conversion. Thus, it is only appropriate when you intend to read the - data on the same endian architecture as you write the data.

- --

If you wish to serialize to your own stream type, you can do so by --creating an object which supports two methods:

-+

If you cannot use write_nopointer_data() for any reason, -+you can write the data yourself by iterating over the -+sparse_hash_map with a const_iterator and writing -+the key and data in any manner you wish.

-+ -+

To read the hashtable information from disk, first you must create -+a sparse_hash_map object. Then open a file pointer to point -+to the saved hashtable, and call read_metadata(). If you -+saved the data via write_nopointer_data(), you can follow the -+read_metadata() call with a call to -+read_nopointer_data(). This is all that is needed.

-+ -+

If you saved the data through a custom write routine, you must call -+a custom read routine to read in the data. To do this, iterate over -+the sparse_hash_map with an iterator; this operation -+is sensical because the metadata has already been set up. For each -+iterator item, you can read the key and value from disk, and set it -+appropriately. You will need to do a const_cast on the -+iterator, since it->first is always const. You -+will also need to use placement-new if the key or value is a C++ -+object. The code might look like this:

-
--   bool Write(const void* data, size_t length);
--   bool Read(void* data, size_t length);
-+   for (sparse_hash_map<int*, ComplicatedClass>::iterator it = ht.begin();
-+        it != ht.end(); ++it) {
-+       // The key is stored in the sparse_hash_map as a pointer
-+       const_cast<int*>(it->first) = new int;
-+       fread(const_cast<int*>(it->first), sizeof(int), 1, fp);
-+       // The value is a complicated C++ class that takes an int to construct
-+       int ctor_arg;
-+       fread(&ctor_arg, sizeof(int), 1, fp);
-+       new (&it->second) ComplicatedClass(ctor_arg);  // "placement new"
-+   }
- 
--

Write() writes length bytes of data to a --stream (presumably a stream owned by the object), while --Read() reads data bytes from the stream into --data. Both return true on success or false on error.

-- --

To unserialize a hashtable from a stream, you wil typically create --a new sparse_hash_map object, then call unserialize() --on it. unserialize() destroys the old contents of the --object. You must pass in the appropriate ValueSerializer for --the data being read in.

-- --

Both serialize() and unserialize() return --true on success, or false if there was an error --streaming the data.

-- --

Note that serialize() is not a const method, since it --purges deleted elements before serializing. It is not safe to --serialize from two threads at once, without synchronization.

-- --

NOTE: older versions of sparse_hash_map provided a --different API, consisting of read_metadata(), --read_nopointer_data(), write_metadata(), --write_nopointer_data(). Writing to disk consisted of a call --to write_metadata() followed by --write_nopointer_data() (if the hash data was POD) or a custom --loop over the hashtable buckets to write the data (otherwise). --Reading from disk was similar. Prefer the new API for new code.

- - -

Validity of Iterators

-diff -u -r ./doc/sparse_hash_set.html ../../../../sparsehash/doc/sparse_hash_set.html ---- ./doc/sparse_hash_set.html 2014-02-10 13:15:25.796131579 +0100 -+++ ../../../../sparsehash/doc/sparse_hash_set.html 1980-01-01 00:00:00.000000000 +0100 -@@ -588,7 +588,7 @@ - Unordered Associative Container (tr1) - - -- If the key exists in the set, returns the index of the bucket -+ If the key exists in the map, returns the index of the bucket - containing the given key, otherwise, return the bucket the key - would be inserted into. - This value may be passed to begin(size_type) and -@@ -1120,51 +1120,13 @@ - - - -- template <ValueSerializer, OUTPUT> -- bool serialize(ValueSerializer serializer, OUTPUT *fp) -- -- -- sparse_hash_set -- -- -- See below. -- -- -- -- -- -- template <ValueSerializer, INPUT> -- bool unserialize(ValueSerializer serializer, INPUT *fp) -- -- -- sparse_hash_set -- -- -- See below. -- -- -- -- -- -- NopointerSerializer -- -- -- sparse_hash_set -- -- -- See below. -- -- -- -- -- - bool write_metadata(FILE *fp) - - - sparse_hash_set - - -- DEPRECATED. See below. -+ See below. - - - -@@ -1176,7 +1138,7 @@ - sparse_hash_set - - -- DEPRECATED. See below. -+ See below. - - - -@@ -1188,7 +1150,7 @@ - sparse_hash_set - - -- DEPRECATED. See below. -+ See below. - - - -@@ -1200,7 +1162,7 @@ - sparse_hash_set - - -- DEPRECATED. See below. -+ See below. - - - -@@ -1268,33 +1230,10 @@ - - - -- template <ValueSerializer, OUTPUT> -- bool serialize(ValueSerializer serializer, OUTPUT *fp) -- -- -- Emit a serialization of the hash_set to a stream. -- See below. -- -- -- -- -- -- template <ValueSerializer, INPUT> -- bool unserialize(ValueSerializer serializer, INPUT *fp) -- -- -- Read in a serialization of a hash_set from a stream, replacing the -- existing hash_set contents with the serialized contents. -- See below. -- -- -- -- -- - bool write_metadata(FILE *fp) - - -- This function is DEPRECATED. See below. -+ Write hashtable metadata to fp. See below. - - - -@@ -1303,7 +1242,7 @@ - bool read_metadata(FILE *fp) - - -- This function is DEPRECATED. See below. -+ Read hashtable metadata from fp. See below. - - - -@@ -1312,7 +1251,8 @@ - bool write_nopointer_data(FILE *fp) - - -- This function is DEPRECATED. See below. -+ Write hashtable contents to fp. This is valid only if the -+ hashtable key and value are "plain" data. See below. - - - -@@ -1321,7 +1261,8 @@ - bool read_nopointer_data(FILE *fp) - - -- This function is DEPRECATED. See below. -+ Read hashtable contents to fp. This is valid only if the -+ hashtable key and value are "plain" data. See below. - - - -@@ -1389,121 +1330,65 @@ -

Input/Output

- -

It is possible to save and restore sparse_hash_set objects --to an arbitrary stream (such as a disk file) using the --serialize() and unserialize() methods.

-+to disk. Storage takes place in two steps. The first writes the -+hashtable metadata. The second writes the actual data.

- --

Each of these methods takes two arguments: a serializer, --which says how to write hashtable items to disk, and a stream, --which can be a C++ stream (istream or its subclasses for --input, ostream or its subclasses for output), a --FILE*, or a user-defined type (as described below).

-- --

The serializer is a functor that takes a stream and a --single hashtable element (a value_type) and copies the --hashtable element to the stream (for serialize()) or fills --the hashtable element contents from the stream (for --unserialize()), and returns true on success or false on --error. The copy-in and copy-out functions can be provided in a single --functor. Here is a sample serializer that read/writes a hashtable --element for a string hash_set to a FILE*:

-+

To write a hashtable to disk, first call write_metadata() -+on an open file pointer. This saves the hashtable information in a -+byte-order-independent format.

-+ -+

After the metadata has been written to disk, you must write the -+actual data stored in the hash-set to disk. If both the key and data -+are "simple" enough, you can do this by calling -+write_nopointer_data(). "Simple" data is data that can be -+safely copied to disk via fwrite(). Native C data types fall -+into this category, as do structs of native C data types. Pointers -+and STL objects do not.

- --
--struct StringSerializer {
--  bool operator()(FILE* fp, const std::string& value) const {
--    assert(value.length() <= 255);   // we only support writing small strings
--    const unsigned char size = value.length();
--    if (fwrite(&size, 1, 1, fp) != 1)
--      return false;
--    if (fwrite(value.data(), size, 1, fp) != 1)
--      return false;
--    return true;
--  }
--  bool operator()(FILE* fp, std::string* value) const {
--    unsigned char size;    // all strings are <= 255 chars long
--    if (fread(&size, 1, 1, fp) != 1)
--      return false;
--    char* buf = new char[size];
--    if (fread(buf, size, 1, fp) != 1) {
--      delete[] buf;
--      return false;
--    }
--    new(value) string(buf, size);
--    delete[] buf;
--    return true;
--  }
--};
--
-+

Note that write_nopointer_data() does not do any endian -+conversion. Thus, it is only appropriate when you intend to read the -+data on the same endian architecture as you write the data.

- --

Here is the functor being used in code (error checking omitted):

-+

If you cannot use write_nopointer_data() for any reason, -+you can write the data yourself by iterating over the -+sparse_hash_set with a const_iterator and writing -+the key and data in any manner you wish.

-+ -+

To read the hashtable information from disk, first you must create -+a sparse_hash_set object. Then open a file pointer to point -+to the saved hashtable, and call read_metadata(). If you -+saved the data via write_nopointer_data(), you can follow the -+read_metadata() call with a call to -+read_nopointer_data(). This is all that is needed.

-+ -+

If you saved the data through a custom write routine, you must call -+a custom read routine to read in the data. To do this, iterate over -+the sparse_hash_set with an iterator; this operation -+is sensical because the metadata has already been set up. For each -+iterator item, you can read the key and value from disk, and set it -+appropriately. You will need to do a const_cast on the -+iterator, since *it is always const. The -+code might look like this:

-
--   sparse_hash_set<string> myset = CreateSet();
--   FILE* fp = fopen("hashtable.data", "w");
--   myset.serialize(StringSerializer(), fp);
--   fclose(fp);
--
--   sparse_hash_set<string> myset2;
--   FILE* fp_in = fopen("hashtable.data", "r");
--   myset2.unserialize(StringSerializer(), fp_in);
--   fclose(fp_in);
--   assert(myset == myset2);
-+   for (sparse_hash_set<int*>::iterator it = ht.begin();
-+        it != ht.end(); ++it) {
-+       const_cast<int*>(*it) = new int;
-+       fread(const_cast<int*>(*it), sizeof(int), 1, fp);
-+   }
- 
- --

Important note: the code above uses placement-new to --instantiate the string. This is required for any --non-POD type. The value_type passed in to the unserializer --points to garbage memory, so it is not safe to assign to it directly --if doing so causes a destructor to be called.

-- --

Also note that this example serializer can only serialize to a --FILE*. If you want to also be able to use this serializer with C++ --streams, you will need to write two more overloads of --operator()'s, one that reads from an istream, and --one that writes to an ostream. Likewise if you want to --support serializing to a custom class.

-- --

If the key is "simple" enough, you can use the pre-supplied functor --NopointerSerializer. This copies the hashtable data using --the equivalent of a memcpy<>. Native C data types can be --serialized this way, as can structs of native C data types. Pointers --and STL objects cannot.

-- --

Note that NopointerSerializer() does not do any endian --conversion. Thus, it is only appropriate when you intend to read the --data on the same endian architecture as you write the data.

-- --

If you wish to serialize to your own stream type, you can do so by --creating an object which supports two methods:

-+

Here's another example, where the item stored in the hash-set is -+a C++ object with a non-trivial constructor. In this case, you must -+use "placement new" to construct the object at the correct memory -+location.

-
--   bool Write(const void* data, size_t length);
--   bool Read(void* data, size_t length);
-+   for (sparse_hash_set<ComplicatedClass>::iterator it = ht.begin();
-+        it != ht.end(); ++it) {
-+       int ctor_arg;  // ComplicatedClass takes an int as its constructor arg
-+       fread(&ctor_arg, sizeof(int), 1, fp);
-+       new (const_cast<ComplicatedClass*>(&(*it))) ComplicatedClass(ctor_arg);
-+   }
- 
--

Write() writes length bytes of data to a --stream (presumably a stream owned by the object), while --Read() reads data bytes from the stream into --data. Both return true on success or false on error.

-- --

To unserialize a hashtable from a stream, you wil typically create --a new sparse_hash_set object, then call unserialize() --on it. unserialize() destroys the old contents of the --object. You must pass in the appropriate ValueSerializer for --the data being read in.

-- --

Both serialize() and unserialize() return --true on success, or false if there was an error --streaming the data.

-- --

Note that serialize() is not a const method, since it --purges deleted elements before serializing. It is not safe to --serialize from two threads at once, without synchronization.

-- --

NOTE: older versions of sparse_hash_set provided a --different API, consisting of read_metadata(), --read_nopointer_data(), write_metadata(), --write_nopointer_data(). Writing to disk consisted of a call --to write_metadata() followed by --write_nopointer_data() (if the hash data was POD) or a custom --loop over the hashtable buckets to write the data (otherwise). --Reading from disk was similar. Prefer the new API for new code.

- - -

Validity of Iterators

-Only in ./doc: .svn -diff -u -r ./experimental/libchash.h ../../../../sparsehash/experimental/libchash.h ---- ./experimental/libchash.h 2014-02-10 13:15:25.766131331 +0100 -+++ ../../../../sparsehash/experimental/libchash.h 1980-01-01 00:00:00.000000000 +0100 -@@ -1,10 +1,10 @@ - /* Copyright (c) 1998 - 2005, Google Inc. - * All rights reserved. -- * -+ * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: -- * -+ * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above -@@ -14,7 +14,7 @@ - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. -- * -+ * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -@@ -82,7 +82,7 @@ - * so you can't have data fields with those values. - * HashDeleteLast() -- deletes the item returned by the last Find(). - * -- * HashFirstBucket() -- used to iterate over the buckets in a -+ * HashFirstBucket() -- used to iterate over the buckets in a - * hashtable. DON'T INSERT OR DELETE WHILE - * ITERATING! You can't nest iterations. - * HashNextBucket() -- RETURNS NULL at the end of iterating. -@@ -115,6 +115,9 @@ - * from disk. - */ - -+#ifndef UTIL_GTL_OPENSOURCE_EXPERIMENTAL_LIBCHASH_H_ -+#define UTIL_GTL_OPENSOURCE_EXPERIMENTAL_LIBCHASH_H_ -+ - #include - #include /* includes definition of "ulong", we hope */ - #define ulong u_long -@@ -129,15 +132,15 @@ - #endif - #endif - -- /* The following gives a speed/time tradeoff: how many buckets are * -- * in each bin. 0 gives 32 buckets/bin, which is a good number. */ -+/* The following gives a speed/time tradeoff: how many buckets are * -+ * in each bin. 0 gives 32 buckets/bin, which is a good number. */ - #ifndef LOG_BM_WORDS - #define LOG_BM_WORDS 0 /* each group has 2^L_B_W * 32 buckets */ - #endif - -- /* The following are all parameters that affect performance. */ -+/* The following are all parameters that affect performance. */ - #ifndef JUMP --#define JUMP(key, offset) ( ++(offset) ) /* ( 1 ) for linear hashing */ -+#define JUMP(key, offset) (++(offset)) /* ( 1 ) for linear hashing */ - #endif - #ifndef Table - #define Table(x) Sparse##x /* Dense##x for dense tables */ -@@ -166,19 +169,19 @@ - #else - #define IS_BCK_DELETED(bck) 0 - #define SET_BCK_DELETED(ht, bck) \ -- do { fprintf(stderr, "Deletion not supported for insert-only hashtable\n");\ -- exit(2); } while ( 0 ) -+ do { fprintf(stderr, "Deletion not supported for insert-only hashtable\n");\ -+ exit(2); } while ( 0 ) - #endif - -- /* We need the following only for dense buckets (Dense##x above). * -- * If you need to, set this to a value you'll never use for data. */ -+/* We need the following only for dense buckets (Dense##x above). * -+ * If you need to, set this to a value you'll never use for data. */ - #define EMPTY -3UL /* steal more of the bck->data space */ - - -- /* This is what an item is. Either can be cast to a pointer. */ -+/* This is what an item is. Either can be cast to a pointer. */ - typedef struct { -- ulong data; /* 4 bytes for data: either a pointer or an integer */ -- ulong key; /* 4 bytes for the key: either a pointer or an int */ -+ ulong data; /* 4 bytes for data: either a pointer or an integer */ -+ ulong key; /* 4 bytes for the key: either a pointer or an int */ - } HTItem; - - struct Table(Bin); /* defined in chash.c, I hope */ -@@ -186,21 +189,21 @@ - typedef struct Table(Bin) Table; /* Expands to SparseBin, etc */ - typedef struct Table(Iterator) TableIterator; - -- /* for STORES_PTR to work ok, cchKey MUST BE DEFINED 1st, cItems 2nd! */ -+/* for STORES_PTR to work ok, cchKey MUST BE DEFINED 1st, cItems 2nd! */ - typedef struct HashTable { -- ulong cchKey; /* the length of the key, or if it's \0 terminated */ -- ulong cItems; /* number of items currently in the hashtable */ -- ulong cDeletedItems; /* # of buckets holding DELETE in the hashtable */ -- ulong cBuckets; /* size of the table */ -- Table *table; /* The actual contents of the hashtable */ -- int fSaveKeys; /* 1 if we copy keys locally; 2 if keys in one block */ -- int cDeltaGoalSize; /* # of coming inserts (or deletes, if <0) we expect */ -- HTItem *posLastFind; /* position of last Find() command */ -- TableIterator *iter; /* used in First/NextBucket */ -- -- FILE *fpData; /* if non-NULL, what item->data points into */ -- char * (*dataRead)(FILE *, int); /* how to load data from disk */ -- HTItem bckData; /* holds data after being loaded from disk */ -+ ulong cchKey; /* the length of the key, or if it's \0 terminated */ -+ ulong cItems; /* number of items currently in the hashtable */ -+ ulong cDeletedItems; /* # of buckets holding DELETE in the hashtable */ -+ ulong cBuckets; /* size of the table */ -+ Table *table; /* The actual contents of the hashtable */ -+ int fSaveKeys; /* 1 if we copy keys locally; 2 if keys in one block */ -+ int cDeltaGoalSize; /* # of coming inserts (or deletes, if <0) we expect */ -+ HTItem *posLastFind; /* position of last Find() command */ -+ TableIterator *iter; /* used in First/NextBucket */ -+ -+ FILE *fpData; /* if non-NULL, what item->data points into */ -+ char * (*dataRead)(FILE *, int); /* how to load data from disk */ -+ HTItem bckData; /* holds data after being loaded from disk */ - } HashTable; - - /* Small keys are stored and passed directly, but large keys are -@@ -212,11 +215,11 @@ - * KEY_PTR: give it something returned by a Hash() routine, and - * it returns a (char *) pointer to the actual data. - */ --#define HashKeySize(ht) ( ((ulong *)(ht))[0] ) /* this is how we inline */ --#define HashSize(ht) ( ((ulong *)(ht))[1] ) /* ...a la C++ :-) */ -+#define HashKeySize(ht) (((ulong *)(ht))[0]) /* this is how we inline */ -+#define HashSize(ht) (((ulong *)(ht))[1]) /* ...a la C++ :-) */ - --#define STORES_PTR(ht) ( HashKeySize(ht) == 0 || \ -- HashKeySize(ht) > sizeof(ulong) ) -+#define STORES_PTR(ht) (HashKeySize(ht) == 0 || \ -+ HashKeySize(ht) > sizeof(ulong)) - #define KEY_PTR(ht, key) ( STORES_PTR(ht) ? (char *)(key) : (char *)&(key) ) - #ifdef DONT_HAVE_TO_WORRY_ABOUT_BUS_ERRORS - #define PTR_KEY(ht, ptr) ( STORES_PTR(ht) ? (ulong)(ptr) : *(ulong *)(ptr) ) -@@ -225,7 +228,7 @@ - #endif - - -- /* Function prototypes */ -+/* Function prototypes */ - unsigned long HTcopy(char *pul); /* for PTR_KEY, not for users */ - - struct HashTable *AllocateHashTable(int cchKey, int fSaveKeys); -@@ -251,3 +254,5 @@ - void HashSave(FILE *fp, struct HashTable *ht, int (*write)(FILE *, char *)); - struct HashTable *HashLoad(FILE *fp, char * (*read)(FILE *, int)); - struct HashTable *HashLoadKeys(FILE *fp, char * (*read)(FILE *, int)); -+ -+#endif /* UTIL_GTL_OPENSOURCE_EXPERIMENTAL_LIBCHASH_H_ */ -Only in ./experimental: .svn -Only in .: google-sparsehash.sln -diff -u -r ./INSTALL ../../../../sparsehash/INSTALL ---- ./INSTALL 2014-03-24 21:08:08.325847803 +0100 -+++ ../../../../sparsehash/INSTALL 1980-01-01 00:00:00.000000000 +0100 -@@ -2,24 +2,18 @@ - ************************* - - Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, --2006, 2007, 2008, 2009 Free Software Foundation, Inc. -+2006, 2007 Free Software Foundation, Inc. - -- Copying and distribution of this file, with or without modification, --are permitted in any medium without royalty provided the copyright --notice and this notice are preserved. This file is offered as-is, --without warranty of any kind. -+This file is free documentation; the Free Software Foundation gives -+unlimited permission to copy, distribute and modify it. - - Basic Installation - ================== - -- Briefly, the shell commands `./configure; make; make install' should -+Briefly, the shell commands `./configure; make; make install' should - configure, build, and install this package. The following - more-detailed instructions are generic; see the `README' file for --instructions specific to this package. Some packages provide this --`INSTALL' file but do not implement all of the features documented --below. The lack of an optional feature in a given package is not --necessarily a bug. More recommendations for GNU packages can be found --in *note Makefile Conventions: (standards)Makefile Conventions. -+instructions specific to this package. - - The `configure' shell script attempts to guess correct values for - various system-dependent variables used during compilation. It uses -@@ -48,7 +42,7 @@ - you want to change it or regenerate `configure' using a newer version - of `autoconf'. - -- The simplest way to compile this package is: -+The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. -@@ -59,22 +53,12 @@ - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with -- the package, generally using the just-built uninstalled binaries. -+ the package. - - 4. Type `make install' to install the programs and any data files and -- documentation. When installing into a prefix owned by root, it is -- recommended that the package be configured and built as a regular -- user, and only the `make install' phase executed with root -- privileges. -- -- 5. Optionally, type `make installcheck' to repeat any self-tests, but -- this time using the binaries in their final installed location. -- This target does not install anything. Running this target as a -- regular user, particularly if the prior `make install' required -- root privileges, verifies that the installation completed -- correctly. -+ documentation. - -- 6. You can remove the program binaries and object files from the -+ 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is -@@ -83,22 +67,15 @@ - all sorts of other programs in order to regenerate files that came - with the distribution. - -- 7. Often, you can also type `make uninstall' to remove the installed -- files again. In practice, not all packages have tested that -- uninstallation works correctly, even though it is required by the -- GNU Coding Standards. -- -- 8. Some packages, particularly those that use Automake, provide `make -- distcheck', which can by used by developers to test that all other -- targets like `make install' and `make uninstall' work correctly. -- This target is generally not run by end users. -+ 6. Often, you can also type `make uninstall' to remove the installed -+ files again. - - Compilers and Options - ===================== - -- Some systems require unusual options for compilation or linking that --the `configure' script does not know about. Run `./configure --help' --for details on some of the pertinent environment variables. -+Some systems require unusual options for compilation or linking that the -+`configure' script does not know about. Run `./configure --help' for -+details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters - by setting variables in the command line or in the environment. Here -@@ -111,41 +88,25 @@ - Compiling For Multiple Architectures - ==================================== - -- You can compile the package for more than one kind of computer at the -+You can compile the package for more than one kind of computer at the - same time, by placing the object files for each architecture in their - own directory. To do this, you can use GNU `make'. `cd' to the - directory where you want the object files and executables to go and run - the `configure' script. `configure' automatically checks for the --source code in the directory that `configure' is in and in `..'. This --is known as a "VPATH" build. -+source code in the directory that `configure' is in and in `..'. - - With a non-GNU `make', it is safer to compile the package for one - architecture at a time in the source code directory. After you have - installed the package for one architecture, use `make distclean' before - reconfiguring for another architecture. - -- On MacOS X 10.5 and later systems, you can create libraries and --executables that work on multiple system types--known as "fat" or --"universal" binaries--by specifying multiple `-arch' options to the --compiler but only a single `-arch' option to the preprocessor. Like --this: -- -- ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ -- CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ -- CPP="gcc -E" CXXCPP="g++ -E" -- -- This is not guaranteed to produce working output in all cases, you --may have to build one architecture at a time and combine the results --using the `lipo' tool if you have problems. -- - Installation Names - ================== - -- By default, `make install' installs the package's commands under -+By default, `make install' installs the package's commands under - `/usr/local/bin', include files under `/usr/local/include', etc. You - can specify an installation prefix other than `/usr/local' by giving --`configure' the option `--prefix=PREFIX', where PREFIX must be an --absolute file name. -+`configure' the option `--prefix=PREFIX'. - - You can specify separate installation prefixes for - architecture-specific files and architecture-independent files. If you -@@ -156,47 +117,16 @@ - In addition, if you use an unusual directory layout you can give - options like `--bindir=DIR' to specify different values for particular - kinds of files. Run `configure --help' for a list of the directories --you can set and what kinds of files go in them. In general, the --default for these options is expressed in terms of `${prefix}', so that --specifying just `--prefix' will affect all of the other directory --specifications that were not explicitly provided. -- -- The most portable way to affect installation locations is to pass the --correct locations to `configure'; however, many packages provide one or --both of the following shortcuts of passing variable assignments to the --`make install' command line to change installation locations without --having to reconfigure or recompile. -- -- The first method involves providing an override variable for each --affected directory. For example, `make install --prefix=/alternate/directory' will choose an alternate location for all --directory configuration variables that were expressed in terms of --`${prefix}'. Any directories that were specified during `configure', --but not in terms of `${prefix}', must each be overridden at install --time for the entire installation to be relocated. The approach of --makefile variable overrides for each directory variable is required by --the GNU Coding Standards, and ideally causes no recompilation. --However, some platforms have known limitations with the semantics of --shared libraries that end up requiring recompilation when using this --method, particularly noticeable in packages that use GNU Libtool. -- -- The second method involves providing the `DESTDIR' variable. For --example, `make install DESTDIR=/alternate/directory' will prepend --`/alternate/directory' before all installation names. The approach of --`DESTDIR' overrides is not required by the GNU Coding Standards, and --does not work on platforms that have drive letters. On the other hand, --it does better at avoiding recompilation issues, and works well even --when some directory options were not specified in terms of `${prefix}' --at `configure' time. -- --Optional Features --================= -+you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed - with an extra prefix or suffix on their names by giving `configure' the - option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -- Some packages pay attention to `--enable-FEATURE' options to -+Optional Features -+================= -+ -+Some packages pay attention to `--enable-FEATURE' options to - `configure', where FEATURE indicates an optional part of the package. - They may also pay attention to `--with-PACKAGE' options, where PACKAGE - is something like `gnu-as' or `x' (for the X Window System). The -@@ -208,53 +138,14 @@ - you can use the `configure' options `--x-includes=DIR' and - `--x-libraries=DIR' to specify their locations. - -- Some packages offer the ability to configure how verbose the --execution of `make' will be. For these packages, running `./configure ----enable-silent-rules' sets the default to minimal output, which can be --overridden with `make V=1'; while running `./configure ----disable-silent-rules' sets the default to verbose, which can be --overridden with `make V=0'. -- --Particular systems --================== -- -- On HP-UX, the default C compiler is not ANSI C compatible. If GNU --CC is not installed, it is recommended to use the following options in --order to use an ANSI C compiler: -- -- ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" -- --and if that doesn't work, install pre-built binaries of GCC for HP-UX. -- -- On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot --parse its `' header file. The option `-nodtk' can be used as --a workaround. If GNU CC is not installed, it is therefore recommended --to try -- -- ./configure CC="cc" -- --and if that doesn't work, try -- -- ./configure CC="cc -nodtk" -- -- On Solaris, don't put `/usr/ucb' early in your `PATH'. This --directory contains several dysfunctional programs; working variants of --these programs are available in `/usr/bin'. So, if you need `/usr/ucb' --in your `PATH', put it _after_ `/usr/bin'. -- -- On Haiku, software installed for all users goes in `/boot/common', --not `/usr/local'. It is recommended to use the following options: -- -- ./configure --prefix=/boot/common -- - Specifying the System Type - ========================== - -- There may be some features `configure' cannot figure out --automatically, but needs to determine by the type of machine the package --will run on. Usually, assuming the package is built to be run on the --_same_ architectures, `configure' can figure that out, but if it prints --a message saying it cannot guess the machine type, give it the -+There may be some features `configure' cannot figure out automatically, -+but needs to determine by the type of machine the package will run on. -+Usually, assuming the package is built to be run on the _same_ -+architectures, `configure' can figure that out, but if it prints a -+message saying it cannot guess the machine type, give it the - `--build=TYPE' option. TYPE can either be a short name for the system - type, such as `sun4', or a canonical name which has the form: - -@@ -262,8 +153,7 @@ - - where SYSTEM can have one of these forms: - -- OS -- KERNEL-OS -+ OS KERNEL-OS - - See the file `config.sub' for the possible values of each field. If - `config.sub' isn't included in this package, then this package doesn't -@@ -281,9 +171,9 @@ - Sharing Defaults - ================ - -- If you want to set default values for `configure' scripts to share, --you can create a site shell script called `config.site' that gives --default values for variables like `CC', `cache_file', and `prefix'. -+If you want to set default values for `configure' scripts to share, you -+can create a site shell script called `config.site' that gives default -+values for variables like `CC', `cache_file', and `prefix'. - `configure' looks for `PREFIX/share/config.site' if it exists, then - `PREFIX/etc/config.site' if it exists. Or, you can set the - `CONFIG_SITE' environment variable to the location of the site script. -@@ -292,7 +182,7 @@ - Defining Variables - ================== - -- Variables not defined in a site shell script can be set in the -+Variables not defined in a site shell script can be set in the - environment passed to `configure'. However, some packages may run - configure again during the build, and the customized values of these - variables may be lost. In order to avoid this problem, you should set -@@ -311,19 +201,11 @@ - `configure' Invocation - ====================== - -- `configure' recognizes the following options to control how it --operates. -+`configure' recognizes the following options to control how it operates. - - `--help' - `-h' -- Print a summary of all of the options to `configure', and exit. -- --`--help=short' --`--help=recursive' -- Print a summary of the options unique to this package's -- `configure', and exit. The `short' variant lists options used -- only in the top level, while the `recursive' variant lists options -- also present in any nested packages. -+ Print a summary of the options to `configure', and exit. - - `--version' - `-V' -@@ -350,16 +232,6 @@ - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - --`--prefix=DIR' -- Use DIR as the installation prefix. *note Installation Names:: -- for more details, including other options available for fine-tuning -- the installation locations. -- --`--no-create' --`-n' -- Run the configure checks, but stop before creating any output -- files. -- - `configure' also accepts some other, not widely useful, options. Run - `configure --help' for more details. - -diff -u -r ./install-sh ../../../../sparsehash/install-sh ---- ./install-sh 2014-03-24 21:08:08.325847803 +0100 -+++ ../../../../sparsehash/install-sh 1980-01-01 00:00:00.000000000 +0100 -@@ -1,7 +1,7 @@ - #!/bin/sh - # install - install a program, script, or datafile - --scriptversion=2009-04-28.21; # UTC -+scriptversion=2006-12-25.00 - - # This originates from X11R5 (mit/util/scripts/install.sh), which was - # later released in X11R6 (xc/config/util/install.sh) with the -@@ -515,6 +515,5 @@ - # eval: (add-hook 'write-file-hooks 'time-stamp) - # time-stamp-start: "scriptversion=" - # time-stamp-format: "%:y-%02m-%02d.%02H" --# time-stamp-time-zone: "UTC" --# time-stamp-end: "; # UTC" -+# time-stamp-end: "$" - # End: -Only in ./m4: .svn -diff -u -r ./Makefile.am ../../../../sparsehash/Makefile.am ---- ./Makefile.am 2014-02-10 13:15:25.876132247 +0100 -+++ ../../../../sparsehash/Makefile.am 1980-01-01 00:00:00.000000000 +0100 -@@ -110,10 +110,7 @@ - src/google/sparse_hash_set \ - src/google/sparsetable \ - src/google/template_util.h \ -- src/google/type_traits.h -- --googleinternalincludedir = $(includedir)/google/sparsehash --googleinternalinclude_HEADERS= \ -+ src/google/type_traits.h \ - src/google/sparsehash/densehashtable.h \ - src/google/sparsehash/sparsehashtable.h \ - src/google/sparsehash/hashtable-common.h \ -@@ -172,8 +169,7 @@ - simple_compat_test_SOURCES = \ - src/simple_compat_test.cc \ - $(internalinclude_HEADERS) \ -- $(googleinclude_HEADERS) \ -- $(googleinternalinclude_HEADERS) -+ $(googleinclude_HEADERS) - nodist_simple_compat_test_SOURCES = $(nodist_internalinclude_HEADERS) - - time_hash_map_SOURCES = \ -diff -u -r ./Makefile.in ../../../../sparsehash/Makefile.in ---- ./Makefile.in 2014-03-24 21:08:08.335847881 +0100 -+++ ../../../../sparsehash/Makefile.in 1980-01-01 00:00:00.000000000 +0100 -@@ -1,9 +1,8 @@ --# Makefile.in generated by automake 1.11.1 from Makefile.am. -+# Makefile.in generated by automake 1.10.1 from Makefile.am. - # @configure_input@ - - # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, --# Inc. -+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - # This Makefile.in is free software; the Free Software Foundation - # gives unlimited permission to copy and/or distribute it, - # with or without modifications, as long as this notice is preserved. -@@ -20,9 +19,8 @@ - - VPATH = @srcdir@ - pkgdatadir = $(datadir)/@PACKAGE@ --pkgincludedir = $(includedir)/@PACKAGE@ - pkglibdir = $(libdir)/@PACKAGE@ --pkglibexecdir = $(libexecdir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd - install_sh_DATA = $(install_sh) -c -m 644 - install_sh_PROGRAM = $(install_sh) -c -@@ -44,12 +42,12 @@ - noinst_PROGRAMS = $(am__EXEEXT_1) time_hash_map$(EXEEXT) - subdir = . - DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \ -- $(googleinclude_HEADERS) $(googleinternalinclude_HEADERS) \ -- $(internalinclude_HEADERS) $(sparsehashinclude_HEADERS) \ -- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ -- $(top_srcdir)/configure $(top_srcdir)/src/config.h.in AUTHORS \ -- COPYING ChangeLog INSTALL NEWS TODO config.guess config.sub \ -- depcomp install-sh missing -+ $(googleinclude_HEADERS) $(internalinclude_HEADERS) \ -+ $(sparsehashinclude_HEADERS) $(srcdir)/Makefile.am \ -+ $(srcdir)/Makefile.in $(top_srcdir)/configure \ -+ $(top_srcdir)/src/config.h.in AUTHORS COPYING ChangeLog \ -+ INSTALL NEWS TODO config.guess config.sub depcomp install-sh \ -+ missing - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/m4/acx_pthread.m4 \ - $(top_srcdir)/m4/google_namespace.m4 \ -@@ -62,34 +60,18 @@ - mkinstalldirs = $(install_sh) -d - CONFIG_HEADER = $(top_builddir)/src/config.h - CONFIG_CLEAN_FILES = --CONFIG_CLEAN_VPATH_FILES = - am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; - am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; --am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; --am__install_max = 40 --am__nobase_strip_setup = \ -- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` --am__nobase_strip = \ -- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" --am__nobase_list = $(am__nobase_strip_setup); \ -- for p in $$list; do echo "$$p $$p"; done | \ -- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ -- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ -- if (++n[$$2] == $(am__install_max)) \ -- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ -- END { for (dir in files) print dir, files[dir] }' --am__base_list = \ -- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ -- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; - am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(docdir)" \ - "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(googleincludedir)" \ -- "$(DESTDIR)$(googleinternalincludedir)" \ - "$(DESTDIR)$(internalincludedir)" \ - "$(DESTDIR)$(internalincludedir)" \ - "$(DESTDIR)$(sparsehashincludedir)" -+libLTLIBRARIES_INSTALL = $(INSTALL) - LTLIBRARIES = $(lib_LTLIBRARIES) - am__EXEEXT_1 = template_util_unittest$(EXEEXT) \ - type_traits_unittest$(EXEEXT) \ -@@ -110,7 +92,7 @@ - $(am_libc_allocator_with_realloc_test_OBJECTS) - libc_allocator_with_realloc_test_LDADD = $(LDADD) - am_simple_compat_test_OBJECTS = simple_compat_test.$(OBJEXT) \ -- $(am__objects_1) $(am__objects_1) $(am__objects_1) -+ $(am__objects_1) $(am__objects_1) - nodist_simple_compat_test_OBJECTS = $(am__objects_1) - simple_compat_test_OBJECTS = $(am_simple_compat_test_OBJECTS) \ - $(nodist_simple_compat_test_OBJECTS) -@@ -148,7 +130,6 @@ - DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src - depcomp = $(SHELL) $(top_srcdir)/depcomp - am__depfiles_maybe = depfiles --am__mv = mv -f - CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) - CXXLD = $(CXX) -@@ -175,21 +156,24 @@ - $(sparsetable_unittest_SOURCES) \ - $(template_util_unittest_SOURCES) $(time_hash_map_SOURCES) \ - $(type_traits_unittest_SOURCES) -+dist_docDATA_INSTALL = $(INSTALL_DATA) -+pkgconfigDATA_INSTALL = $(INSTALL_DATA) - DATA = $(dist_doc_DATA) $(pkgconfig_DATA) --HEADERS = $(googleinclude_HEADERS) $(googleinternalinclude_HEADERS) \ -- $(internalinclude_HEADERS) $(nodist_internalinclude_HEADERS) \ -- $(sparsehashinclude_HEADERS) -+googleincludeHEADERS_INSTALL = $(INSTALL_HEADER) -+internalincludeHEADERS_INSTALL = $(INSTALL_HEADER) -+nodist_internalincludeHEADERS_INSTALL = $(INSTALL_HEADER) -+sparsehashincludeHEADERS_INSTALL = $(INSTALL_HEADER) -+HEADERS = $(googleinclude_HEADERS) $(internalinclude_HEADERS) \ -+ $(nodist_internalinclude_HEADERS) $(sparsehashinclude_HEADERS) - ETAGS = etags - CTAGS = ctags --am__tty_colors = \ --red=; grn=; lgn=; blu=; std= - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - distdir = $(PACKAGE)-$(VERSION) - top_distdir = $(distdir) - am__remove_distdir = \ -- { test ! -d "$(distdir)" \ -- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ -- && rm -fr "$(distdir)"; }; } -+ { test ! -d $(distdir) \ -+ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ -+ && rm -fr $(distdir); }; } - DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip - GZIP_ENV = --best - distuninstallcheck_listfiles = find . -type f -print -@@ -235,7 +219,6 @@ - PACKAGE_NAME = @PACKAGE_NAME@ - PACKAGE_STRING = @PACKAGE_STRING@ - PACKAGE_TARNAME = @PACKAGE_TARNAME@ --PACKAGE_URL = @PACKAGE_URL@ - PACKAGE_VERSION = @PACKAGE_VERSION@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PTHREAD_CC = @PTHREAD_CC@ -@@ -361,10 +344,7 @@ - src/google/sparse_hash_set \ - src/google/sparsetable \ - src/google/template_util.h \ -- src/google/type_traits.h -- --googleinternalincludedir = $(includedir)/google/sparsehash --googleinternalinclude_HEADERS = \ -+ src/google/type_traits.h \ - src/google/sparsehash/densehashtable.h \ - src/google/sparsehash/sparsehashtable.h \ - src/google/sparsehash/hashtable-common.h \ -@@ -410,8 +390,7 @@ - simple_compat_test_SOURCES = \ - src/simple_compat_test.cc \ - $(internalinclude_HEADERS) \ -- $(googleinclude_HEADERS) \ -- $(googleinternalinclude_HEADERS) -+ $(googleinclude_HEADERS) - - nodist_simple_compat_test_SOURCES = $(nodist_internalinclude_HEADERS) - time_hash_map_SOURCES = \ -@@ -444,15 +423,15 @@ - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ -- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ -- $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ -+ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ -+ cd $(srcdir) && $(AUTOMAKE) --gnu \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ -- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ -- $(am__cd) $(top_srcdir) && \ -- $(AUTOMAKE) --gnu Makefile -+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ -+ cd $(top_srcdir) && \ -+ $(AUTOMAKE) --gnu Makefile - .PRECIOUS: Makefile - Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ -@@ -468,10 +447,9 @@ - $(SHELL) ./config.status --recheck - - $(top_srcdir)/configure: $(am__configure_deps) -- $(am__cd) $(srcdir) && $(AUTOCONF) -+ cd $(srcdir) && $(AUTOCONF) - $(ACLOCAL_M4): $(am__aclocal_m4_deps) -- $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) --$(am__aclocal_m4_deps): -+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) - - src/config.h: src/stamp-h1 - @if test ! -f $@; then \ -@@ -483,7 +461,7 @@ - @rm -f src/stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status src/config.h - $(top_srcdir)/src/config.h.in: $(am__configure_deps) -- ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) -+ cd $(top_srcdir) && $(AUTOHEADER) - rm -f src/stamp-h1 - touch $@ - -@@ -492,24 +470,20 @@ - install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" -- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ -- list2=; for p in $$list; do \ -+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ -- list2="$$list2 $$p"; \ -+ f=$(am__strip_dir) \ -+ echo " $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ -+ $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ - else :; fi; \ -- done; \ -- test -z "$$list2" || { \ -- echo " $(INSTALL) $(INSTALL_STRIP_FLAG) $$list '$(DESTDIR)$(libdir)'"; \ -- $(INSTALL) $(INSTALL_STRIP_FLAG) $$list "$(DESTDIR)$(libdir)"; \ -- } -+ done - - uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) -- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ -- for p in $$list; do \ -- $(am__strip_dir) \ -- echo " rm -f '$(DESTDIR)$(libdir)/$$f'"; \ -- rm -f "$(DESTDIR)$(libdir)/$$f"; \ -+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ -+ p=$(am__strip_dir) \ -+ echo " rm -f '$(DESTDIR)$(libdir)/$$p'"; \ -+ rm -f "$(DESTDIR)$(libdir)/$$p"; \ - done - - clean-libLTLIBRARIES: -@@ -565,283 +539,245 @@ - - .cc.o: - @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< - - .cc.obj: - @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - - hashtable_test.o: src/hashtable_test.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hashtable_test.o -MD -MP -MF $(DEPDIR)/hashtable_test.Tpo -c -o hashtable_test.o `test -f 'src/hashtable_test.cc' || echo '$(srcdir)/'`src/hashtable_test.cc --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/hashtable_test.Tpo $(DEPDIR)/hashtable_test.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/hashtable_test.Tpo $(DEPDIR)/hashtable_test.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/hashtable_test.cc' object='hashtable_test.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hashtable_test.o `test -f 'src/hashtable_test.cc' || echo '$(srcdir)/'`src/hashtable_test.cc - - hashtable_test.obj: src/hashtable_test.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hashtable_test.obj -MD -MP -MF $(DEPDIR)/hashtable_test.Tpo -c -o hashtable_test.obj `if test -f 'src/hashtable_test.cc'; then $(CYGPATH_W) 'src/hashtable_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/hashtable_test.cc'; fi` --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/hashtable_test.Tpo $(DEPDIR)/hashtable_test.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/hashtable_test.Tpo $(DEPDIR)/hashtable_test.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/hashtable_test.cc' object='hashtable_test.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hashtable_test.obj `if test -f 'src/hashtable_test.cc'; then $(CYGPATH_W) 'src/hashtable_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/hashtable_test.cc'; fi` - - libc_allocator_with_realloc_test.o: src/libc_allocator_with_realloc_test.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libc_allocator_with_realloc_test.o -MD -MP -MF $(DEPDIR)/libc_allocator_with_realloc_test.Tpo -c -o libc_allocator_with_realloc_test.o `test -f 'src/libc_allocator_with_realloc_test.cc' || echo '$(srcdir)/'`src/libc_allocator_with_realloc_test.cc --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libc_allocator_with_realloc_test.Tpo $(DEPDIR)/libc_allocator_with_realloc_test.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libc_allocator_with_realloc_test.Tpo $(DEPDIR)/libc_allocator_with_realloc_test.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/libc_allocator_with_realloc_test.cc' object='libc_allocator_with_realloc_test.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libc_allocator_with_realloc_test.o `test -f 'src/libc_allocator_with_realloc_test.cc' || echo '$(srcdir)/'`src/libc_allocator_with_realloc_test.cc - - libc_allocator_with_realloc_test.obj: src/libc_allocator_with_realloc_test.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libc_allocator_with_realloc_test.obj -MD -MP -MF $(DEPDIR)/libc_allocator_with_realloc_test.Tpo -c -o libc_allocator_with_realloc_test.obj `if test -f 'src/libc_allocator_with_realloc_test.cc'; then $(CYGPATH_W) 'src/libc_allocator_with_realloc_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/libc_allocator_with_realloc_test.cc'; fi` --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libc_allocator_with_realloc_test.Tpo $(DEPDIR)/libc_allocator_with_realloc_test.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libc_allocator_with_realloc_test.Tpo $(DEPDIR)/libc_allocator_with_realloc_test.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/libc_allocator_with_realloc_test.cc' object='libc_allocator_with_realloc_test.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libc_allocator_with_realloc_test.obj `if test -f 'src/libc_allocator_with_realloc_test.cc'; then $(CYGPATH_W) 'src/libc_allocator_with_realloc_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/libc_allocator_with_realloc_test.cc'; fi` - - simple_compat_test.o: src/simple_compat_test.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simple_compat_test.o -MD -MP -MF $(DEPDIR)/simple_compat_test.Tpo -c -o simple_compat_test.o `test -f 'src/simple_compat_test.cc' || echo '$(srcdir)/'`src/simple_compat_test.cc --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/simple_compat_test.Tpo $(DEPDIR)/simple_compat_test.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/simple_compat_test.Tpo $(DEPDIR)/simple_compat_test.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/simple_compat_test.cc' object='simple_compat_test.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simple_compat_test.o `test -f 'src/simple_compat_test.cc' || echo '$(srcdir)/'`src/simple_compat_test.cc - - simple_compat_test.obj: src/simple_compat_test.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simple_compat_test.obj -MD -MP -MF $(DEPDIR)/simple_compat_test.Tpo -c -o simple_compat_test.obj `if test -f 'src/simple_compat_test.cc'; then $(CYGPATH_W) 'src/simple_compat_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/simple_compat_test.cc'; fi` --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/simple_compat_test.Tpo $(DEPDIR)/simple_compat_test.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/simple_compat_test.Tpo $(DEPDIR)/simple_compat_test.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/simple_compat_test.cc' object='simple_compat_test.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simple_compat_test.obj `if test -f 'src/simple_compat_test.cc'; then $(CYGPATH_W) 'src/simple_compat_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/simple_compat_test.cc'; fi` - - simple_test.o: src/simple_test.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simple_test.o -MD -MP -MF $(DEPDIR)/simple_test.Tpo -c -o simple_test.o `test -f 'src/simple_test.cc' || echo '$(srcdir)/'`src/simple_test.cc --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/simple_test.Tpo $(DEPDIR)/simple_test.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/simple_test.Tpo $(DEPDIR)/simple_test.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/simple_test.cc' object='simple_test.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simple_test.o `test -f 'src/simple_test.cc' || echo '$(srcdir)/'`src/simple_test.cc - - simple_test.obj: src/simple_test.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simple_test.obj -MD -MP -MF $(DEPDIR)/simple_test.Tpo -c -o simple_test.obj `if test -f 'src/simple_test.cc'; then $(CYGPATH_W) 'src/simple_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/simple_test.cc'; fi` --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/simple_test.Tpo $(DEPDIR)/simple_test.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/simple_test.Tpo $(DEPDIR)/simple_test.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/simple_test.cc' object='simple_test.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simple_test.obj `if test -f 'src/simple_test.cc'; then $(CYGPATH_W) 'src/simple_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/simple_test.cc'; fi` - - sparsetable_unittest.o: src/sparsetable_unittest.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sparsetable_unittest.o -MD -MP -MF $(DEPDIR)/sparsetable_unittest.Tpo -c -o sparsetable_unittest.o `test -f 'src/sparsetable_unittest.cc' || echo '$(srcdir)/'`src/sparsetable_unittest.cc --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/sparsetable_unittest.Tpo $(DEPDIR)/sparsetable_unittest.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/sparsetable_unittest.Tpo $(DEPDIR)/sparsetable_unittest.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/sparsetable_unittest.cc' object='sparsetable_unittest.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sparsetable_unittest.o `test -f 'src/sparsetable_unittest.cc' || echo '$(srcdir)/'`src/sparsetable_unittest.cc - - sparsetable_unittest.obj: src/sparsetable_unittest.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sparsetable_unittest.obj -MD -MP -MF $(DEPDIR)/sparsetable_unittest.Tpo -c -o sparsetable_unittest.obj `if test -f 'src/sparsetable_unittest.cc'; then $(CYGPATH_W) 'src/sparsetable_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/src/sparsetable_unittest.cc'; fi` --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/sparsetable_unittest.Tpo $(DEPDIR)/sparsetable_unittest.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/sparsetable_unittest.Tpo $(DEPDIR)/sparsetable_unittest.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/sparsetable_unittest.cc' object='sparsetable_unittest.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sparsetable_unittest.obj `if test -f 'src/sparsetable_unittest.cc'; then $(CYGPATH_W) 'src/sparsetable_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/src/sparsetable_unittest.cc'; fi` - - template_util_unittest.o: src/template_util_unittest.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT template_util_unittest.o -MD -MP -MF $(DEPDIR)/template_util_unittest.Tpo -c -o template_util_unittest.o `test -f 'src/template_util_unittest.cc' || echo '$(srcdir)/'`src/template_util_unittest.cc --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/template_util_unittest.Tpo $(DEPDIR)/template_util_unittest.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/template_util_unittest.Tpo $(DEPDIR)/template_util_unittest.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template_util_unittest.cc' object='template_util_unittest.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o template_util_unittest.o `test -f 'src/template_util_unittest.cc' || echo '$(srcdir)/'`src/template_util_unittest.cc - - template_util_unittest.obj: src/template_util_unittest.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT template_util_unittest.obj -MD -MP -MF $(DEPDIR)/template_util_unittest.Tpo -c -o template_util_unittest.obj `if test -f 'src/template_util_unittest.cc'; then $(CYGPATH_W) 'src/template_util_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/src/template_util_unittest.cc'; fi` --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/template_util_unittest.Tpo $(DEPDIR)/template_util_unittest.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/template_util_unittest.Tpo $(DEPDIR)/template_util_unittest.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template_util_unittest.cc' object='template_util_unittest.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o template_util_unittest.obj `if test -f 'src/template_util_unittest.cc'; then $(CYGPATH_W) 'src/template_util_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/src/template_util_unittest.cc'; fi` - - time_hash_map-time_hash_map.o: src/time_hash_map.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(time_hash_map_CXXFLAGS) $(CXXFLAGS) -MT time_hash_map-time_hash_map.o -MD -MP -MF $(DEPDIR)/time_hash_map-time_hash_map.Tpo -c -o time_hash_map-time_hash_map.o `test -f 'src/time_hash_map.cc' || echo '$(srcdir)/'`src/time_hash_map.cc --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/time_hash_map-time_hash_map.Tpo $(DEPDIR)/time_hash_map-time_hash_map.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/time_hash_map-time_hash_map.Tpo $(DEPDIR)/time_hash_map-time_hash_map.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/time_hash_map.cc' object='time_hash_map-time_hash_map.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(time_hash_map_CXXFLAGS) $(CXXFLAGS) -c -o time_hash_map-time_hash_map.o `test -f 'src/time_hash_map.cc' || echo '$(srcdir)/'`src/time_hash_map.cc - - time_hash_map-time_hash_map.obj: src/time_hash_map.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(time_hash_map_CXXFLAGS) $(CXXFLAGS) -MT time_hash_map-time_hash_map.obj -MD -MP -MF $(DEPDIR)/time_hash_map-time_hash_map.Tpo -c -o time_hash_map-time_hash_map.obj `if test -f 'src/time_hash_map.cc'; then $(CYGPATH_W) 'src/time_hash_map.cc'; else $(CYGPATH_W) '$(srcdir)/src/time_hash_map.cc'; fi` --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/time_hash_map-time_hash_map.Tpo $(DEPDIR)/time_hash_map-time_hash_map.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/time_hash_map-time_hash_map.Tpo $(DEPDIR)/time_hash_map-time_hash_map.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/time_hash_map.cc' object='time_hash_map-time_hash_map.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(time_hash_map_CXXFLAGS) $(CXXFLAGS) -c -o time_hash_map-time_hash_map.obj `if test -f 'src/time_hash_map.cc'; then $(CYGPATH_W) 'src/time_hash_map.cc'; else $(CYGPATH_W) '$(srcdir)/src/time_hash_map.cc'; fi` - - type_traits_unittest.o: src/type_traits_unittest.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT type_traits_unittest.o -MD -MP -MF $(DEPDIR)/type_traits_unittest.Tpo -c -o type_traits_unittest.o `test -f 'src/type_traits_unittest.cc' || echo '$(srcdir)/'`src/type_traits_unittest.cc --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/type_traits_unittest.Tpo $(DEPDIR)/type_traits_unittest.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/type_traits_unittest.Tpo $(DEPDIR)/type_traits_unittest.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/type_traits_unittest.cc' object='type_traits_unittest.o' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o type_traits_unittest.o `test -f 'src/type_traits_unittest.cc' || echo '$(srcdir)/'`src/type_traits_unittest.cc - - type_traits_unittest.obj: src/type_traits_unittest.cc - @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT type_traits_unittest.obj -MD -MP -MF $(DEPDIR)/type_traits_unittest.Tpo -c -o type_traits_unittest.obj `if test -f 'src/type_traits_unittest.cc'; then $(CYGPATH_W) 'src/type_traits_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/src/type_traits_unittest.cc'; fi` --@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/type_traits_unittest.Tpo $(DEPDIR)/type_traits_unittest.Po -+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/type_traits_unittest.Tpo $(DEPDIR)/type_traits_unittest.Po - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/type_traits_unittest.cc' object='type_traits_unittest.obj' libtool=no @AMDEPBACKSLASH@ - @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o type_traits_unittest.obj `if test -f 'src/type_traits_unittest.cc'; then $(CYGPATH_W) 'src/type_traits_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/src/type_traits_unittest.cc'; fi` - install-dist_docDATA: $(dist_doc_DATA) - @$(NORMAL_INSTALL) - test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)" -- @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ -- for p in $$list; do \ -+ @list='$(dist_doc_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- echo "$$d$$p"; \ -- done | $(am__base_list) | \ -- while read files; do \ -- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ -- $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ -+ f=$(am__strip_dir) \ -+ echo " $(dist_docDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(docdir)/$$f'"; \ -+ $(dist_docDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(docdir)/$$f"; \ - done - - uninstall-dist_docDATA: - @$(NORMAL_UNINSTALL) -- @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ -- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -- test -n "$$files" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(docdir)" && rm -f $$files -+ @list='$(dist_doc_DATA)'; for p in $$list; do \ -+ f=$(am__strip_dir) \ -+ echo " rm -f '$(DESTDIR)$(docdir)/$$f'"; \ -+ rm -f "$(DESTDIR)$(docdir)/$$f"; \ -+ done - install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" -- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ -- for p in $$list; do \ -+ @list='$(pkgconfig_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- echo "$$d$$p"; \ -- done | $(am__base_list) | \ -- while read files; do \ -- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ -- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ -+ f=$(am__strip_dir) \ -+ echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ -+ $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ - done - - uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) -- @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ -- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -- test -n "$$files" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files -+ @list='$(pkgconfig_DATA)'; for p in $$list; do \ -+ f=$(am__strip_dir) \ -+ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ -+ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ -+ done - install-googleincludeHEADERS: $(googleinclude_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(googleincludedir)" || $(MKDIR_P) "$(DESTDIR)$(googleincludedir)" -- @list='$(googleinclude_HEADERS)'; test -n "$(googleincludedir)" || list=; \ -- for p in $$list; do \ -+ @list='$(googleinclude_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- echo "$$d$$p"; \ -- done | $(am__base_list) | \ -- while read files; do \ -- echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(googleincludedir)'"; \ -- $(INSTALL_HEADER) $$files "$(DESTDIR)$(googleincludedir)" || exit $$?; \ -+ f=$(am__strip_dir) \ -+ echo " $(googleincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(googleincludedir)/$$f'"; \ -+ $(googleincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(googleincludedir)/$$f"; \ - done - - uninstall-googleincludeHEADERS: - @$(NORMAL_UNINSTALL) -- @list='$(googleinclude_HEADERS)'; test -n "$(googleincludedir)" || list=; \ -- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -- test -n "$$files" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(googleincludedir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(googleincludedir)" && rm -f $$files --install-googleinternalincludeHEADERS: $(googleinternalinclude_HEADERS) -- @$(NORMAL_INSTALL) -- test -z "$(googleinternalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(googleinternalincludedir)" -- @list='$(googleinternalinclude_HEADERS)'; test -n "$(googleinternalincludedir)" || list=; \ -- for p in $$list; do \ -- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- echo "$$d$$p"; \ -- done | $(am__base_list) | \ -- while read files; do \ -- echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(googleinternalincludedir)'"; \ -- $(INSTALL_HEADER) $$files "$(DESTDIR)$(googleinternalincludedir)" || exit $$?; \ -+ @list='$(googleinclude_HEADERS)'; for p in $$list; do \ -+ f=$(am__strip_dir) \ -+ echo " rm -f '$(DESTDIR)$(googleincludedir)/$$f'"; \ -+ rm -f "$(DESTDIR)$(googleincludedir)/$$f"; \ - done -- --uninstall-googleinternalincludeHEADERS: -- @$(NORMAL_UNINSTALL) -- @list='$(googleinternalinclude_HEADERS)'; test -n "$(googleinternalincludedir)" || list=; \ -- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -- test -n "$$files" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(googleinternalincludedir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(googleinternalincludedir)" && rm -f $$files - install-internalincludeHEADERS: $(internalinclude_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)" -- @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \ -- for p in $$list; do \ -+ @list='$(internalinclude_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- echo "$$d$$p"; \ -- done | $(am__base_list) | \ -- while read files; do \ -- echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \ -- $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \ -+ f=$(am__strip_dir) \ -+ echo " $(internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \ -+ $(internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \ - done - - uninstall-internalincludeHEADERS: - @$(NORMAL_UNINSTALL) -- @list='$(internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \ -- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -- test -n "$$files" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(internalincludedir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(internalincludedir)" && rm -f $$files -+ @list='$(internalinclude_HEADERS)'; for p in $$list; do \ -+ f=$(am__strip_dir) \ -+ echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \ -+ rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \ -+ done - install-nodist_internalincludeHEADERS: $(nodist_internalinclude_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(internalincludedir)" || $(MKDIR_P) "$(DESTDIR)$(internalincludedir)" -- @list='$(nodist_internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \ -- for p in $$list; do \ -+ @list='$(nodist_internalinclude_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- echo "$$d$$p"; \ -- done | $(am__base_list) | \ -- while read files; do \ -- echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(internalincludedir)'"; \ -- $(INSTALL_HEADER) $$files "$(DESTDIR)$(internalincludedir)" || exit $$?; \ -+ f=$(am__strip_dir) \ -+ echo " $(nodist_internalincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(internalincludedir)/$$f'"; \ -+ $(nodist_internalincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(internalincludedir)/$$f"; \ - done - - uninstall-nodist_internalincludeHEADERS: - @$(NORMAL_UNINSTALL) -- @list='$(nodist_internalinclude_HEADERS)'; test -n "$(internalincludedir)" || list=; \ -- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -- test -n "$$files" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(internalincludedir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(internalincludedir)" && rm -f $$files -+ @list='$(nodist_internalinclude_HEADERS)'; for p in $$list; do \ -+ f=$(am__strip_dir) \ -+ echo " rm -f '$(DESTDIR)$(internalincludedir)/$$f'"; \ -+ rm -f "$(DESTDIR)$(internalincludedir)/$$f"; \ -+ done - install-sparsehashincludeHEADERS: $(sparsehashinclude_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(sparsehashincludedir)" || $(MKDIR_P) "$(DESTDIR)$(sparsehashincludedir)" -- @list='$(sparsehashinclude_HEADERS)'; test -n "$(sparsehashincludedir)" || list=; \ -- for p in $$list; do \ -+ @list='$(sparsehashinclude_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- echo "$$d$$p"; \ -- done | $(am__base_list) | \ -- while read files; do \ -- echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(sparsehashincludedir)'"; \ -- $(INSTALL_HEADER) $$files "$(DESTDIR)$(sparsehashincludedir)" || exit $$?; \ -+ f=$(am__strip_dir) \ -+ echo " $(sparsehashincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(sparsehashincludedir)/$$f'"; \ -+ $(sparsehashincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(sparsehashincludedir)/$$f"; \ - done - - uninstall-sparsehashincludeHEADERS: - @$(NORMAL_UNINSTALL) -- @list='$(sparsehashinclude_HEADERS)'; test -n "$(sparsehashincludedir)" || list=; \ -- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -- test -n "$$files" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(sparsehashincludedir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(sparsehashincludedir)" && rm -f $$files -+ @list='$(sparsehashinclude_HEADERS)'; for p in $$list; do \ -+ f=$(am__strip_dir) \ -+ echo " rm -f '$(DESTDIR)$(sparsehashincludedir)/$$f'"; \ -+ rm -f "$(DESTDIR)$(sparsehashincludedir)/$$f"; \ -+ done - - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ -- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ -+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique - tags: TAGS - - TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) -- set x; \ -+ tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ -@@ -849,43 +785,37 @@ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ -- shift; \ -- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ -+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ -- if test $$# -gt 0; then \ -- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -- "$$@" $$unique; \ -- else \ -- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -- $$unique; \ -- fi; \ -+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -+ $$tags $$unique; \ - fi - ctags: CTAGS - CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) -+ tags=; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ -- test -z "$(CTAGS_ARGS)$$unique" \ -+ test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ -- $$unique -+ $$tags $$unique - - GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ -- && $(am__cd) $(top_srcdir) \ -- && gtags -i $(GTAGS_ARGS) "$$here" -+ && cd $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) $$here - - distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - - check-TESTS: $(TESTS) -- @failed=0; all=0; xfail=0; xpass=0; skip=0; \ -+ @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ - srcdir=$(srcdir); export srcdir; \ - list=' $(TESTS) '; \ -- $(am__tty_colors); \ - if test -n "$$list"; then \ - for tst in $$list; do \ - if test -f ./$$tst; then dir=./; \ -@@ -894,63 +824,49 @@ - if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ -- *[\ \ ]$$tst[\ \ ]*) \ -+ *$$ws$$tst$$ws*) \ - xpass=`expr $$xpass + 1`; \ - failed=`expr $$failed + 1`; \ -- col=$$red; res=XPASS; \ -+ echo "XPASS: $$tst"; \ - ;; \ - *) \ -- col=$$grn; res=PASS; \ -+ echo "PASS: $$tst"; \ - ;; \ - esac; \ - elif test $$? -ne 77; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ -- *[\ \ ]$$tst[\ \ ]*) \ -+ *$$ws$$tst$$ws*) \ - xfail=`expr $$xfail + 1`; \ -- col=$$lgn; res=XFAIL; \ -+ echo "XFAIL: $$tst"; \ - ;; \ - *) \ - failed=`expr $$failed + 1`; \ -- col=$$red; res=FAIL; \ -+ echo "FAIL: $$tst"; \ - ;; \ - esac; \ - else \ - skip=`expr $$skip + 1`; \ -- col=$$blu; res=SKIP; \ -+ echo "SKIP: $$tst"; \ - fi; \ -- echo "$${col}$$res$${std}: $$tst"; \ - done; \ -- if test "$$all" -eq 1; then \ -- tests="test"; \ -- All=""; \ -- else \ -- tests="tests"; \ -- All="All "; \ -- fi; \ - if test "$$failed" -eq 0; then \ - if test "$$xfail" -eq 0; then \ -- banner="$$All$$all $$tests passed"; \ -+ banner="All $$all tests passed"; \ - else \ -- if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ -- banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ -+ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ - fi; \ - else \ - if test "$$xpass" -eq 0; then \ -- banner="$$failed of $$all $$tests failed"; \ -+ banner="$$failed of $$all tests failed"; \ - else \ -- if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ -- banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ -+ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ - fi; \ - fi; \ - dashes="$$banner"; \ - skipped=""; \ - if test "$$skip" -ne 0; then \ -- if test "$$skip" -eq 1; then \ -- skipped="($$skip test was not run)"; \ -- else \ -- skipped="($$skip tests were not run)"; \ -- fi; \ -+ skipped="($$skip tests were not run)"; \ - test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$skipped"; \ - fi; \ -@@ -961,21 +877,17 @@ - dashes="$$report"; \ - fi; \ - dashes=`echo "$$dashes" | sed s/./=/g`; \ -- if test "$$failed" -eq 0; then \ -- echo "$$grn$$dashes"; \ -- else \ -- echo "$$red$$dashes"; \ -- fi; \ -+ echo "$$dashes"; \ - echo "$$banner"; \ - test -z "$$skipped" || echo "$$skipped"; \ - test -z "$$report" || echo "$$report"; \ -- echo "$$dashes$$std"; \ -+ echo "$$dashes"; \ - test "$$failed" -eq 0; \ - else :; fi - - distdir: $(DISTFILES) - $(am__remove_distdir) -- test -d "$(distdir)" || mkdir "$(distdir)" -+ test -d $(distdir) || mkdir $(distdir) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ -@@ -991,30 +903,24 @@ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ -- if test -d "$(distdir)/$$file"; then \ -- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ -- fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ -- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ -- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ -+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ -- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ -+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ -- test -f "$(distdir)/$$file" \ -- || cp -p $$d/$$file "$(distdir)/$$file" \ -+ test -f $(distdir)/$$file \ -+ || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook -- -test -n "$(am__skip_mode_fix)" \ -- || find "$(distdir)" -type d ! -perm -755 \ -- -exec chmod u+rwx,go+rx {} \; -o \ -+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ -- || chmod -R a+r "$(distdir)" -+ || chmod -R a+r $(distdir) - dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) -@@ -1027,10 +933,6 @@ - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) - --dist-xz: distdir -- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz -- $(am__remove_distdir) -- - dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) -@@ -1055,17 +957,15 @@ - distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ -- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ -+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ -- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ -+ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ -- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ -- *.tar.xz*) \ -- xz -dc $(distdir).tar.xz | $(am__untar) ;;\ -+ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ -- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ -+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac -@@ -1073,11 +973,9 @@ - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) -- test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ -- && am__cwd=`pwd` \ -- && $(am__cd) $(distdir)/_build \ -+ && cd $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ -@@ -1099,15 +997,13 @@ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ -- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ -- && cd "$$am__cwd" \ -- || exit 1 -+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' - distuninstallcheck: -- @$(am__cd) '$(distuninstallcheck_dir)' \ -+ @cd $(distuninstallcheck_dir) \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ -@@ -1131,7 +1027,7 @@ - $(MAKE) $(AM_MAKEFLAGS) check-am - all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) - installdirs: -- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(googleincludedir)" "$(DESTDIR)$(googleinternalincludedir)" "$(DESTDIR)$(internalincludedir)" "$(DESTDIR)$(internalincludedir)" "$(DESTDIR)$(sparsehashincludedir)"; do \ -+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(googleincludedir)" "$(DESTDIR)$(internalincludedir)" "$(DESTDIR)$(internalincludedir)" "$(DESTDIR)$(sparsehashincludedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done - install: $(BUILT_SOURCES) -@@ -1156,7 +1052,6 @@ - - distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - - maintainer-clean-generic: - @echo "This command is intended for maintainers to use" -@@ -1180,42 +1075,29 @@ - - html: html-am - --html-am: -- - info: info-am - - info-am: - - install-data-am: install-dist_docDATA install-googleincludeHEADERS \ -- install-googleinternalincludeHEADERS \ - install-internalincludeHEADERS \ - install-nodist_internalincludeHEADERS install-pkgconfigDATA \ - install-sparsehashincludeHEADERS - - install-dvi: install-dvi-am - --install-dvi-am: -- - install-exec-am: install-libLTLIBRARIES - - install-html: install-html-am - --install-html-am: -- - install-info: install-info-am - --install-info-am: -- - install-man: - - install-pdf: install-pdf-am - --install-pdf-am: -- - install-ps: install-ps-am - --install-ps-am: -- - installcheck-am: - - maintainer-clean: maintainer-clean-am -@@ -1238,27 +1120,25 @@ - ps-am: - - uninstall-am: uninstall-dist_docDATA uninstall-googleincludeHEADERS \ -- uninstall-googleinternalincludeHEADERS \ - uninstall-internalincludeHEADERS uninstall-libLTLIBRARIES \ - uninstall-nodist_internalincludeHEADERS \ - uninstall-pkgconfigDATA uninstall-sparsehashincludeHEADERS - --.MAKE: all check check-am install install-am install-strip -+.MAKE: install-am install-strip - - .PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \ - clean clean-generic clean-libLTLIBRARIES clean-noinstPROGRAMS \ - ctags dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzma \ -- dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ -+ dist-shar dist-tarZ dist-zip distcheck distclean \ - distclean-compile distclean-generic distclean-hdr \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dist_docDATA install-dvi \ - install-dvi-am install-exec install-exec-am \ -- install-googleincludeHEADERS \ -- install-googleinternalincludeHEADERS install-html \ -- install-html-am install-info install-info-am \ -- install-internalincludeHEADERS install-libLTLIBRARIES \ -- install-man install-nodist_internalincludeHEADERS install-pdf \ -+ install-googleincludeHEADERS install-html install-html-am \ -+ install-info install-info-am install-internalincludeHEADERS \ -+ install-libLTLIBRARIES install-man \ -+ install-nodist_internalincludeHEADERS install-pdf \ - install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ - install-sparsehashincludeHEADERS install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ -@@ -1266,7 +1146,6 @@ - mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ - uninstall-am uninstall-dist_docDATA \ - uninstall-googleincludeHEADERS \ -- uninstall-googleinternalincludeHEADERS \ - uninstall-internalincludeHEADERS uninstall-libLTLIBRARIES \ - uninstall-nodist_internalincludeHEADERS \ - uninstall-pkgconfigDATA uninstall-sparsehashincludeHEADERS -@@ -1330,7 +1209,6 @@ - dist-hook: - test -e "$(distdir)/vsprojects" \ - && chmod -R u+w $(distdir)/*.sln $(distdir)/vsprojects/ -- - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. - .NOEXPORT: -diff -u -r ./missing ../../../../sparsehash/missing ---- ./missing 2014-03-24 21:08:08.335847881 +0100 -+++ ../../../../sparsehash/missing 1980-01-01 00:00:00.000000000 +0100 -@@ -1,10 +1,10 @@ - #! /bin/sh - # Common stub for a few missing GNU programs while installing. - --scriptversion=2009-04-28.21; # UTC -+scriptversion=2006-05-10.23 - --# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, --# 2008, 2009 Free Software Foundation, Inc. -+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 -+# Free Software Foundation, Inc. - # Originally by Fran,cois Pinard , 1996. - - # This program is free software; you can redistribute it and/or modify -@@ -18,7 +18,9 @@ - # GNU General Public License for more details. - - # You should have received a copy of the GNU General Public License --# along with this program. If not, see . -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -+# 02110-1301, USA. - - # As a special exception to the GNU General Public License, if you - # distribute this file as part of a program that contains a -@@ -87,9 +89,6 @@ - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] - --Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and --\`g' are ignored when checking the name. -- - Send bug reports to ." - exit $? - ;; -@@ -107,22 +106,15 @@ - - esac - --# normalize program name to check for. --program=`echo "$1" | sed ' -- s/^gnu-//; t -- s/^gnu//; t -- s/^g//; t'` -- - # Now exit if we have it, but it failed. Also exit now if we - # don't have it and --version was passed (most likely to detect --# the program). This is about non-GNU programs, so use $1 not --# $program. -+# the program). - case $1 in -- lex*|yacc*) -+ lex|yacc) - # Not GNU programs, they don't have --version. - ;; - -- tar*) -+ tar) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 -@@ -146,7 +138,7 @@ - - # If it does not exist, or fails to run (possibly an outdated version), - # try to emulate it. --case $program in -+case $1 in - aclocal*) - echo 1>&2 "\ - WARNING: \`$1' is $msg. You should only need it if -@@ -156,7 +148,7 @@ - touch aclocal.m4 - ;; - -- autoconf*) -+ autoconf) - echo 1>&2 "\ - WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the -@@ -165,7 +157,7 @@ - touch configure - ;; - -- autoheader*) -+ autoheader) - echo 1>&2 "\ - WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want -@@ -195,7 +187,7 @@ - while read f; do touch "$f"; done - ;; - -- autom4te*) -+ autom4te) - echo 1>&2 "\ - WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the -@@ -218,7 +210,7 @@ - fi - ;; - -- bison*|yacc*) -+ bison|yacc) - echo 1>&2 "\ - WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package -@@ -248,7 +240,7 @@ - fi - ;; - -- lex*|flex*) -+ lex|flex) - echo 1>&2 "\ - WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package -@@ -271,7 +263,7 @@ - fi - ;; - -- help2man*) -+ help2man) - echo 1>&2 "\ - WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the -@@ -285,11 +277,11 @@ - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" -- exit $? -+ exit 1 - fi - ;; - -- makeinfo*) -+ makeinfo) - echo 1>&2 "\ - WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file -@@ -318,7 +310,7 @@ - touch $file - ;; - -- tar*) -+ tar) - shift - - # We have already tried tar in the generic part. -@@ -371,6 +363,5 @@ - # eval: (add-hook 'write-file-hooks 'time-stamp) - # time-stamp-start: "scriptversion=" - # time-stamp-format: "%:y-%02m-%02d.%02H" --# time-stamp-time-zone: "UTC" --# time-stamp-end: "; # UTC" -+# time-stamp-end: "$" - # End: -diff -u -r ./NEWS ../../../../sparsehash/NEWS ---- ./NEWS 2014-02-10 13:15:25.876132247 +0100 -+++ ../../../../sparsehash/NEWS 1980-01-01 00:00:00.000000000 +0100 -@@ -1,19 +1,3 @@ --== 23 Ferbruary 2012 == -- --A backwards incompatibility arose from flattening the include headers --structure for the folder. -- --This is now fixed in 2.0.2. You only need to upgrade if you had previously --included files from the folder. -- --== 1 February 2012 == -- --A minor bug related to the namespace switch from google to sparsehash --stopped the build from working when perftools is also installed. -- --This is now fixed in 2.0.1. You only need to upgrade if you have perftools --installed. -- - == 31 January 2012 == - - I've just released sparsehash 2.0. -diff -u -r ./packages/deb/changelog ../../../../sparsehash/packages/deb/changelog ---- ./packages/deb/changelog 2014-02-10 13:15:25.866132163 +0100 -+++ ../../../../sparsehash/packages/deb/changelog 1980-01-01 00:00:00.000000000 +0100 -@@ -1,15 +1,3 @@ --sparsehash (2.0.2-1) unstable; urgency=low -- -- * New upstream release. -- -- -- Google Inc. and others Thu, 23 Feb 2012 23:47:18 +0000 -- --sparsehash (2.0.1-1) unstable; urgency=low -- -- * New upstream release. -- -- -- Google Inc. and others Wed, 01 Feb 2012 02:57:48 +0000 -- - sparsehash (2.0-1) unstable; urgency=low - - * New upstream release. -diff -u -r ./packages/deb/copyright ../../../../sparsehash/packages/deb/copyright ---- ./packages/deb/copyright 2014-02-10 13:15:25.866132163 +0100 -+++ ../../../../sparsehash/packages/deb/copyright 1980-01-01 00:00:00.000000000 +0100 -@@ -1,10 +1,10 @@ --This package was debianized by Donovan Hide --on Wed, Thu, 23 Feb 2012 23:47:18 +0000. -+This package was debianized by Craig Silverstein -+on Tue, 31 Jan 2012 11:33:04 -0800. - - It was downloaded from - http://code.google.com/p/sparsehash/downloads/list - --Upstream Author: google-sparsehash@googlegroups.com -+Upstream Author: google-sparsehash@google.com - - Copyright (c) 2005, Google Inc. - All rights reserved. -Only in ./packages/deb: .svn -Only in ./packages/rpm: .svn -Only in ./packages: .svn -diff -u -r ./src/config.h.in ../../../../sparsehash/src/config.h.in ---- ./src/config.h.in 2014-02-14 11:20:17.164459845 +0100 -+++ ../../../../sparsehash/src/config.h.in 1980-01-01 00:00:00.000000000 +0100 -@@ -102,9 +102,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 - -Only in ./src: config.h.in~ -Only in ../../../../sparsehash/src/google/sparsehash: hashtable_common.h -Only in ./src/google/sparsehash: hashtable-common.h -Only in ./src/google/sparsehash: .svn -Only in ./src/google: .svn -diff -u -r ./src/hashtable_test.cc ../../../../sparsehash/src/hashtable_test.cc ---- ./src/hashtable_test.cc 2014-02-10 13:15:25.676130583 +0100 -+++ ../../../../sparsehash/src/hashtable_test.cc 1980-01-01 00:00:00.000000000 +0100 -@@ -46,21 +46,23 @@ - - #include - #include -+#include - #include --#include // for size_t --#include --#include -+#include - #ifdef HAVE_STDINT_H - # include - #endif // for uintptr_t -+#include -+#include -+#include - #include -+#include - #include --#include -+#include - #include // for class typeinfo (returned by typeid) -+#include - #include --#include --#include --#include "hash_test_interface.h" -+ - #include "testutil.h" - namespace testing = GOOGLE_NAMESPACE::testing; - -@@ -80,7 +82,6 @@ - using GOOGLE_NAMESPACE::HashtableInterface_DenseHashMap; - using GOOGLE_NAMESPACE::HashtableInterface_DenseHashSet; - using GOOGLE_NAMESPACE::HashtableInterface_DenseHashtable; --namespace sparsehash_internal = GOOGLE_NAMESPACE::sparsehash_internal; - - typedef unsigned char uint8; - -@@ -95,7 +96,7 @@ - namespace { - - #ifndef _MSC_VER // windows defines its own version --# ifdef __MINGW32__ // mingw has trouble writing to /tmp -+# ifdef __MINGW32__ // mingw has trouble writing to /tmp - static string TmpFile(const char* basename) { - return string("./#") + basename; - } -@@ -111,8 +112,8 @@ - // arbitrary user-defined type with non-trivial memory management. - struct ValueType { - public: -- ValueType() : s_(kDefault) { } -- ValueType(const char* init_s) : s_(kDefault) { set_s(init_s); } -+ ValueType() : s_(kDefault) {} -+ explicit ValueType(const char* init_s) : s_(kDefault) { set_s(init_s); } - ~ValueType() { set_s(NULL); } - ValueType(const ValueType& that) : s_(kDefault) { operator=(that); } - void operator=(const ValueType& that) { set_s(that.s_); } -@@ -153,7 +154,7 @@ - // this same method to do the key-comparison, so we can keep track - // of comparison-counts too. - struct Hasher { -- explicit Hasher(int i=0) : id_(i), num_hashes_(0), num_compares_(0) { } -+ explicit Hasher(int i = 0) : id_(i), num_hashes_(0), num_compares_(0) {} - int id() const { return id_; } - int num_hashes() const { return num_hashes_; } - int num_compares() const { return num_compares_; } -@@ -214,7 +215,7 @@ - typedef T& reference; - typedef const T& const_reference; - -- explicit Alloc(int i=0, int* count=NULL) : id_(i), count_(count) {} -+ explicit Alloc(int i = 0, int* count = NULL) : id_(i), count_(count) {} - ~Alloc() {} - pointer address(reference r) const { return &r; } - const_pointer address(const_reference r) const { return &r; } -@@ -249,10 +250,10 @@ - typedef Alloc other; - }; - -- bool operator==(const Alloc& that) { -+ bool operator==(const Alloc& that) { - return this->id_ == that.id_ && this->count_ == that.count_; - } -- bool operator!=(const Alloc& that) { -+ bool operator!=(const Alloc& that) { - return !this->operator==(that); - } - -@@ -260,7 +261,8 @@ - - // I have to make these public so the constructor used for rebinding - // can see them. Normally, I'd just make them private and say: -- // template friend struct Alloc; -+ // template -+ // friend struct Alloc; - // but MSVC 7.1 barfs on that. So public it is. But no peeking! - public: - int id_; -@@ -277,15 +279,11 @@ - template - struct Negation { - typedef Value result_type; -- Value operator()(Value& v) { return -v; } - const Value operator()(const Value& v) const { return -v; } - }; - - struct Capital { - typedef string result_type; -- string operator()(string& s) { -- return string(1, s[0] ^ 32) + s.substr(1); -- } - const string operator()(const string& s) const { - return string(1, s[0] ^ 32) + s.substr(1); - } -@@ -299,9 +297,10 @@ - }; - - // This is just to avoid memory leaks -- it's a global pointer to --// all the memory allocated by UniqueObjectHelper. We'll use it -+// all the memory allocated by UniqueObjectHelper. We'll use it - // to semi-test sparsetable as well. :-) --sparsetable g_unique_charstar_objects(16); -+::util::gtl::LazyStaticPtr, sparsetable::size_type> -+ g_unique_charstar_objects = {16}; - - // This is an object-generator: pass in an index, and it will return a - // unique object of type ItemType. We provide specializations for the -@@ -317,20 +316,20 @@ - } - template<> char* UniqueObjectHelper(int index) { - // First grow the table if need be. -- sparsetable::size_type table_size = g_unique_charstar_objects.size(); -+ sparsetable::size_type table_size = g_unique_charstar_objects->size(); - while (index >= static_cast(table_size)) { - assert(table_size * 2 > table_size); // avoid overflow problems - table_size *= 2; - } -- if (table_size > g_unique_charstar_objects.size()) -- g_unique_charstar_objects.resize(table_size); -+ if (table_size > g_unique_charstar_objects->size()) -+ g_unique_charstar_objects->resize(table_size); - -- if (!g_unique_charstar_objects.test(index)) { -+ if (!g_unique_charstar_objects->test(index)) { - char buffer[64]; - snprintf(buffer, sizeof(buffer), "%d", index); -- g_unique_charstar_objects[index] = strdup(buffer); -+ (*g_unique_charstar_objects)[index] = strdup(buffer); - } -- return g_unique_charstar_objects.get(index); -+ return g_unique_charstar_objects->get(index); - } - template<> const char* UniqueObjectHelper(int index) { - return UniqueObjectHelper(index); -@@ -338,81 +337,23 @@ - template<> ValueType UniqueObjectHelper(int index) { - return ValueType(UniqueObjectHelper(index).c_str()); - } --template<> pair UniqueObjectHelper(int index) { -- return pair(index, index + 1); -+template<> std::pair UniqueObjectHelper(int index) { -+ return std::pair(index, index + 1); - } --template<> pair UniqueObjectHelper(int index) { -- return pair( -+template<> std::pair UniqueObjectHelper(int index) { -+ return std::pair( - UniqueObjectHelper(index), UniqueObjectHelper(index + 1)); - } --template<> pair UniqueObjectHelper(int index) { -- return pair( -+template<> std::pair -+UniqueObjectHelper(int index) { -+ return std::pair( - UniqueObjectHelper(index), UniqueObjectHelper(index+1)); - } - --class ValueSerializer { -- public: -- bool operator()(FILE* fp, const int& value) { -- return fwrite(&value, sizeof(value), 1, fp) == 1; -- } -- bool operator()(FILE* fp, int* value) { -- return fread(value, sizeof(*value), 1, fp) == 1; -- } -- bool operator()(FILE* fp, const string& value) { -- const int size = value.size(); -- return (*this)(fp, size) && fwrite(value.c_str(), size, 1, fp) == 1; -- } -- bool operator()(FILE* fp, string* value) { -- int size; -- if (!(*this)(fp, &size)) return false; -- char* buf = new char[size]; -- if (fread(buf, size, 1, fp) != 1) { -- delete[] buf; -- return false; -- } -- new(value) string(buf, size); -- delete[] buf; -- return true; -- } -- template -- bool operator()(OUTPUT* fp, const ValueType& v) { -- return (*this)(fp, string(v.s())); -- } -- template -- bool operator()(INPUT* fp, ValueType* v) { -- string data; -- if (!(*this)(fp, &data)) return false; -- new(v) ValueType(data.c_str()); -- return true; -- } -- template -- bool operator()(OUTPUT* fp, const char* const& value) { -- // Just store the index. -- return (*this)(fp, atoi(value)); -- } -- template -- bool operator()(INPUT* fp, const char** value) { -- // Look up via index. -- int index; -- if (!(*this)(fp, &index)) return false; -- *value = UniqueObjectHelper(index); -- return true; -- } -- template -- bool operator()(OUTPUT* fp, std::pair* value) { -- return (*this)(fp, const_cast(&value->first)) -- && (*this)(fp, &value->second); -- } -- template -- bool operator()(INPUT* fp, const std::pair& value) { -- return (*this)(fp, value.first) && (*this)(fp, value.second); -- } --}; -- - template - class HashtableTest : public ::testing::Test { - public: -- HashtableTest() : ht_() { } -+ HashtableTest() : ht_() {} - // Give syntactically-prettier access to UniqueObjectHelper. - typename HashtableType::value_type UniqueObject(int index) { - return UniqueObjectHelper(index); -@@ -424,7 +365,7 @@ - HashtableType ht_; - }; - --} -+} // anonymous namespace - - // These are used to specify the empty key and deleted key in some - // contexts. They can't be in the unnamed namespace, or static, -@@ -438,76 +379,76 @@ - - namespace { - --#define INT_HASHTABLES \ -- HashtableInterface_SparseHashMap >, \ -- HashtableInterface_SparseHashSet >, \ -- /* This is a table where the key associated with a value is -value */ \ -- HashtableInterface_SparseHashtable, \ -- SetKey >, \ -- Hasher, Alloc >, \ -- HashtableInterface_DenseHashMap >, \ -- HashtableInterface_DenseHashSet >, \ -- HashtableInterface_DenseHashtable, \ -- SetKey >, \ -- Hasher, Alloc > -- --#define STRING_HASHTABLES \ -- HashtableInterface_SparseHashMap >, \ -- HashtableInterface_SparseHashSet >, \ -- /* This is a table where the key associated with a value is Cap(value) */ \ -- HashtableInterface_SparseHashtable, \ -- Hasher, Alloc >, \ -- HashtableInterface_DenseHashMap >, \ -- HashtableInterface_DenseHashSet >, \ -- HashtableInterface_DenseHashtable, \ -+#define INT_HASHTABLES \ -+ HashtableInterface_SparseHashMap > >, \ -+ HashtableInterface_SparseHashSet >, \ -+ /* This is a table where the key associated with a value is -value */ \ -+ HashtableInterface_SparseHashtable, \ -+ SetKey >, \ -+ Hasher, Alloc >, \ -+ HashtableInterface_DenseHashMap > >, \ -+ HashtableInterface_DenseHashSet >, \ -+ HashtableInterface_DenseHashtable< \ -+ int, int, kEmptyInt, Hasher, Negation, \ -+ SetKey >, Hasher, Alloc > -+ -+#define STRING_HASHTABLES \ -+ HashtableInterface_SparseHashMap > >, \ -+ HashtableInterface_SparseHashSet >, \ -+ /* This is a table where the key associated with a value is Cap(value) */ \ -+ HashtableInterface_SparseHashtable, Hasher, \ -+ Alloc >, \ -+ HashtableInterface_DenseHashMap > >, \ -+ HashtableInterface_DenseHashSet >, \ -+ HashtableInterface_DenseHashtable, \ - Hasher, Alloc > - - // I'd like to use ValueType keys for SparseHashtable<> and - // DenseHashtable<> but I can't due to memory-management woes (nobody - // really owns the char* involved). So instead I do something simpler. --#define CHARSTAR_HASHTABLES \ -- HashtableInterface_SparseHashMap >, \ -- HashtableInterface_SparseHashSet >, \ -- /* This is a table where each value is its own key. */ \ -- HashtableInterface_SparseHashtable, \ -- Hasher, Alloc >, \ -- HashtableInterface_DenseHashMap >, \ -- HashtableInterface_DenseHashSet >, \ -- HashtableInterface_DenseHashtable, \ -- Hasher, Alloc > -+#define CHARSTAR_HASHTABLES \ -+ HashtableInterface_SparseHashMap< \ -+ const char*, ValueType, Hasher, Hasher, \ -+ Alloc > >, \ -+ HashtableInterface_SparseHashSet >, \ -+ /* This is a table where each value is its own key. */ \ -+ HashtableInterface_SparseHashtable< \ -+ const char*, const char*, Hasher, Identity, \ -+ SetKey, Hasher, Alloc >, \ -+ HashtableInterface_DenseHashMap< \ -+ const char*, ValueType, kEmptyCharStar, Hasher, Hasher, \ -+ Alloc > >, \ -+ HashtableInterface_DenseHashSet >, \ -+ HashtableInterface_DenseHashtable< \ -+ const char*, const char*, kEmptyCharStar, Hasher, Identity, \ -+ SetKey, Hasher, Alloc > - - // This is the list of types we run each test against. - // We need to define the same class 4 times due to limitations in the - // testing framework. Basically, we associate each class below with - // the set of types we want to run tests on it with. -+// NOLINT directives: b/6771918 - template class HashtableIntTest -- : public HashtableTest { }; -+ : public HashtableTest {}; // NOLINT(readability/braces) - template class HashtableStringTest -- : public HashtableTest { }; -+ : public HashtableTest {}; // NOLINT(readability/braces) - template class HashtableCharStarTest -- : public HashtableTest { }; -+ : public HashtableTest {}; // NOLINT(readability/braces) - template class HashtableAllTest -- : public HashtableTest { }; -+ : public HashtableTest {}; // NOLINT(readability/braces) - - typedef testing::TypeList6 IntHashtables; - typedef testing::TypeList6 StringHashtables; -@@ -528,7 +469,7 @@ - - // We don't munge the hash value on non-pointer template types. - { -- const sparsehash_internal::sh_hashtable_settings -+ const sh_hashtable_settings - settings(hasher, 0.0, 0.0); - const int v = 1000; - EXPECT_EQ(hasher(v), settings.hash(v)); -@@ -536,15 +477,14 @@ - - { - // We do munge the hash value on pointer template types. -- const sparsehash_internal::sh_hashtable_settings -+ const sh_hashtable_settings - settings(hasher, 0.0, 0.0); - int* v = NULL; - v += 0x10000; // get a non-trivial pointer value - EXPECT_NE(hasher(v), settings.hash(v)); - } - { -- const sparsehash_internal::sh_hashtable_settings -+ const sh_hashtable_settings - settings(hasher, 0.0, 0.0); - const int* v = NULL; - v += 0x10000; // get a non-trivial pointer value -@@ -915,15 +855,16 @@ - - // A user reported a crash with this code using swap to clear. - // We've since fixed the bug; this prevents a regression. -+ const int kSwap = 10000; - TypeParam swap_to_clear_ht; - swap_to_clear_ht.set_deleted_key(this->UniqueKey(1)); -- for (int i = 2; i < 10000; ++i) { -+ for (int i = 2; i < kSwap; ++i) { - swap_to_clear_ht.insert(this->UniqueObject(i)); - } - TypeParam empty_ht; - empty_ht.swap(swap_to_clear_ht); - swap_to_clear_ht.set_deleted_key(this->UniqueKey(1)); -- for (int i = 2; i < 10000; ++i) { -+ for (int i = 2; i < kSwap; ++i) { - swap_to_clear_ht.insert(this->UniqueObject(i)); - } - } -@@ -963,6 +904,19 @@ - EXPECT_EQ(ht_104.max_size(), ht_104.max_bucket_count()); - } - -+TEST(HashtableTest, UninitializedDeletedKey) { -+ sparse_hash_set ht; -+ sparse_hash_set* ht_heap = new sparse_hash_set; -+ -+ if (BuildData::BuildDebugMode()) { -+ EXPECT_DEATH(ht.deleted_key(), ""); -+ } else { -+ EXPECT_EQ(0, ht.deleted_key()); -+ EXPECT_EQ(0, ht_heap->deleted_key()); -+ } -+ delete ht_heap; -+} -+ - TYPED_TEST(HashtableAllTest, Empty) { - EXPECT_TRUE(this->ht_.empty()); - -@@ -1081,9 +1035,9 @@ - } - - TYPED_TEST(HashtableAllTest, FindAndCountAndEqualRange) { -- pair eq_pair; -- pair const_eq_pair; -+ std::pair eq_pair; -+ std::pair const_eq_pair; - - EXPECT_TRUE(this->ht_.empty()); - EXPECT_TRUE(this->ht_.find(this->UniqueKey(1)) == this->ht_.end()); -@@ -1220,7 +1174,7 @@ - EXPECT_EQ(1u, this->ht_.count(this->UniqueKey(1111))); - - // Check the return type. -- pair insert_it; -+ std::pair insert_it; - insert_it = this->ht_.insert(this->UniqueObject(1)); - EXPECT_EQ(false, insert_it.second); // false: already present - EXPECT_TRUE(*insert_it.first == this->UniqueObject(1)); -@@ -1289,16 +1243,16 @@ - // For the maps in particular, ensure that inserting doesn't change - // the value. - sparse_hash_map shm; -- pair::iterator, bool> shm_it; -+ std::pair::iterator, bool> shm_it; - shm[1] = 2; // test a different method of inserting -- shm_it = shm.insert(pair(1, 3)); -+ shm_it = shm.insert(std::pair(1, 3)); - EXPECT_EQ(false, shm_it.second); - EXPECT_EQ(1, shm_it.first->first); - EXPECT_EQ(2, shm_it.first->second); - shm_it.first->second = 20; - EXPECT_EQ(20, shm[1]); - -- shm_it = shm.insert(pair(2, 4)); -+ shm_it = shm.insert(std::pair(2, 4)); - EXPECT_EQ(true, shm_it.second); - EXPECT_EQ(2, shm_it.first->first); - EXPECT_EQ(4, shm_it.first->second); -@@ -1307,16 +1261,16 @@ - // Do it all again, with dense_hash_map. - dense_hash_map dhm; - dhm.set_empty_key(0); -- pair::iterator, bool> dhm_it; -+ std::pair::iterator, bool> dhm_it; - dhm[1] = 2; // test a different method of inserting -- dhm_it = dhm.insert(pair(1, 3)); -+ dhm_it = dhm.insert(std::pair(1, 3)); - EXPECT_EQ(false, dhm_it.second); - EXPECT_EQ(1, dhm_it.first->first); - EXPECT_EQ(2, dhm_it.first->second); - dhm_it.first->second = 20; - EXPECT_EQ(20, dhm[1]); - -- dhm_it = dhm.insert(pair(2, 4)); -+ dhm_it = dhm.insert(std::pair(2, 4)); - EXPECT_EQ(true, dhm_it.second); - EXPECT_EQ(2, dhm_it.first->first); - EXPECT_EQ(4, dhm_it.first->second); -@@ -1427,9 +1381,10 @@ - } - - TEST(HashtableTest, IntIO) { -- // Since the set case is just a special (easier) case than the map case, I -- // just test on sparse_hash_map. This handles the easy case where we can -- // use the standard reader and writer. -+ // Since dense_hash_* doesn't support IO yet, and the set case is -+ // just a special (easier) case than the map case, I just test on -+ // sparse_hash_map. This handles the easy case where we can use the -+ // standard reader and writer. - sparse_hash_map ht_out; - ht_out.set_deleted_key(0); - for (int i = 1; i < 1000; i++) { -@@ -1461,9 +1416,10 @@ - } - - TEST(HashtableTest, StringIO) { -- // Since the set case is just a special (easier) case than the map case, -- // I just test on sparse_hash_map. This handles the difficult case where -- // we have to write our own custom reader/writer for the data. -+ // Since dense_hash_* doesn't support IO yet, and the set case is -+ // just a special (easier) case than the map case, I just test on -+ // sparse_hash_map. This handles the difficult case where we have -+ // to write our own custom reader/writer for the data. - sparse_hash_map ht_out; - ht_out.set_deleted_key(string("")); - for (int i = 32; i < 128; i++) { -@@ -1480,7 +1436,7 @@ - for (sparse_hash_map::const_iterator - it = ht_out.begin(); it != ht_out.end(); ++it) { - const string::size_type first_size = it->first.length(); -- fwrite(&first_size, sizeof(first_size), 1, fp); // ignore endianness issues -+ fwrite(&first_size, sizeof(first_size), 1, fp); // ignore endianness issues - fwrite(it->first.c_str(), first_size, 1, fp); - - const string::size_type second_size = it->second.length(); -@@ -1520,157 +1476,13 @@ - EXPECT_EQ(string(""), ht_in["y"]); - } - --TYPED_TEST(HashtableAllTest, Serialization) { -- if (!this->ht_.supports_serialization()) return; -- TypeParam ht_out; -- ht_out.set_deleted_key(this->UniqueKey(2000)); -- for (int i = 1; i < 100; i++) { -- ht_out.insert(this->UniqueObject(i)); -- } -- // just to test having some erased keys when we write. -- ht_out.erase(this->UniqueKey(56)); -- ht_out.erase(this->UniqueKey(22)); -- -- string file(TmpFile("serialization")); -- FILE* fp = fopen(file.c_str(), "wb"); -- EXPECT_TRUE(fp != NULL); -- EXPECT_TRUE(ht_out.serialize(ValueSerializer(), fp)); -- fclose(fp); -- -- TypeParam ht_in; -- fp = fopen(file.c_str(), "rb"); -- EXPECT_TRUE(fp != NULL); -- EXPECT_TRUE(ht_in.unserialize(ValueSerializer(), fp)); -- fclose(fp); -- -- EXPECT_EQ(this->UniqueObject(1), *ht_in.find(this->UniqueKey(1))); -- EXPECT_EQ(this->UniqueObject(99), *ht_in.find(this->UniqueKey(99))); -- EXPECT_FALSE(ht_in.count(this->UniqueKey(100))); -- EXPECT_EQ(this->UniqueObject(21), *ht_in.find(this->UniqueKey(21))); -- // should not have been saved -- EXPECT_FALSE(ht_in.count(this->UniqueKey(22))); -- EXPECT_FALSE(ht_in.count(this->UniqueKey(56))); --} -- --TYPED_TEST(HashtableIntTest, NopointerSerialization) { -- if (!this->ht_.supports_serialization()) return; -- TypeParam ht_out; -- ht_out.set_deleted_key(this->UniqueKey(2000)); -- for (int i = 1; i < 100; i++) { -- ht_out.insert(this->UniqueObject(i)); -- } -- // just to test having some erased keys when we write. -- ht_out.erase(this->UniqueKey(56)); -- ht_out.erase(this->UniqueKey(22)); -- -- string file(TmpFile("nopointer_serialization")); -- FILE* fp = fopen(file.c_str(), "wb"); -- EXPECT_TRUE(fp != NULL); -- EXPECT_TRUE(ht_out.serialize(typename TypeParam::NopointerSerializer(), fp)); -- fclose(fp); -- -- TypeParam ht_in; -- fp = fopen(file.c_str(), "rb"); -- EXPECT_TRUE(fp != NULL); -- EXPECT_TRUE(ht_in.unserialize(typename TypeParam::NopointerSerializer(), fp)); -- fclose(fp); -- -- EXPECT_EQ(this->UniqueObject(1), *ht_in.find(this->UniqueKey(1))); -- EXPECT_EQ(this->UniqueObject(99), *ht_in.find(this->UniqueKey(99))); -- EXPECT_FALSE(ht_in.count(this->UniqueKey(100))); -- EXPECT_EQ(this->UniqueObject(21), *ht_in.find(this->UniqueKey(21))); -- // should not have been saved -- EXPECT_FALSE(ht_in.count(this->UniqueKey(22))); -- EXPECT_FALSE(ht_in.count(this->UniqueKey(56))); --} -- --// We don't support serializing to a string by default, but you can do --// it by writing your own custom input/output class. --class StringIO { -- public: -- explicit StringIO(string* s) : s_(s) {} -- size_t Write(const void* buf, size_t len) { -- s_->append(reinterpret_cast(buf), len); -- return len; -- } -- size_t Read(void* buf, size_t len) { -- if (s_->length() < len) -- len = s_->length(); -- memcpy(reinterpret_cast(buf), s_->data(), len); -- s_->erase(0, len); -- return len; -- } -- private: -- string* const s_; --}; -- --TYPED_TEST(HashtableIntTest, SerializingToString) { -- if (!this->ht_.supports_serialization()) return; -- TypeParam ht_out; -- ht_out.set_deleted_key(this->UniqueKey(2000)); -- for (int i = 1; i < 100; i++) { -- ht_out.insert(this->UniqueObject(i)); -- } -- // just to test having some erased keys when we write. -- ht_out.erase(this->UniqueKey(56)); -- ht_out.erase(this->UniqueKey(22)); -- -- string stringbuf; -- StringIO stringio(&stringbuf); -- EXPECT_TRUE(ht_out.serialize(typename TypeParam::NopointerSerializer(), -- &stringio)); -- -- TypeParam ht_in; -- EXPECT_TRUE(ht_in.unserialize(typename TypeParam::NopointerSerializer(), -- &stringio)); -- -- EXPECT_EQ(this->UniqueObject(1), *ht_in.find(this->UniqueKey(1))); -- EXPECT_EQ(this->UniqueObject(99), *ht_in.find(this->UniqueKey(99))); -- EXPECT_FALSE(ht_in.count(this->UniqueKey(100))); -- EXPECT_EQ(this->UniqueObject(21), *ht_in.find(this->UniqueKey(21))); -- // should not have been saved -- EXPECT_FALSE(ht_in.count(this->UniqueKey(22))); -- EXPECT_FALSE(ht_in.count(this->UniqueKey(56))); --} -- --// An easier way to do the above would be to use the existing stream methods. --TYPED_TEST(HashtableIntTest, SerializingToStringStream) { -- if (!this->ht_.supports_serialization()) return; -- TypeParam ht_out; -- ht_out.set_deleted_key(this->UniqueKey(2000)); -- for (int i = 1; i < 100; i++) { -- ht_out.insert(this->UniqueObject(i)); -- } -- // just to test having some erased keys when we write. -- ht_out.erase(this->UniqueKey(56)); -- ht_out.erase(this->UniqueKey(22)); -- -- std::stringstream string_buffer; -- EXPECT_TRUE(ht_out.serialize(typename TypeParam::NopointerSerializer(), -- &string_buffer)); -- -- TypeParam ht_in; -- EXPECT_TRUE(ht_in.unserialize(typename TypeParam::NopointerSerializer(), -- &string_buffer)); -- -- EXPECT_EQ(this->UniqueObject(1), *ht_in.find(this->UniqueKey(1))); -- EXPECT_EQ(this->UniqueObject(99), *ht_in.find(this->UniqueKey(99))); -- EXPECT_FALSE(ht_in.count(this->UniqueKey(100))); -- EXPECT_EQ(this->UniqueObject(21), *ht_in.find(this->UniqueKey(21))); -- // should not have been saved -- EXPECT_FALSE(ht_in.count(this->UniqueKey(22))); -- EXPECT_FALSE(ht_in.count(this->UniqueKey(56))); --} -- - // Verify that the metadata serialization is endianness and word size - // agnostic. - TYPED_TEST(HashtableAllTest, MetadataSerializationAndEndianness) { - TypeParam ht_out; -- string kExpectedDense("\x13W\x86""B\0\0\0\0\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0", -- 24); - string kExpectedSparse("$hu1\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0", 20); - -- if (ht_out.supports_readwrite()) { -+ if (ht_out.supports_readwrite()) { // only sparse hashtables, for now - string file(TmpFile("metadata_serialization")); - FILE* fp = fopen(file.c_str(), "wb"); - EXPECT_TRUE(fp != NULL); -@@ -1686,29 +1498,10 @@ - EXPECT_EQ(num_bytes, fread(contents, 1, num_bytes, fp)); - EXPECT_EQ(EOF, fgetc(fp)); // check we're *exactly* the right size - fclose(fp); -- // TODO(csilvers): check type of ht_out instead of looking at the 1st byte. -- if (contents[0] == kExpectedDense[0]) { -- EXPECT_EQ(kExpectedDense, string(contents, num_bytes)); -- } else { -- EXPECT_EQ(kExpectedSparse, string(contents, num_bytes)); -- } -- } -- -- // Do it again with new-style serialization. Here we can use StringIO. -- if (ht_out.supports_serialization()) { -- string stringbuf; -- StringIO stringio(&stringbuf); -- EXPECT_TRUE(ht_out.serialize(typename TypeParam::NopointerSerializer(), -- &stringio)); -- if (stringbuf[0] == kExpectedDense[0]) { -- EXPECT_EQ(kExpectedDense, stringbuf); -- } else { -- EXPECT_EQ(kExpectedSparse, stringbuf); -- } -+ EXPECT_EQ(kExpectedSparse, string(contents, num_bytes)); - } - } - -- - // ------------------------------------------------------------------------ - // The above tests test the general API for correctness. These tests - // test a few corner cases that have tripped us up in the past, and -@@ -1755,12 +1548,12 @@ - }; - int NoMemmove::num_copies = 0; - --} // unnamed namespace -+} // anonymous namespace - - // This is what tells the hashtable code it can use memmove for this class: - _START_GOOGLE_NAMESPACE_ --template<> struct has_trivial_copy : true_type { }; --template<> struct has_trivial_destructor : true_type { }; -+template<> struct has_trivial_copy : true_type {}; -+template<> struct has_trivial_destructor : true_type {}; - _END_GOOGLE_NAMESPACE_ - - namespace { -@@ -1769,23 +1562,24 @@ - // Only sparsehashtable optimizes moves in this way. - sparse_hash_map memmove; - sparse_hash_map nomemmove; -- sparse_hash_map > -+ sparse_hash_map > > - memmove_nonstandard_alloc; - - Memmove::num_copies = 0; -- for (int i = 10000; i > 0; i--) { -+ for (int i = 1000; i > 0; i--) { - memmove[i] = Memmove(i); - } - const int memmove_copies = Memmove::num_copies; - - NoMemmove::num_copies = 0; -- for (int i = 10000; i > 0; i--) { -+ for (int i = 1000; i > 0; i--) { - nomemmove[i] = NoMemmove(i); - } - const int nomemmove_copies = NoMemmove::num_copies; - - Memmove::num_copies = 0; -- for (int i = 10000; i > 0; i--) { -+ for (int i = 1000; i > 0; i--) { - memmove_nonstandard_alloc[i] = Memmove(i); - } - const int memmove_nonstandard_alloc_copies = Memmove::num_copies; -@@ -1988,6 +1782,7 @@ - "overflows size_type"); - } - -+ - // ------------------------------------------------------------------------ - // This informational "test" comes last so it's easy to see. - // Also, benchmarks. -diff -u -r ./src/hash_test_interface.h ../../../../sparsehash/src/hash_test_interface.h ---- ./src/hash_test_interface.h 2014-02-10 13:15:25.676130583 +0100 -+++ ../../../../sparsehash/src/hash_test_interface.h 1980-01-01 00:00:00.000000000 +0100 -@@ -46,13 +46,18 @@ - #define UTIL_GTL_HASH_TEST_INTERFACE_H_ - - #include -+#include - #include // for equal_to<> --#include --#include --#include --#include -+#include HASH_MAP_H -+#include -+ - #include - #include -+#include -+#include -+#include -+#include -+#include - #include HASH_FUN_H // for hash<> - - _START_GOOGLE_NAMESPACE_ -@@ -328,15 +333,6 @@ - return ht_ != other.ht_; - } - -- template -- bool serialize(ValueSerializer serializer, OUTPUT *fp) { -- return ht_.serialize(serializer, fp); -- } -- template -- bool unserialize(ValueSerializer serializer, INPUT *fp) { -- return ht_.unserialize(serializer, fp); -- } -- - template - bool write_metadata(OUTPUT *fp) { - return ht_.write_metadata(fp); -@@ -362,8 +358,8 @@ - // All subclasses should define get_data(value_type) as well. I don't - // provide an abstract-virtual definition here, because the return type - // differs between subclasses (not all subclasses define data_type). -- //virtual data_type get_data(const value_type& value) const = 0; -- //virtual data_type default_data() const = 0; -+ // virtual data_type get_data(const value_type& value) const = 0; -+ // virtual data_type default_data() const = 0; - - // These allow introspection into the interface. "Supports" means - // that the implementation of this functionality isn't a noop. -@@ -373,7 +369,6 @@ - virtual bool supports_brackets() const = 0; // has a 'real' operator[] - virtual bool supports_readwrite() const = 0; - virtual bool supports_num_table_copies() const = 0; -- virtual bool supports_serialization() const = 0; - - protected: - HT ht_; -@@ -431,20 +426,16 @@ - bool supports_brackets() const { return true; } - bool supports_readwrite() const { return true; } +Index: src/hash_test_interface.h +=================================================================== +--- src/hash_test_interface.h (revision 116) ++++ src/hash_test_interface.h (working copy) +@@ -433,7 +433,7 @@ bool supports_num_table_copies() const { return false; } -- bool supports_serialization() const { return true; } - - void set_empty_key(const typename p::key_type& k) { } + bool supports_serialization() const { return true; } + +- void set_empty_key(const typename p::key_type& k) { } ++ void set_empty_key(const typename p::key_type&) { } void clear_empty_key() { } typename p::key_type empty_key() const { return typename p::key_type(); } -- - int num_table_copies() const { return 0; } - -- typedef typename ht::NopointerSerializer NopointerSerializer; -- - protected: - template -- friend void swap(HashtableInterface_SparseHashMap& a, -- HashtableInterface_SparseHashMap& b); -+ friend void swap(HashtableInterface_SparseHashMap& a, -+ HashtableInterface_SparseHashMap& b); - - typename p::key_type it_to_key(const typename p::iterator& it) const { - return it->first; -@@ -462,8 +453,8 @@ - }; - - template --void swap(HashtableInterface_SparseHashMap& a, -- HashtableInterface_SparseHashMap& b) { -+void swap(HashtableInterface_SparseHashMap& a, -+ HashtableInterface_SparseHashMap& b) { - swap(a.ht_, b.ht_); - } - -@@ -538,20 +529,16 @@ - bool supports_brackets() const { return false; } - bool supports_readwrite() const { return true; } + +@@ -540,7 +540,7 @@ bool supports_num_table_copies() const { return false; } -- bool supports_serialization() const { return true; } - - void set_empty_key(const typename p::key_type& k) { } + bool supports_serialization() const { return true; } + +- void set_empty_key(const typename p::key_type& k) { } ++ void set_empty_key(const typename p::key_type&) { } void clear_empty_key() { } typename p::key_type empty_key() const { return typename p::key_type(); } -- - int num_table_copies() const { return 0; } - -- typedef typename ht::NopointerSerializer NopointerSerializer; -- - protected: - template -- friend void swap(HashtableInterface_SparseHashSet& a, -- HashtableInterface_SparseHashSet& b); -+ friend void swap(HashtableInterface_SparseHashSet& a, -+ HashtableInterface_SparseHashSet& b); - - typename p::key_type it_to_key(const typename p::iterator& it) const { - return *it; -@@ -569,8 +556,8 @@ - }; - - template --void swap(HashtableInterface_SparseHashSet& a, -- HashtableInterface_SparseHashSet& b) { -+void swap(HashtableInterface_SparseHashSet& a, -+ HashtableInterface_SparseHashSet& b) { - swap(a.ht_, b.ht_); - } - -@@ -654,7 +641,6 @@ - bool supports_brackets() const { return false; } - bool supports_readwrite() const { return true; } + +@@ -656,7 +656,7 @@ bool supports_num_table_copies() const { return true; } -- bool supports_serialization() const { return true; } - - void set_empty_key(const typename p::key_type& k) { } + bool supports_serialization() const { return true; } + +- void set_empty_key(const typename p::key_type& k) { } ++ void set_empty_key(const typename p::key_type&) { } void clear_empty_key() { } -@@ -666,14 +652,12 @@ - - // TODO(csilvers): also support/test destructive_begin()/destructive_end()? - -- typedef typename ht::NopointerSerializer NopointerSerializer; -- - protected: - template - friend void swap( -- HashtableInterface_SparseHashtable& a, -- HashtableInterface_SparseHashtable& b); -+ HashtableInterface_SparseHashtable& a, -+ HashtableInterface_SparseHashtable& b); - - typename p::key_type it_to_key(const typename p::iterator& it) const { - return extract_key(*it); -@@ -694,8 +678,8 @@ - }; - - template --void swap(HashtableInterface_SparseHashtable& a, -- HashtableInterface_SparseHashtable& b) { -+void swap(HashtableInterface_SparseHashtable& a, -+ HashtableInterface_SparseHashtable& b) { - swap(a.ht_, b.ht_); - } - -@@ -754,23 +738,27 @@ - bool supports_brackets() const { return true; } - bool supports_readwrite() const { return false; } - bool supports_num_table_copies() const { return false; } -- bool supports_serialization() const { return true; } - -- typedef typename ht::NopointerSerializer NopointerSerializer; -- template bool write_metadata(OUTPUT *) { return false; } -- template bool read_metadata(INPUT *) { return false; } -- template bool write_nopointer_data(OUTPUT *) { -+ template bool write_metadata(OUTPUT* /*output*/) { -+ return false; -+ } -+ template bool read_metadata(INPUT* /*input*/) { - return false; - } -- template bool read_nopointer_data(INPUT *) { -+ template bool write_nopointer_data(OUTPUT* /*output*/) { -+ return false; -+ } -+ template bool read_nopointer_data(INPUT* /*input*/) { - return false; - } - int num_table_copies() const { return 0; } - - protected: - template -- friend void swap(HashtableInterface_DenseHashMap& a, -- HashtableInterface_DenseHashMap& b); -+ friend void swap(HashtableInterface_DenseHashMap< -+ K2, T2, Empty2, H2, E2, A2>& a, -+ HashtableInterface_DenseHashMap< -+ K2, T2, Empty2, H2, E2, A2>& b); - - typename p::key_type it_to_key(const typename p::iterator& it) const { - return it->first; -@@ -788,8 +776,8 @@ - }; - - template --void swap(HashtableInterface_DenseHashMap& a, -- HashtableInterface_DenseHashMap& b) { -+void swap(HashtableInterface_DenseHashMap& a, -+ HashtableInterface_DenseHashMap& b) { - swap(a.ht_, b.ht_); - } - -@@ -858,23 +846,25 @@ - bool supports_brackets() const { return false; } - bool supports_readwrite() const { return false; } - bool supports_num_table_copies() const { return false; } -- bool supports_serialization() const { return true; } - -- typedef typename ht::NopointerSerializer NopointerSerializer; -- template bool write_metadata(OUTPUT *) { return false; } -- template bool read_metadata(INPUT *) { return false; } -- template bool write_nopointer_data(OUTPUT *) { -+ template bool write_metadata(OUTPUT* /*output*/) { -+ return false; -+ } -+ template bool read_metadata(INPUT* /*input*/) { -+ return false; -+ } -+ template bool write_nopointer_data(OUTPUT* /*output*/) { - return false; - } -- template bool read_nopointer_data(INPUT *) { -+ template bool read_nopointer_data(INPUT* /*input*/) { - return false; - } - int num_table_copies() const { return 0; } - - protected: - template -- friend void swap(HashtableInterface_DenseHashSet& a, -- HashtableInterface_DenseHashSet& b); -+ friend void swap(HashtableInterface_DenseHashSet& a, -+ HashtableInterface_DenseHashSet& b); - - typename p::key_type it_to_key(const typename p::iterator& it) const { - return *it; -@@ -892,8 +882,8 @@ - }; - - template --void swap(HashtableInterface_DenseHashSet& a, -- HashtableInterface_DenseHashSet& b) { -+void swap(HashtableInterface_DenseHashSet& a, -+ HashtableInterface_DenseHashSet& b) { - swap(a.ht_, b.ht_); - } - -@@ -985,15 +975,17 @@ - bool supports_brackets() const { return false; } - bool supports_readwrite() const { return false; } - bool supports_num_table_copies() const { return true; } -- bool supports_serialization() const { return true; } - -- typedef typename ht::NopointerSerializer NopointerSerializer; -- template bool write_metadata(OUTPUT *) { return false; } -- template bool read_metadata(INPUT *) { return false; } -- template bool write_nopointer_data(OUTPUT *) { -+ template bool write_metadata(OUTPUT* /*output*/) { -+ return false; -+ } -+ template bool read_metadata(INPUT* /*input*/) { -+ return false; -+ } -+ template bool write_nopointer_data(OUTPUT* /*output*/) { - return false; - } -- template bool read_nopointer_data(INPUT *) { -+ template bool read_nopointer_data(INPUT* /*input*/) { - return false; - } - -@@ -1005,8 +997,10 @@ - template - friend void swap( -- HashtableInterface_DenseHashtable& a, -- HashtableInterface_DenseHashtable& b); -+ HashtableInterface_DenseHashtable< -+ V2, K2, Empty2, HF2, EK2, SK2, Eq2, A2>& a, -+ HashtableInterface_DenseHashtable< -+ V2, K2, Empty2, HF2, EK2, SK2, Eq2, A2>& b); - - typename p::key_type it_to_key(const typename p::iterator& it) const { - return extract_key(*it); -@@ -1028,8 +1022,9 @@ - - template --void swap(HashtableInterface_DenseHashtable& a, -- HashtableInterface_DenseHashtable& b) { -+void swap( -+ HashtableInterface_DenseHashtable& a, -+ HashtableInterface_DenseHashtable& b) { - swap(a.ht_, b.ht_); - } - -diff -u -r ./src/libc_allocator_with_realloc_test.cc ../../../../sparsehash/src/libc_allocator_with_realloc_test.cc ---- ./src/libc_allocator_with_realloc_test.cc 2014-02-10 13:15:25.676130583 +0100 -+++ ../../../../sparsehash/src/libc_allocator_with_realloc_test.cc 1980-01-01 00:00:00.000000000 +0100 -@@ -32,9 +32,10 @@ - #include - #include - #include --#include -+ - #include - #include -+ - #include - #include "testutil.h" - -@@ -54,7 +55,7 @@ - typedef int_alloc::rebind::other intp_alloc; - - // cstring allocates from libc_allocator_with_realloc. --typedef basic_string, -+typedef basic_string, - libc_allocator_with_realloc > cstring; - typedef vector > cstring_vector; - -diff -u -r ./src/simple_compat_test.cc ../../../../sparsehash/src/simple_compat_test.cc ---- ./src/simple_compat_test.cc 2014-02-10 13:15:25.676130583 +0100 -+++ ../../../../sparsehash/src/simple_compat_test.cc 1980-01-01 00:00:00.000000000 +0100 -@@ -1,6 +1,6 @@ - // Copyright (c) 2007, Google Inc. - // All rights reserved. --// -+// - // Redistribution and use in source and binary forms, with or without - // modification, are permitted provided that the following conditions are - // met: -@@ -14,7 +14,7 @@ - // * Neither the name of Google Inc. nor the names of its - // contributors may be used to endorse or promote products derived from - // this software without specific prior written permission. --// -+// - // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -@@ -36,6 +36,8 @@ - // not #include ; it's meant to emulate what a 'regular - // install' of sparsehash would be able to see. - -+#include -+#include - #include - #include - #include -@@ -80,13 +82,13 @@ - for (google::sparse_hash_set::const_iterator it = sset.begin(); - it != sset.end(); ++it) - printf("sset: %d\n", *it); -- for (google::sparse_hash_map::const_iterator it = smap.begin(); -+ for (google::sparse_hash_map::const_iterator it = smap.begin(); - it != smap.end(); ++it) - printf("smap: %d -> %d\n", it->first, it->second); - for (google::dense_hash_set::const_iterator it = dset.begin(); - it != dset.end(); ++it) - printf("dset: %d\n", *it); -- for (google::dense_hash_map::const_iterator it = dmap.begin(); -+ for (google::dense_hash_map::const_iterator it = dmap.begin(); - it != dmap.end(); ++it) - printf("dmap: %d -> %d\n", it->first, it->second); - } -diff -u -r ./src/simple_test.cc ../../../../sparsehash/src/simple_test.cc ---- ./src/simple_test.cc 2014-02-10 13:15:25.676130583 +0100 -+++ ../../../../sparsehash/src/simple_test.cc 1980-01-01 00:00:00.000000000 +0100 -@@ -1,6 +1,6 @@ - // Copyright (c) 2007, Google Inc. - // All rights reserved. --// -+// - // Redistribution and use in source and binary forms, with or without - // modification, are permitted provided that the following conditions are - // met: -@@ -14,7 +14,7 @@ - // * Neither the name of Google Inc. nor the names of its - // contributors may be used to endorse or promote products derived from - // this software without specific prior written permission. --// -+// - // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -@@ -80,13 +80,13 @@ - for (google::sparse_hash_set::const_iterator it = sset.begin(); - it != sset.end(); ++it) - printf("sset: %d\n", *it); -- for (google::sparse_hash_map::const_iterator it = smap.begin(); -+ for (google::sparse_hash_map::const_iterator it = smap.begin(); - it != smap.end(); ++it) - printf("smap: %d -> %d\n", it->first, it->second); - for (google::dense_hash_set::const_iterator it = dset.begin(); - it != dset.end(); ++it) - printf("dset: %d\n", *it); -- for (google::dense_hash_map::const_iterator it = dmap.begin(); -+ for (google::dense_hash_map::const_iterator it = dmap.begin(); - it != dmap.end(); ++it) - printf("dmap: %d -> %d\n", it->first, it->second); - } -diff -u -r ./src/sparsehash/dense_hash_map ../../../../sparsehash/src/sparsehash/dense_hash_map ---- ./src/sparsehash/dense_hash_map 2014-02-10 13:15:25.516129251 +0100 -+++ ../../../../sparsehash/src/sparsehash/dense_hash_map 1980-01-01 00:00:00.000000000 +0100 -@@ -93,14 +93,18 @@ - // See /usr/(local/)?doc/sparsehash-*/dense_hash_map.html - // for information about how to use this class. - --#ifndef _DENSE_HASH_MAP_H_ --#define _DENSE_HASH_MAP_H_ -+#ifndef UTIL_GTL_DENSE_HASH_MAP_H_ -+#define UTIL_GTL_DENSE_HASH_MAP_H_ - - #include -+#include - #include // needed by stl_alloc - #include // for equal_to<>, select1st<>, etc -+#include HASH_MAP_H -+#include - #include // for alloc - #include // for pair<> -+ - #include // IWYU pragma: export - #include - #include HASH_FUN_H // for hash<> -@@ -316,45 +320,22 @@ - bool operator!=(const dense_hash_map& hs) const { return rep != hs.rep; } - - -- // I/O -- this is an add-on for writing hash map to disk -+ // I/O -- this is an add-on for writing metainformation to disk - // - // For maximum flexibility, this does not assume a particular - // file type (though it will probably be a FILE *). We just pass - // the fp through to rep. -+ template -+ bool write_metadata(OUTPUT *fp) { return rep.write_metadata(fp); } - -- // If your keys and values are simple enough, you can pass this -- // serializer to serialize()/unserialize(). "Simple enough" means -- // value_type is a POD type that contains no pointers. Note, -- // however, we don't try to normalize endianness. -- typedef typename ht::NopointerSerializer NopointerSerializer; -- -- // serializer: a class providing operator()(OUTPUT*, const value_type&) -- // (writing value_type to OUTPUT). You can specify a -- // NopointerSerializer object if appropriate (see above). -- // fp: either a FILE*, OR an ostream*/subclass_of_ostream*, OR a -- // pointer to a class providing size_t Write(const void*, size_t), -- // which writes a buffer into a stream (which fp presumably -- // owns) and returns the number of bytes successfully written. -- // Note basic_ostream is not currently supported. -- template -- bool serialize(ValueSerializer serializer, OUTPUT* fp) { -- return rep.serialize(serializer, fp); -- } -- -- // serializer: a functor providing operator()(INPUT*, value_type*) -- // (reading from INPUT and into value_type). You can specify a -- // NopointerSerializer object if appropriate (see above). -- // fp: either a FILE*, OR an istream*/subclass_of_istream*, OR a -- // pointer to a class providing size_t Read(void*, size_t), -- // which reads into a buffer from a stream (which fp presumably -- // owns) and returns the number of bytes successfully read. -- // Note basic_istream is not currently supported. -- // NOTE: Since value_type is std::pair, ValueSerializer -- // may need to do a const cast in order to fill in the key. -- template -- bool unserialize(ValueSerializer serializer, INPUT* fp) { -- return rep.unserialize(serializer, fp); -- } -+ template -+ bool read_metadata(INPUT *fp) { return rep.read_metadata(fp); } -+ -+ template -+ bool write_nopointer_data(OUTPUT *fp) { return rep.write_nopointer_data(fp); } -+ -+ template -+ bool read_nopointer_data(INPUT *fp) { return rep.read_nopointer_data(fp); } - }; - - // We need a global swap as well -@@ -366,4 +347,4 @@ - - _END_GOOGLE_NAMESPACE_ - --#endif /* _DENSE_HASH_MAP_H_ */ -+#endif // UTIL_GTL_DENSE_HASH_MAP_H_ -diff -u -r ./src/sparsehash/dense_hash_set ../../../../sparsehash/src/sparsehash/dense_hash_set ---- ./src/sparsehash/dense_hash_set 2014-02-10 13:15:25.516129251 +0100 -+++ ../../../../sparsehash/src/sparsehash/dense_hash_set 1980-01-01 00:00:00.000000000 +0100 -@@ -97,17 +97,25 @@ - // See /usr/(local/)?doc/sparsehash-*/dense_hash_set.html - // for information about how to use this class. - --#ifndef _DENSE_HASH_SET_H_ --#define _DENSE_HASH_SET_H_ -+#ifndef UTIL_GTL_DENSE_HASH_SET_H_ -+#define UTIL_GTL_DENSE_HASH_SET_H_ - - #include -+#include - #include // needed by stl_alloc - #include // for equal_to<>, select1st<>, etc -+#include HASH_MAP_H - #include // for alloc - #include // for pair<> -+#include -+ - #include // IWYU pragma: export - #include - #include HASH_FUN_H // for hash<> -+ -+// Some files test for this symbol. -+#define _DENSE_HASH_SET_H_ -+ - _START_GOOGLE_NAMESPACE_ - - template equal_range(const key_type& key) const { - return rep.equal_range(key); - } -@@ -293,38 +299,17 @@ - // For maximum flexibility, this does not assume a particular - // file type (though it will probably be a FILE *). We just pass - // the fp through to rep. -+ template -+ bool write_metadata(OUTPUT *fp) { return rep.write_metadata(fp); } - -- // If your keys and values are simple enough, you can pass this -- // serializer to serialize()/unserialize(). "Simple enough" means -- // value_type is a POD type that contains no pointers. Note, -- // however, we don't try to normalize endianness. -- typedef typename ht::NopointerSerializer NopointerSerializer; -- -- // serializer: a class providing operator()(OUTPUT*, const value_type&) -- // (writing value_type to OUTPUT). You can specify a -- // NopointerSerializer object if appropriate (see above). -- // fp: either a FILE*, OR an ostream*/subclass_of_ostream*, OR a -- // pointer to a class providing size_t Write(const void*, size_t), -- // which writes a buffer into a stream (which fp presumably -- // owns) and returns the number of bytes successfully written. -- // Note basic_ostream is not currently supported. -- template -- bool serialize(ValueSerializer serializer, OUTPUT* fp) { -- return rep.serialize(serializer, fp); -- } -- -- // serializer: a functor providing operator()(INPUT*, value_type*) -- // (reading from INPUT and into value_type). You can specify a -- // NopointerSerializer object if appropriate (see above). -- // fp: either a FILE*, OR an istream*/subclass_of_istream*, OR a -- // pointer to a class providing size_t Read(void*, size_t), -- // which reads into a buffer from a stream (which fp presumably -- // owns) and returns the number of bytes successfully read. -- // Note basic_istream is not currently supported. -- template -- bool unserialize(ValueSerializer serializer, INPUT* fp) { -- return rep.unserialize(serializer, fp); -- } -+ template -+ bool read_metadata(INPUT *fp) { return rep.read_metadata(fp); } -+ -+ template -+ bool write_nopointer_data(OUTPUT *fp) { return rep.write_nopointer_data(fp); } -+ -+ template -+ bool read_nopointer_data(INPUT *fp) { return rep.read_nopointer_data(fp); } - }; - - template -@@ -335,4 +320,4 @@ - - _END_GOOGLE_NAMESPACE_ - --#endif /* _DENSE_HASH_SET_H_ */ -+#endif // UTIL_GTL_DENSE_HASH_SET_H_ -diff -u -r ./src/sparsehash/internal/densehashtable.h ../../../../sparsehash/src/sparsehash/internal/densehashtable.h ---- ./src/sparsehash/internal/densehashtable.h 2014-02-10 13:15:25.496129083 +0100 -+++ ../../../../sparsehash/src/sparsehash/internal/densehashtable.h 1980-01-01 00:00:00.000000000 +0100 -@@ -73,7 +73,8 @@ - // code uses quadratic probing, though you can change it to linear - // via JUMP_ below if you really want to. - // --// From http://www.augustana.ca/~mohrj/courses/1999.fall/csc210/lecture_notes/hashing.html -+// From -+// www.augustana.ca/~mohrj/courses/1999.fall/csc210/lecture_notes/hashing.html - // NUMBER OF PROBES / LOOKUP Successful Unsuccessful - // Quadratic collision resolution 1 - ln(1-L) - L/2 1/(1-L) - L - ln(1-L) - // Linear collision resolution [1+1/(1-L)]/2 [1+1/(1-L)2]/2 -@@ -86,18 +87,23 @@ - // probes/successful lookup 1.06 1.5 1.75 2.5 3.0 5.5 50.5 - // probes/unsuccessful lookup 1.12 2.5 3.6 8.5 13.0 50.0 5000.0 - --#ifndef _DENSEHASHTABLE_H_ --#define _DENSEHASHTABLE_H_ -+#ifndef UTIL_GTL_DENSEHASHTABLE_H_ -+#define UTIL_GTL_DENSEHASHTABLE_H_ - - #include - #include -+#include - #include // for FILE, fwrite, fread - #include // For swap(), eg -+#include - #include // For iterator tags - #include // for numeric_limits - #include // For uninitialized_fill -+#include - #include // for pair --#include -+#include -+ -+#include "hashtable_common.h" - #include - #include - #include // For length_error -@@ -112,11 +118,33 @@ - using GOOGLE_NAMESPACE::remove_const; - } - -+// Some files test for this symbol. -+#define _DENSEHASHTABLE_H_ -+ - // The probing method - // Linear probing - // #define JUMP_(key, num_probes) ( 1 ) - // Quadratic probing --#define JUMP_(key, num_probes) ( num_probes ) -+#define JUMP_(key, num_probes) (num_probes) -+ -+// The weird mod in the offset is entirely to quiet compiler warnings -+// as is the cast to int after doing the "x mod 256" -+#define PUT_(take_from, offset) do { \ -+ if (putc(static_cast(offset >= sizeof(take_from)*8) \ -+ ? 0 : ((take_from) >> (offset)) % 256, fp) \ -+ == EOF) \ -+ return false; \ -+} while (0) -+ -+#define GET_(add_to, offset) do { \ -+ if ((x=getc(fp)) == EOF) \ -+ return false; \ -+ else if (offset >= sizeof(add_to) * 8) \ -+ assert(x == 0); /* otherwise it's too big for us to represent */ \ -+ else \ -+ add_to |= (static_cast(x) << ((offset) % (sizeof(add_to)*8))); \ -+} while (0) -+ - - // Hashtable class, used to implement the hashed associative containers - // hash_set and hash_map. -@@ -140,9 +168,6 @@ - class dense_hashtable; - - template --struct dense_hashtable_iterator; -- --template - struct dense_hashtable_const_iterator; - - // We're just an array, but we need to skip over empty and deleted elements -@@ -152,8 +177,10 @@ - typedef typename A::template rebind::other value_alloc_type; - - public: -- typedef dense_hashtable_iterator iterator; -- typedef dense_hashtable_const_iterator const_iterator; -+ typedef dense_hashtable_iterator -+ iterator; -+ typedef dense_hashtable_const_iterator -+ const_iterator; - - typedef std::forward_iterator_tag iterator_category; // very little defined! - typedef V value_type; -@@ -163,8 +190,9 @@ - typedef typename value_alloc_type::pointer pointer; - - // "Real" constructor and default constructor -- dense_hashtable_iterator(const dense_hashtable *h, -- pointer it, pointer it_end, bool advance) -+ dense_hashtable_iterator( -+ const dense_hashtable *h, -+ pointer it, pointer it_end, bool advance) - : ht(h), pos(it), end(it_end) { - if (advance) advance_past_empty_and_deleted(); - } -@@ -179,13 +207,20 @@ - // Arithmetic. The only hard part is making sure that - // we're not on an empty or marked-deleted array element - void advance_past_empty_and_deleted() { -- while ( pos != end && (ht->test_empty(*this) || ht->test_deleted(*this)) ) -+ while (pos != end && (ht->test_empty(*this) || ht->test_deleted(*this)) ) - ++pos; - } -- iterator& operator++() { -- assert(pos != end); ++pos; advance_past_empty_and_deleted(); return *this; -+ iterator& operator++() { -+ assert(pos != end); -+ ++pos; -+ advance_past_empty_and_deleted(); -+ return *this; -+ } -+ iterator operator++(int /*unused*/) { -+ iterator tmp(*this); -+ ++*this; -+ return tmp; - } -- iterator operator++(int) { iterator tmp(*this); ++*this; return tmp; } - - // Comparison. - bool operator==(const iterator& it) const { return pos == it.pos; } -@@ -193,7 +228,7 @@ - - - // The actual data -- const dense_hashtable *ht; -+ const dense_hashtable *ht; - pointer pos, end; - }; - -@@ -205,8 +240,10 @@ - typedef typename A::template rebind::other value_alloc_type; - - public: -- typedef dense_hashtable_iterator iterator; -- typedef dense_hashtable_const_iterator const_iterator; -+ typedef dense_hashtable_iterator -+ iterator; -+ typedef dense_hashtable_const_iterator -+ const_iterator; - - typedef std::forward_iterator_tag iterator_category; // very little defined! - typedef V value_type; -@@ -217,7 +254,7 @@ - - // "Real" constructor and default constructor - dense_hashtable_const_iterator( -- const dense_hashtable *h, -+ const dense_hashtable *h, - pointer it, pointer it_end, bool advance) - : ht(h), pos(it), end(it_end) { - if (advance) advance_past_empty_and_deleted(); -@@ -237,13 +274,20 @@ - // Arithmetic. The only hard part is making sure that - // we're not on an empty or marked-deleted array element - void advance_past_empty_and_deleted() { -- while ( pos != end && (ht->test_empty(*this) || ht->test_deleted(*this)) ) -+ while (pos != end && (ht->test_empty(*this) || ht->test_deleted(*this))) - ++pos; - } - const_iterator& operator++() { -- assert(pos != end); ++pos; advance_past_empty_and_deleted(); return *this; -+ assert(pos != end); -+ ++pos; -+ advance_past_empty_and_deleted(); -+ return *this; -+ } -+ const_iterator operator++(int /*unused*/) { -+ const_iterator tmp(*this); -+ ++*this; -+ return tmp; - } -- const_iterator operator++(int) { const_iterator tmp(*this); ++*this; return tmp; } - - // Comparison. - bool operator==(const const_iterator& it) const { return pos == it.pos; } -@@ -251,7 +295,7 @@ - - - // The actual data -- const dense_hashtable *ht; -+ const dense_hashtable *ht; - pointer pos, end; - }; - -@@ -261,6 +305,7 @@ - private: - typedef typename Alloc::template rebind::other value_alloc_type; - -+ - public: - typedef Key key_type; - typedef Value value_type; -@@ -286,6 +331,7 @@ - typedef iterator local_iterator; - typedef const_iterator const_local_iterator; - -+ - // How full we let the table get before we resize, by default. - // Knuth says .8 is good -- higher causes us to probe too much, - // though it saves memory. -@@ -308,14 +354,18 @@ - static const size_type HT_DEFAULT_STARTING_BUCKETS = 32; - - // ITERATOR FUNCTIONS -- iterator begin() { return iterator(this, table, -- table + num_buckets, true); } -- iterator end() { return iterator(this, table + num_buckets, -- table + num_buckets, true); } -- const_iterator begin() const { return const_iterator(this, table, -- table+num_buckets,true);} -- const_iterator end() const { return const_iterator(this, table + num_buckets, -- table+num_buckets,true);} -+ iterator begin() { -+ return iterator(this, table, table + num_buckets, true); -+ } -+ iterator end() { -+ return iterator(this, table + num_buckets, table + num_buckets, true); -+ } -+ const_iterator begin() const { -+ return const_iterator(this, table, table+num_buckets, true); -+ } -+ const_iterator end() const { -+ return const_iterator(this, table + num_buckets, table+num_buckets, true); -+ } - - // These come from tr1 unordered_map. They iterate over 'bucket' n. - // We'll just consider bucket n to be the n-th element of the table. -@@ -353,7 +403,7 @@ - // const components (they're probably pair). We use - // explicit destructor invocation and placement new to get around - // this. Arg. -- void set_value(pointer dst, const_reference src) { -+ static void set_value(pointer dst, const_reference src) { - dst->~value_type(); // delete the old value, if any - new(dst) value_type(src); - } -@@ -538,7 +588,7 @@ - // done after shrinking. Maybe make part of the Settings class? - bool maybe_shrink() { - assert(num_elements >= num_deleted); -- assert((bucket_count() & (bucket_count()-1)) == 0); // is a power of two -+ assert((bucket_count() & (bucket_count()-1)) == 0); // is a power of two - assert(bucket_count() >= HT_MIN_BUCKETS); - bool retval = false; - -@@ -641,7 +691,8 @@ - const size_type bucket_count_minus_one = bucket_count() - 1; - for (bucknum = hash(get_key(*it)) & bucket_count_minus_one; - !test_empty(bucknum); // not empty -- bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one) { -+ bucknum = (bucknum + -+ JUMP_(key, num_probes)) & bucket_count_minus_one) { - ++num_probes; - assert(num_probes < bucket_count() - && "Hashtable is full: an error in key_equal<> or hash<>"); -@@ -749,6 +800,7 @@ - - // Many STL algorithms use swap instead of copy constructors - void swap(dense_hashtable& ht) { -+ if (this == &ht) return; // swap with self. - std::swap(settings, ht.settings); - std::swap(key_info, ht.key_info); - std::swap(num_deleted, ht.num_deleted); -@@ -821,24 +873,26 @@ - // if object is not found; 2nd is ILLEGAL_BUCKET if it is. - // Note: because of deletions where-to-insert is not trivial: it's the - // first deleted bucket we see, as long as we don't find the key later -- std::pair find_position(const key_type &key) const { -+ template -+ std::pair find_position(const K &key) const { - size_type num_probes = 0; // how many times we've probed - const size_type bucket_count_minus_one = bucket_count() - 1; - size_type bucknum = hash(key) & bucket_count_minus_one; -- size_type insert_pos = ILLEGAL_BUCKET; // where we would insert -- while ( 1 ) { // probe until something happens -- if ( test_empty(bucknum) ) { // bucket is empty -- if ( insert_pos == ILLEGAL_BUCKET ) // found no prior place to insert -- return std::pair(ILLEGAL_BUCKET, bucknum); -+ size_type insert_pos = ILLEGAL_BUCKET; // where we would insert -+ while (1) { // probe until something happens -+ if (test_empty(bucknum)) { // bucket is empty -+ if (insert_pos == ILLEGAL_BUCKET) // found no prior place to insert -+ return std::pair(ILLEGAL_BUCKET, bucknum); - else -- return std::pair(ILLEGAL_BUCKET, insert_pos); -+ return std::pair(ILLEGAL_BUCKET, insert_pos); - -- } else if ( test_deleted(bucknum) ) {// keep searching, but mark to insert -+ } else if (test_deleted(bucknum)) { -+ // keep searching, but mark to insert - if ( insert_pos == ILLEGAL_BUCKET ) - insert_pos = bucknum; - -- } else if ( equals(key, get_key(table[bucknum])) ) { -- return std::pair(bucknum, ILLEGAL_BUCKET); -+ } else if (equals(key, get_key(table[bucknum]))) { -+ return std::pair(bucknum, ILLEGAL_BUCKET); - } - ++num_probes; // we're doing another probe - bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one; -@@ -849,7 +903,9 @@ - - public: - -- iterator find(const key_type& key) { -+ private: -+ template -+ iterator find_impl(const K& key) { - if ( size() == 0 ) return end(); - std::pair pos = find_position(key); - if ( pos.first == ILLEGAL_BUCKET ) // alas, not there -@@ -858,7 +914,8 @@ - return iterator(this, table + pos.first, table + num_buckets, false); - } - -- const_iterator find(const key_type& key) const { -+ template -+ const_iterator find_impl(const K& key) const { - if ( size() == 0 ) return end(); - std::pair pos = find_position(key); - if ( pos.first == ILLEGAL_BUCKET ) // alas, not there -@@ -867,40 +924,62 @@ - return const_iterator(this, table + pos.first, table+num_buckets, false); - } - -- // This is a tr1 method: the bucket a given key is in, or what bucket -- // it would be put in, if it were to be inserted. Shrug. -- size_type bucket(const key_type& key) const { -+ template -+ size_type bucket_impl(const K& key) const { - std::pair pos = find_position(key); - return pos.first == ILLEGAL_BUCKET ? pos.second : pos.first; - } - -- // Counts how many elements have key key. For maps, it's either 0 or 1. -- size_type count(const key_type &key) const { -+ template -+ size_type count_impl(const K& key) const { - std::pair pos = find_position(key); - return pos.first == ILLEGAL_BUCKET ? 0 : 1; - } - -- // Likewise, equal_range doesn't really make sense for us. Oh well. -- std::pair equal_range(const key_type& key) { -- iterator pos = find(key); // either an iterator or end -+ template -+ std::pair -+ equal_range_impl(const K& key) { -+ iterator pos = find(key); - if (pos == end()) { -- return std::pair(pos, pos); -+ return std::pair(pos, pos); - } else { - const iterator startpos = pos++; -- return std::pair(startpos, pos); -+ return std::pair(startpos, pos); - } - } -- std::pair equal_range(const key_type& key) -- const { -- const_iterator pos = find(key); // either an iterator or end -+ -+ template -+ std::pair -+ equal_range_impl(const K& key) const { -+ const_iterator pos = find(key); - if (pos == end()) { -- return std::pair(pos, pos); -+ return std::pair(pos, pos); - } else { - const const_iterator startpos = pos++; -- return std::pair(startpos, pos); -+ return std::pair(startpos, pos); - } - } - -+ public: -+ iterator find(const key_type& key) { return find_impl(key); } -+ -+ const_iterator find(const key_type& key) const { return find_impl(key); } -+ -+ // This is a tr1 method: the bucket a given key is in, or what bucket -+ // it would be put in, if it were to be inserted. Shrug. -+ size_type bucket(const key_type& key) const { return bucket_impl(key); } -+ -+ // Counts how many elements have key key. For maps, it's either 0 or 1. -+ size_type count(const key_type &key) const { return count_impl(key); } -+ -+ // Likewise, equal_range doesn't really make sense for us. Oh well. -+ std::pair -+ equal_range(const key_type& key) { return equal_range_impl(key); } -+ -+ std::pair -+ equal_range(const key_type& key) const { return equal_range_impl(key); } -+ -+ - - // INSERTION ROUTINES - private: -@@ -913,7 +992,7 @@ - // shrug: shouldn't need to be const. - const_iterator delpos(this, table + pos, table + num_buckets, false); - clear_deleted(delpos); -- assert( num_deleted > 0); -+ assert(num_deleted > 0); - --num_deleted; // used to be, now it isn't - } else { - ++num_elements; // replacing an empty bucket -@@ -930,13 +1009,13 @@ - && "Inserting the empty key"); - assert((!settings.use_deleted() || !equals(get_key(obj), key_info.delkey)) - && "Inserting the deleted key"); -- const std::pair pos = find_position(get_key(obj)); -- if ( pos.first != ILLEGAL_BUCKET) { // object was already there -- return std::pair(iterator(this, table + pos.first, -+ const std::pair pos = find_position(get_key(obj)); -+ if (pos.first != ILLEGAL_BUCKET) { // object was already there -+ return std::pair(iterator(this, table + pos.first, - table + num_buckets, false), - false); // false: we didn't insert - } else { // pos.second says where to put it -- return std::pair(insert_at(obj, pos.second), true); -+ return std::pair(insert_at(obj, pos.second), true); - } - } - -@@ -985,9 +1064,9 @@ - && "Inserting the empty key"); - assert((!settings.use_deleted() || !equals(key, key_info.delkey)) - && "Inserting the deleted key"); -- const std::pair pos = find_position(key); -+ const std::pair pos = find_position(key); - DefaultValue default_value; -- if ( pos.first != ILLEGAL_BUCKET) { // object was already there -+ if (pos.first != ILLEGAL_BUCKET) { // object was already there - return table[pos.first]; - } else if (resize_delta(1)) { // needed to rehash to make room - // Since we resized, we can't use pos, so recalculate where to insert. -@@ -999,39 +1078,50 @@ - - - // DELETION ROUTINES -- size_type erase(const key_type& key) { -+ private: -+ template -+ size_type erase_impl(const K& key) { - // First, double-check we're not trying to erase delkey or emptyval. - assert((!settings.use_empty() || !equals(key, get_key(val_info.emptyval))) - && "Erasing the empty key"); - assert((!settings.use_deleted() || !equals(key, key_info.delkey)) - && "Erasing the deleted key"); - const_iterator pos = find(key); // shrug: shouldn't need to be const -- if ( pos != end() ) { -+ if (pos != end()) { - assert(!test_deleted(pos)); // or find() shouldn't have returned it - set_deleted(pos); - ++num_deleted; -- settings.set_consider_shrink(true); // will think about shrink after next insert -+ // will think about shrink after next insert -+ settings.set_consider_shrink(true); - return 1; // because we deleted one thing - } else { - return 0; // because we deleted nothing - } - } - -+ public: -+ size_type erase(const key_type& key) { -+ return erase_impl(key); -+ } -+ -+ - // We return the iterator past the deleted item. - void erase(iterator pos) { -- if ( pos == end() ) return; // sanity check -- if ( set_deleted(pos) ) { // true if object has been newly deleted -+ if (pos == end()) return; // sanity check -+ if (set_deleted(pos)) { // true if object has been newly deleted - ++num_deleted; -- settings.set_consider_shrink(true); // will think about shrink after next insert -+ // will think about shrink after next insert -+ settings.set_consider_shrink(true); - } - } - - void erase(iterator f, iterator l) { -- for ( ; f != l; ++f) { -- if ( set_deleted(f) ) // should always be true -+ for (; f != l; ++f) { -+ if (set_deleted(f)) // should always be true - ++num_deleted; - } -- settings.set_consider_shrink(true); // will think about shrink after next insert -+ // will think about shrink after next insert -+ settings.set_consider_shrink(true); - } - - // We allow you to erase a const_iterator just like we allow you to -@@ -1040,18 +1130,20 @@ - // you can't use the object after it's erased anyway, so it doesn't matter - // if it's const or not. - void erase(const_iterator pos) { -- if ( pos == end() ) return; // sanity check -- if ( set_deleted(pos) ) { // true if object has been newly deleted -+ if (pos == end()) return; // sanity check -+ if (set_deleted(pos)) { // true if object has been newly deleted - ++num_deleted; -- settings.set_consider_shrink(true); // will think about shrink after next insert -+ // will think about shrink after next insert -+ settings.set_consider_shrink(true); - } - } - void erase(const_iterator f, const_iterator l) { - for ( ; f != l; ++f) { -- if ( set_deleted(f) ) // should always be true -+ if (set_deleted(f)) // should always be true - ++num_deleted; - } -- settings.set_consider_shrink(true); // will think about shrink after next insert -+ // will think about shrink after next insert -+ settings.set_consider_shrink(true); - } - - -@@ -1087,79 +1179,108 @@ - typedef unsigned long MagicNumberType; - static const MagicNumberType MAGIC_NUMBER = 0x13578642; - -+ // Could make these faster with built-ins, but no real need. -+ template -+ static bool write64(FILE *fp, IntType value) { -+ PUT_(value, 56); -+ PUT_(value, 48); -+ PUT_(value, 40); -+ PUT_(value, 32); -+ PUT_(value, 24); -+ PUT_(value, 16); -+ PUT_(value, 8); -+ PUT_(value, 0); -+ return true; -+ } -+ -+ template -+ static bool read64(FILE *fp, IntType *value) { // reads into value -+ int x; // used by GET_ -+ GET_(*value, 56); -+ GET_(*value, 48); -+ GET_(*value, 40); -+ GET_(*value, 32); -+ GET_(*value, 24); -+ GET_(*value, 16); -+ GET_(*value, 8); -+ GET_(*value, 0); -+ return true; -+ } -+ - public: -- // I/O -- this is an add-on for writing hash table to disk -- // -- // INPUT and OUTPUT must be either a FILE, *or* a C++ stream -- // (istream, ostream, etc) *or* a class providing -- // Read(void*, size_t) and Write(const void*, size_t) -- // (respectively), which writes a buffer into a stream -- // (which the INPUT/OUTPUT instance presumably owns). -- -- typedef sparsehash_internal::pod_serializer NopointerSerializer; -- -- // ValueSerializer: a functor. operator()(OUTPUT*, const value_type&) -- template -- bool serialize(ValueSerializer serializer, OUTPUT *fp) { -+ bool write_metadata(FILE *fp) { - squash_deleted(); // so we don't have to worry about delkey -- if ( !sparsehash_internal::write_bigendian_number(fp, MAGIC_NUMBER, 4) ) -- return false; -- if ( !sparsehash_internal::write_bigendian_number(fp, num_buckets, 8) ) -- return false; -- if ( !sparsehash_internal::write_bigendian_number(fp, num_elements, 8) ) -- return false; -+ if ( !write64(fp, MAGIC_NUMBER) ) return false; -+ if ( !write64(fp, num_buckets) ) return false; -+ if ( !write64(fp, num_elements) ) return false; - // Now write a bitmap of non-empty buckets. -- for ( size_type i = 0; i < num_buckets; i += 8 ) { -+ for (int i = 0; i < num_buckets; i += 8) { - unsigned char bits = 0; -- for ( int bit = 0; bit < 8; ++bit ) { -- if ( i + bit < num_buckets && !test_empty(i + bit) ) -+ for (int bit = 0; bit < 8; ++bit) { -+ if (i + bit < num_buckets && !test_empty(i + bit)) - bits |= (1 << bit); - } -- if ( !sparsehash_internal::write_data(fp, &bits, sizeof(bits)) ) -- return false; -- for ( int bit = 0; bit < 8; ++bit ) { -- if ( bits & (1 << bit) ) { -- if ( !serializer(fp, table[i + bit]) ) return false; -- } -- } -+ PUT_(bits, 0); - } - return true; - } - -- // INPUT: anything we've written an overload of read_data() for. -- // ValueSerializer: a functor. operator()(INPUT*, value_type*) -- template -- bool unserialize(ValueSerializer serializer, INPUT *fp) { -- assert(settings.use_empty() && "empty_key not set for read"); -- -- clear(); // just to be consistent -- MagicNumberType magic_read; -- if ( !sparsehash_internal::read_bigendian_number(fp, &magic_read, 4) ) -- return false; -+ bool read_metadata(FILE *fp) { -+ num_deleted = 0; // since we got rid before writing -+ assert(settings.use_empty() && "empty_key not set for read_metadata"); -+ if (table) val_info.deallocate(table, num_buckets); // we'll make our own -+ -+ size_type magic_read = 0; -+ if ( !read64(fp, &magic_read) ) return false; - if ( magic_read != MAGIC_NUMBER ) { -+ clear(); // just to be consistent - return false; - } -- size_type new_num_buckets; -- if ( !sparsehash_internal::read_bigendian_number(fp, &new_num_buckets, 8) ) -- return false; -- clear_to_size(new_num_buckets); -- if ( !sparsehash_internal::read_bigendian_number(fp, &num_elements, 8) ) -- return false; -+ if ( !read64(fp, &num_buckets) ) return false; -+ if ( !read64(fp, &num_elements) ) return false; -+ -+ settings.reset_thresholds(bucket_count()); -+ table = val_info.allocate(num_buckets); -+ assert(table); -+ fill_range_with_empty(table, table + num_buckets); - - // Read the bitmap of non-empty buckets. -- for (size_type i = 0; i < num_buckets; i += 8) { -+ for (int i = 0; i < num_buckets; i += 8) { -+ int x; // used by GET_ - unsigned char bits; -- if ( !sparsehash_internal::read_data(fp, &bits, sizeof(bits)) ) -- return false; -- for ( int bit = 0; bit < 8; ++bit ) { -- if ( i + bit < num_buckets && (bits & (1 << bit)) ) { // not empty -- if ( !serializer(fp, &table[i + bit]) ) return false; -+ GET_(bits, 0); -+ for (int bit = 0; bit < 8; ++bit) { -+ if (i + bit < num_buckets && (bits & (1 << bit))) { // not empty -+ // TODO(csilvers): mark that this bucket is non-empty somehow -+ return false; - } - } - } -+ - return true; - } - -+ // If your keys and values are simple enough, we can write them to -+ // disk for you. "simple enough" means value_type is a POD type -+ // that contains no pointers. However, we don't try to normalize -+ // endianness -+ bool write_nopointer_data(FILE *fp) const { -+ for ( const_iterator it = begin(); it != end(); ++it ) { -+ if ( !fwrite(&*it, sizeof(*it), 1, fp) ) return false; -+ } -+ return false; -+ } -+ -+ // When reading, we have to override the potential const-ness of *it -+ bool read_nopointer_data(FILE *fp) { -+ for ( iterator it = begin(); it != end(); ++it ) { -+ if ( !fread(reinterpret_cast(&(*it)), sizeof(*it), 1, fp) ) -+ return false; -+ } -+ return false; -+ } -+ -+ - private: - template - class alloc_impl : public A { -@@ -1225,11 +1346,9 @@ - // have the same function signature, they must be packaged in - // different classes. - struct Settings : -- sparsehash_internal::sh_hashtable_settings { -+ sh_hashtable_settings { - explicit Settings(const hasher& hf) -- : sparsehash_internal::sh_hashtable_settings( -+ : sh_hashtable_settings( - hf, HT_OCCUPANCY_PCT / 100.0f, HT_EMPTY_PCT / 100.0f) {} - }; - -@@ -1249,7 +1368,12 @@ - void set_key(pointer v, const key_type& k) const { - SetKey::operator()(v, k); - } -- bool equals(const key_type& a, const key_type& b) const { -+ -+ // We only ever call EqualKey::operator()(key_type, K) -- we never use the -+ // other order of args. This allows consumers to get away with implementing -+ // only half of operator==. -+ template -+ bool equals(const key_type& a, const K& b) const { - return EqualKey::operator()(a, b); - } - -@@ -1265,6 +1389,8 @@ - bool equals(const key_type& a, const key_type& b) const { - return key_info.equals(a, b); - } -+ -+ - typename ExtractKey::result_type get_key(const_reference v) const { - return key_info.get_key(v); - } -@@ -1287,16 +1413,18 @@ - - // We need a global swap as well - template --inline void swap(dense_hashtable &x, -- dense_hashtable &y) { -+inline void swap(dense_hashtable &x, -+ dense_hashtable &y) { - x.swap(y); - } - - #undef JUMP_ -+#undef PUT_ -+#undef GET_ - - template --const typename dense_hashtable::size_type -- dense_hashtable::ILLEGAL_BUCKET; -+const typename dense_hashtable::size_type -+ dense_hashtable::ILLEGAL_BUCKET; - - // How full we let the table get before we resize. Knuth says .8 is - // good -- higher causes us to probe too much, though saves memory. -@@ -1310,10 +1438,10 @@ - // How empty we let the table get before we resize lower. - // It should be less than OCCUPANCY_PCT / 2 or we thrash resizing. - template --const int dense_hashtable::HT_EMPTY_PCT -- = static_cast(0.4 * -- dense_hashtable::HT_OCCUPANCY_PCT); -+const int dense_hashtable::HT_EMPTY_PCT = -+ static_cast( -+ 0.4 * dense_hashtable::HT_OCCUPANCY_PCT); - - _END_GOOGLE_NAMESPACE_ - --#endif /* _DENSEHASHTABLE_H_ */ -+#endif // UTIL_GTL_DENSEHASHTABLE_H_ -Only in ../../../../sparsehash/src/sparsehash/internal: hashtable_common.h -Only in ./src/sparsehash/internal: hashtable-common.h -diff -u -r ./src/sparsehash/internal/sparsehashtable.h ../../../../sparsehash/src/sparsehash/internal/sparsehashtable.h ---- ./src/sparsehash/internal/sparsehashtable.h 2014-02-10 13:15:25.496129083 +0100 -+++ ../../../../sparsehash/src/sparsehash/internal/sparsehashtable.h 1980-01-01 00:00:00.000000000 +0100 -@@ -92,17 +92,23 @@ - // The value type is required to be copy constructible and default - // constructible, but it need not be (and commonly isn't) assignable. - --#ifndef _SPARSEHASHTABLE_H_ --#define _SPARSEHASHTABLE_H_ -+#ifndef UTIL_GTL_SPARSEHASHTABLE_H_ -+#define UTIL_GTL_SPARSEHASHTABLE_H_ - - #include - #include -+#include -+#include - #include // For swap(), eg -+#include - #include // for iterator tags - #include // for numeric_limits -+#include - #include // for pair -+#include -+ - #include // for remove_const --#include -+#include "hashtable_common.h" - #include // IWYU pragma: export - #include // For length_error - -@@ -112,6 +118,9 @@ - using GOOGLE_NAMESPACE::remove_const; - } - -+// Some files test for this symbol. -+#define _SPARSEHASHTABLE_H_ -+ - #ifndef SPARSEHASH_STAT_UPDATE - #define SPARSEHASH_STAT_UPDATE(x) ((void) 0) - #endif -@@ -120,7 +129,7 @@ - // Linear probing - // #define JUMP_(key, num_probes) ( 1 ) - // Quadratic probing --#define JUMP_(key, num_probes) ( num_probes ) -+#define JUMP_(key, num_probes) (num_probes) - - // The smaller this is, the faster lookup is (because the group bitmap is - // smaller) and the faster insert is, because there's less to move. -@@ -163,9 +172,11 @@ - typedef typename A::template rebind::other value_alloc_type; - - public: -- typedef sparse_hashtable_iterator iterator; -- typedef sparse_hashtable_const_iterator const_iterator; -- typedef typename sparsetable::nonempty_iterator -+ typedef sparse_hashtable_iterator -+ iterator; -+ typedef sparse_hashtable_const_iterator -+ const_iterator; -+ typedef typename sparsetable::nonempty_iterator - st_iterator; - - typedef std::forward_iterator_tag iterator_category; // very little defined! -@@ -176,8 +187,9 @@ - typedef typename value_alloc_type::pointer pointer; - - // "Real" constructor and default constructor -- sparse_hashtable_iterator(const sparse_hashtable *h, -- st_iterator it, st_iterator it_end) -+ sparse_hashtable_iterator( -+ const sparse_hashtable *h, -+ st_iterator it, st_iterator it_end) - : ht(h), pos(it), end(it_end) { advance_past_deleted(); } - sparse_hashtable_iterator() { } // not ever used internally - // The default destructor is fine; we don't define one -@@ -204,7 +216,7 @@ - - - // The actual data -- const sparse_hashtable *ht; -+ const sparse_hashtable *ht; - st_iterator pos, end; - }; - -@@ -215,9 +227,12 @@ - typedef typename A::template rebind::other value_alloc_type; - - public: -- typedef sparse_hashtable_iterator iterator; -- typedef sparse_hashtable_const_iterator const_iterator; -- typedef typename sparsetable::const_nonempty_iterator -+ typedef sparse_hashtable_iterator -+ iterator; -+ typedef sparse_hashtable_const_iterator -+ const_iterator; -+ typedef -+ typename sparsetable::const_nonempty_iterator - st_iterator; - - typedef std::forward_iterator_tag iterator_category; // very little defined! -@@ -228,8 +243,9 @@ - typedef typename value_alloc_type::const_pointer pointer; - - // "Real" constructor and default constructor -- sparse_hashtable_const_iterator(const sparse_hashtable *h, -- st_iterator it, st_iterator it_end) -+ sparse_hashtable_const_iterator( -+ const sparse_hashtable *h, -+ st_iterator it, st_iterator it_end) - : ht(h), pos(it), end(it_end) { advance_past_deleted(); } - // This lets us convert regular iterators to const iterators - sparse_hashtable_const_iterator() { } // never used internally -@@ -251,7 +267,11 @@ - const_iterator& operator++() { - assert(pos != end); ++pos; advance_past_deleted(); return *this; - } -- const_iterator operator++(int) { const_iterator tmp(*this); ++*this; return tmp; } -+ const_iterator operator++(int) { -+ const_iterator tmp(*this); -+ ++*this; -+ return tmp; -+ } - - // Comparison. - bool operator==(const const_iterator& it) const { return pos == it.pos; } -@@ -259,7 +279,7 @@ - - - // The actual data -- const sparse_hashtable *ht; -+ const sparse_hashtable *ht; - st_iterator pos, end; - }; - -@@ -270,8 +290,9 @@ - typedef typename A::template rebind::other value_alloc_type; - - public: -- typedef sparse_hashtable_destructive_iterator iterator; -- typedef typename sparsetable::destructive_iterator -+ typedef sparse_hashtable_destructive_iterator -+ iterator; -+ typedef typename sparsetable::destructive_iterator - st_iterator; - - typedef std::forward_iterator_tag iterator_category; // very little defined! -@@ -282,9 +303,9 @@ - typedef typename value_alloc_type::pointer pointer; - - // "Real" constructor and default constructor -- sparse_hashtable_destructive_iterator(const -- sparse_hashtable *h, -- st_iterator it, st_iterator it_end) -+ sparse_hashtable_destructive_iterator( -+ const sparse_hashtable *h, -+ st_iterator it, st_iterator it_end) - : ht(h), pos(it), end(it_end) { advance_past_deleted(); } - sparse_hashtable_destructive_iterator() { } // never used internally - // The default destructor is fine; we don't define one -@@ -311,7 +332,7 @@ - - - // The actual data -- const sparse_hashtable *ht; -+ const sparse_hashtable *ht; - st_iterator pos, end; - }; - -@@ -354,12 +375,12 @@ - // How full we let the table get before we resize, by default. - // Knuth says .8 is good -- higher causes us to probe too much, - // though it saves memory. -- static const int HT_OCCUPANCY_PCT; // = 80 (out of 100); -+ static const int HT_OCCUPANCY_PCT; // = 80 (out of 100); - - // How empty we let the table get before we resize lower, by default. - // (0.0 means never resize lower.) - // It should be less than OCCUPANCY_PCT / 2 or we thrash resizing -- static const int HT_EMPTY_PCT; // = 0.4 * HT_OCCUPANCY_PCT; -+ static const int HT_EMPTY_PCT; // = 0.4 * HT_OCCUPANCY_PCT; - - // Minimum size we're willing to let hashtables be. - // Must be a power of two, and at least 4. -@@ -577,7 +598,7 @@ - // done after shrinking. Maybe make part of the Settings class? - bool maybe_shrink() { - assert(table.num_nonempty() >= num_deleted); -- assert((bucket_count() & (bucket_count()-1)) == 0); // is a power of two -+ assert((bucket_count() & (bucket_count()-1)) == 0); // is a power of two - assert(bucket_count() >= HT_MIN_BUCKETS); - bool retval = false; - -@@ -679,7 +700,8 @@ - const size_type bucket_count_minus_one = bucket_count() - 1; - for (bucknum = hash(get_key(*it)) & bucket_count_minus_one; - table.test(bucknum); // not empty -- bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one) { -+ bucknum = -+ (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one) { - ++num_probes; - assert(num_probes < bucket_count() - && "Hashtable is full: an error in key_equal<> or hash<>"); -@@ -710,7 +732,7 @@ - // We use a normal iterator to get non-deleted bcks from ht - // We could use insert() here, but since we know there are - // no duplicates and no deleted items, we can be more efficient -- assert( (bucket_count() & (bucket_count()-1)) == 0); // a power of two -+ assert((bucket_count() & (bucket_count()-1)) == 0); // a power of two - // THIS IS THE MAJOR LINE THAT DIFFERS FROM COPY_FROM(): - for ( destructive_iterator it = ht.destructive_begin(); - it != ht.destructive_end(); ++it ) { -@@ -718,7 +740,8 @@ - size_type bucknum; - for ( bucknum = hash(get_key(*it)) & (bucket_count()-1); // h % buck_cnt - table.test(bucknum); // not empty -- bucknum = (bucknum + JUMP_(key, num_probes)) & (bucket_count()-1) ) { -+ bucknum = -+ (bucknum + JUMP_(key, num_probes)) & (bucket_count()-1) ) { - ++num_probes; - assert(num_probes < bucket_count() - && "Hashtable is full: an error in key_equal<> or hash<>"); -@@ -839,23 +862,24 @@ - size_type num_probes = 0; // how many times we've probed - const size_type bucket_count_minus_one = bucket_count() - 1; - size_type bucknum = hash(key) & bucket_count_minus_one; -- size_type insert_pos = ILLEGAL_BUCKET; // where we would insert -+ size_type insert_pos = ILLEGAL_BUCKET; // where we would insert - SPARSEHASH_STAT_UPDATE(total_lookups += 1); -- while ( 1 ) { // probe until something happens -+ while (1) { // probe until something happens - if ( !table.test(bucknum) ) { // bucket is empty - SPARSEHASH_STAT_UPDATE(total_probes += num_probes); - if ( insert_pos == ILLEGAL_BUCKET ) // found no prior place to insert -- return std::pair(ILLEGAL_BUCKET, bucknum); -+ return std::pair(ILLEGAL_BUCKET, bucknum); - else -- return std::pair(ILLEGAL_BUCKET, insert_pos); -+ return std::pair(ILLEGAL_BUCKET, insert_pos); - -- } else if ( test_deleted(bucknum) ) {// keep searching, but mark to insert -+ } else if ( test_deleted(bucknum) ) { -+ // keep searching, but mark to insert - if ( insert_pos == ILLEGAL_BUCKET ) - insert_pos = bucknum; - - } else if ( equals(key, get_key(table.unsafe_get(bucknum))) ) { - SPARSEHASH_STAT_UPDATE(total_probes += num_probes); -- return std::pair(bucknum, ILLEGAL_BUCKET); -+ return std::pair(bucknum, ILLEGAL_BUCKET); - } - ++num_probes; // we're doing another probe - bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one; -@@ -899,23 +923,23 @@ - } - - // Likewise, equal_range doesn't really make sense for us. Oh well. -- std::pair equal_range(const key_type& key) { -+ std::pair equal_range(const key_type& key) { - iterator pos = find(key); // either an iterator or end - if (pos == end()) { -- return std::pair(pos, pos); -+ return std::pair(pos, pos); - } else { - const iterator startpos = pos++; -- return std::pair(startpos, pos); -+ return std::pair(startpos, pos); - } - } -- std::pair equal_range(const key_type& key) -+ std::pair equal_range(const key_type& key) - const { - const_iterator pos = find(key); // either an iterator or end - if (pos == end()) { -- return std::pair(pos, pos); -+ return std::pair(pos, pos); - } else { - const const_iterator startpos = pos++; -- return std::pair(startpos, pos); -+ return std::pair(startpos, pos); - } - } - -@@ -941,13 +965,13 @@ - // First, double-check we're not inserting delkey - assert((!settings.use_deleted() || !equals(get_key(obj), key_info.delkey)) - && "Inserting the deleted key"); -- const std::pair pos = find_position(get_key(obj)); -- if ( pos.first != ILLEGAL_BUCKET) { // object was already there -- return std::pair(iterator(this, table.get_iter(pos.first), -- table.nonempty_end()), -- false); // false: we didn't insert -+ const std::pair pos = find_position(get_key(obj)); -+ if (pos.first != ILLEGAL_BUCKET) { // object was already there -+ return std::pair(iterator(this, table.get_iter(pos.first), -+ table.nonempty_end()), -+ false); // false: we didn't insert - } else { // pos.second says where to put it -- return std::pair(insert_at(obj, pos.second), true); -+ return std::pair(insert_at(obj, pos.second), true); - } - } - -@@ -994,9 +1018,9 @@ - // First, double-check we're not inserting delkey - assert((!settings.use_deleted() || !equals(key, key_info.delkey)) - && "Inserting the deleted key"); -- const std::pair pos = find_position(key); -+ const std::pair pos = find_position(key); - DefaultValue default_value; -- if ( pos.first != ILLEGAL_BUCKET) { // object was already there -+ if (pos.first != ILLEGAL_BUCKET) { // object was already there - return *table.get_iter(pos.first); - } else if (resize_delta(1)) { // needed to rehash to make room - // Since we resized, we can't use pos, so recalculate where to insert. -@@ -1111,7 +1135,7 @@ - template - bool read_metadata(INPUT *fp) { - num_deleted = 0; // since we got rid before writing -- const bool result = table.read_metadata(fp); -+ bool result = table.read_metadata(fp); - settings.reset_thresholds(bucket_count()); - return result; - } -@@ -1128,30 +1152,6 @@ - return table.read_nopointer_data(fp); - } - -- // INPUT and OUTPUT must be either a FILE, *or* a C++ stream -- // (istream, ostream, etc) *or* a class providing -- // Read(void*, size_t) and Write(const void*, size_t) -- // (respectively), which writes a buffer into a stream -- // (which the INPUT/OUTPUT instance presumably owns). -- -- typedef sparsehash_internal::pod_serializer NopointerSerializer; -- -- // ValueSerializer: a functor. operator()(OUTPUT*, const value_type&) -- template -- bool serialize(ValueSerializer serializer, OUTPUT *fp) { -- squash_deleted(); // so we don't have to worry about delkey -- return table.serialize(serializer, fp); -- } -- -- // ValueSerializer: a functor. operator()(INPUT*, value_type*) -- template -- bool unserialize(ValueSerializer serializer, INPUT *fp) { -- num_deleted = 0; // since we got rid before writing -- const bool result = table.unserialize(serializer, fp); -- settings.reset_thresholds(bucket_count()); -- return result; -- } -- - private: - // Table is the main storage class. - typedef sparsetable Table; -@@ -1161,11 +1161,9 @@ - // hasher's operator() might have the same function signature, they - // must be packaged in different classes. - struct Settings : -- sparsehash_internal::sh_hashtable_settings { -+ sh_hashtable_settings { - explicit Settings(const hasher& hf) -- : sparsehash_internal::sh_hashtable_settings( -+ : sh_hashtable_settings( - hf, HT_OCCUPANCY_PCT / 100.0f, HT_EMPTY_PCT / 100.0f) {} - }; - -@@ -1176,7 +1174,8 @@ - KeyInfo(const ExtractKey& ek, const SetKey& sk, const EqualKey& eq) - : ExtractKey(ek), - SetKey(sk), -- EqualKey(eq) { -+ EqualKey(eq), -+ delkey() { - } - // We want to return the exact same type as ExtractKey: Key or const Key& - typename ExtractKey::result_type get_key(const_reference v) const { -@@ -1219,29 +1218,29 @@ - - // We need a global swap as well - template --inline void swap(sparse_hashtable &x, -- sparse_hashtable &y) { -+inline void swap(sparse_hashtable &x, -+ sparse_hashtable &y) { - x.swap(y); - } - - #undef JUMP_ - - template --const typename sparse_hashtable::size_type -- sparse_hashtable::ILLEGAL_BUCKET; -+const typename sparse_hashtable::size_type -+ sparse_hashtable::ILLEGAL_BUCKET; - - // How full we let the table get before we resize. Knuth says .8 is - // good -- higher causes us to probe too much, though saves memory - template --const int sparse_hashtable::HT_OCCUPANCY_PCT = 80; -+const int sparse_hashtable::HT_OCCUPANCY_PCT = 80; - - // How empty we let the table get before we resize lower. - // It should be less than OCCUPANCY_PCT / 2 or we thrash resizing - template --const int sparse_hashtable::HT_EMPTY_PCT -- = static_cast(0.4 * -- sparse_hashtable::HT_OCCUPANCY_PCT); -+const int sparse_hashtable::HT_EMPTY_PCT -+ = static_cast( -+ 0.4 * sparse_hashtable::HT_OCCUPANCY_PCT); - - _END_GOOGLE_NAMESPACE_ - --#endif /* _SPARSEHASHTABLE_H_ */ -+#endif // UTIL_GTL_SPARSEHASHTABLE_H_ -Only in ./src/sparsehash/internal: .svn -diff -u -r ./src/sparsehash/sparse_hash_map ../../../../sparsehash/src/sparsehash/sparse_hash_map ---- ./src/sparsehash/sparse_hash_map 2014-02-10 13:15:25.516129251 +0100 -+++ ../../../../sparsehash/src/sparsehash/sparse_hash_map 1980-01-01 00:00:00.000000000 +0100 -@@ -81,17 +81,24 @@ - // See /usr/(local/)?doc/sparsehash-*/sparse_hash_map.html - // for information about how to use this class. - --#ifndef _SPARSE_HASH_MAP_H_ --#define _SPARSE_HASH_MAP_H_ -+#ifndef UTIL_GTL_SPARSE_HASH_MAP_H_ -+#define UTIL_GTL_SPARSE_HASH_MAP_H_ - - #include -+#include - #include // needed by stl_alloc - #include // for equal_to<>, select1st<>, etc -+#include HASH_MAP_H - #include // for alloc - #include // for pair<> -+ - #include - #include // IWYU pragma: export - #include HASH_FUN_H // for hash<> -+ -+// Some files test for this symbol. -+#define _SPARSE_HASH_MAP_H_ -+ - _START_GOOGLE_NAMESPACE_ - - template is not currently supported. -- template -- bool serialize(ValueSerializer serializer, OUTPUT* fp) { -- return rep.serialize(serializer, fp); -- } -- -- // serializer: a functor providing operator()(INPUT*, value_type*) -- // (reading from INPUT and into value_type). You can specify a -- // NopointerSerializer object if appropriate (see above). -- // fp: either a FILE*, OR an istream*/subclass_of_istream*, OR a -- // pointer to a class providing size_t Read(void*, size_t), -- // which reads into a buffer from a stream (which fp presumably -- // owns) and returns the number of bytes successfully read. -- // Note basic_istream is not currently supported. -- // NOTE: Since value_type is std::pair, ValueSerializer -- // may need to do a const cast in order to fill in the key. -- // NOTE: if Key or T are not POD types, the serializer MUST use -- // placement-new to initialize their values, rather than a normal -- // equals-assignment or similar. (The value_type* passed into the -- // serializer points to garbage memory.) -- template -- bool unserialize(ValueSerializer serializer, INPUT* fp) { -- return rep.unserialize(serializer, fp); -- } -- -- // The four methods below are DEPRECATED. -- // Use serialize() and unserialize() for new code. - template - bool write_metadata(OUTPUT *fp) { return rep.write_metadata(fp); } - -@@ -360,4 +326,4 @@ - - _END_GOOGLE_NAMESPACE_ - --#endif /* _SPARSE_HASH_MAP_H_ */ -+#endif // UTIL_GTL_SPARSE_HASH_MAP_H_ -diff -u -r ./src/sparsehash/sparse_hash_set ../../../../sparsehash/src/sparsehash/sparse_hash_set ---- ./src/sparsehash/sparse_hash_set 2014-02-10 13:15:25.516129251 +0100 -+++ ../../../../sparsehash/src/sparsehash/sparse_hash_set 1980-01-01 00:00:00.000000000 +0100 -@@ -85,18 +85,25 @@ - // See /usr/(local/)?doc/sparsehash-*/sparse_hash_set.html - // for information about how to use this class. - --#ifndef _SPARSE_HASH_SET_H_ --#define _SPARSE_HASH_SET_H_ -+#ifndef UTIL_GTL_SPARSE_HASH_SET_H_ -+#define UTIL_GTL_SPARSE_HASH_SET_H_ - - #include -+#include - #include // needed by stl_alloc - #include // for equal_to<> -+#include HASH_MAP_H - #include // for alloc (which we don't use) - #include // for pair<> -+#include -+ - #include - #include // IWYU pragma: export - #include HASH_FUN_H // for hash<> - -+// Some files test for this symbol. -+#define _SPARSE_HASH_SET_H_ -+ - _START_GOOGLE_NAMESPACE_ - - template is not currently supported. -- template -- bool serialize(ValueSerializer serializer, OUTPUT* fp) { -- return rep.serialize(serializer, fp); -- } -- -- // serializer: a functor providing operator()(INPUT*, value_type*) -- // (reading from INPUT and into value_type). You can specify a -- // NopointerSerializer object if appropriate (see above). -- // fp: either a FILE*, OR an istream*/subclass_of_istream*, OR a -- // pointer to a class providing size_t Read(void*, size_t), -- // which reads into a buffer from a stream (which fp presumably -- // owns) and returns the number of bytes successfully read. -- // Note basic_istream is not currently supported. -- // NOTE: Since value_type is const Key, ValueSerializer -- // may need to do a const cast in order to fill in the key. -- // NOTE: if Key is not a POD type, the serializer MUST use -- // placement-new to initialize its value, rather than a normal -- // equals-assignment or similar. (The value_type* passed into -- // the serializer points to garbage memory.) -- template -- bool unserialize(ValueSerializer serializer, INPUT* fp) { -- return rep.unserialize(serializer, fp); -- } -- -- // The four methods below are DEPRECATED. -- // Use serialize() and unserialize() for new code. - template - bool write_metadata(OUTPUT *fp) { return rep.write_metadata(fp); } - -@@ -335,4 +301,4 @@ - - _END_GOOGLE_NAMESPACE_ - --#endif /* _SPARSE_HASH_SET_H_ */ -+#endif // UTIL_GTL_SPARSE_HASH_SET_H_ -diff -u -r ./src/sparsehash/sparsetable ../../../../sparsehash/src/sparsehash/sparsetable ---- ./src/sparsehash/sparsetable 2014-02-10 13:15:25.516129251 +0100 -+++ ../../../../sparsehash/src/sparsehash/sparsetable 1980-01-01 00:00:00.000000000 +0100 -@@ -164,6 +164,10 @@ - // void swap(sparsetable &x, sparsetable Swap two sparsetables - // sparsetable &y) (global, not member, function) - // -+// std::ostream& operator<<( sparsetable put to stream (for debugging) -+// std::ostream& out, (nonmember function) -+// sparsetable& x) -+// - // size_type size() const sparsetable Number of "buckets" in the table - // size_type max_size() const sparsetable Max allowed size of a sparsetable - // bool empty() const sparsetable true if size() == 0 -@@ -216,7 +220,7 @@ - // deleted (ie set() or erase() is used) or when the size of - // the table changes (ie resize() or clear() is used). - // --// See doc/sparsetable.html for more information about how to use this class. -+// See doc/sparsetable.html for more info about using this class. - - // Note: this uses STL style for naming, rather than Google naming. - // That's because this is an STL-y container -@@ -225,8 +229,9 @@ - #define UTIL_GTL_SPARSETABLE_H_ - - #include --#include // for malloc/free -+#include // for bounds checking - #include // to read/write tables -+#include // for malloc/free - #include // for memcpy - #ifdef HAVE_STDINT_H - #include // the normal place uint16_t is defined -@@ -237,13 +242,13 @@ - #ifdef HAVE_INTTYPES_H - #include // a third place for uint16_t or u_int16_t - #endif --#include // for bounds checking --#include // to define reverse_iterator for me - #include // equal, lexicographical_compare, swap,... -+#include // to define reverse_iterator for me - #include // uninitialized_copy, uninitialized_fill -+#include // NOLINT -- ostream << support - #include // a sparsetable is a vector of groups -+ - #include --#include - #include - - // A lot of work to get a type that's guaranteed to be 16 bits... -@@ -452,13 +457,13 @@ - const_iterator& operator-=(size_type t) { pos -= t; check(); return *this; } - const_iterator& operator++() { ++pos; check(); return *this; } - const_iterator& operator--() { --pos; check(); return *this; } -- const_iterator operator++(int) { const_iterator tmp(*this); // for x++ -- ++pos; check(); return tmp; } -- const_iterator operator--(int) { const_iterator tmp(*this); // for x-- -- --pos; check(); return tmp; } -- const_iterator operator+(difference_type i) const { const_iterator tmp(*this); -+ const_iterator operator++(int) { const_iterator tmp(*this); // for x++ -+ ++pos; check(); return tmp; } -+ const_iterator operator--(int) { const_iterator tmp(*this); // for x-- -+ --pos; check(); return tmp; } -+ const_iterator operator+(difference_type i) const { const_iterator tmp(*this); - tmp += i; return tmp; } -- const_iterator operator-(difference_type i) const { const_iterator tmp(*this); -+ const_iterator operator-(difference_type i) const { const_iterator tmp(*this); - tmp -= i; return tmp; } - difference_type operator-(const_iterator it) const { // for "x = it2 - it" - assert(table == it.table); -@@ -645,7 +650,7 @@ - const_two_d_iterator() - : row_begin(), row_end(), row_current(), col_current() { - } -- // Need this explicitly so we can convert normal iterators to const iterators -+ // Non-explicit ctor needed to convert normal iterators to const iterators - const_two_d_iterator(const two_d_iterator& it) : - row_begin(it.row_begin), row_end(it.row_end), row_current(it.row_current), - col_current(it.col_current) { } -@@ -799,19 +804,32 @@ - // the array (from 1 .. # of non-empty buckets in the group) is - // called its "offset." - -+// The weird mod in the offset is entirely to quiet compiler warnings -+// as is the cast to int after doing the "x mod 256" -+#define PUT_(take_from, offset) do { \ -+ if (putc(static_cast(((take_from) >> ((offset) % (sizeof(take_from)*8)))\ -+ % 256), fp) \ -+ == EOF) \ -+ return false; \ -+} while (0) -+ -+#define GET_(add_to, offset) do { \ -+ if ((x=getc(fp)) == EOF) \ -+ return false; \ -+ else \ -+ add_to |= (static_cast(x) << ((offset) % (sizeof(add_to)*8))); \ -+} while (0) -+ - template - class sparsegroup { -- private: -- typedef typename Alloc::template rebind::other value_alloc_type; -- - public: - // Basic types - typedef T value_type; -- typedef Alloc allocator_type; -- typedef typename value_alloc_type::reference reference; -- typedef typename value_alloc_type::const_reference const_reference; -- typedef typename value_alloc_type::pointer pointer; -- typedef typename value_alloc_type::const_pointer const_pointer; -+ typedef typename Alloc::template rebind::other allocator_type; -+ typedef typename allocator_type::reference reference; -+ typedef typename allocator_type::const_reference const_reference; -+ typedef typename allocator_type::pointer pointer; -+ typedef typename allocator_type::const_pointer const_pointer; - - typedef table_iterator > iterator; - typedef const_table_iterator > -@@ -828,7 +846,8 @@ - typedef pointer nonempty_iterator; - typedef const_pointer const_nonempty_iterator; - typedef std::reverse_iterator reverse_nonempty_iterator; -- typedef std::reverse_iterator const_reverse_nonempty_iterator; -+ typedef std::reverse_iterator -+ const_reverse_nonempty_iterator; - - // Iterator functions - iterator begin() { return iterator(this, 0); } -@@ -836,9 +855,13 @@ - iterator end() { return iterator(this, size()); } - const_iterator end() const { return const_iterator(this, size()); } - reverse_iterator rbegin() { return reverse_iterator(end()); } -- const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } -+ const_reverse_iterator rbegin() const { -+ return const_reverse_iterator(end()); -+ } - reverse_iterator rend() { return reverse_iterator(begin()); } -- const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } -+ const_reverse_iterator rend() const { -+ return const_reverse_iterator(begin()); -+ } - - // We'll have versions for our special non-empty iterator too - nonempty_iterator nonempty_begin() { return group; } -@@ -958,7 +981,7 @@ - // This is sizeof(this->bitmap). - const size_type group_size = (GROUP_SIZE-1) / 8 + 1; - for (size_type i = 0; i < group_size; i++) { // forward scan -- const size_type pop_count = bits_in_char(*bm); -+ unsigned char pop_count = bits_in_char(*bm); - if (pop_count > offset) { - unsigned char last_bm = *bm; - for (; offset > 0; offset--) { -@@ -985,8 +1008,8 @@ - - public: - // Constructors -- default and copy -- and destructor -- explicit sparsegroup(allocator_type& a) : -- group(0), settings(alloc_impl(a)) { -+ explicit sparsegroup(const allocator_type& a) : -+ group(0), settings(alloc_impl(a)) { - memset(bitmap, 0, sizeof(bitmap)); - } - sparsegroup(const sparsegroup& x) : group(0), settings(x.settings) { -@@ -1108,7 +1131,8 @@ - // TODO(austern): Make this exception safe: handle exceptions from - // value_type's copy constructor. - reference set(size_type i, const_reference val) { -- size_type offset = pos_to_offset(bitmap, i); // where we'll find (or insert) -+ size_type offset = -+ pos_to_offset(bitmap, i); // where we'll find (or insert) - if ( bmtest(i) ) { - // Delete the old value, which we're replacing with the new one - group[offset].~value_type(); -@@ -1119,7 +1143,7 @@ - base::is_same< - allocator_type, - libc_allocator_with_realloc >::value)> -- realloc_and_memmove_ok; // we pretend mv(x,y) == "x.~T(); new(x) T(y)" -+ realloc_and_memmove_ok; // pretend mv(x,y) == "x.~T(); new(x) T(y)" - set_aux(offset, realloc_and_memmove_ok()); - ++settings.num_buckets; - bmset(i); -@@ -1177,7 +1201,8 @@ - // value_type's copy constructor. - void erase(size_type i) { - if ( bmtest(i) ) { // trivial to erase empty bucket -- size_type offset = pos_to_offset(bitmap,i); // where we'll find (or insert) -+ size_type offset = -+ pos_to_offset(bitmap, i); // where we'll find (or insert) - if ( settings.num_buckets == 1 ) { - free_group(); - group = NULL; -@@ -1188,7 +1213,7 @@ - base::is_same< - allocator_type, - libc_allocator_with_realloc >::value)> -- realloc_and_memmove_ok; // pretend mv(x,y) == "x.~T(); new(x) T(y)" -+ realloc_and_memmove_ok; // pretend mv(x,y) == "x.~T(); new(x) T(y)" - erase_aux(offset, realloc_and_memmove_ok()); - } - --settings.num_buckets; -@@ -1213,48 +1238,50 @@ - // the actual array contents (which we don't know how to store), - // just the bitmap and size. Meant to be used with table I/O. - -- template bool write_metadata(OUTPUT *fp) const { -+ // Returns true if all was ok. -+ bool write_metadata(FILE *fp) const { - // we explicitly set to u_int16_t - assert(sizeof(settings.num_buckets) == 2); -- if ( !sparsehash_internal::write_bigendian_number(fp, settings.num_buckets, -- 2) ) -- return false; -- if ( !sparsehash_internal::write_data(fp, bitmap, sizeof(bitmap)) ) -+ PUT_(settings.num_buckets, 8); -+ PUT_(settings.num_buckets, 0); -+ if ( !fwrite(bitmap, sizeof(bitmap), 1, fp) ) - return false; - return true; - } - - // Reading destroys the old group contents! Returns true if all was ok. -- template bool read_metadata(INPUT *fp) { -+ bool read_metadata(FILE *fp) { - clear(); -- if ( !sparsehash_internal::read_bigendian_number(fp, &settings.num_buckets, -- 2) ) -- return false; -- if ( !sparsehash_internal::read_data(fp, bitmap, sizeof(bitmap)) ) -- return false; -+ -+ int x; // the GET_ macro requires an 'int x' to be defined -+ GET_(settings.num_buckets, 8); -+ GET_(settings.num_buckets, 0); -+ -+ if ( !fread(bitmap, sizeof(bitmap), 1, fp) ) return false; -+ - // We'll allocate the space, but we won't fill it: it will be - // left as uninitialized raw memory. - group = allocate_group(settings.num_buckets); - return true; - } - -- // Again, only meaningful if value_type is a POD. -- template bool read_nopointer_data(INPUT *fp) { -- for ( nonempty_iterator it = nonempty_begin(); -- it != nonempty_end(); ++it ) { -- if ( !sparsehash_internal::read_data(fp, &(*it), sizeof(*it)) ) -- return false; -- } -- return true; -- } -- - // If your keys and values are simple enough, we can write them - // to disk for you. "simple enough" means POD and no pointers. - // However, we don't try to normalize endianness. -- template bool write_nopointer_data(OUTPUT *fp) const { -+ bool write_nopointer_data(FILE *fp) const { - for ( const_nonempty_iterator it = nonempty_begin(); - it != nonempty_end(); ++it ) { -- if ( !sparsehash_internal::write_data(fp, &(*it), sizeof(*it)) ) -+ if ( !fwrite(&*it, sizeof(*it), 1, fp) ) return false; -+ } -+ return true; -+ } -+ -+ // When reading, we have to override the potential const-ness of *it. -+ // Again, only meaningful if value_type is a POD. -+ bool read_nopointer_data(FILE *fp) { -+ for ( nonempty_iterator it = nonempty_begin(); -+ it != nonempty_end(); ++it ) { -+ if ( !fread(reinterpret_cast(&(*it)), sizeof(*it), 1, fp) ) - return false; - } - return true; -@@ -1288,7 +1315,7 @@ - typedef typename A::size_type size_type; - - // Convert a normal allocator to one that has realloc_or_die() -- alloc_impl(const A& a) : A(a) { } -+ alloc_impl(const A& a) : A(a) {} - - // realloc_or_die should only be used when using the default - // allocator (libc_allocator_with_realloc). -@@ -1327,12 +1354,12 @@ - // zero-size allocator. - // If new fields are added to this class, we should add them to - // operator= and swap. -- class Settings : public alloc_impl { -+ class Settings : public alloc_impl { - public: -- Settings(const alloc_impl& a, u_int16_t n = 0) -- : alloc_impl(a), num_buckets(n) { } -+ Settings(const alloc_impl& a, u_int16_t n = 0) -+ : alloc_impl(a), num_buckets(n) { } - Settings(const Settings& s) -- : alloc_impl(s), num_buckets(s.num_buckets) { } -+ : alloc_impl(s), num_buckets(s.num_buckets) { } - - u_int16_t num_buckets; // limits GROUP_SIZE to 64K - }; -@@ -1340,13 +1367,13 @@ - // The actual data - pointer group; // (small) array of T's - Settings settings; // allocator and num_buckets -- unsigned char bitmap[(GROUP_SIZE-1)/8 + 1]; // fancy math is so we round up -+ unsigned char bitmap[(GROUP_SIZE-1)/8 + 1]; // fancy math is so we round up - }; - - // We need a global swap as well - template --inline void swap(sparsegroup &x, -- sparsegroup &y) { -+inline void swap(sparsegroup &x, -+ sparsegroup &y) { - x.swap(y); - } - -@@ -1357,20 +1384,19 @@ - class Alloc = libc_allocator_with_realloc > - class sparsetable { - private: -- typedef typename Alloc::template rebind::other value_alloc_type; - typedef typename Alloc::template rebind< -- sparsegroup >::other vector_alloc; -+ sparsegroup >::other vector_alloc; - - public: - // Basic types - typedef T value_type; // stolen from stl_vector.h -- typedef Alloc allocator_type; -- typedef typename value_alloc_type::size_type size_type; -- typedef typename value_alloc_type::difference_type difference_type; -- typedef typename value_alloc_type::reference reference; -- typedef typename value_alloc_type::const_reference const_reference; -- typedef typename value_alloc_type::pointer pointer; -- typedef typename value_alloc_type::const_pointer const_pointer; -+ typedef typename Alloc::template rebind::other allocator_type; -+ typedef typename allocator_type::size_type size_type; -+ typedef typename allocator_type::difference_type difference_type; -+ typedef typename allocator_type::reference reference; -+ typedef typename allocator_type::const_reference const_reference; -+ typedef typename allocator_type::pointer pointer; -+ typedef typename allocator_type::const_pointer const_pointer; - typedef table_iterator > iterator; - typedef const_table_iterator > - const_iterator; -@@ -1381,23 +1407,22 @@ - - // These are our special iterators, that go over non-empty buckets in a - // table. These aren't const only because you can change non-empty bcks. -- typedef two_d_iterator< std::vector< sparsegroup, -- vector_alloc> > -+ typedef two_d_iterator< -+ std::vector< sparsegroup, -+ vector_alloc> > - nonempty_iterator; -- typedef const_two_d_iterator< std::vector< sparsegroup, -- vector_alloc> > -- const_nonempty_iterator; -+ typedef const_two_d_iterator< -+ std::vector< sparsegroup, -+ vector_alloc> > -+ const_nonempty_iterator; - typedef std::reverse_iterator reverse_nonempty_iterator; -- typedef std::reverse_iterator const_reverse_nonempty_iterator; -+ typedef std::reverse_iterator -+ const_reverse_nonempty_iterator; - // Another special iterator: it frees memory as it iterates (used to resize) -- typedef destructive_two_d_iterator< std::vector< sparsegroup, -- vector_alloc> > -- destructive_iterator; -+ typedef destructive_two_d_iterator< -+ std::vector< sparsegroup, -+ vector_alloc> > -+ destructive_iterator; - - // Iterator functions - iterator begin() { return iterator(this, 0); } -@@ -1405,16 +1430,21 @@ - iterator end() { return iterator(this, size()); } - const_iterator end() const { return const_iterator(this, size()); } - reverse_iterator rbegin() { return reverse_iterator(end()); } -- const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } -+ const_reverse_iterator rbegin() const { -+ return const_reverse_iterator(end()); -+ } - reverse_iterator rend() { return reverse_iterator(begin()); } -- const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } -+ const_reverse_iterator rend() const { -+ return const_reverse_iterator(begin()); -+ } - - // Versions for our special non-empty iterator - nonempty_iterator nonempty_begin() { - return nonempty_iterator(groups.begin(), groups.end(), groups.begin()); - } - const_nonempty_iterator nonempty_begin() const { -- return const_nonempty_iterator(groups.begin(),groups.end(), groups.begin()); -+ return -+ const_nonempty_iterator(groups.begin(), groups.end(), groups.begin()); - } - nonempty_iterator nonempty_end() { - return nonempty_iterator(groups.begin(), groups.end(), groups.end()); -@@ -1511,7 +1541,7 @@ - // OK, we'll let you resize one of these puppies - void resize(size_type new_size) { - groups.resize(num_groups(new_size), group_type(settings)); -- if ( new_size < settings.table_size) { -+ if ( new_size < settings.table_size ) { - // lower num_buckets, clear last group - if ( pos_in_group(new_size) > 0 ) // need to clear inside last group - groups.back().erase(groups.back().begin() + pos_in_group(new_size), -@@ -1556,7 +1586,7 @@ - // TODO(csilvers): make protected + friend element_adaptor - reference mutating_get(size_type i) { // fills bucket i before getting - assert(i < settings.table_size); -- typename group_type::size_type old_numbuckets = which_group(i).num_nonempty(); -+ size_type old_numbuckets = which_group(i).num_nonempty(); - reference retval = which_group(i).mutating_get(pos_in_group(i)); - settings.num_buckets += which_group(i).num_nonempty() - old_numbuckets; - return retval; -@@ -1604,7 +1634,7 @@ - // The trick is to figure out whether we're replacing or inserting anew - reference set(size_type i, const_reference val) { - assert(i < settings.table_size); -- typename group_type::size_type old_numbuckets = which_group(i).num_nonempty(); -+ size_type old_numbuckets = which_group(i).num_nonempty(); - reference retval = which_group(i).set(pos_in_group(i), val); - settings.num_buckets += which_group(i).num_nonempty() - old_numbuckets; - return retval; -@@ -1614,7 +1644,7 @@ - // "undefining", rather than "clearing". - void erase(size_type i) { - assert(i < settings.table_size); -- typename group_type::size_type old_numbuckets = which_group(i).num_nonempty(); -+ size_type old_numbuckets = which_group(i).num_nonempty(); - which_group(i).erase(pos_in_group(i)); - settings.num_buckets += which_group(i).num_nonempty() - old_numbuckets; - } -@@ -1648,39 +1678,56 @@ - // causes us to mis-read old-version code that stores exactly - // 0xFFFFFFF, but I don't think that is likely to have happened for - // these particular values. -- template -- static bool write_32_or_64(OUTPUT* fp, IntType value) { -+ template -+ static bool write_32_or_64(FILE* fp, IntType value) { - if ( value < 0xFFFFFFFFULL ) { // fits in 4 bytes -- if ( !sparsehash_internal::write_bigendian_number(fp, value, 4) ) -- return false; -+ PUT_(value, 24); -+ PUT_(value, 16); -+ PUT_(value, 8); -+ PUT_(value, 0); -+ } else if ( value == 0xFFFFFFFFUL ) { // special case in 32bit systems -+ PUT_(0xFF, 0); PUT_(0xFF, 0); PUT_(0xFF, 0); PUT_(0xFF, 0); // marker -+ PUT_(0, 0); PUT_(0, 0); PUT_(0, 0); PUT_(0, 0); -+ PUT_(0xFF, 0); PUT_(0xFF, 0); PUT_(0xFF, 0); PUT_(0xFF, 0); - } else { -- if ( !sparsehash_internal::write_bigendian_number(fp, 0xFFFFFFFFUL, 4) ) -- return false; -- if ( !sparsehash_internal::write_bigendian_number(fp, value, 8) ) -- return false; -+ PUT_(0xFF, 0); PUT_(0xFF, 0); PUT_(0xFF, 0); PUT_(0xFF, 0); // marker -+ PUT_(value, 56); -+ PUT_(value, 48); -+ PUT_(value, 40); -+ PUT_(value, 32); -+ PUT_(value, 24); -+ PUT_(value, 16); -+ PUT_(value, 8); -+ PUT_(value, 0); - } - return true; - } - -- template -- static bool read_32_or_64(INPUT* fp, IntType *value) { // reads into value -- MagicNumberType first4 = 0; // a convenient 32-bit unsigned type -- if ( !sparsehash_internal::read_bigendian_number(fp, &first4, 4) ) -- return false; -+ template -+ static bool read_32_or_64(FILE* fp, IntType *value) { // reads into value -+ size_type first4 = 0; -+ int x; -+ GET_(first4, 24); -+ GET_(first4, 16); -+ GET_(first4, 8); -+ GET_(first4, 0); - if ( first4 < 0xFFFFFFFFULL ) { - *value = first4; - } else { -- if ( !sparsehash_internal::read_bigendian_number(fp, value, 8) ) -- return false; -+ GET_(*value, 56); -+ GET_(*value, 48); -+ GET_(*value, 40); -+ GET_(*value, 32); -+ GET_(*value, 24); -+ GET_(*value, 16); -+ GET_(*value, 8); -+ GET_(*value, 0); - } - return true; - } - - public: -- // read/write_metadata() and read_write/nopointer_data() are DEPRECATED. -- // Use serialize() and unserialize(), below, for new code. -- -- template bool write_metadata(OUTPUT *fp) const { -+ bool write_metadata(FILE *fp) const { - if ( !write_32_or_64(fp, MAGIC_NUMBER) ) return false; - if ( !write_32_or_64(fp, settings.table_size) ) return false; - if ( !write_32_or_64(fp, settings.num_buckets) ) return false; -@@ -1692,7 +1739,7 @@ - } - - // Reading destroys the old table contents! Returns true if read ok. -- template bool read_metadata(INPUT *fp) { -+ bool read_metadata(FILE *fp) { - size_type magic_read = 0; - if ( !read_32_or_64(fp, &magic_read) ) return false; - if ( magic_read != MAGIC_NUMBER ) { -@@ -1732,46 +1779,14 @@ - return true; - } - -- // INPUT and OUTPUT must be either a FILE, *or* a C++ stream -- // (istream, ostream, etc) *or* a class providing -- // Read(void*, size_t) and Write(const void*, size_t) -- // (respectively), which writes a buffer into a stream -- // (which the INPUT/OUTPUT instance presumably owns). -- -- typedef sparsehash_internal::pod_serializer NopointerSerializer; -- -- // ValueSerializer: a functor. operator()(OUTPUT*, const value_type&) -- template -- bool serialize(ValueSerializer serializer, OUTPUT *fp) { -- if ( !write_metadata(fp) ) -- return false; -- for ( const_nonempty_iterator it = nonempty_begin(); -- it != nonempty_end(); ++it ) { -- if ( !serializer(fp, *it) ) return false; -- } -- return true; -- } -- -- // ValueSerializer: a functor. operator()(INPUT*, value_type*) -- template -- bool unserialize(ValueSerializer serializer, INPUT *fp) { -- clear(); -- if ( !read_metadata(fp) ) -- return false; -- for ( nonempty_iterator it = nonempty_begin(); -- it != nonempty_end(); ++it ) { -- if ( !serializer(fp, &*it) ) return false; -- } -- return true; -- } - - // Comparisons. Note the comparisons are pretty arbitrary: we - // compare values of the first index that isn't equal (using default - // value for empty buckets). - bool operator==(const sparsetable& x) const { -- return ( settings.table_size == x.settings.table_size && -- settings.num_buckets == x.settings.num_buckets && -- groups == x.groups ); -+ return settings.table_size == x.settings.table_size && -+ settings.num_buckets == x.settings.num_buckets && -+ groups == x.groups; - } - - bool operator<(const sparsetable& x) const { -@@ -1810,11 +1825,38 @@ - - // We need a global swap as well - template --inline void swap(sparsetable &x, -- sparsetable &y) { -+inline void swap(sparsetable &x, -+ sparsetable &y) { - x.swap(y); - } - -+template -+inline std::ostream& -+operator<<(std::ostream& out, const sparsetable& table) { -+ out << "{"; -+ int displayed = 0; -+ const int kMaxDisplayed = 100; -+ const char* sep = ""; -+ for (int i = 0; i < table.size(); ++i) { -+ if (table.test(i)) { -+ out << sep; -+ if (displayed >= kMaxDisplayed) { -+ out << "..."; -+ break; -+ } -+ out << "[" << i << "]=" << table.get(i); -+ sep = " "; -+ ++displayed; -+ } -+ } -+ out << "}"; -+ return out; -+} -+ -+#undef GET_ -+#undef PUT_ -+ - _END_GOOGLE_NAMESPACE_ - - #endif // UTIL_GTL_SPARSETABLE_H_ -+ -Only in ./src/sparsehash: .svn -diff -u -r ./src/sparsehash/template_util.h ../../../../sparsehash/src/sparsehash/template_util.h ---- ./src/sparsehash/template_util.h 2014-02-10 13:15:25.516129251 +0100 -+++ ../../../../sparsehash/src/sparsehash/template_util.h 1980-01-01 00:00:00.000000000 +0100 -@@ -36,7 +36,7 @@ - // any changes here, make sure that you're not breaking any platforms. - // - // --// The names choosen here reflect those used in tr1 and the boost::mpl -+// The names chosen here reflect those used in tr1 and the boost::mpl - // library, there are similar operations used in the Loki library as - // well. I prefer the boost names for 2 reasons: - // 1. I think that portions of the Boost libraries are more likely to -diff -u -r ./src/sparsehash/type_traits.h ../../../../sparsehash/src/sparsehash/type_traits.h ---- ./src/sparsehash/type_traits.h 2014-02-10 13:15:25.516129251 +0100 -+++ ../../../../sparsehash/src/sparsehash/type_traits.h 1980-01-01 00:00:00.000000000 +0100 -@@ -29,15 +29,16 @@ - - // ---- - // -+// - // This code is compiled directly on many platforms, including client - // platforms like Windows, Mac, and embedded systems. Before making - // any changes here, make sure that you're not breaking any platforms. - // - // Define a small subset of tr1 type traits. The traits we define are: -+// enable_if - // is_integral - // is_floating_point - // is_pointer --// is_enum - // is_reference - // is_pod - // has_trivial_constructor -@@ -64,14 +65,10 @@ - - _START_GOOGLE_NAMESPACE_ - -+template struct enable_if; - template struct is_integral; - template struct is_floating_point; - template struct is_pointer; --// MSVC can't compile this correctly, and neither can gcc 3.3.5 (at least) --#if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) --// is_enum uses is_convertible, which is not available on MSVC. --template struct is_enum; --#endif - template struct is_reference; - template struct is_pod; - template struct has_trivial_constructor; -@@ -85,10 +82,17 @@ - template struct add_reference; - template struct remove_pointer; - template struct is_same; --#if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) -+#if !(defined(__GNUC__) && __GNUC__ <= 3) - template struct is_convertible; - #endif - -+// enable_if, equivalent semantics to c++11 std::enable_if, specifically: -+// "If B is true, the member typedef type shall equal T; otherwise, there -+// shall be no member typedef type." -+// Specified by 20.9.7.6 [Other transformations] -+template struct enable_if { typedef T type; }; -+template struct enable_if {}; -+ - // is_integral is false except for the built-in integer types. A - // cv-qualified type is integral if and only if the underlying type is. - template struct is_integral : false_type { }; -@@ -140,8 +144,6 @@ - template struct is_pointer : is_pointer { }; - template struct is_pointer : is_pointer { }; - --#if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) -- - namespace internal { - - template struct is_class_or_union { -@@ -150,20 +152,23 @@ - static const bool value = sizeof(tester(0)) == sizeof(small_); - }; - -+#if defined(_MSC_VER) || (defined(__GNUC__) && __GNUC__ <= 3) -+ -+// is_enum not meaningfully available on MSVC or old GCC: always false_type. -+template struct is_enum : base::false_type { }; -+ -+#else // case for non-GCC or old GCC follows -+ - // is_convertible chokes if the first argument is an array. That's why - // we use add_reference here. --template struct is_enum_impl -+template struct is_enum_impl - : is_convertible::type, int> { }; - --template struct is_enum_impl : false_type { }; -- --} // namespace internal -- --// Specified by TR1 [4.5.1] primary type categories. -+template struct is_enum_impl : false_type { }; - - // Implementation note: - // --// Each type is either void, integral, floating point, array, pointer, -+// Supported types are either void, integral, floating point, array, pointer, - // reference, member object pointer, member function pointer, enum, - // union or class. Out of these, only integral, floating point, reference, - // class and enum types are potentially convertible to int. Therefore, -@@ -171,23 +176,23 @@ - // is convertible to int, it's a enum. Adding cv-qualification to a type - // does not change whether it's an enum. - // --// Is-convertible-to-int check is done only if all other checks pass, -+// is_enum_impl's is_convertible check is done only if all other checks pass, - // because it can't be used with some types (e.g. void or classes with - // inaccessible conversion operators). - template struct is_enum -- : internal::is_enum_impl< -- is_same::value || -- is_integral::value || -- is_floating_point::value || -- is_reference::value || -- internal::is_class_or_union::value, -- T> { }; -+ : is_enum_impl::value && -+ !is_integral::value && -+ !is_floating_point::value && -+ !is_reference::value && -+ !is_class_or_union::value> { }; -+ -+#endif - - template struct is_enum : is_enum { }; - template struct is_enum : is_enum { }; - template struct is_enum : is_enum { }; - --#endif -+} // namespace internal - - // is_reference is false except for reference types. - template struct is_reference : false_type {}; -@@ -201,10 +206,7 @@ - template struct is_pod - : integral_constant::value || - is_floating_point::value || --#if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) -- // is_enum is not available on MSVC. -- is_enum::value || --#endif -+ internal::is_enum::value || - is_pointer::value)> { }; - template struct is_pod : is_pod { }; - template struct is_pod : is_pod { }; -diff -u -r ./src/sparsetable_unittest.cc ../../../../sparsehash/src/sparsetable_unittest.cc ---- ./src/sparsetable_unittest.cc 2014-02-10 13:15:25.676130583 +0100 -+++ ../../../../sparsehash/src/sparsetable_unittest.cc 1980-01-01 00:00:00.000000000 +0100 -@@ -35,16 +35,18 @@ - - #include - #include -+#include -+ -+#include - #include --#include --#include // for size_t - #include // defines unlink() on some windows platforms(?) -+#include - #ifdef HAVE_UNISTD_H - # include - #endif // for unlink() - #include // for allocator - #include --#include -+ - using std::string; - using std::allocator; - using GOOGLE_NAMESPACE::sparsetable; -@@ -55,7 +57,7 @@ - - // Many sparsetable operations return a size_t. Rather than have to - // use PRIuS everywhere, we'll just cast to a "big enough" value. --#define UL(x) ( static_cast(x) ) -+#define UL(x) (static_cast(x)) - - - static char outbuf[10240]; // big enough for these tests -@@ -89,31 +91,36 @@ - // Test the plain iterators - - for ( sparsetable::iterator it = x.begin(); it != x.end(); ++it ) { -- out += snprintf(out, LEFT, "x[%lu]: %d\n", UL(it - x.begin()), int(*it)); -+ out += snprintf(out, LEFT, "x[%lu]: %d\n", UL(it - x.begin()), -+ static_cast(*it)); - } - for ( sparsetable::const_iterator it = x.begin(); it != x.end(); ++it ) { - out += snprintf(out, LEFT, "x[%lu]: %d\n", UL(it - x.begin()), *it); - } -- for ( sparsetable::reverse_iterator it = x.rbegin(); it != x.rend(); ++it ) { -- out += snprintf(out, LEFT, "x[%lu]: %d\n", UL(x.rend()-1 - it), int(*it)); -+ for ( sparsetable::reverse_iterator it = x.rbegin(); it != x.rend(); -+ ++it ) { -+ out += snprintf(out, LEFT, "x[%lu]: %d\n", UL(x.rend()-1 - it), -+ static_cast(*it)); - } -- for ( sparsetable::const_reverse_iterator it = constx.rbegin(); it != constx.rend(); ++it ) { -+ for ( sparsetable::const_reverse_iterator it = constx.rbegin(); -+ it != constx.rend(); ++it ) { - out += snprintf(out, LEFT, "x[%lu]: %d\n", UL(constx.rend()-1 - it), *it); - } - for ( sparsetable::iterator it = z.begin(); it != z.end(); ++it ) { -- out += snprintf(out, LEFT, "z[%lu]: %d\n", UL(it - z.begin()), int(*it)); -+ out += snprintf(out, LEFT, "z[%lu]: %d\n", UL(it - z.begin()), -+ static_cast(*it)); - } - - { // array version -- out += snprintf(out, LEFT, "x[3]: %d\n", int(x[3])); -- out += snprintf(out, LEFT, "x[4]: %d\n", int(x[4])); -- out += snprintf(out, LEFT, "x[5]: %d\n", int(x[5])); -+ out += snprintf(out, LEFT, "x[3]: %d\n", static_cast(x[3])); -+ out += snprintf(out, LEFT, "x[4]: %d\n", static_cast(x[4])); -+ out += snprintf(out, LEFT, "x[5]: %d\n", static_cast(x[5])); - } - { - sparsetable::iterator it; // non-const version -- out += snprintf(out, LEFT, "x[4]: %d\n", int(x.begin()[4])); -+ out += snprintf(out, LEFT, "x[4]: %d\n", static_cast(x.begin()[4])); - it = x.begin() + 4; // should point to the non-zero value -- out += snprintf(out, LEFT, "x[4]: %d\n", int(*it)); -+ out += snprintf(out, LEFT, "x[4]: %d\n", static_cast(*it)); - it--; - --it; - it += 5; -@@ -122,14 +129,14 @@ - ++it; - it = it - 3; - it = 1 + it; // now at 5 -- out += snprintf(out, LEFT, "x[3]: %d\n", int(it[-2])); -- out += snprintf(out, LEFT, "x[4]: %d\n", int(it[-1])); -+ out += snprintf(out, LEFT, "x[3]: %d\n", static_cast(it[-2])); -+ out += snprintf(out, LEFT, "x[4]: %d\n", static_cast(it[-1])); - *it = 55; -- out += snprintf(out, LEFT, "x[5]: %d\n", int(it[0])); -- out += snprintf(out, LEFT, "x[5]: %d\n", int(*it)); -+ out += snprintf(out, LEFT, "x[5]: %d\n", static_cast(it[0])); -+ out += snprintf(out, LEFT, "x[5]: %d\n", static_cast(*it)); - int *x6 = &(it[1]); - *x6 = 66; -- out += snprintf(out, LEFT, "x[6]: %d\n", int(*(it + 1))); -+ out += snprintf(out, LEFT, "x[6]: %d\n", static_cast(*(it + 1))); - // Let's test comparitors as well - TEST(it == it); - TEST(!(it != it)); -@@ -168,7 +175,7 @@ - } - { - sparsetable::const_iterator it; // const version -- out += snprintf(out, LEFT, "x[4]: %d\n", int(x.begin()[4])); -+ out += snprintf(out, LEFT, "x[4]: %d\n", static_cast(x.begin()[4])); - it = x.begin() + 4; // should point to the non-zero value - out += snprintf(out, LEFT, "x[4]: %d\n", *it); - it--; -@@ -230,19 +237,25 @@ - // ---------------------------------------------------------------------- - // Test the non-empty iterators - -- for ( sparsetable::nonempty_iterator it = x.nonempty_begin(); it != x.nonempty_end(); ++it ) { -+ for ( sparsetable::nonempty_iterator it = x.nonempty_begin(); -+ it != x.nonempty_end(); ++it ) { - out += snprintf(out, LEFT, "x[??]: %d\n", *it); - } -- for ( sparsetable::const_nonempty_iterator it = y.nonempty_begin(); it != y.nonempty_end(); ++it ) { -+ for ( sparsetable::const_nonempty_iterator it = y.nonempty_begin(); -+ it != y.nonempty_end(); ++it ) { - out += snprintf(out, LEFT, "y[??]: %d\n", *it); - } -- for ( sparsetable::reverse_nonempty_iterator it = y.nonempty_rbegin(); it != y.nonempty_rend(); ++it ) { -+ for ( sparsetable::reverse_nonempty_iterator it = y.nonempty_rbegin(); -+ it != y.nonempty_rend(); ++it ) { - out += snprintf(out, LEFT, "y[??]: %d\n", *it); - } -- for ( sparsetable::const_reverse_nonempty_iterator it = consty.nonempty_rbegin(); it != consty.nonempty_rend(); ++it ) { -+ for ( sparsetable::const_reverse_nonempty_iterator it = -+ consty.nonempty_rbegin(); -+ it != consty.nonempty_rend(); ++it ) { - out += snprintf(out, LEFT, "y[??]: %d\n", *it); - } -- for ( sparsetable::nonempty_iterator it = z.nonempty_begin(); it != z.nonempty_end(); ++it ) { -+ for ( sparsetable::nonempty_iterator it = z.nonempty_begin(); -+ it != z.nonempty_end(); ++it ) { - out += snprintf(out, LEFT, "z[??]: %d\n", *it); - } - -@@ -277,7 +290,7 @@ - - sparsetable gp(100); - for (int i = 0; i < 100; i += 9) { -- gp.set(i,i); -+ gp.set(i, i); - } - - for (sparsetable::const_nonempty_iterator -@@ -306,11 +319,13 @@ - y.resize(70); // 48 and 49 should still be gone - out += snprintf(out, LEFT, "y shrank and grew: it's now %lu/%lu\n", - UL(y.num_nonempty()), UL(y.size())); -- out += snprintf(out, LEFT, "y[12] = %d, y.get(12) = %d\n", int(y[12]), y.get(12)); -+ out += snprintf(out, LEFT, "y[12] = %d, y.get(12) = %d\n", -+ static_cast(y[12]), y.get(12)); - y.erase(12); - out += snprintf(out, LEFT, "y[12] cleared. y now %lu/%lu. " - "y[12] = %d, y.get(12) = %d\n", -- UL(y.num_nonempty()), UL(y.size()), int(y[12]), y.get(12)); -+ UL(y.num_nonempty()), UL(y.size()), static_cast(y[12]), -+ y.get(12)); - - swap(x, y); - -@@ -343,7 +358,7 @@ - out += snprintf(out, LEFT, "y[??] = %d\n", *--it); - - // ---------------------------------------------------------------------- -- // Test I/O using deprecated read/write_metadata -+ // Test I/O - string filestr = FLAGS_test_tmpdir + "/.sparsetable.test"; - const char *file = filestr.c_str(); - FILE *fp = fopen(file, "wb"); -@@ -368,36 +383,13 @@ - y2.read_nopointer_data(fp); - fclose(fp); - -- for ( sparsetable::const_iterator it = y2.begin(); it != y2.end(); ++it ) { -- if ( y2.test(it) ) -- out += snprintf(out, LEFT, "y2[%lu] is %d\n", UL(it - y2.begin()), *it); -- } -- out += snprintf(out, LEFT, "That's %lu set buckets\n", UL(y2.num_nonempty())); -- } -- unlink(file); -- -- // ---------------------------------------------------------------------- -- // Also test I/O using serialize()/unserialize() -- fp = fopen(file, "wb"); -- if ( fp == NULL ) { -- out += snprintf(out, LEFT, "Can't open %s, skipping disk write...\n", file); -- } else { -- y.serialize(sparsetable::NopointerSerializer(), fp); -- fclose(fp); -- } -- fp = fopen(file, "rb"); -- if ( fp == NULL ) { -- out += snprintf(out, LEFT, "Can't open %s, skipping disk read...\n", file); -- } else { -- sparsetable y2; -- y2.unserialize(sparsetable::NopointerSerializer(), fp); -- fclose(fp); -- -- for ( sparsetable::const_iterator it = y2.begin(); it != y2.end(); ++it ) { -+ for ( sparsetable::const_iterator it = y2.begin(); it != y2.end(); -+ ++it ) { - if ( y2.test(it) ) - out += snprintf(out, LEFT, "y2[%lu] is %d\n", UL(it - y2.begin()), *it); - } -- out += snprintf(out, LEFT, "That's %lu set buckets\n", UL(y2.num_nonempty())); -+ out += -+ snprintf(out, LEFT, "That's %lu set buckets\n", UL(y2.num_nonempty())); - } - unlink(file); - } -@@ -432,13 +424,16 @@ - - // ---------------------------------------------------------------------- - // Test the non-empty iterators -- for ( sparsetable::nonempty_iterator it = x.nonempty_begin(); it != x.nonempty_end(); ++it ) { -+ for ( sparsetable::nonempty_iterator it = x.nonempty_begin(); -+ it != x.nonempty_end(); ++it ) { - out += snprintf(out, LEFT, "x[??]: %s\n", it->c_str()); - } -- for ( sparsetable::const_nonempty_iterator it = y.nonempty_begin(); it != y.nonempty_end(); ++it ) { -+ for ( sparsetable::const_nonempty_iterator it = y.nonempty_begin(); -+ it != y.nonempty_end(); ++it ) { - out += snprintf(out, LEFT, "y[??]: %s\n", it->c_str()); - } -- for ( sparsetable::nonempty_iterator it = z.nonempty_begin(); it != z.nonempty_end(); ++it ) { -+ for ( sparsetable::nonempty_iterator it = z.nonempty_begin(); -+ it != z.nonempty_end(); ++it ) { - out += snprintf(out, LEFT, "z[??]: %s\n", it->c_str()); - } - -@@ -475,7 +470,8 @@ - y.resize(38); - y.resize(10000); - y.set(9898, AsString(-9898)); -- for ( sparsetable::const_iterator it = y.begin(); it != y.end(); ++it ) { -+ for ( sparsetable::const_iterator it = y.begin(); it != y.end(); -+ ++it ) { - if ( y.test(it) ) - out += snprintf(out, LEFT, "y[%lu] is set\n", UL(it - y.begin())); - } -@@ -576,16 +572,17 @@ - // POD (int32) with instrumented_allocator. - typedef sparsetable > IntSparseTable; -+ const int element_size = sizeof(IntSparseTable::value_type); - - IntSparseTable* s1 = new IntSparseTable(10000); - TEST(sum_allocate_bytes > 0); - for (int i = 0; i < 10000; ++i) { - s1->set(i, 0); - } -- TEST(sum_allocate_bytes >= 10000 * sizeof(int)); -+ TEST(sum_allocate_bytes >= 10000 * element_size); - ResetAllocatorCounters(); - delete s1; -- TEST(sum_deallocate_bytes >= 10000 * sizeof(int)); -+ TEST(sum_deallocate_bytes >= 10000 * element_size); - - IntSparseTable* s2 = new IntSparseTable(1000); - IntSparseTable* s3 = new IntSparseTable(1000); -@@ -594,20 +591,20 @@ - s2->set(i, 0); - s3->set(i, 0); - } -- TEST(sum_allocate_bytes >= 2000 * sizeof(int)); -+ TEST(sum_allocate_bytes >= 2000 * element_size); - - ResetAllocatorCounters(); - s3->clear(); -- TEST(sum_deallocate_bytes >= 1000 * sizeof(int)); -+ TEST(sum_deallocate_bytes >= 1000 * element_size); - - ResetAllocatorCounters(); - s2->swap(*s3); // s2 is empty after the swap - s2->clear(); -- TEST(sum_deallocate_bytes < 1000 * sizeof(int)); -+ TEST(sum_deallocate_bytes < 1000 * element_size); - for (int i = 0; i < s3->size(); ++i) { - s3->erase(i); - } -- TEST(sum_deallocate_bytes >= 1000 * sizeof(int)); -+ TEST(sum_deallocate_bytes >= 1000 * element_size); - delete s2; - delete s3; - -@@ -625,12 +622,12 @@ - y.swap(x); - } - TEST(x.num_nonempty() == 0); -- out += snprintf(out, LEFT, "y[0]: %d\n", int(y[0])); -- out += snprintf(out, LEFT, "y[39999]: %d\n", int(y[39999])); -+ out += snprintf(out, LEFT, "y[0]: %d\n", static_cast(y[0])); -+ out += snprintf(out, LEFT, "y[39999]: %d\n", static_cast(y[39999])); - y.clear(); - - // POD (int) with std allocator. -- sparsetable > u, v; -+ sparsetable > u, v; - for (int s = 1000; s <= 40000; s += 1000) { - u.resize(s); - for (int i = 0; i < s; ++i) { -@@ -643,8 +640,8 @@ - v.swap(u); - } - TEST(u.num_nonempty() == 0); -- out += snprintf(out, LEFT, "v[0]: %d\n", int(v[0])); -- out += snprintf(out, LEFT, "v[39999]: %d\n", int(v[39999])); -+ out += snprintf(out, LEFT, "v[0]: %d\n", static_cast(v[0])); -+ out += snprintf(out, LEFT, "v[39999]: %d\n", static_cast(v[39999])); - v.clear(); - - // Non-POD (string) with default allocator. -@@ -873,19 +870,6 @@ - "y2[37] is -37\n" - "y2[9898] is -9898\n" - "That's 12 set buckets\n" -- "y2[10] is -10\n" -- "y2[11] is -11\n" -- "y2[13] is -13\n" -- "y2[14] is -14\n" -- "y2[30] is -30\n" -- "y2[31] is -31\n" -- "y2[32] is -32\n" -- "y2[33] is -33\n" -- "y2[35] is -35\n" -- "y2[36] is -36\n" -- "y2[37] is -37\n" -- "y2[9898] is -9898\n" -- "That's 12 set buckets\n" - "string test\n" - "x[0]: \n" - "x[1]: \n" -@@ -938,12 +922,12 @@ - "y[??] = -10\n" - "allocator test\n" - "sum_allocate_bytes > 0? yes\n" -- "sum_allocate_bytes >= 10000 * sizeof(int)? yes\n" -- "sum_deallocate_bytes >= 10000 * sizeof(int)? yes\n" -- "sum_allocate_bytes >= 2000 * sizeof(int)? yes\n" -- "sum_deallocate_bytes >= 1000 * sizeof(int)? yes\n" -- "sum_deallocate_bytes < 1000 * sizeof(int)? yes\n" -- "sum_deallocate_bytes >= 1000 * sizeof(int)? yes\n" -+ "sum_allocate_bytes >= 10000 * element_size? yes\n" -+ "sum_deallocate_bytes >= 10000 * element_size? yes\n" -+ "sum_allocate_bytes >= 2000 * element_size? yes\n" -+ "sum_deallocate_bytes >= 1000 * element_size? yes\n" -+ "sum_deallocate_bytes < 1000 * element_size? yes\n" -+ "sum_deallocate_bytes >= 1000 * element_size? yes\n" - "x.num_nonempty() == 0? yes\n" - "y[0]: 1\n" - "y[39999]: 40000\n" -@@ -952,8 +936,7 @@ - "v[39999]: 40000\n" - "a.num_nonempty() == 0? yes\n" - "b[0]: aa\n" -- "b[39999]: aa\n" -- ); -+ "b[39999]: aa\n"); - - // defined at bottom of file for ease of maintainence - int main(int argc, char **argv) { // though we ignore the args -Only in ./src: .svn -diff -u -r ./src/testutil.h ../../../../sparsehash/src/testutil.h ---- ./src/testutil.h 2014-02-10 13:15:25.676130583 +0100 -+++ ../../../../sparsehash/src/testutil.h 1980-01-01 00:00:00.000000000 +0100 -@@ -1,10 +1,10 @@ - // Copyright (c) 2010, Google Inc. - // All rights reserved. --// -+// - // Redistribution and use in source and binary forms, with or without - // modification, are permitted provided that the following conditions are - // met: --// -+// - // * Redistributions of source code must retain the above copyright - // notice, this list of conditions and the following disclaimer. - // * Redistributions in binary form must reproduce the above -@@ -14,7 +14,7 @@ - // * Neither the name of Google Inc. nor the names of its - // contributors may be used to endorse or promote products derived from - // this software without specific prior written permission. --// -+// - // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -@@ -259,7 +259,7 @@ - // to opensourcing easier. - class Test { }; - --} // namespace testing -+} // namespace testing - - _END_GOOGLE_NAMESPACE_ - -diff -u -r ./src/time_hash_map.cc ../../../../sparsehash/src/time_hash_map.cc ---- ./src/time_hash_map.cc 2014-02-10 13:15:25.676130583 +0100 -+++ ../../../../sparsehash/src/time_hash_map.cc 1980-01-01 00:00:00.000000000 +0100 -@@ -28,7 +28,6 @@ - // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - // --- --// Authors: Sanjay Ghemawat and Craig Silverstein - - // Time various hash map implementations - // -@@ -59,30 +58,33 @@ - #ifdef HAVE_INTTYPES_H - # include - #endif // for uintptr_t -+#include - #include - #include - #include -+ - extern "C" { --#include --#ifdef HAVE_SYS_TIME_H --# include --#endif - #ifdef HAVE_SYS_RESOURCE_H - # include - #endif -+#ifdef HAVE_SYS_TIME_H -+# include -+#endif - #ifdef HAVE_SYS_UTSNAME_H - # include - #endif // for uname() -+#include - } - - // The functions that we call on each map, that differ for different types. - // By default each is a noop, but we redefine them for types that need them. - --#include --#include HASH_MAP_H - #include -+#include HASH_MAP_H -+#include - #include --#include -+ -+#include - #include - #include - -@@ -119,7 +121,7 @@ - // worrying about whether the map-type supports it or not. - - template --class EasyUseSparseHashMap : public sparse_hash_map { -+class EasyUseSparseHashMap : public sparse_hash_map { - public: - EasyUseSparseHashMap() { - this->set_deleted_key(-1); -@@ -127,7 +129,7 @@ - }; - - template --class EasyUseDenseHashMap : public dense_hash_map { -+class EasyUseDenseHashMap : public dense_hash_map { - public: - EasyUseDenseHashMap() { - this->set_empty_key(-1); -@@ -137,42 +139,42 @@ - - // For pointers, we only set the empty key. - template --class EasyUseSparseHashMap : public sparse_hash_map { -+class EasyUseSparseHashMap : public sparse_hash_map { - public: - EasyUseSparseHashMap() { } - }; - - template --class EasyUseDenseHashMap : public dense_hash_map { -+class EasyUseDenseHashMap : public dense_hash_map { - public: - EasyUseDenseHashMap() { -- this->set_empty_key((K*)(~0)); -+ this->set_empty_key(reinterpret_cast(~0)); - } - }; - - #if defined(HAVE_UNORDERED_MAP) - template --class EasyUseHashMap : public unordered_map { -+class EasyUseHashMap : public unordered_map { - public: - // resize() is called rehash() in tr1 - void resize(size_t r) { this->rehash(r); } - }; - #elif defined(_MSC_VER) - template --class EasyUseHashMap : public hash_map { -+class EasyUseHashMap : public hash_map { - public: - void resize(size_t r) { } - }; - #elif defined(HAVE_HASH_MAP) - template --class EasyUseHashMap : public hash_map { -+class EasyUseHashMap : public hash_map { - public: - // Don't need to do anything: hash_map is already easy to use! - }; - #endif - - template --class EasyUseMap : public map { -+class EasyUseMap : public map { - public: - void resize(size_t) { } // map<> doesn't support resize - }; -@@ -207,6 +209,9 @@ - public: - typedef HashObject class_type; - HashObject() {} -+ // This non-explicit constructor enables pure template magic needed in several -+ // places (to convert an int into a HashObject<8, 8>). TODO(user): Fix the -+ // remaining bits of code that depend on this. - HashObject(int i) : i_(i) { - memset(buffer_, i & 255, sizeof(buffer_)); // a "random" char - } -@@ -242,6 +247,7 @@ - public: - typedef HashObject class_type; - HashObject() {} -+ // TODO(user): Make this explicit, too? (See comments in non-specialization.) - HashObject(int i) : i_(i) {} - HashObject(const HashObject& that) { - operator=(that); -@@ -280,24 +286,24 @@ - class HashFn { - public: - template -- size_t operator()(const HashObject& obj) const { -+ size_t operator()(const HashObject& obj) const { - return obj.Hash(); - } - // Do the identity hash for pointers. - template -- size_t operator()(const HashObject* obj) const { -+ size_t operator()(const HashObject* obj) const { - return reinterpret_cast(obj); - } - - // Less operator for MSVC's hash containers. - template -- bool operator()(const HashObject& a, -- const HashObject& b) const { -+ bool operator()(const HashObject& a, -+ const HashObject& b) const { - return a < b; - } - template -- bool operator()(const HashObject* a, -- const HashObject* b) const { -+ bool operator()(const HashObject* a, -+ const HashObject* b) const { - return a < b; - } - // These two public members are required by msvc. 4 and 8 are defaults. -@@ -350,9 +356,10 @@ - result.tv_sec = u.ru_utime.tv_sec - start.ru_utime.tv_sec; - result.tv_usec = u.ru_utime.tv_usec - start.ru_utime.tv_usec; - -- return double(result.tv_sec) + double(result.tv_usec) / 1000000.0; -+ return static_cast(result.tv_sec) + -+ static_cast(result.tv_usec) / 1000000.0; - #elif defined HAVE_WINDOWS_H -- return double(GetTickCount() - start) / 1000.0; -+ return static_cast(GetTickCount() - start) / 1000.0; - #else - time_t now; - time(&now); -@@ -378,8 +385,10 @@ - print_uname(); - printf("Average over %d iterations\n", iters); - fflush(stdout); -- // don't need asctime_r/gmtime_r: we're not threaded -- printf("Current time (GMT): %s", asctime(gmtime(&now))); -+ struct tm gmtime_buf; -+ char asc_timebuf[26]; // 26: see man asctime_r -+ printf("Current time (GMT): %s", -+ asctime_r(gmtime_r(&now, &gmtime_buf), asc_timebuf)); - } - - // This depends on the malloc implementation for exactly what it does -@@ -388,7 +397,7 @@ - // STL tries to do on its own. - - #ifdef HAVE_GOOGLE_MALLOC_EXTENSION_H --#include -+#include - - static size_t CurrentMemoryUsage() { - size_t result; -@@ -431,7 +440,7 @@ - const size_t start = CurrentMemoryUsage(); - t.Reset(); - for (int i = 0; i < iters; i++) { -- set[i] = i+1; -+ set[typename MapType::key_type(i)] = i+1; - } - double ut = t.UserTime(); - const size_t finish = CurrentMemoryUsage(); -@@ -447,7 +456,7 @@ - set.resize(iters); - t.Reset(); - for (int i = 0; i < iters; i++) { -- set[i] = i+1; -+ set[typename MapType::key_type(i)] = i+1; - } - double ut = t.UserTime(); - const size_t finish = CurrentMemoryUsage(); -@@ -461,12 +470,12 @@ - int i; - - for (i = 0; i < iters; i++) { -- set[i] = i+1; -+ set[typename MapType::key_type(i)] = i+1; - } - - t.Reset(); - for (i = 0; i < iters; i++) { -- set[i] = i+1; -+ set[typename MapType::key_type(i)] = i+1; - } - double ut = t.UserTime(); - -@@ -482,7 +491,7 @@ - int i; - - for (i = 0; i < iters; i++) { -- set[i] = i+1; -+ set[typename MapType::key_type(i)] = i+1; - } - - r = 1; -@@ -507,9 +516,9 @@ - - // Apply a pseudorandom permutation to the given vector. - static void shuffle(vector* v) { -- srand(9); -+ unsigned int rand_seed = 9; // originally was: srand(9); - for (int n = v->size(); n >= 2; n--) { -- swap((*v)[n - 1], (*v)[static_cast(rand()) % n]); -+ swap((*v)[n - 1], (*v)[static_cast(rand_r(&rand_seed)) % n]); - } - } - -@@ -548,12 +557,12 @@ - int i; - - for (i = 0; i < iters; i++) { -- set[i] = i+1; -+ set[typename MapType::key_type(i)] = i+1; - } - - t.Reset(); - for (i = 0; i < iters; i++) { -- set.erase(i); -+ set.erase(typename MapType::key_type(i)); - } - double ut = t.UserTime(); - -@@ -569,8 +578,8 @@ - const size_t start = CurrentMemoryUsage(); - t.Reset(); - for (i = 0; i < iters; i++) { -- set[i] = i+1; -- set.erase(i); -+ set[typename MapType::key_type(i)] = i+1; -+ set.erase(typename MapType::key_type(i)); - } - - double ut = t.UserTime(); -@@ -587,7 +596,7 @@ - int i; - - for (i = 0; i < iters; i++) { -- set[i] = i+1; -+ set[typename MapType::key_type(i)] = i+1; - } - - r = 1; -@@ -718,10 +727,18 @@ - // a HashObject as it would be to use just a straight int/char - // buffer. To keep memory use similar, we normalize the number of - // iterations based on size. -- if (FLAGS_test_4_bytes) test_all_maps< HashObject<4,4> >(4, iters/1); -- if (FLAGS_test_8_bytes) test_all_maps< HashObject<8,8> >(8, iters/2); -- if (FLAGS_test_16_bytes) test_all_maps< HashObject<16,16> >(16, iters/4); -- if (FLAGS_test_256_bytes) test_all_maps< HashObject<256,256> >(256, iters/32); -+ if (FLAGS_test_4_bytes) { -+ test_all_maps >(4, iters/1); -+ } -+ if (FLAGS_test_8_bytes) { -+ test_all_maps >(8, iters/2); -+ } -+ if (FLAGS_test_16_bytes) { -+ test_all_maps >(16, iters/4); -+ } -+ if (FLAGS_test_256_bytes) { -+ test_all_maps >(256, iters/32); -+ } - - return 0; - } -diff -u -r ./src/type_traits_unittest.cc ../../../../sparsehash/src/type_traits_unittest.cc ---- ./src/type_traits_unittest.cc 2014-02-10 13:15:25.676130583 +0100 -+++ ../../../../sparsehash/src/type_traits_unittest.cc 1980-01-01 00:00:00.000000000 +0100 -@@ -53,7 +53,6 @@ - using GOOGLE_NAMESPACE::has_trivial_destructor; - #if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) - using GOOGLE_NAMESPACE::is_convertible; --using GOOGLE_NAMESPACE::is_enum; - #endif - using GOOGLE_NAMESPACE::is_floating_point; - using GOOGLE_NAMESPACE::is_integral; -@@ -188,7 +187,7 @@ - EXPECT_FALSE(is_integral::value); - EXPECT_FALSE(is_integral::value); - EXPECT_FALSE(is_integral::value); -- EXPECT_FALSE((is_integral >::value)); -+ EXPECT_FALSE((is_integral >::value)); - - // Verify that cv-qualified integral types are still integral, and - // cv-qualified non-integral types are still non-integral. -@@ -212,7 +211,7 @@ - EXPECT_FALSE(is_floating_point::value); - EXPECT_FALSE(is_floating_point::value); - EXPECT_FALSE(is_floating_point::value); -- EXPECT_FALSE((is_floating_point >::value)); -+ EXPECT_FALSE((is_floating_point >::value)); - - // Verify that cv-qualified floating point types are still floating, and - // cv-qualified non-floating types are still non-floating. -@@ -258,30 +257,30 @@ - TEST(TypeTraitsTest, TestIsEnum) { - // is_enum isn't supported on MSVC or gcc 3.x - #if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) -- // Verify that is_enum is true for enum types. -- EXPECT_TRUE(is_enum::value); -- EXPECT_TRUE(is_enum::value); -- EXPECT_TRUE(is_enum::value); -- EXPECT_TRUE(is_enum::value); -- -- // Verify that is_enum is false for a few non-enum types. -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -- EXPECT_FALSE(is_enum::value); -+ // Verify that base::internal::is_enum is true for enum types. -+ EXPECT_TRUE(base::internal::is_enum::value); -+ EXPECT_TRUE(base::internal::is_enum::value); -+ EXPECT_TRUE(base::internal::is_enum::value); -+ EXPECT_TRUE(base::internal::is_enum::value); -+ -+ // Verify that base::internal::is_enum is false for a few non-enum types. -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); -+ EXPECT_FALSE(base::internal::is_enum::value); - #endif - } - -@@ -293,9 +292,9 @@ - EXPECT_TRUE(is_reference::value); - EXPECT_TRUE(is_reference::value); - EXPECT_TRUE(is_reference::value); -- EXPECT_TRUE(is_reference::value); -- EXPECT_TRUE(is_reference::value); -- EXPECT_TRUE(is_reference::value); -+ EXPECT_TRUE(is_reference::value); -+ EXPECT_TRUE(is_reference::value); -+ EXPECT_TRUE(is_reference::value); - - - // Verifies that is_reference is false for all non-reference types. -@@ -356,7 +355,7 @@ - // Verify that some non-POD types are not marked as PODs. - EXPECT_FALSE(is_pod::value); - EXPECT_FALSE(is_pod::value); -- EXPECT_FALSE((is_pod >::value)); -+ EXPECT_FALSE((is_pod >::value)); - EXPECT_FALSE(is_pod::value); - EXPECT_FALSE(is_pod::value); - EXPECT_FALSE(is_pod::value); -@@ -389,13 +388,13 @@ - // Verify that pairs and arrays of such types have trivial - // constructors. - typedef int int10[10]; -- EXPECT_TRUE((has_trivial_constructor >::value)); -+ EXPECT_TRUE((has_trivial_constructor >::value)); - EXPECT_TRUE(has_trivial_constructor::value); - - // Verify that pairs of types without trivial constructors - // are not marked as trivial. -- EXPECT_FALSE((has_trivial_constructor >::value)); -- EXPECT_FALSE((has_trivial_constructor >::value)); -+ EXPECT_FALSE((has_trivial_constructor >::value)); -+ EXPECT_FALSE((has_trivial_constructor >::value)); - - // Verify that types without trivial constructors are - // correctly marked as such. -@@ -432,13 +431,13 @@ - // Verify that pairs and arrays of such types have trivial - // copy constructors. - typedef int int10[10]; -- EXPECT_TRUE((has_trivial_copy >::value)); -+ EXPECT_TRUE((has_trivial_copy >::value)); - EXPECT_TRUE(has_trivial_copy::value); - - // Verify that pairs of types without trivial copy constructors - // are not marked as trivial. -- EXPECT_FALSE((has_trivial_copy >::value)); -- EXPECT_FALSE((has_trivial_copy >::value)); -+ EXPECT_FALSE((has_trivial_copy >::value)); -+ EXPECT_FALSE((has_trivial_copy >::value)); - - // Verify that types without trivial copy constructors are - // correctly marked as such. -@@ -475,13 +474,13 @@ - // Verify that pairs and arrays of such types have trivial - // assignment operators. - typedef int int10[10]; -- EXPECT_TRUE((has_trivial_assign >::value)); -+ EXPECT_TRUE((has_trivial_assign >::value)); - EXPECT_TRUE(has_trivial_assign::value); - - // Verify that pairs of types without trivial assignment operators - // are not marked as trivial. -- EXPECT_FALSE((has_trivial_assign >::value)); -- EXPECT_FALSE((has_trivial_assign >::value)); -+ EXPECT_FALSE((has_trivial_assign >::value)); -+ EXPECT_FALSE((has_trivial_assign >::value)); - - // Verify that types without trivial assignment operators are - // correctly marked as such. -@@ -517,13 +516,13 @@ - // Verify that pairs and arrays of such types have trivial - // destructors. - typedef int int10[10]; -- EXPECT_TRUE((has_trivial_destructor >::value)); -+ EXPECT_TRUE((has_trivial_destructor >::value)); - EXPECT_TRUE(has_trivial_destructor::value); - - // Verify that pairs of types without trivial destructors - // are not marked as trivial. -- EXPECT_FALSE((has_trivial_destructor >::value)); -- EXPECT_FALSE((has_trivial_destructor >::value)); -+ EXPECT_FALSE((has_trivial_destructor >::value)); -+ EXPECT_FALSE((has_trivial_destructor >::value)); - - // Verify that types without trivial destructors are - // correctly marked as such. -@@ -623,6 +622,60 @@ - #endif - } - -+ -+// TypeTypedefExists::Exists() returns true iff T::type is a defined type. -+// Used as a helper for testing enable_if -+template -+class TypeTypedefExists { -+ public: -+ static bool Test() { -+ return Exists(NULL); -+ } -+ -+ private: -+ // When ::type is not defined SFINAE means that our first overload will not -+ // exist. Conversely, when ::type _is_ defined and test is overloaded we will -+ // always match NULL more specifically than a variadic. -+ template static bool Exists(typename X::type *) { return true; } -+ template static bool Exists(...) { return false; } -+}; -+ -+struct HasType { typedef int type; }; -+struct DoesntHaveType {}; -+struct StillDoesntHaveType { int type; }; -+ -+TEST(TypeTraitsTest, TestEnableIf) { -+ // In the true case, enable_if<..., type>::type must exist and match. -+ // Compilation is sufficient to guarantee the first, we validate the second -+ EXPECT_TRUE(( -+ GOOGLE_NAMESPACE::type_equals_< -+ GOOGLE_NAMESPACE::enable_if::type, -+ GOOGLE_NAMESPACE::true_type>::value)); -+ -+ // When type is not specified, it should default to void -+ EXPECT_TRUE(( -+ GOOGLE_NAMESPACE::type_equals_::type, -+ void>::value)); -+ -+ // Make sure TypeTypedefExists<...> behaves as we expect -+ EXPECT_TRUE((TypeTypedefExists::Test())); -+ EXPECT_FALSE((TypeTypedefExists::Test())); -+ EXPECT_FALSE((TypeTypedefExists::Test())); -+ -+ // In the false case ::type must not exist, regardless of type being specified -+ EXPECT_FALSE( -+ (TypeTypedefExists< GOOGLE_NAMESPACE::enable_if >::Test())); -+ -+ EXPECT_FALSE( -+ (TypeTypedefExists< GOOGLE_NAMESPACE::enable_if >::Test())); -+ -+ // Final sanity check against the enable_if cases -+ EXPECT_TRUE( -+ (TypeTypedefExists< GOOGLE_NAMESPACE::enable_if >::Test())); -+ EXPECT_TRUE( -+ (TypeTypedefExists< GOOGLE_NAMESPACE::enable_if >::Test())); -+} -+ - } // namespace - - #include -Only in ./src/windows: google -diff -u -r ./src/windows/port.cc ../../../../sparsehash/src/windows/port.cc ---- ./src/windows/port.cc 2014-02-10 13:15:25.606129997 +0100 -+++ ../../../../sparsehash/src/windows/port.cc 1980-01-01 00:00:00.000000000 +0100 -@@ -1,10 +1,10 @@ - /* Copyright (c) 2007, Google Inc. - * All rights reserved. -- * -+ * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: -- * -+ * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above -@@ -14,7 +14,7 @@ - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. -- * -+ * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -diff -u -r ./src/windows/port.h ../../../../sparsehash/src/windows/port.h ---- ./src/windows/port.h 2014-02-10 13:15:25.606129997 +0100 -+++ ../../../../sparsehash/src/windows/port.h 1980-01-01 00:00:00.000000000 +0100 -@@ -1,10 +1,10 @@ - /* Copyright (c) 2007, Google Inc. - * All rights reserved. -- * -+ * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: -- * -+ * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above -@@ -14,7 +14,7 @@ - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. -- * -+ * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -@@ -53,19 +53,29 @@ - - // 4996: Yes, we're ok using the "unsafe" functions like _vsnprintf and fopen - // 4127: We use "while (1)" sometimes: yes, we know it's a constant --// 4181: type_traits_test is explicitly testing 'qualifier applied to reference' --#pragma warning(disable:4996 4127 4181) -+#pragma warning(disable:4996 4127) - - - // file I/O -+#define PATH_MAX 1024 -+#define access _access -+#define getcwd _getcwd -+#define open _open -+#define read _read -+#define write _write -+#define lseek _lseek -+#define close _close - #define unlink _unlink -+#define popen _popen -+#define pclose _pclose -+ - #define strdup _strdup - - // We can't just use _snprintf as a drop-in replacement, because it - // doesn't always NUL-terminate. :-( - extern int snprintf(char *str, size_t size, const char *format, ...); - --extern std::string TmpFile(const char* basename); // used in hashtable_unittest -+extern std::string TmpFile(const char* basename); // used in hashtable_unittest - - #endif /* WIN32 */ - -Only in ./src/windows/sparsehash/internal: .svn -Only in ./src/windows/sparsehash: .svn -Only in ./src/windows: .svn -Only in .: .svn -Only in .: test-driver -Only in ./vsprojects/hashtable_test: .svn -Only in ./vsprojects/libc_allocator_with_realloc_test: .svn -Only in ./vsprojects/simple_test: .svn -Only in ./vsprojects/sparsetable_unittest: .svn -Only in ./vsprojects: .svn -Only in ./vsprojects: template_util_unittest -Only in ./vsprojects/time_hash_map: .svn -Only in ./vsprojects/type_traits_unittest: .svn + typename p::key_type empty_key() const { return typename p::key_type(); } + +Index: src/sparsehash/sparsetable +=================================================================== +--- src/sparsehash/sparsetable (revision 116) ++++ src/sparsehash/sparsetable (working copy) +@@ -1442,7 +1442,8 @@ + } + + typedef sparsegroup group_type; +- typedef std::vector group_vector_type; ++ typedef typename Alloc::template rebind::other group_vector_type_allocator_type; ++ typedef std::vector group_vector_type; + + typedef typename group_vector_type::reference GroupsReference; + typedef typename group_vector_type::const_reference GroupsConstReference; diff --git a/makefiles/Makefile.third_party.unix b/makefiles/Makefile.third_party.unix index 678388958b..1e0b087d61 100644 --- a/makefiles/Makefile.third_party.unix +++ b/makefiles/Makefile.third_party.unix @@ -146,6 +146,7 @@ dependencies/sources/sparsehash-$(SPARSEHASH_TAG)/configure: dependencies/source dependencies/sources/sparsehash-$(SPARSEHASH_TAG)/autogen.sh: svn co http://sparsehash.googlecode.com/svn/trunk/ -r $(SPARSEHASH_TAG) dependencies/sources/sparsehash-$(SPARSEHASH_TAG) + cd dependencies/sources/sparsehash-$(SPARSEHASH_TAG) && patch -p0 -i ../../archives/sparsehash.patch # Install Coin CBC. install_cbc: dependencies/install/bin/cbc