diff options
author | Sebastian Andrzej Siewior | 2012-02-29 22:26:19 +0100 |
---|---|---|
committer | Karel Zak | 2012-03-20 09:14:27 +0100 |
commit | d0202f1c5ab4e7a54256864484a59addb94625ab (patch) | |
tree | db4e3bbce02f34c1d4aaf923e2a5e1cd6acbed9f /configure.ac | |
parent | mount: (new) add missing xalloc.h (diff) | |
download | kernel-qcow2-util-linux-d0202f1c5ab4e7a54256864484a59addb94625ab.tar.gz kernel-qcow2-util-linux-d0202f1c5ab4e7a54256864484a59addb94625ab.tar.xz kernel-qcow2-util-linux-d0202f1c5ab4e7a54256864484a59addb94625ab.zip |
build-sys: make the crosscompile path for scanf_cv_alloc_modifier clever
My earlier assumption was that scanf_cv_alloc_modifier is unused. This
is not true as pointed out by Karel since it used befoe checking for
libmount. Argh. So instead saying no I add a test to check for glibc
>= 2.7 which provides %m. As of uClibc v0.9.32-rc3 the situation looks
the following:
| git grep _M_SPEC__
|libc/stdio/_vfprintf.c:/* #define __UCLIBC_HAS_PRINTF_M_SPEC__ */
|libc/stdio/_vfprintf.c:#ifdef __UCLIBC_HAS_PRINTF_M_SPEC__
|libc/stdio/_vfprintf.c:# ifdef __UCLIBC_HAS_PRINTF_M_SPEC__
|libc/stdio/_vfprintf.c:# endif /* __UCLIBC_HAS_PRINTF_M_SPEC__ */
|libc/stdio/_vfprintf.c:#ifdef __UCLIBC_HAS_PRINTF_M_SPEC__
|libc/stdio/_vfprintf.c:#ifdef __UCLIBC_HAS_PRINTF_M_SPEC__
|libc/stdio/_vfprintf.c:#ifdef __UCLIBC_HAS_PRINTF_M_SPEC__
|libc/stdio/_vfprintf.c:#ifdef __UCLIBC_HAS_PRINTF_M_SPEC__
|libc/stdio/old_vfprintf.c:#ifdef __UCLIBC_HAS_PRINTF_M_SPEC__
|libc/stdio/perror.c:#ifdef __UCLIBC_HAS_PRINTF_M_SPEC__
And other libc user have to bring their own stuff.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index c7ebd4123..0ae5b767d 100644 --- a/configure.ac +++ b/configure.ac @@ -387,7 +387,23 @@ AC_CACHE_VAL([scanf_cv_alloc_modifier], [scanf_cv_alloc_modifier=no] ) , - [scanf_cv_alloc_modifier=no] + + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([ + #include <stdio.h> + + #ifdef __GLIBC__ + + #if !(__GLIBC_PREREQ(2, 7)) + #error %m is not available + #endif + + #else + + #error Your C-library is not supported. + #endif + ])], + [scanf_cv_alloc_modifier=ms], + [scanf_cv_alloc_modifier=no])] ) ) |