Sha256: 5febe813f8d4ce2f85545da7c688bd945f26c734b789911b5d3d3f9e9bcde183

Contents?: true

Size: 1.46 KB

Versions: 23

Compression:

Stored size: 1.46 KB

Contents

# We just try to figure out where hash<> is defined.  It's in some file
# that ends in hash_fun.h...
#
# Ideally we'd use AC_CACHE_CHECK, but that only lets us store one value
# at a time, and we need to store two (filename and namespace).
# prints messages itself, so we have to do the message-printing ourselves
# via AC_MSG_CHECKING + AC_MSG_RESULT.  (TODO(csilvers): can we cache?)
#
# tr1/functional_hash.h: new gcc's with tr1 support
# stl_hash_fun.h: old gcc's (gc2.95?)
# ext/hash_fun.h: newer gcc's (gcc4)
# stl/_hash_fun.h: STLport

AC_DEFUN([AC_CXX_STL_HASH_FUN],
  [AC_REQUIRE([AC_CXX_STL_HASH])
   AC_MSG_CHECKING(how to include hash_fun directly)
   AC_LANG_SAVE
   AC_LANG_CPLUSPLUS
   ac_cv_cxx_stl_hash_fun=""
   for location in functional tr1/functional \
                   ext/hash_fun.h ext/stl_hash_fun.h \
                   hash_fun.h stl_hash_fun.h \
                   stl/_hash_fun.h; do
     if test -z "$ac_cv_cxx_stl_hash_fun"; then
       AC_TRY_COMPILE([#include <$location>],
                      [int x = ${ac_cv_cxx_hash_namespace}::hash<int>()(5)],
                      [ac_cv_cxx_stl_hash_fun="<$location>";])
     fi
   done
   AC_LANG_RESTORE
   AC_DEFINE_UNQUOTED(HASH_FUN_H,$ac_cv_cxx_stl_hash_fun,
                      [the location of the header defining hash functions])
   AC_DEFINE_UNQUOTED(HASH_NAMESPACE,$ac_cv_cxx_hash_namespace,
                      [the namespace of the hash<> function])
   AC_MSG_RESULT([$ac_cv_cxx_stl_hash_fun])
])

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
google_hash-0.2.0 ext/sparsehash-1.5.2/m4/stl_hash_fun.m4
google_hash-0.1.1 ext/sparsehash-1.5.2/m4/stl_hash_fun.m4
google_hash-0.0.0 ext/sparsehash-1.5.2/m4/stl_hash_fun.m4