Fix test_fsync compile on MinGW(win32)
authorBruce Momjian <bruce@momjian.us>
Fri, 13 Oct 2006 14:19:29 +0000 (14:19 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 13 Oct 2006 14:19:29 +0000 (14:19 +0000)
Hiroshi Saito

src/tools/fsync/Makefile
src/tools/fsync/test_fsync.c

index fa0f0afdbe3de82a6ae3dfe7568ded3585acaaa6..09d7a416112dd3fcb408e1900a45ce9fddb217f8 100644 (file)
@@ -1,22 +1,25 @@
+#-------------------------------------------------------------------------
 #
-# Makefile
+# Makefile for src/tools/fsync
 #
+# Copyright (c) 2003-2006, PostgreSQL Global Development Group
 #
-TARGET = test_fsync
-XFLAGS = 
-CFLAGS = -O
-LIBS = 
+# $PostgreSQL: pgsql/src/tools/fsync/Makefile,v 1.3 2006/10/13 14:19:29 momjian Exp $
+#
+#-------------------------------------------------------------------------
+
+subdir = src/tools/fsync
+top_builddir = ../../..
+include $(top_builddir)/src/Makefile.global
+
+override CPPFLAGS := -DFRONTEND -I$(libpq_srcdir) $(CPPFLAGS)
 
-$(TARGET) : test_fsync.o
-   $(CC) -o $(TARGET) $(XFLAGS) $(CFLAGS) test_fsync.o $(LIBS)
+OBJS= test_fsync.o
 
-test_fsync.o   : test_fsync.c 
-   $(CC) -c $(XFLAGS) $(CFLAGS) test_fsync.c
+all: submake-libpq submake-libpgport test_fsync
 
-clean:
-   rm -f *.o $(TARGET) log core
+test_fsync: test_fsync.o $(libpq_builddir)/libpq.a
+   $(CC) $(CFLAGS) test_fsync.o $(libpq_pgport) $(LDFLAGS) $(LIBS) -o $@$(X)
 
-install:
-   make clean
-   make CFLAGS=-O
-   install -s -o bin -g bin $(TARGET) /usr/local/bin
+clean distclean maintainer-clean:
+   rm -f test_fsync$(X) $(OBJS)
index 7ba648b29ffd7bba07205f3e90073b028e039756..32d3aff003b5250d9e2ba713dc3c5a5760ad4cf6 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include "../../include/pg_config.h"
+#include "../../include/pg_config_os.h"
 
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <unistd.h>
 
+#ifdef WIN32
+#define FSYNC_FILENAME "./test_fsync.out"
+#else
 #define FSYNC_FILENAME "/var/tmp/test_fsync.out"
+#endif
 
 /* O_SYNC and O_FSYNC are the same */
 #if defined(O_SYNC)
 #define OPEN_SYNC_FLAG     O_SYNC
 #elif defined(O_FSYNC)
 #define OPEN_SYNC_FLAG     O_FSYNC
+#elif defined(O_DSYNC)
+#define OPEN_DATASYNC_FLAG O_DSYNC
 #endif
 
 #if defined(OPEN_SYNC_FLAG)
@@ -122,6 +129,7 @@ main(int argc, char *argv[])
 
    printf("\nCompare one o_sync write to two:\n");
 
+#ifdef OPEN_SYNC_FLAG
    /* 16k o_sync write */
    if ((tmpfile = open(filename, O_RDWR | OPEN_SYNC_FLAG)) == -1)
        die("Cannot open output file.");
@@ -150,6 +158,10 @@ main(int argc, char *argv[])
    printf("\n");
 
    printf("\nCompare file sync methods with one 8k write:\n");
+#else
+   printf("\t(o_sync unavailable)  ");
+#endif
+   printf("\n");
 
 #ifdef OPEN_DATASYNC_FLAG
    /* open_dsync, write */
@@ -162,11 +174,8 @@ main(int argc, char *argv[])
    close(tmpfile);
    printf("\topen o_dsync, write    ");
    print_elapse(start_t, elapse_t);
-#else
-   printf("\t(o_dsync unavailable)  ");
-#endif
    printf("\n");
-
+#ifdef OPEN_SYNC_FLAG
    /* open_fsync, write */
    if ((tmpfile = open(filename, O_RDWR | OPEN_SYNC_FLAG)) == -1)
        die("Cannot open output file.");
@@ -177,6 +186,10 @@ main(int argc, char *argv[])
    close(tmpfile);
    printf("\topen o_sync, write     ");
    print_elapse(start_t, elapse_t);
+#endif
+#else
+   printf("\t(o_dsync unavailable)  ");
+#endif
    printf("\n");
 
 #ifdef HAVE_FDATASYNC
@@ -234,6 +247,7 @@ main(int argc, char *argv[])
 #endif
    printf("\n");
 
+#ifdef OPEN_SYNC_FLAG
    /* open_fsync, write */
    if ((tmpfile = open(filename, O_RDWR | OPEN_SYNC_FLAG)) == -1)
        die("Cannot open output file.");
@@ -248,6 +262,7 @@ main(int argc, char *argv[])
    printf("\topen o_sync, write     ");
    print_elapse(start_t, elapse_t);
    printf("\n");
+#endif
 
 #ifdef HAVE_FDATASYNC
    /* write, fdatasync */