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
|
||||
)
|
||||
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. */
|
||||
#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. */
|
||||
#cmakedefine HAVE_GETPROTOBYNUMBER 1
|
||||
|
||||
|
|
|
@ -1880,7 +1880,7 @@ CFLAGS="$ac_save_CFLAGS"
|
|||
LIBS="$ac_save_LIBS"
|
||||
if test "$ac_cv_glib_supports_printf_grouping" = yes ; then
|
||||
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
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue