diff options
author | Bruce Momjian | 2006-02-12 06:11:51 +0000 |
---|---|---|
committer | Bruce Momjian | 2006-02-12 06:11:51 +0000 |
commit | eb40d18236c94cce6b6b878f92752e40bfe8b6a4 (patch) | |
tree | 5e55dcf7f053663e1127fb25a49ce1020f14ddad | |
parent | 5e5b0578e6fa88a72216274e1f622481c49d7a1c (diff) |
Add MSVC support for utility commands and pg_dump.
Hiroshi Saito
-rw-r--r-- | doc/src/sgml/install-win32.sgml | 16 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_backup_archiver.c | 3 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_backup_db.c | 3 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_backup_null.c | 2 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_backup_tar.c | 3 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_dump.c | 3 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_dumpall.c | 4 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_restore.c | 2 | ||||
-rw-r--r-- | src/bin/pg_dump/win32.mak | 186 | ||||
-rw-r--r-- | src/include/pg_config.h.win32 | 3 | ||||
-rw-r--r-- | src/win32.mak | 8 |
11 files changed, 232 insertions, 1 deletions
diff --git a/doc/src/sgml/install-win32.sgml b/doc/src/sgml/install-win32.sgml index d606280126..232d6d7bf8 100644 --- a/doc/src/sgml/install-win32.sgml +++ b/doc/src/sgml/install-win32.sgml @@ -83,13 +83,27 @@ $PostgreSQL$ </varlistentry> <varlistentry> + <term><filename>bin\pg_config\Release\pg_config.exe</filename></term> <term><filename>bin\psql\Release\psql.exe</filename></term> + <term><filename>bin\pg_dump\Release\pg_dump.exe</filename></term> + <term><filename>bin\pg_dump\Release\pg_dumpall.exe</filename></term> + <term><filename>bin\pg_dump\Release\pg_restore.exe</filename></term> + <term><filename>bin\scripts\Release\clusterdb.exe</filename></term> + <term><filename>bin\scripts\Release\createdb.exe</filename></term> + <term><filename>bin\scripts\Release\createuser.exe</filename></term> + <term><filename>bin\scripts\Release\createlang.exe</filename></term> + <term><filename>bin\scripts\Release\dropdb.exe</filename></term> + <term><filename>bin\scripts\Release\dropuser.exe</filename></term> + <term><filename>bin\scripts\Release\droplang.exe</filename></term> + <term><filename>bin\scripts\Release\vacuumdb.exe</filename></term> + <term><filename>bin\scripts\Release\reindexdb.exe</filename></term> <listitem> <para> - The <productname>PostgreSQL</productname> interactive terminal + The <productname>PostgreSQL</productname> client applications and utilities. </para> </listitem> </varlistentry> + </variablelist> </para> diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c index 3ca70a977b..a95d8f695d 100644 --- a/src/bin/pg_dump/pg_backup_archiver.c +++ b/src/bin/pg_dump/pg_backup_archiver.c @@ -27,7 +27,10 @@ #include "dumputils.h" #include <ctype.h> + +#ifndef WIN32_CLIENT_ONLY #include <unistd.h> +#endif #ifdef WIN32 #include <io.h> diff --git a/src/bin/pg_dump/pg_backup_db.c b/src/bin/pg_dump/pg_backup_db.c index 1b4f484bc2..b4b43ed9c9 100644 --- a/src/bin/pg_dump/pg_backup_db.c +++ b/src/bin/pg_dump/pg_backup_db.c @@ -15,7 +15,10 @@ #include "pg_backup_db.h" #include "dumputils.h" +#ifndef WIN32_CLIENT_ONLY #include <unistd.h> +#endif + #include <ctype.h> #ifdef HAVE_TERMIOS_H diff --git a/src/bin/pg_dump/pg_backup_null.c b/src/bin/pg_dump/pg_backup_null.c index e90ab6c829..7044d514ac 100644 --- a/src/bin/pg_dump/pg_backup_null.c +++ b/src/bin/pg_dump/pg_backup_null.c @@ -25,7 +25,9 @@ #include "pg_backup.h" #include "pg_backup_archiver.h" +#ifndef WIN32_CLIENT_ONLY #include <unistd.h> /* for dup */ +#endif #include "libpq/libpq-fs.h" diff --git a/src/bin/pg_dump/pg_backup_tar.c b/src/bin/pg_dump/pg_backup_tar.c index 59808f3cae..cec195f89d 100644 --- a/src/bin/pg_dump/pg_backup_tar.c +++ b/src/bin/pg_dump/pg_backup_tar.c @@ -27,7 +27,10 @@ #include <ctype.h> #include <limits.h> + +#ifndef WIN32_CLIENT_ONLY #include <unistd.h> +#endif static void _ArchiveEntry(ArchiveHandle *AH, TocEntry *te); static void _StartData(ArchiveHandle *AH, TocEntry *te); diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 951e15b55b..f567914b4b 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -24,7 +24,10 @@ */ #include "postgres.h" +#ifndef WIN32_CLIENT_ONLY #include <unistd.h> +#endif + #include <ctype.h> #ifdef ENABLE_NLS #include <locale.h> diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index 267faeb750..c150f790d9 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -14,7 +14,11 @@ #include "postgres_fe.h" #include <time.h> + +#ifndef WIN32_CLIENT_ONLY #include <unistd.h> +#endif + #ifdef ENABLE_NLS #include <locale.h> #endif diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c index 1304ec0814..8ac02ad441 100644 --- a/src/bin/pg_dump/pg_restore.c +++ b/src/bin/pg_dump/pg_restore.c @@ -53,7 +53,9 @@ #include <termios.h> #endif +#ifndef WIN32_CLIENT_ONLY #include <unistd.h> +#endif #include "getopt_long.h" diff --git a/src/bin/pg_dump/win32.mak b/src/bin/pg_dump/win32.mak new file mode 100644 index 0000000000..653fefe32c --- /dev/null +++ b/src/bin/pg_dump/win32.mak @@ -0,0 +1,186 @@ +# Makefile for Microsoft Visual C++ 5.0 (or compat) + +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF + +CPP=cl.exe +PERL=perl.exe +FLEX=flex.exe +YACC=bison.exe +MV=move + +!IFDEF DEBUG +OPT=/Od /Zi /MDd +LOPT=/DEBUG +DEBUGDEF=/D _DEBUG +OUTDIR=.\Debug +INTDIR=.\Debug +!ELSE +OPT=/O2 /MD +LOPT= +DEBUGDEF=/D NDEBUG +OUTDIR=.\Release +INTDIR=.\Release +!ENDIF + +REFDOCDIR= ../../../doc/src/sgml/ref + +CPP_PROJ=/nologo $(OPT) /W3 /GX /D "WIN32" $(DEBUGDEF) /D "_CONSOLE" /D\ + "_MBCS" /Fp"$(INTDIR)\pg_dump.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c \ + /I ..\..\include /I ..\..\interfaces\libpq /I ..\..\include\port\win32 /I ..\..\backend \ + /D "HAVE_STRDUP" /D "FRONTEND" + +CPP_OBJS=$(INTDIR)/ +CPP_SBRS=. + +ALL : ..\..\backend\parser\parse.h "..\..\port\pg_config_paths.h" \ + "$(OUTDIR)\pg_dump.exe" "$(OUTDIR)\pg_dumpall.exe" "$(OUTDIR)\pg_restore.exe" + +CLEAN : + -@erase "$(INTDIR)\pg_backup_archiver.obj" + -@erase "$(INTDIR)\pg_backup_db.obj" + -@erase "$(INTDIR)\pg_backup_custom.obj" + -@erase "$(INTDIR)\pg_backup_files.obj" + -@erase "$(INTDIR)\pg_backup_null.obj" + -@erase "$(INTDIR)\pg_backup_tar.obj" + -@erase "$(INTDIR)\dumputils.obj" + -@erase "$(INTDIR)\common.obj" + -@erase "$(INTDIR)\pg_dump_sort.obj" + -@erase "$(INTDIR)\keywords.obj" + -@erase "$(INTDIR)\exec.obj" + -@erase "$(INTDIR)\getopt.obj" + -@erase "$(INTDIR)\getopt_long.obj" + -@erase "$(INTDIR)\path.obj" + -@erase "$(INTDIR)\pgstrcasecmp.obj" + -@erase "$(INTDIR)\sprompt.obj" + -@erase "$(INTDIR)\pg_dump.pch" + -@erase "$(OUTDIR)\pg_dump.obj" + -@erase "$(OUTDIR)\pg_dump.exe" + -@erase "$(INTDIR)\pg_dumpall.obj" + -@erase "$(OUTDIR)\pg_dumpall.exe" + -@erase "$(INTDIR)\pg_restore.obj" + -@erase "$(OUTDIR)\pg_restore.exe" +# -@erase "$(INTDIR)\..\..\port\pg_config_paths.h" +# -@erase "$(INTDIR)\..\..\backend\parser\parse.h" +# -@erase "$(INTDIR)\..\..\backend\parser\gram.c" + +LINK32=link.exe +LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ + advapi32.lib shfolder.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\ + odbccp32.lib wsock32.lib /nologo /subsystem:console /incremental:no +LINK32_FLAGS_DMP= \ + /pdb:"$(OUTDIR)\pg_dump.pdb" /machine:I386 $(LOPT) /out:"$(OUTDIR)\pg_dump.exe" +LINK32_FLAGS_ALL= \ + /pdb:"$(OUTDIR)\pg_dumpall.pdb" /machine:I386 $(LOPT) /out:"$(OUTDIR)\pg_dumpall.exe" +LINK32_FLAGS_RES= \ + /pdb:"$(OUTDIR)\pg_restore.pdb" /machine:I386 $(LOPT) /out:"$(OUTDIR)\pg_restore.exe" + +LINK32_OBJS= \ + "$(INTDIR)\pg_backup_archiver.obj" \ + "$(INTDIR)\pg_backup_db.obj" \ + "$(INTDIR)\pg_backup_custom.obj" \ + "$(INTDIR)\pg_backup_files.obj" \ + "$(INTDIR)\pg_backup_null.obj" \ + "$(INTDIR)\pg_backup_tar.obj" \ + "$(INTDIR)\dumputils.obj" \ + "$(INTDIR)\keywords.obj" \ + "$(INTDIR)\exec.obj" \ + "$(INTDIR)\getopt.obj" \ + "$(INTDIR)\getopt_long.obj" \ + "$(INTDIR)\path.obj" \ + "$(INTDIR)\pgstrcasecmp.obj" \ + "$(INTDIR)\sprompt.obj" + +LINK32_OBJS_DMP= \ + "$(INTDIR)\common.obj" \ + "$(INTDIR)\pg_dump_sort.obj" \ + "$(INTDIR)\pg_dump.obj" +LINK32_OBJS_RES= "$(INTDIR)\pg_restore.obj" +LINK32_OBJS_ALL= "$(INTDIR)\pg_dumpall.obj" + +!IFDEF DEBUG +LINK32_OBJS = $(LINK32_OBJS) "..\..\interfaces\libpq\Debug\libpqddll.lib" +!ELSE +LINK32_OBJS = $(LINK32_OBJS) "..\..\interfaces\libpq\Release\libpqdll.lib" +!ENDIF + +"..\..\port\pg_config_paths.h": + echo #define PGBINDIR "" >$@ + echo #define PGSHAREDIR "" >>$@ + echo #define SYSCONFDIR "" >>$@ + echo #define INCLUDEDIR "" >>$@ + echo #define PKGINCLUDEDIR "" >>$@ + echo #define INCLUDEDIRSERVER "" >>$@ + echo #define LIBDIR "" >>$@ + echo #define PKGLIBDIR "" >>$@ + echo #define LOCALEDIR "" >>$@ + echo #define DOCDIR "" >>$@ + echo #define MANDIR "" >>$@ + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +"$(OUTDIR)\pg_dump.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) $(LINK32_OBJS_DMP) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_FLAGS_DMP) $(LINK32_OBJS) $(LINK32_OBJS_DMP) +<< + +"$(OUTDIR)\pg_dumpall.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) $(LINK32_OBJS_ALL) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_FLAGS_ALL) $(LINK32_OBJS) $(LINK32_OBJS_ALL) +<< + +"$(OUTDIR)\pg_restore.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) $(LINK32_OBJS_RES) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_FLAGS_RES) $(LINK32_OBJS) $(LINK32_OBJS_RES) +<< + +"$(INTDIR)\keywords.obj" : ..\..\backend\parser\keywords.c + $(CPP) @<< + $(CPP_PROJ) ..\..\backend\parser\keywords.c +<< + +"$(INTDIR)\exec.obj" : ..\..\port\exec.c + $(CPP) @<< + $(CPP_PROJ) ..\..\port\exec.c +<< + +"$(INTDIR)\getopt.obj" : "$(INTDIR)" ..\..\port\getopt.c + $(CPP) @<< + $(CPP_PROJ) ..\..\port\getopt.c +<< + +"$(INTDIR)\getopt_long.obj" : "$(INTDIR)" ..\..\port\getopt_long.c + $(CPP) @<< + $(CPP_PROJ) ..\..\port\getopt_long.c +<< + +"$(INTDIR)\path.obj" : "$(INTDIR)" ..\..\port\path.c + $(CPP) @<< + $(CPP_PROJ) ..\..\port\path.c +<< + +"$(INTDIR)\pgstrcasecmp.obj" : ..\..\port\pgstrcasecmp.c + $(CPP) @<< + $(CPP_PROJ) ..\..\port\pgstrcasecmp.c +<< + +"$(INTDIR)\sprompt.obj" : "$(INTDIR)" ..\..\port\sprompt.c + $(CPP) @<< + $(CPP_PROJ) ..\..\port\sprompt.c +<< + +..\..\backend\parser\parse.h : ..\..\backend\parser\gram.y + $(YACC) -y -d ..\..\backend\parser\gram.y + $(MV) ..\..\backend\parser\y.tab.h ..\..\backend\parser\parse.h + $(MV) ..\..\backend\parser\y.tab.c ..\..\backend\parser\gram.c + +.c{$(CPP_OBJS)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + + diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index ffa386c992..db578af374 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -23,6 +23,9 @@ #define HAVE_RANDOM #endif +#define INT64_FORMAT "%I64d" +#define HAVE_DECL_VSNPRINTF 1 + /* use _snprintf and _vsnprintf */ #define HAVE_DECL_SNPRINTF 1 #define snprintf _snprintf diff --git a/src/win32.mak b/src/win32.mak index 10ff63f33a..cdae352b86 100644 --- a/src/win32.mak +++ b/src/win32.mak @@ -18,6 +18,10 @@ ALL: nmake /f win32.mak $(MAKEMACRO) cd ..\..\bin\psql nmake /f win32.mak $(MAKEMACRO) + cd ..\..\bin\pg_dump + nmake /f win32.mak $(MAKEMACRO) + cd ..\..\bin\scripts + nmake /f win32.mak $(MAKEMACRO) cd ..\..\bin\pg_config nmake /f win32.mak $(MAKEMACRO) cd ..\.. @@ -28,6 +32,10 @@ CLEAN: nmake /f win32.mak CLEAN cd ..\..\bin\psql nmake /f win32.mak CLEAN + cd ..\..\bin\pg_dump + nmake /f win32.mak CLEAN + cd ..\..\bin\scripts + nmake /f win32.mak CLEAN cd ..\..\bin\pg_config nmake /f win32.mak CLEAN cd ..\.. |