From 5777dca4f86b2f79bb7051ff33d22e800596bb49 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 13 Oct 2006 14:19:29 +0000 Subject: [PATCH] Fix test_fsync compile on MinGW(win32) Hiroshi Saito --- src/tools/fsync/Makefile | 33 ++++++++++++++++++--------------- src/tools/fsync/test_fsync.c | 23 +++++++++++++++++++---- 2 files changed, 37 insertions(+), 19 deletions(-) diff --git a/src/tools/fsync/Makefile b/src/tools/fsync/Makefile index fa0f0afdbe..09d7a41611 100644 --- a/src/tools/fsync/Makefile +++ b/src/tools/fsync/Makefile @@ -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) diff --git a/src/tools/fsync/test_fsync.c b/src/tools/fsync/test_fsync.c index 7ba648b29f..32d3aff003 100644 --- a/src/tools/fsync/test_fsync.c +++ b/src/tools/fsync/test_fsync.c @@ -4,6 +4,7 @@ */ #include "../../include/pg_config.h" +#include "../../include/pg_config_os.h" #include #include @@ -14,13 +15,19 @@ #include #include +#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 */ -- 2.40.0