Patchwork configure: verify stdio.h

login
register
mail settings
Submitter Michael S. Tsirkin
Date Jan. 26, 2010, 2:16 p.m.
Message ID <20100126141632.GA20173@redhat.com>
Download mbox | patch
Permalink /patch/43701/
State New
Headers show

Comments

Michael S. Tsirkin - Jan. 26, 2010, 2:16 p.m.
Verify that stdio.h supports %ll and %z
Some migw variants don't unless requested explicitly (see
http://www.mail-archive.com/mingw-w64-public@lists.sourceforge.net/msg00417.html)
), detect them early.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 configure |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

Patch

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)