40
40
# modified version of the Autoconf Macro, you may extend this special
41
41
# exception to the GPL to apply to your modified version as well.
46
AC_DEFUN([AX_CXX_CINTTYPES],
45
AC_DEFUN([AX_CXX_CINTTYPES], [
48
46
AC_REQUIRE([AC_PROG_CXX])
49
47
AC_REQUIRE([AC_PROG_CXXCPP])
50
48
AC_REQUIRE([AX_CXX_CSTDINT])
51
AC_MSG_CHECKING(the location of cinttypes)
52
save_CXXFLAGS="${CXXFLAGS}"
53
CXXFLAGS="${CXX_STANDARD} ${CXXFLAGS}"
54
ac_cv_cxx_cinttypes=""
57
# AC_CACHE_CHECK([for location of cinttypes], [ac_cv_cxx_cinttypes],
60
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <cinttypes>], [ uint32_t foo= UINT32_C(1) ])],
61
[ac_cv_cxx_cinttypes="<cinttypes>"],
50
AC_CACHE_CHECK([for location of cinttypes], [ac_cv_cxx_cinttypes], [
51
save_CXXFLAGS="${CXXFLAGS}"
52
CXXFLAGS="${CXX_STANDARD} ${CXXFLAGS}"
56
AC_LANG_PROGRAM([#include <cinttypes>], [
57
uint32_t foo= UINT32_C(1);
59
[ac_cxx_cinttypes_cinttypes="<cinttypes>"])
63
61
# Look for tr1/cinttypes
64
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <tr1/cinttypes>], [ uint32_t foo= UINT32_C(1) ])],
65
[ac_cv_cxx_cinttypes="<tr1/cinttypes>"],
63
AC_LANG_PROGRAM([#include <tr1/cinttypes>], [
64
uint32_t foo= UINT32_C(1);
66
[ac_cxx_cinttypes_tr1_cinttypes="<tr1/cinttypes>"])
67
68
# Look for boost/cinttypes.hpp
68
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <boost/cinttypes.hpp>], [ uint32_t foo= UINT32_C(1) ])],
69
[ac_cv_cxx_cinttypes="<boost/cinttypes.hpp>"])
75
CXXFLAGS="${save_CXXFLAGS}"
76
if test -n "$ac_cv_cxx_cinttypes"; then
77
AC_MSG_RESULT([$ac_cv_cxx_cinttypes])
79
ac_cv_cxx_cinttypes="<inttypes.h>"
80
AC_MSG_WARN([Could not find a cinttypes header.])
81
AC_MSG_RESULT([$ac_cv_cxx_cinttypes])
70
AC_LANG_PROGRAM([#include <boost/cinttypes.hpp>], [
71
uint32_t foo= UINT32_C(1);
73
[ac_cxx_cinttypes_boost_cinttypes_hpp="<boost/cinttypes.hpp>"])
76
CXXFLAGS="${save_CXXFLAGS}"
78
AS_IF([test -n "$ac_cxx_cinttypes_cinttypes"], [ac_cv_cxx_cinttypes=$ac_cxx_cinttypes_cinttypes],
79
[test -n "$ac_cxx_cinttypes_tr1_cinttypes"], [ac_cv_cxx_cinttypes=$ac_cxx_cinttypes_tr1_cinttypes],
80
[test -n "$ac_cxx_cinttypes_boost_cinttypes_hpp"], [ac_cv_cxx_cinttypes=$ac_cxx_cinttypes_boost_cinttypes_hpp])
83
AS_IF([ test -n "$ac_cv_cxx_cinttypes"], [
84
AC_MSG_RESULT([$ac_cv_cxx_cinttypes])
86
ac_cv_cxx_cinttypes="<inttypes.h>"
87
AC_MSG_WARN([Could not find a cinttypes header.])
88
AC_MSG_RESULT([$ac_cv_cxx_cinttypes])
84
91
AC_DEFINE([__STDC_LIMIT_MACROS],[1],[Use STDC Limit Macros in C++])
85
AC_DEFINE_UNQUOTED(CINTTYPES_H,$ac_cv_cxx_cinttypes, [the location of <cinttypes>])
92
AC_DEFINE_UNQUOTED([CINTTYPES_H],[$ac_cv_cxx_cinttypes],[the location of <cinttypes>])