pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Christian Ullrich <chris@chrullrich.de>
To: pgsql-interfaces@postgresql.org
Subject: Re: libpq++ on Windows
Date: Sun, 1 Jul 2001 17:45:49 +0200
Message-ID: <20010701174549.A976@christian.chrullrich.de> (raw)
In-Reply-To: <20010701094846.B28577@christian.chrullrich.de>
References: <20010630193730.A17961@christian.chrullrich.de>
	<Pine.LNX.4.30.0107010210010.880-100000@peter.localdomain>
	<20010701094846.B28577@christian.chrullrich.de>

* Christian Ullrich wrote on Sunday, 2001-07-01:

> I will look into it. It should be enough to get it to work via the
> GUI and export a Makefile (I wonder how they dare to call these

Well, I found it was easier to adapt the win32.mak for libpq.
So here is the patch.

Notes:

- The additions to config.h.in and config.h.win32 are not very elegant,
  especially config.h.in. But I need to export the classes, and that's
  the only way to go.
  
- The static library doesn't work. It asserts while connecting.
  I've tried to find the bug, but failed miserably. 
  WSAStartup() returned success, so that shouldn't be the reason.
  
- The filenames are constructed like libpq's:
  - libpq++.dll: The working DLL.
  - libpq++.lib. The broken static library.
  - libpq++dll.lib: The DLL's import library.

Goodbye.

-- 
Christian Ullrich		     Registrierter Linux-User #125183

"Sie können nach R'ed'mond fliegen -- aber Sie werden sterben"
diff -urN postgresql-7.1.2.orig/src/include/config.h.in postgresql-7.1.2/src/include/config.h.in
--- postgresql-7.1.2.orig/src/include/config.h.in	Sat Apr 14 22:55:02 2001
+++ postgresql-7.1.2/src/include/config.h.in	Sun Jul  1 15:21:26 2001
@@ -675,6 +675,13 @@
 
 #include "os.h"
 
+/* 
+ * The libpq++ headers need this for Win32 native DLL build with MSVC.
+ * Win32/Cygwin and Unix builds don't.
+ */
+
+#define DLLAPI
+
 /*
  * The following is used as the arg list for signal handlers.  Any ports
  * that take something other than an int argument should override this in
diff -urN postgresql-7.1.2.orig/src/include/config.h.win32 postgresql-7.1.2/src/include/config.h.win32
--- postgresql-7.1.2.orig/src/include/config.h.win32	Fri May 11 01:34:42 2001
+++ postgresql-7.1.2/src/include/config.h.win32	Sun Jul  1 15:21:26 2001
@@ -20,3 +20,13 @@
 
 #define HAVE_ATEXIT
 #define HAVE_MEMMOVE
+
+#define HAVE_CXX_STRING_HEADER
+#define HAVE_NAMESPACE_STD
+
+/* This is as good a place as any */
+#ifdef _DLL
+#define DLLAPI __declspec(dllexport)
+#else
+#define DLLAPI __declspec(dllimport)
+#endif /* _DLL */
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/libpq++dll.rc postgresql-7.1.2/src/interfaces/libpq++/libpq++dll.rc
--- postgresql-7.1.2.orig/src/interfaces/libpq++/libpq++dll.rc	Thu Jan  1 00:00:00 1970
+++ postgresql-7.1.2/src/interfaces/libpq++/libpq++dll.rc	Sun Jul  1 15:21:26 2001
@@ -0,0 +1,34 @@
+#include <winver.h>
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 7,1,2,0
+ PRODUCTVERSION 7,1,2,0
+ FILEFLAGSMASK 0x3fL
+ FILEFLAGS 0x0L
+ FILEOS 0x40004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"
+        BEGIN
+            VALUE "Comments", "\0"
+            VALUE "CompanyName", " \0"
+            VALUE "FileDescription", "PostgreSQL C++ Access Library\0"
+            VALUE "FileVersion", "7, 1, 2, 0\0"
+            VALUE "InternalName", "libpq++\0"
+            VALUE "LegalCopyright", "Copyright © 2000\0"
+            VALUE "LegalTrademarks", "\0"
+            VALUE "OriginalFilename", "libpq++.dll\0"
+            VALUE "PrivateBuild", "\0"
+            VALUE "ProductName", "PostgreSQL\0"
+            VALUE "ProductVersion", "7, 1, 2, 0\0"
+            VALUE "SpecialBuild", "\0"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1200
+    END
+END
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/pgconnection.h postgresql-7.1.2/src/interfaces/libpq++/pgconnection.h
--- postgresql-7.1.2.orig/src/interfaces/libpq++/pgconnection.h	Sat Feb 10 02:31:30 2001
+++ postgresql-7.1.2/src/interfaces/libpq++/pgconnection.h	Sun Jul  1 15:21:26 2001
@@ -55,7 +55,7 @@
 // This class contains all the information about the connection
 // to the backend process.  All the database classes should be
 // derived from this class to obtain the connection interface.
-class PgConnection {
+class DLLAPI PgConnection {
 protected:
   PGconn* pgConn;				// Connection Structure
   PGresult* pgResult;			// Current Query Result
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/pgcursordb.h postgresql-7.1.2/src/interfaces/libpq++/pgcursordb.h
--- postgresql-7.1.2.orig/src/interfaces/libpq++/pgcursordb.h	Wed Jan 24 19:43:32 2001
+++ postgresql-7.1.2/src/interfaces/libpq++/pgcursordb.h	Sun Jul  1 15:21:26 2001
@@ -36,7 +36,7 @@
 // manipulates data through it.  The interface will introduce some
 // ease of use through the methods that will allow cursor specific
 // operations, like fetch, forward, etc.
-class PgCursor : public PgTransaction {
+class DLLAPI PgCursor : public PgTransaction {
 public:
   PgCursor(const char* conninfo, const char* cursor);	// use reasonable & environment defaults
   // connect to the database with given environment and database name
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/pgdatabase.h postgresql-7.1.2/src/interfaces/libpq++/pgdatabase.h
--- postgresql-7.1.2.orig/src/interfaces/libpq++/pgdatabase.h	Wed Jan 24 19:43:32 2001
+++ postgresql-7.1.2/src/interfaces/libpq++/pgdatabase.h	Sun Jul  1 15:21:26 2001
@@ -34,7 +34,7 @@
 // This is the basic database access class.  Its interface should 
 // be used only after a query has been sent to the backend and
 // results are being received.
-class PgDatabase : public PgConnection {
+class DLLAPI PgDatabase : public PgConnection {
 public:
   // connect to the database with conninfo
   PgDatabase(const char* conninfo) : PgConnection(conninfo) {}
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/pglobject.h postgresql-7.1.2/src/interfaces/libpq++/pglobject.h
--- postgresql-7.1.2.orig/src/interfaces/libpq++/pglobject.h	Wed Jan 24 19:43:32 2001
+++ postgresql-7.1.2/src/interfaces/libpq++/pglobject.h	Sun Jul  1 15:21:26 2001
@@ -29,7 +29,7 @@
 // PgLargeObject - a class for accessing Large Object in a database
 //
 // ****************************************************************
-class PgLargeObject : public PgConnection {
+class DLLAPI PgLargeObject : public PgConnection {
 private:
   int pgFd;
   Oid pgObject;
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/pgtransdb.h postgresql-7.1.2/src/interfaces/libpq++/pgtransdb.h
--- postgresql-7.1.2.orig/src/interfaces/libpq++/pgtransdb.h	Wed Jan 24 19:43:32 2001
+++ postgresql-7.1.2/src/interfaces/libpq++/pgtransdb.h	Sun Jul  1 15:21:26 2001
@@ -34,7 +34,7 @@
 // This is the database access class that keeps an open
 // transaction block during its lifetime.  The block is ENDed when
 // the object is destroyed.
-class PgTransaction : public PgDatabase {
+class DLLAPI PgTransaction : public PgDatabase {
 public:
   PgTransaction(const char* conninfo);	// use reasonable & environment defaults
   // connect to the database with given environment and database name
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/win32.mak postgresql-7.1.2/src/interfaces/libpq++/win32.mak
--- postgresql-7.1.2.orig/src/interfaces/libpq++/win32.mak	Thu Jan  1 00:00:00 1970
+++ postgresql-7.1.2/src/interfaces/libpq++/win32.mak	Sun Jul  1 15:21:26 2001
@@ -0,0 +1,126 @@
+# Makefile for Microsoft Visual C++ 6.0 (or compat)
+
+# Will build a Win32 static library (non-debug) libpq++.lib
+#        and a Win32 dynamic library (non-debug) libpq++.dll with import library libpq++dll.lib
+
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE 
+NULL=nul
+!ENDIF 
+
+.SUFFIXES : .cc
+
+CPP=cl.exe
+RSC=rc.exe
+
+OUTDIR=.\Release
+INTDIR=.\Release
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+ALL : "$(OUTDIR)\libpq++.dll" "$(OUTDIR)\libpq++.lib"
+
+CLEAN :
+	-@erase "$(INTDIR)\pgconnection.obj"
+	-@erase "$(INTDIR)\pgcursordb.obj"
+	-@erase "$(INTDIR)\pgdatabase.obj"
+	-@erase "$(INTDIR)\pglobject.obj"
+	-@erase "$(INTDIR)\pgtransdb.obj"
+	-@erase "$(OUTDIR)\libpq++.lib"
+	-@erase "$(OUTDIR)\libpq++.dll"
+	-@erase "$(OUTDIR)\libpq++dll.exp"
+	-@erase "$(OUTDIR)\libpq++dll.lib"
+	-@erase "$(OUTDIR)\libpq++dll.res"
+	-@erase "*.pch"
+	-@erase "$(OUTDIR)\libpq++.pch"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP_PROJ=/nologo /TP /MD /W3 /GX /O2 /I "..\..\include" /I "..\libpq" /D "NDEBUG" /D\
+ "WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq++.pch" /YX\
+ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c  /D "HAVE_VSNPRINTF" /D "HAVE_STRDUP"
+
+CPP_OBJS=.\Release/
+CPP_SBRS=.
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libpq++.lib" 
+LIB32_OBJS= \
+	"$(OUTDIR)\pgconnection.obj" \
+	"$(OUTDIR)\pgcursordb.obj" \
+	"$(OUTDIR)\pgdatabase.obj" \
+	"$(OUTDIR)\pglobject.obj" \
+	"$(OUTDIR)\pgtransdb.obj" 
+
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq++dll.res"
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib wsock32.lib\
+ odbccp32.lib libpq.lib msvcrt.lib /nologo /subsystem:windows /dll /incremental:no\
+ /pdb:"$(OUTDIR)\libpq++.pdb" /machine:I386 /out:"$(OUTDIR)\libpq++.dll"\
+ /implib:"$(OUTDIR)\libpq++dll.lib" /libpath:"..\libpq\release"
+LINK32_OBJS= \
+	"$(OUTDIR)\pgconnection.obj" \
+	"$(OUTDIR)\pgcursordb.obj" \
+	"$(OUTDIR)\pgdatabase.obj" \
+	"$(OUTDIR)\pglobject.obj" \
+	"$(OUTDIR)\pgtransdb.obj" \
+	"$(OUTDIR)\libpq++dll.res"
+
+"$(INTDIR)\libpq++dll.res" : "$(INTDIR)" libpq++dll.rc
+    $(RSC) $(RSC_PROJ) libpq++dll.rc
+
+"$(OUTDIR)\libpq++.lib" : "$(OUTDIR)" $(LIB32_OBJS)
+	$(LIB32) @<<
+	$(LIB32_FLAGS) $(LIB32_OBJS)
+<<
+
+"$(OUTDIR)\libpq++.dll" : "$(OUTDIR)" $(LINK32_OBJS)
+    $(LINK32) @<<
+	$(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+.c{$(CPP_OBJS)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_OBJS)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cc{$(CPP_OBJS)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $<
+<<	
+
+.cxx{$(CPP_OBJS)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.c{$(CPP_SBRS)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cpp{$(CPP_SBRS)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cc{$(CPP_SBRS)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cxx{$(CPP_SBRS)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
diff -urN postgresql-7.1.2.orig/src/win32.mak postgresql-7.1.2/src/win32.mak
--- postgresql-7.1.2.orig/src/win32.mak	Tue Jan 18 19:05:29 2000
+++ postgresql-7.1.2/src/win32.mak	Sun Jul  1 15:22:15 2001
@@ -19,6 +19,8 @@
    if not exist config.h copy config.h.win32 config.h
    cd ..
    cd interfaces\libpq
+   nmake /f win32.mak $(MAKEMACRO)
+   cd ..\libpq++
    nmake /f win32.mak $(MAKEMACRO)
    cd ..\..\bin\psql
    nmake /f win32.mak $(MAKEMACRO)

Attachments:

  [text/plain] libpq++.diff (9.3K, ../20010701174549.A976@christian.chrullrich.de/2-libpq++.diff)
  download | inline diff:
diff -urN postgresql-7.1.2.orig/src/include/config.h.in postgresql-7.1.2/src/include/config.h.in
--- postgresql-7.1.2.orig/src/include/config.h.in	Sat Apr 14 22:55:02 2001
+++ postgresql-7.1.2/src/include/config.h.in	Sun Jul  1 15:21:26 2001
@@ -675,6 +675,13 @@
 
 #include "os.h"
 
+/* 
+ * The libpq++ headers need this for Win32 native DLL build with MSVC.
+ * Win32/Cygwin and Unix builds don't.
+ */
+
+#define DLLAPI
+
 /*
  * The following is used as the arg list for signal handlers.  Any ports
  * that take something other than an int argument should override this in
diff -urN postgresql-7.1.2.orig/src/include/config.h.win32 postgresql-7.1.2/src/include/config.h.win32
--- postgresql-7.1.2.orig/src/include/config.h.win32	Fri May 11 01:34:42 2001
+++ postgresql-7.1.2/src/include/config.h.win32	Sun Jul  1 15:21:26 2001
@@ -20,3 +20,13 @@
 
 #define HAVE_ATEXIT
 #define HAVE_MEMMOVE
+
+#define HAVE_CXX_STRING_HEADER
+#define HAVE_NAMESPACE_STD
+
+/* This is as good a place as any */
+#ifdef _DLL
+#define DLLAPI __declspec(dllexport)
+#else
+#define DLLAPI __declspec(dllimport)
+#endif /* _DLL */
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/libpq++dll.rc postgresql-7.1.2/src/interfaces/libpq++/libpq++dll.rc
--- postgresql-7.1.2.orig/src/interfaces/libpq++/libpq++dll.rc	Thu Jan  1 00:00:00 1970
+++ postgresql-7.1.2/src/interfaces/libpq++/libpq++dll.rc	Sun Jul  1 15:21:26 2001
@@ -0,0 +1,34 @@
+#include <winver.h>
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 7,1,2,0
+ PRODUCTVERSION 7,1,2,0
+ FILEFLAGSMASK 0x3fL
+ FILEFLAGS 0x0L
+ FILEOS 0x40004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"
+        BEGIN
+            VALUE "Comments", "\0"
+            VALUE "CompanyName", " \0"
+            VALUE "FileDescription", "PostgreSQL C++ Access Library\0"
+            VALUE "FileVersion", "7, 1, 2, 0\0"
+            VALUE "InternalName", "libpq++\0"
+            VALUE "LegalCopyright", "Copyright © 2000\0"
+            VALUE "LegalTrademarks", "\0"
+            VALUE "OriginalFilename", "libpq++.dll\0"
+            VALUE "PrivateBuild", "\0"
+            VALUE "ProductName", "PostgreSQL\0"
+            VALUE "ProductVersion", "7, 1, 2, 0\0"
+            VALUE "SpecialBuild", "\0"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1200
+    END
+END
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/pgconnection.h postgresql-7.1.2/src/interfaces/libpq++/pgconnection.h
--- postgresql-7.1.2.orig/src/interfaces/libpq++/pgconnection.h	Sat Feb 10 02:31:30 2001
+++ postgresql-7.1.2/src/interfaces/libpq++/pgconnection.h	Sun Jul  1 15:21:26 2001
@@ -55,7 +55,7 @@
 // This class contains all the information about the connection
 // to the backend process.  All the database classes should be
 // derived from this class to obtain the connection interface.
-class PgConnection {
+class DLLAPI PgConnection {
 protected:
   PGconn* pgConn;				// Connection Structure
   PGresult* pgResult;			// Current Query Result
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/pgcursordb.h postgresql-7.1.2/src/interfaces/libpq++/pgcursordb.h
--- postgresql-7.1.2.orig/src/interfaces/libpq++/pgcursordb.h	Wed Jan 24 19:43:32 2001
+++ postgresql-7.1.2/src/interfaces/libpq++/pgcursordb.h	Sun Jul  1 15:21:26 2001
@@ -36,7 +36,7 @@
 // manipulates data through it.  The interface will introduce some
 // ease of use through the methods that will allow cursor specific
 // operations, like fetch, forward, etc.
-class PgCursor : public PgTransaction {
+class DLLAPI PgCursor : public PgTransaction {
 public:
   PgCursor(const char* conninfo, const char* cursor);	// use reasonable & environment defaults
   // connect to the database with given environment and database name
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/pgdatabase.h postgresql-7.1.2/src/interfaces/libpq++/pgdatabase.h
--- postgresql-7.1.2.orig/src/interfaces/libpq++/pgdatabase.h	Wed Jan 24 19:43:32 2001
+++ postgresql-7.1.2/src/interfaces/libpq++/pgdatabase.h	Sun Jul  1 15:21:26 2001
@@ -34,7 +34,7 @@
 // This is the basic database access class.  Its interface should 
 // be used only after a query has been sent to the backend and
 // results are being received.
-class PgDatabase : public PgConnection {
+class DLLAPI PgDatabase : public PgConnection {
 public:
   // connect to the database with conninfo
   PgDatabase(const char* conninfo) : PgConnection(conninfo) {}
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/pglobject.h postgresql-7.1.2/src/interfaces/libpq++/pglobject.h
--- postgresql-7.1.2.orig/src/interfaces/libpq++/pglobject.h	Wed Jan 24 19:43:32 2001
+++ postgresql-7.1.2/src/interfaces/libpq++/pglobject.h	Sun Jul  1 15:21:26 2001
@@ -29,7 +29,7 @@
 // PgLargeObject - a class for accessing Large Object in a database
 //
 // ****************************************************************
-class PgLargeObject : public PgConnection {
+class DLLAPI PgLargeObject : public PgConnection {
 private:
   int pgFd;
   Oid pgObject;
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/pgtransdb.h postgresql-7.1.2/src/interfaces/libpq++/pgtransdb.h
--- postgresql-7.1.2.orig/src/interfaces/libpq++/pgtransdb.h	Wed Jan 24 19:43:32 2001
+++ postgresql-7.1.2/src/interfaces/libpq++/pgtransdb.h	Sun Jul  1 15:21:26 2001
@@ -34,7 +34,7 @@
 // This is the database access class that keeps an open
 // transaction block during its lifetime.  The block is ENDed when
 // the object is destroyed.
-class PgTransaction : public PgDatabase {
+class DLLAPI PgTransaction : public PgDatabase {
 public:
   PgTransaction(const char* conninfo);	// use reasonable & environment defaults
   // connect to the database with given environment and database name
diff -urN postgresql-7.1.2.orig/src/interfaces/libpq++/win32.mak postgresql-7.1.2/src/interfaces/libpq++/win32.mak
--- postgresql-7.1.2.orig/src/interfaces/libpq++/win32.mak	Thu Jan  1 00:00:00 1970
+++ postgresql-7.1.2/src/interfaces/libpq++/win32.mak	Sun Jul  1 15:21:26 2001
@@ -0,0 +1,126 @@
+# Makefile for Microsoft Visual C++ 6.0 (or compat)
+
+# Will build a Win32 static library (non-debug) libpq++.lib
+#        and a Win32 dynamic library (non-debug) libpq++.dll with import library libpq++dll.lib
+
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE 
+NULL=nul
+!ENDIF 
+
+.SUFFIXES : .cc
+
+CPP=cl.exe
+RSC=rc.exe
+
+OUTDIR=.\Release
+INTDIR=.\Release
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+ALL : "$(OUTDIR)\libpq++.dll" "$(OUTDIR)\libpq++.lib"
+
+CLEAN :
+	-@erase "$(INTDIR)\pgconnection.obj"
+	-@erase "$(INTDIR)\pgcursordb.obj"
+	-@erase "$(INTDIR)\pgdatabase.obj"
+	-@erase "$(INTDIR)\pglobject.obj"
+	-@erase "$(INTDIR)\pgtransdb.obj"
+	-@erase "$(OUTDIR)\libpq++.lib"
+	-@erase "$(OUTDIR)\libpq++.dll"
+	-@erase "$(OUTDIR)\libpq++dll.exp"
+	-@erase "$(OUTDIR)\libpq++dll.lib"
+	-@erase "$(OUTDIR)\libpq++dll.res"
+	-@erase "*.pch"
+	-@erase "$(OUTDIR)\libpq++.pch"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP_PROJ=/nologo /TP /MD /W3 /GX /O2 /I "..\..\include" /I "..\libpq" /D "NDEBUG" /D\
+ "WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq++.pch" /YX\
+ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c  /D "HAVE_VSNPRINTF" /D "HAVE_STRDUP"
+
+CPP_OBJS=.\Release/
+CPP_SBRS=.
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libpq++.lib" 
+LIB32_OBJS= \
+	"$(OUTDIR)\pgconnection.obj" \
+	"$(OUTDIR)\pgcursordb.obj" \
+	"$(OUTDIR)\pgdatabase.obj" \
+	"$(OUTDIR)\pglobject.obj" \
+	"$(OUTDIR)\pgtransdb.obj" 
+
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq++dll.res"
+
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib wsock32.lib\
+ odbccp32.lib libpq.lib msvcrt.lib /nologo /subsystem:windows /dll /incremental:no\
+ /pdb:"$(OUTDIR)\libpq++.pdb" /machine:I386 /out:"$(OUTDIR)\libpq++.dll"\
+ /implib:"$(OUTDIR)\libpq++dll.lib" /libpath:"..\libpq\release"
+LINK32_OBJS= \
+	"$(OUTDIR)\pgconnection.obj" \
+	"$(OUTDIR)\pgcursordb.obj" \
+	"$(OUTDIR)\pgdatabase.obj" \
+	"$(OUTDIR)\pglobject.obj" \
+	"$(OUTDIR)\pgtransdb.obj" \
+	"$(OUTDIR)\libpq++dll.res"
+
+"$(INTDIR)\libpq++dll.res" : "$(INTDIR)" libpq++dll.rc
+    $(RSC) $(RSC_PROJ) libpq++dll.rc
+
+"$(OUTDIR)\libpq++.lib" : "$(OUTDIR)" $(LIB32_OBJS)
+	$(LIB32) @<<
+	$(LIB32_FLAGS) $(LIB32_OBJS)
+<<
+
+"$(OUTDIR)\libpq++.dll" : "$(OUTDIR)" $(LINK32_OBJS)
+    $(LINK32) @<<
+	$(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+.c{$(CPP_OBJS)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $<
+<<
+
+.cpp{$(CPP_OBJS)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cc{$(CPP_OBJS)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $<
+<<	
+
+.cxx{$(CPP_OBJS)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.c{$(CPP_SBRS)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cpp{$(CPP_SBRS)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cc{$(CPP_SBRS)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cxx{$(CPP_SBRS)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
diff -urN postgresql-7.1.2.orig/src/win32.mak postgresql-7.1.2/src/win32.mak
--- postgresql-7.1.2.orig/src/win32.mak	Tue Jan 18 19:05:29 2000
+++ postgresql-7.1.2/src/win32.mak	Sun Jul  1 15:22:15 2001
@@ -19,6 +19,8 @@
    if not exist config.h copy config.h.win32 config.h
    cd ..
    cd interfaces\libpq
+   nmake /f win32.mak $(MAKEMACRO)
+   cd ..\libpq++
    nmake /f win32.mak $(MAKEMACRO)
    cd ..\..\bin\psql
    nmake /f win32.mak $(MAKEMACRO)

view thread (26+ messages)  latest in thread

Message-ID: <20010701174549.A976@christian.chrullrich.de>
Permalink:  ../20010701174549.A976@christian.chrullrich.de/
Also on:    postgresql.org/message-id/20010701174549.A976@christian.chrullrich.de

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: chris@chrullrich.de
  Subject: Re: libpq++ on Windows
  In-Reply-To: <20010701174549.A976@christian.chrullrich.de>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox