From f6b896b17aab90ed05ffc105968c1328c2bd767d Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Mon, 27 Sep 2004 20:37:20 +0000
Subject: [PATCH] Improve MS VC builds for psql by handlling flex properly and
 prevent rename prototype conflict.

---
 src/bin/psql/bcc32.mak | 6 +++++-
 src/bin/psql/win32.mak | 8 ++++++--
 src/include/port.h     | 7 ++++++-
 3 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/bin/psql/bcc32.mak b/src/bin/psql/bcc32.mak
index 5adb39fdc02..783acfe4c83 100644
--- a/src/bin/psql/bcc32.mak
+++ b/src/bin/psql/bcc32.mak
@@ -37,6 +37,7 @@ NULL=nul
 
 CPP=bcc32.exe
 PERL=perl.exe
+FLEX=flex.exe
 
 !IF "$(CFG)" == "Debug"
 DEBUG=1
@@ -53,7 +54,7 @@ REFDOCDIR=../../../doc/src/sgml/ref
 .c.obj:
 	$(CPP) -o"$(INTDIR)\$&" $(CPP_PROJ) $<
 
-ALL : sql_help.h "..\..\port\pg_config_paths.h" "$(OUTDIR)\psql.exe"
+ALL : sql_help.h psqlscan.c "..\..\port\pg_config_paths.h" "$(OUTDIR)\psql.exe"
 
 CLEAN :
 	-@erase "$(INTDIR)\command.obj"
@@ -158,3 +159,6 @@ path.obj : "$(OUTDIR)" ..\..\port\path.c
 
 "sql_help.h": create_help.pl 
        $(PERL) create_help.pl $(REFDOCDIR) $@
+
+psqlscan.c : psqlscan.l
+	$(FLEX) -Cfe -opsqlscan.c psqlscan.l
diff --git a/src/bin/psql/win32.mak b/src/bin/psql/win32.mak
index 3c4b8cac245..966a2993e9e 100644
--- a/src/bin/psql/win32.mak
+++ b/src/bin/psql/win32.mak
@@ -8,6 +8,7 @@ NULL=nul
 
 CPP=cl.exe
 PERL=perl.exe
+FLEX=flex.exe
 
 OUTDIR=.\Release
 INTDIR=.\Release
@@ -16,7 +17,7 @@ REFDOCDIR= ../../../doc/src/sgml/ref
 OutDir=.\Release
 # End Custom Macros
 
-ALL : sql_help.h "..\..\port\pg_config_paths.h" "$(OUTDIR)\psql.exe"
+ALL : sql_help.h psqlscan.c "..\..\port\pg_config_paths.h" "$(OUTDIR)\psql.exe"
 
 CLEAN :
 	-@erase "$(INTDIR)\command.obj"
@@ -127,5 +128,8 @@ LINK32_OBJS= \
    $(CPP_PROJ) $< 
 <<
 
-sql_help.h: create_help.pl
+sql_help.h : create_help.pl
         $(PERL) create_help.pl $(REFDOCDIR) $@
+	
+psqlscan.c: psqlscan.l
+	$(FLEX) -Cfe -opsqlscan.c psqlscan.l
diff --git a/src/include/port.h b/src/include/port.h
index a95b5c34554..2c789fe4b3f 100644
--- a/src/include/port.h
+++ b/src/include/port.h
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/port.h,v 1.61 2004/09/09 14:18:20 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/port.h,v 1.62 2004/09/27 20:37:20 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -168,6 +168,11 @@ extern int	pgrename(const char *from, const char *to);
 extern int	pgunlink(const char *path);
 extern int	pgsymlink(const char *oldpath, const char *newpath);
 
+/* Include this first so later includes don't see these defines */
+#ifdef _MSC_VER
+#include <io.h>
+#endif
+
 #define rename(from, to)		pgrename(from, to)
 #define unlink(path)			pgunlink(path)
 #define symlink(oldpath, newpath)	pgsymlink(oldpath, newpath)
-- 
GitLab