diff options
| author | Bruce Momjian <bruce@momjian.us> | 2004-03-09 04:53:37 +0000 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 2004-03-09 04:53:37 +0000 |
| commit | 53cd7cd8a9168d4b2e2feb52129336429cc99b98 (patch) | |
| tree | f2d9dd2f786a6cdaeac1bab7dbdb5c27c447e006 /src/interfaces/libpq/win32.mak | |
| parent | f0f4e82f45462349bb30f3c4cc9792fa54525575 (diff) | |
| download | postgresql-53cd7cd8a9168d4b2e2feb52129336429cc99b98.tar.gz | |
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
Diffstat (limited to 'src/interfaces/libpq/win32.mak')
| -rw-r--r-- | src/interfaces/libpq/win32.mak | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/src/interfaces/libpq/win32.mak b/src/interfaces/libpq/win32.mak index 436a80fb9b..3623b1fe57 100644 --- a/src/interfaces/libpq/win32.mak +++ b/src/interfaces/libpq/win32.mak @@ -1,7 +1,7 @@ # Makefile for Microsoft Visual C++ 5.0 (or compat) -# Will build a Win32 static library libpq.lib -# and a Win32 dynamic library libpq.dll with import library libpqdll.lib +# Will build a Win32 static library libpq(d).lib
+# and a Win32 dynamic library libpq(d).dll with import library libpq(d)dll.lib
# USE_SSL=1 will compile with OpenSSL # DEBUG=1 compiles with debugging symbols @@ -10,13 +10,15 @@ !MESSAGE !IFDEF DEBUG -OPT=/Od /Zi +OPT=/Od /Zi /MDd
LOPT=/debug DEBUGDEF=/D _DEBUG +OUTFILENAME=libpqd
!ELSE -OPT=/O2 +OPT=/O2 /MD
LOPT= DEBUGDEF=/D NDEBUG +OUTFILENAME=libpq
!ENDIF !IF "$(OS)" == "Windows_NT" @@ -39,7 +41,7 @@ CPP_OBJS=.\Release/ !ENDIF -ALL : "$(OUTDIR)\libpq.lib" "$(OUTDIR)\libpq.dll" +ALL : "$(OUTDIR)\$(OUTFILENAME).lib" "$(OUTDIR)\$(OUTFILENAME).dll"
CLEAN : -@erase "$(INTDIR)\getaddrinfo.obj" @@ -62,20 +64,20 @@ CLEAN : -@erase "$(INTDIR)\pqexpbuffer.obj" -@erase "$(OUTDIR)\libpqdll.obj" -@erase "$(OUTDIR)\win32.obj" - -@erase "$(OUTDIR)\libpq.lib" - -@erase "$(OUTDIR)\libpq.dll" + -@erase "$(OUTDIR)\$(OUTFILENAME).lib"
+ -@erase "$(OUTDIR)\$(OUTFILENAME).dll"
-@erase "$(OUTDIR)\libpq.res" -@erase "*.pch" -@erase "$(OUTDIR)\libpq.pch" - -@erase "$(OUTDIR)\libpqdll.exp" - -@erase "$(OUTDIR)\libpqdll.lib" + -@erase "$(OUTDIR)\$(OUTFILENAME)dll.exp"
+ -@erase "$(OUTDIR)\$(OUTFILENAME)dll.lib"
-@erase "$(INTDIR)\wchar.obj" -@erase "$(INTDIR)\encnames.obj" "$(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\ /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=. LIB32=link.exe -lib -LIB32_FLAGS=$(LOPT) /nologo /out:"$(OUTDIR)\libpq.lib" +LIB32_FLAGS=$(LOPT) /nologo /out:"$(OUTDIR)\$(OUTFILENAME).lib"
LIB32_OBJS= \ "$(INTDIR)\win32.obj" \ "$(INTDIR)\getaddrinfo.obj" \ @@ -117,15 +119,15 @@ RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res" LINK32=link.exe LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib wsock32.lib $(SSL_LIBS) \ /nologo /subsystem:windows /dll $(LOPT) /incremental:no\ - /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:I386 /out:"$(OUTDIR)\libpq.dll"\ - /implib:"$(OUTDIR)\libpqdll.lib" /def:libpqdll.def + /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:I386 /out:"$(OUTDIR)\$(OUTFILENAME).dll"\
+ /implib:"$(OUTDIR)\$(OUTFILENAME)dll.lib" /def:$(OUTFILENAME)dll.def
LINK32_OBJS= \ "$(INTDIR)\libpqdll.obj" \ - "$(OUTDIR)\libpq.lib" \ + "$(OUTDIR)\$(OUTFILENAME).lib" \
"$(OUTDIR)\libpq.res" -"$(OUTDIR)\libpq.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS) +"$(OUTDIR)\$(OUTFILENAME).lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
$(LIB32) @<< $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS) << @@ -134,7 +136,7 @@ LINK32_OBJS= \ $(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_FLAGS) $(LINK32_OBJS) << |
