forked from osmocom/wireshark
In CMake, check for thousands-grouping support in the GLib printf routines.
We do that with the autotools; do it with CMake as well. We could, in theory, handle thosands-grouping ourselves, on all platforms supporting ANSI C (for which read "all platforms we care about") by using localeconv()'s thousands_sep and grouping items, but that's a bit more work. Fix autotools' comment for that item while we're at it (it checks the GLib printf routines, not the system printf routines). Change-Id: I000f0f3b955d9b192ade15e3fabc46d6b48a052e Reviewed-on: https://code.wireshark.org/review/6317 Reviewed-by: Guy Harris <guy@alum.mit.edu>
This commit is contained in:
parent
533f85785b
commit
fc39b9b151
|
@ -147,3 +147,34 @@ if (NL_FOUND)
|
||||||
HAVE_NL80211_SPLIT_WIPHY_DUMP
|
HAVE_NL80211_SPLIT_WIPHY_DUMP
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
#
|
||||||
|
# Check whether GLib's printf supports thousands grouping. (This might
|
||||||
|
# be different from the system's printf since GLib can optionally use
|
||||||
|
# its own printf implementation.)
|
||||||
|
#
|
||||||
|
if (CMAKE_CROSSCOMPILING)
|
||||||
|
#
|
||||||
|
# Play it safe when cross-compiling.
|
||||||
|
#
|
||||||
|
set(HAVE_GLIB_PRINTF_GROUPING FALSE)
|
||||||
|
else()
|
||||||
|
cmake_push_check_state()
|
||||||
|
set(CMAKE_REQUIRED_INCLUDES ${GLIB2_INCLUDE_DIRS})
|
||||||
|
set(CMAKE_REQUIRED_LIBRARIES ${GLIB2_LIBRARIES})
|
||||||
|
check_c_source_runs(
|
||||||
|
"#include <glib.h>
|
||||||
|
#include <locale.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
gchar *str;
|
||||||
|
setlocale(LC_ALL, \"en_US.UTF-8\");
|
||||||
|
str = g_strdup_printf(\"%'u\", 123456);
|
||||||
|
return (strcmp (str, \"123,456\") != 0);
|
||||||
|
}" HAVE_GLIB_PRINTF_GROUPING)
|
||||||
|
cmake_pop_check_state()
|
||||||
|
endif()
|
||||||
|
|
|
@ -78,6 +78,9 @@
|
||||||
/* Define to 1 if you have the <getopt.h> header file. */
|
/* Define to 1 if you have the <getopt.h> header file. */
|
||||||
#cmakedefine HAVE_GETOPT_H 1
|
#cmakedefine HAVE_GETOPT_H 1
|
||||||
|
|
||||||
|
/* Define if GLib's printf functions support thousands grouping. */
|
||||||
|
#cmakedefine HAVE_GLIB_PRINTF_GROUPING 1
|
||||||
|
|
||||||
/* Define to 1 if you have the `getprotobynumber' function. */
|
/* Define to 1 if you have the `getprotobynumber' function. */
|
||||||
#cmakedefine HAVE_GETPROTOBYNUMBER 1
|
#cmakedefine HAVE_GETPROTOBYNUMBER 1
|
||||||
|
|
||||||
|
|
|
@ -1880,7 +1880,7 @@ CFLAGS="$ac_save_CFLAGS"
|
||||||
LIBS="$ac_save_LIBS"
|
LIBS="$ac_save_LIBS"
|
||||||
if test "$ac_cv_glib_supports_printf_grouping" = yes ; then
|
if test "$ac_cv_glib_supports_printf_grouping" = yes ; then
|
||||||
AC_MSG_RESULT(yes)
|
AC_MSG_RESULT(yes)
|
||||||
AC_DEFINE(HAVE_GLIB_PRINTF_GROUPING, 1, [Define if your printf() function supports thousands grouping.])
|
AC_DEFINE(HAVE_GLIB_PRINTF_GROUPING, 1, [Define if GLib's printf functions support thousands grouping.])
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT(no)
|
AC_MSG_RESULT(no)
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue