Verify that stdio.h supports %ll and %z Some migw variants don't unless requested explicitly (see http://www.mail-archive.com/mingw-w64-pub...@lists.sourceforge.net/msg00417.html) ), detect them early.
Signed-off-by: Michael S. Tsirkin <m...@redhat.com> --- configure | 25 +++++++++++++++++++++++++ 1 files changed, 25 insertions(+), 0 deletions(-) diff --git a/configure b/configure index 5631bbb..7bbe4bc 100755 --- a/configure +++ b/configure @@ -123,6 +123,31 @@ else exit 1 fi +# Check that stdio.h compiler is sane: some +# mingw variants do not support %z %l that we rely on +cat > $TMPC <<EOF +#include <stddef.h> +#include <stdio.h> +size_t z = 1; +long long ll = 2; +int main(void) { + printf("z=%zd;ll=%lld;\n", z, ll); + return 0; +} +EOF + +if compile_prog && ($TMPE | grep "z=1;ll=2;" > /dev/null); then + : C compiler works ok +else + echo "ERROR: \"$cc\" does not have a working stdio.h" + exit 1 +fi + +cat > $TMPC << EOF +#include <unistd.h> +int main(void) { return fdatasync(0); } +EOF + check_define() { cat > $TMPC <<EOF #if !defined($1) -- 1.6.6.144.g5c3af