mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-02 03:11:17 +02:00
Make a separate win32 debug DLL along with the non-debug version:
Currently, src/interfaces/libpq/win32.mak builds a statically-linked library "libpq.lib", a debug dll "libpq.dll", import library for the debug dll "libpqdll.lib", a release dll "libpq.dll", import library for the release dll "libpqdll.lib". To avoid naming clashes, I would make the debug dll and import libraries "libpqd.dll" and "libpqddll.lib". Basically, the debug build uses the cl flags: "/MDd /D _DEBUG", and the release build uses the cl flags "/MD /D NDEBUG". Usually the debug build has a "D" suffix on the file name, so for example: libpqd.dll libpq, debug build libpqd.lib libpq, debug build, import library libpq.dll libpq, release build libpq.lib libpq, release build, import library David Turner
This commit is contained in:
parent
f0f4e82f45
commit
53cd7cd8a9
115
src/interfaces/libpq/libpqddll.def
Normal file
115
src/interfaces/libpq/libpqddll.def
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
; DEF file for MS VC++
|
||||||
|
LIBRARY LIBPQD
|
||||||
|
DESCRIPTION "PostgreSQL Client Library"
|
||||||
|
EXPORTS
|
||||||
|
PQconnectdb @ 1
|
||||||
|
PQsetdbLogin @ 2
|
||||||
|
PQconndefaults @ 3
|
||||||
|
PQfinish @ 4
|
||||||
|
PQreset @ 5
|
||||||
|
PQrequestCancel @ 6
|
||||||
|
PQdb @ 7
|
||||||
|
PQuser @ 8
|
||||||
|
PQpass @ 9
|
||||||
|
PQhost @ 10
|
||||||
|
PQport @ 11
|
||||||
|
PQtty @ 12
|
||||||
|
PQoptions @ 13
|
||||||
|
PQstatus @ 14
|
||||||
|
PQerrorMessage @ 15
|
||||||
|
PQsocket @ 16
|
||||||
|
PQbackendPID @ 17
|
||||||
|
PQtrace @ 18
|
||||||
|
PQuntrace @ 19
|
||||||
|
PQsetNoticeProcessor @ 20
|
||||||
|
PQexec @ 21
|
||||||
|
PQnotifies @ 22
|
||||||
|
PQsendQuery @ 23
|
||||||
|
PQgetResult @ 24
|
||||||
|
PQisBusy @ 25
|
||||||
|
PQconsumeInput @ 26
|
||||||
|
PQgetline @ 27
|
||||||
|
PQputline @ 28
|
||||||
|
PQgetlineAsync @ 29
|
||||||
|
PQputnbytes @ 30
|
||||||
|
PQendcopy @ 31
|
||||||
|
PQfn @ 32
|
||||||
|
PQresultStatus @ 33
|
||||||
|
PQntuples @ 34
|
||||||
|
PQnfields @ 35
|
||||||
|
PQbinaryTuples @ 36
|
||||||
|
PQfname @ 37
|
||||||
|
PQfnumber @ 38
|
||||||
|
PQftype @ 39
|
||||||
|
PQfsize @ 40
|
||||||
|
PQfmod @ 41
|
||||||
|
PQcmdStatus @ 42
|
||||||
|
PQoidStatus @ 43
|
||||||
|
PQcmdTuples @ 44
|
||||||
|
PQgetvalue @ 45
|
||||||
|
PQgetlength @ 46
|
||||||
|
PQgetisnull @ 47
|
||||||
|
PQclear @ 48
|
||||||
|
PQmakeEmptyPGresult @ 49
|
||||||
|
PQprint @ 50
|
||||||
|
PQdisplayTuples @ 51
|
||||||
|
PQprintTuples @ 52
|
||||||
|
lo_open @ 53
|
||||||
|
lo_close @ 54
|
||||||
|
lo_read @ 55
|
||||||
|
lo_write @ 56
|
||||||
|
lo_lseek @ 57
|
||||||
|
lo_creat @ 58
|
||||||
|
lo_tell @ 59
|
||||||
|
lo_unlink @ 60
|
||||||
|
lo_import @ 61
|
||||||
|
lo_export @ 62
|
||||||
|
pgresStatus @ 63
|
||||||
|
PQmblen @ 64
|
||||||
|
PQresultErrorMessage @ 65
|
||||||
|
PQresStatus @ 66
|
||||||
|
termPQExpBuffer @ 67
|
||||||
|
appendPQExpBufferChar @ 68
|
||||||
|
initPQExpBuffer @ 69
|
||||||
|
resetPQExpBuffer @ 70
|
||||||
|
PQoidValue @ 71
|
||||||
|
PQclientEncoding @ 72
|
||||||
|
PQenv2encoding @ 73
|
||||||
|
appendBinaryPQExpBuffer @ 74
|
||||||
|
appendPQExpBufferStr @ 75
|
||||||
|
destroyPQExpBuffer @ 76
|
||||||
|
createPQExpBuffer @ 77
|
||||||
|
PQconninfoFree @ 78
|
||||||
|
PQconnectPoll @ 79
|
||||||
|
PQconnectStart @ 80
|
||||||
|
PQflush @ 81
|
||||||
|
PQisnonblocking @ 82
|
||||||
|
PQresetPoll @ 83
|
||||||
|
PQresetStart @ 84
|
||||||
|
PQsetClientEncoding @ 85
|
||||||
|
PQsetnonblocking @ 86
|
||||||
|
PQfreeNotify @ 87
|
||||||
|
PQescapeString @ 88
|
||||||
|
PQescapeBytea @ 89
|
||||||
|
printfPQExpBuffer @ 90
|
||||||
|
appendPQExpBuffer @ 91
|
||||||
|
pg_encoding_to_char @ 92
|
||||||
|
pg_utf_mblen @ 93
|
||||||
|
PQunescapeBytea @ 94
|
||||||
|
PQfreemem @ 95
|
||||||
|
PQtransactionStatus @ 96
|
||||||
|
PQparameterStatus @ 97
|
||||||
|
PQprotocolVersion @ 98
|
||||||
|
PQsetErrorVerbosity @ 99
|
||||||
|
PQsetNoticeReceiver @ 100
|
||||||
|
PQexecParams @ 101
|
||||||
|
PQsendQueryParams @ 102
|
||||||
|
PQputCopyData @ 103
|
||||||
|
PQputCopyEnd @ 104
|
||||||
|
PQgetCopyData @ 105
|
||||||
|
PQresultErrorField @ 106
|
||||||
|
PQftable @ 107
|
||||||
|
PQftablecol @ 108
|
||||||
|
PQfformat @ 109
|
||||||
|
PQexecPrepared @ 110
|
||||||
|
PQsendQueryPrepared @ 111
|
@ -1,7 +1,7 @@
|
|||||||
# Makefile for Microsoft Visual C++ 5.0 (or compat)
|
# Makefile for Microsoft Visual C++ 5.0 (or compat)
|
||||||
|
|
||||||
# Will build a Win32 static library libpq.lib
|
# Will build a Win32 static library libpq(d).lib
|
||||||
# and a Win32 dynamic library libpq.dll with import library libpqdll.lib
|
# and a Win32 dynamic library libpq(d).dll with import library libpq(d)dll.lib
|
||||||
# USE_SSL=1 will compile with OpenSSL
|
# USE_SSL=1 will compile with OpenSSL
|
||||||
# DEBUG=1 compiles with debugging symbols
|
# DEBUG=1 compiles with debugging symbols
|
||||||
|
|
||||||
@ -10,13 +10,15 @@
|
|||||||
!MESSAGE
|
!MESSAGE
|
||||||
|
|
||||||
!IFDEF DEBUG
|
!IFDEF DEBUG
|
||||||
OPT=/Od /Zi
|
OPT=/Od /Zi /MDd
|
||||||
LOPT=/debug
|
LOPT=/debug
|
||||||
DEBUGDEF=/D _DEBUG
|
DEBUGDEF=/D _DEBUG
|
||||||
|
OUTFILENAME=libpqd
|
||||||
!ELSE
|
!ELSE
|
||||||
OPT=/O2
|
OPT=/O2 /MD
|
||||||
LOPT=
|
LOPT=
|
||||||
DEBUGDEF=/D NDEBUG
|
DEBUGDEF=/D NDEBUG
|
||||||
|
OUTFILENAME=libpq
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
!IF "$(OS)" == "Windows_NT"
|
!IF "$(OS)" == "Windows_NT"
|
||||||
@ -39,7 +41,7 @@ CPP_OBJS=.\Release/
|
|||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
|
|
||||||
ALL : "$(OUTDIR)\libpq.lib" "$(OUTDIR)\libpq.dll"
|
ALL : "$(OUTDIR)\$(OUTFILENAME).lib" "$(OUTDIR)\$(OUTFILENAME).dll"
|
||||||
|
|
||||||
CLEAN :
|
CLEAN :
|
||||||
-@erase "$(INTDIR)\getaddrinfo.obj"
|
-@erase "$(INTDIR)\getaddrinfo.obj"
|
||||||
@ -62,20 +64,20 @@ CLEAN :
|
|||||||
-@erase "$(INTDIR)\pqexpbuffer.obj"
|
-@erase "$(INTDIR)\pqexpbuffer.obj"
|
||||||
-@erase "$(OUTDIR)\libpqdll.obj"
|
-@erase "$(OUTDIR)\libpqdll.obj"
|
||||||
-@erase "$(OUTDIR)\win32.obj"
|
-@erase "$(OUTDIR)\win32.obj"
|
||||||
-@erase "$(OUTDIR)\libpq.lib"
|
-@erase "$(OUTDIR)\$(OUTFILENAME).lib"
|
||||||
-@erase "$(OUTDIR)\libpq.dll"
|
-@erase "$(OUTDIR)\$(OUTFILENAME).dll"
|
||||||
-@erase "$(OUTDIR)\libpq.res"
|
-@erase "$(OUTDIR)\libpq.res"
|
||||||
-@erase "*.pch"
|
-@erase "*.pch"
|
||||||
-@erase "$(OUTDIR)\libpq.pch"
|
-@erase "$(OUTDIR)\libpq.pch"
|
||||||
-@erase "$(OUTDIR)\libpqdll.exp"
|
-@erase "$(OUTDIR)\$(OUTFILENAME)dll.exp"
|
||||||
-@erase "$(OUTDIR)\libpqdll.lib"
|
-@erase "$(OUTDIR)\$(OUTFILENAME)dll.lib"
|
||||||
-@erase "$(INTDIR)\wchar.obj"
|
-@erase "$(INTDIR)\wchar.obj"
|
||||||
-@erase "$(INTDIR)\encnames.obj"
|
-@erase "$(INTDIR)\encnames.obj"
|
||||||
|
|
||||||
"$(OUTDIR)" :
|
"$(OUTDIR)" :
|
||||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||||
|
|
||||||
CPP_PROJ=/nologo /MD /W3 /GX $(OPT) /I "..\..\include" /D "FRONTEND" $(DEBUGDEF) /D\
|
CPP_PROJ=/nologo /W3 /GX $(OPT) /I "..\..\include" /D "FRONTEND" $(DEBUGDEF) /D\
|
||||||
"WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" /YX\
|
"WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" /YX\
|
||||||
/Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c /D "HAVE_VSNPRINTF" /D "HAVE_STRDUP"
|
/Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c /D "HAVE_VSNPRINTF" /D "HAVE_STRDUP"
|
||||||
|
|
||||||
@ -87,7 +89,7 @@ SSL_LIBS=ssleay32.lib libeay32.lib gdi32.lib
|
|||||||
CPP_SBRS=.
|
CPP_SBRS=.
|
||||||
|
|
||||||
LIB32=link.exe -lib
|
LIB32=link.exe -lib
|
||||||
LIB32_FLAGS=$(LOPT) /nologo /out:"$(OUTDIR)\libpq.lib"
|
LIB32_FLAGS=$(LOPT) /nologo /out:"$(OUTDIR)\$(OUTFILENAME).lib"
|
||||||
LIB32_OBJS= \
|
LIB32_OBJS= \
|
||||||
"$(INTDIR)\win32.obj" \
|
"$(INTDIR)\win32.obj" \
|
||||||
"$(INTDIR)\getaddrinfo.obj" \
|
"$(INTDIR)\getaddrinfo.obj" \
|
||||||
@ -117,15 +119,15 @@ RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res"
|
|||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib wsock32.lib $(SSL_LIBS) \
|
LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib wsock32.lib $(SSL_LIBS) \
|
||||||
/nologo /subsystem:windows /dll $(LOPT) /incremental:no\
|
/nologo /subsystem:windows /dll $(LOPT) /incremental:no\
|
||||||
/pdb:"$(OUTDIR)\libpqdll.pdb" /machine:I386 /out:"$(OUTDIR)\libpq.dll"\
|
/pdb:"$(OUTDIR)\libpqdll.pdb" /machine:I386 /out:"$(OUTDIR)\$(OUTFILENAME).dll"\
|
||||||
/implib:"$(OUTDIR)\libpqdll.lib" /def:libpqdll.def
|
/implib:"$(OUTDIR)\$(OUTFILENAME)dll.lib" /def:$(OUTFILENAME)dll.def
|
||||||
LINK32_OBJS= \
|
LINK32_OBJS= \
|
||||||
"$(INTDIR)\libpqdll.obj" \
|
"$(INTDIR)\libpqdll.obj" \
|
||||||
"$(OUTDIR)\libpq.lib" \
|
"$(OUTDIR)\$(OUTFILENAME).lib" \
|
||||||
"$(OUTDIR)\libpq.res"
|
"$(OUTDIR)\libpq.res"
|
||||||
|
|
||||||
|
|
||||||
"$(OUTDIR)\libpq.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
|
"$(OUTDIR)\$(OUTFILENAME).lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
|
||||||
$(LIB32) @<<
|
$(LIB32) @<<
|
||||||
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
|
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
|
||||||
<<
|
<<
|
||||||
@ -134,7 +136,7 @@ LINK32_OBJS= \
|
|||||||
$(RSC) $(RSC_PROJ) libpq.rc
|
$(RSC) $(RSC_PROJ) libpq.rc
|
||||||
|
|
||||||
|
|
||||||
"$(OUTDIR)\libpq.dll" : "$(OUTDIR)" "$(OUTDIR)\libpqdll.obj" "$(INTDIR)\libpqdll.obj" "$(INTDIR)\libpq.res"
|
"$(OUTDIR)\$(OUTFILENAME).dll" : "$(OUTDIR)" "$(OUTDIR)\libpqdll.obj" "$(INTDIR)\libpqdll.obj" "$(INTDIR)\libpq.res"
|
||||||
$(LINK32) @<<
|
$(LINK32) @<<
|
||||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||||
<<
|
<<
|
||||||
|
Loading…
Reference in New Issue
Block a user