diff options
| -rw-r--r-- | loadlib.c | 25 | ||||
| -rw-r--r-- | version.h | 2 | ||||
| -rw-r--r-- | win32.mak | 316 | ||||
| -rwxr-xr-x | win64.mak | 328 |
4 files changed, 397 insertions, 274 deletions
@@ -23,20 +23,35 @@ #pragma comment(lib, "Delayimp") #pragma comment(lib, "libpq") #pragma comment(lib, "ssleay32") +#ifdef UNICODE_SUPPORT #pragma comment(lib, "pgenlist") +#else +#pragma comment(lib, "pgenlista") +#endif /* UNICODE_SUPPORT */ // The followings works under VC++6.0 but doesn't work under VC++7.0. // Please add the equivalent linker options using command line etc. #if (_MSC_VER == 1200) && defined(DYNAMIC_LOAD) // VC6.0 #pragma comment(linker, "/Delayload:libpq.dll") #pragma comment(linker, "/Delayload:ssleay32.dll") +#ifdef UNICODE_SUPPORT #pragma comment(linker, "/Delayload:pgenlist.dll") +#else +#pragma comment(linker, "/Delayload:pgenlista.dll") +#endif /* UNICODE_SUPPORT */ #pragma comment(linker, "/Delay:UNLOAD") #endif /* _MSC_VER */ #endif /* _MSC_VER */ #if defined(DYNAMIC_LOAD) #define WIN_DYN_LOAD CSTR libpq = "libpq"; +CSTR libpqdll = "LIBPQ.dll"; +#ifdef UNICODE_SUPPORT CSTR pgenlist = "pgenlist"; +CSTR pgenlistdll = "PGENLIST.dll"; +#else +CSTR pgenlist = "pgenlista"; +CSTR pgenlistdll = "PGENLISTA.dll"; +#endif /* UNICODE_SUPPORT */ #if defined(_MSC_VER) && (_MSC_VER >= 1200) #define _MSC_DELAY_LOAD_IMPORT #endif /* MSC_VER */ @@ -107,7 +122,7 @@ DliErrorHook(unsigned dliNotify, if (hmodule = MODULE_load_from_psqlodbc_path(libpq), NULL == hmodule) hmodule = LoadLibrary(libpq); } - else if (strnicmp(pdli->szDll, pgenlist, 8) == 0) + else if (strnicmp(pdli->szDll, pgenlist, strlen(pgenlist)) == 0) { if (hmodule = MODULE_load_from_psqlodbc_path(pgenlist), NULL == hmodule) hmodule = LoadLibrary(pgenlist); @@ -148,8 +163,8 @@ void CleanupDelayLoadedDLLs(void) /* The dll names are case sensitive for the unload helper */ if (loaded_libpq) { - success = (*func)("LIBPQ.dll"); - mylog("LIBPQ unload success=%d\n", success); + success = (*func)(libpqdll); + mylog("%s unload success=%d\n", libpqdll, success); } if (loaded_ssllib) { @@ -158,8 +173,8 @@ void CleanupDelayLoadedDLLs(void) } if (loaded_pgenlist) { - success = (*func)("PGENLIST.dll"); - mylog("PGENLIST unload success=%d\n", success); + success = (*func)(pgenlistdll); + mylog("%s unload success=%d\n", pgenlistdll, success); } return; } @@ -12,6 +12,6 @@ #define POSTGRESDRIVERVERSION "08.02.0205" #define POSTGRES_RESOURCE_VERSION "08.02.0205\0" #define PG_DRVFILE_VERSION 8,2,02,05 -#define PG_BUILD_VERSION "200704040002" +#define PG_BUILD_VERSION "200704050001" #endif @@ -71,7 +71,11 @@ LINKMT=MT SSL_DLL = "SSLEAY32.dll" ADD_DEFINES = $(ADD_DEFINES) /D "SSL_DLL=\"$(SSL_DLL)\"" +!IF "$(ANSI_VERSION)" == "yes" +DTCLIB = pgenlista +!ELSE DTCLIB = pgenlist +!ENDIF DTCDLL = $(DTCLIB).dll !IF "$(_NMAKE_VER)" == "6.00.9782.0" MSVC_VERSION=vc60 @@ -146,10 +150,14 @@ OUTDIRBIN = $(OUTDIRBIN)$(LINKMT) INTDIR = $(INTDIR)$(LINKMT) !ENDIF -ALLDLL = "$(OUTDIRBIN)\$(MAINDLL)" +ALLDLL = "$(INTDIR)" +!IF "$(OUTDIR)" != "$(INTDIR)" +ALLDLL = $(ALLDLL) "$(OUTDIR)" +!ENDIF +ALLDLL = $(ALLDLL) "$(OUTDIR)\$(MAINDLL)" !IF "$(MSDTC)" != "no" -ALLDLL = $(ALLDLL) "$(OUTDIRBIN)\$(XADLL)" "$(OUTDIRBIN)\$(DTCDLL)" +ALLDLL = $(ALLDLL) "$(OUTDIR)\$(XADLL)" "$(OUTDIR)\$(DTCDLL)" !ENDIF ALL : $(ALLDLL) @@ -157,87 +165,93 @@ ALL : $(ALLDLL) CLEAN : -@erase "$(INTDIR)\*.obj" -@erase "$(INTDIR)\*.res" - -@erase "$(INTDIR)\*.lib" - -@erase "$(INTDIR)\*.exp" + -@erase "$(OUTDIR)\*.lib" + -@erase "$(OUTDIR)\*.exp" -@erase "$(INTDIR)\*.pch" - -@erase "$(OUTDIRBIN)\$(MAINDLL)" + -@erase "$(OUTDIR)\$(MAINDLL)" !IF "$(MSDTC)" != "no" - -@erase "$(OUTDIRBIN)\$(DTCDLL)" - -@erase "$(OUTDIRBIN)\$(XADLL)" + -@erase "$(OUTDIR)\$(DTCDLL)" + -@erase "$(OUTDIR)\$(XADLL)" !ENDIF +"$(INTDIR)" : + if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)" +!IF "$(OUTDIR)" != "$(INTDIR)" "$(OUTDIR)" : if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" +!ENDIF !IF "$(MSDTC)" != "no" -"$(OUTDIRBIN)\$(MAINDLL)" : "$(OUTDIR)\$(DTCLIB).lib" +"$(OUTDIR)\$(MAINDLL)" : "$(OUTDIR)\$(DTCLIB).lib" !ENDIF $(INTDIR)\connection.obj $(INTDIR)\psqlodbc.res: version.h CPP=cl.exe !IF "$(CFG)" == "Release" -CPP_PROJ=/nologo /$(LINKMT) /W3 $(VC_FLAGS) /O2 /I "$(PG_INC)" /I "$(SSL_INC)" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CRT_SECURE_NO_DEPRECATE" /D "PSQLODBC_EXPORTS" /D "WIN_MULTITHREAD_SUPPORT" $(ADD_DEFINES) /Fp"$(INTDIR)\psqlodbc.pch" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c +CPP_PROJ=/nologo /$(LINKMT) /O2 /D "NDEBUG" !ELSEIF "$(CFG)" == "Debug" -CPP_PROJ=/nologo /$(LINKMT)d /W3 /Gm $(VC_FLAGS) /ZI /Od /I "$(PG_INC)" /I "$(SSL_INC)" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CRT_SECURE_NO_DEPRECATE" /D "PSQLODBC_EXPORTS" /D "WIN_MULTITHREAD_SUPPORT" $(ADD_DEFINES) /Fp"$(INTDIR)\psqlodbc.pch" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c +CPP_PROJ=/nologo /$(LINKMT)d /Gm /ZI /Od /GZ /D "_DEBUG" !ENDIF +CPP_PROJ=$(CPP_PROJ) /W3 $(VC_FLAGS) /I "$(PG_INC)" /I "$(SSL_INC)" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CRT_SECURE_NO_DEPRECATE" /D "PSQLODBC_EXPORTS" /D "WIN_MULTITHREAD_SUPPORT" $(ADD_DEFINES) /Fp"$(INTDIR)\psqlodbc.pch" /Fo"$(INTDIR)"\ /Fd"$(INTDIR)"\ /FD .c{$(INTDIR)}.obj:: $(CPP) @<< - $(CPP_PROJ) $< + $(CPP_PROJ) /c $< << .cpp{$(INTDIR)}.obj:: $(CPP) @<< - $(CPP_PROJ) $< + $(CPP_PROJ) /c $< << .cxx{$(INTDIR)}.obj:: $(CPP) @<< - $(CPP_PROJ) $< + $(CPP_PROJ) /c $< << .c{$(INTDIR)}.sbr:: $(CPP) @<< - $(CPP_PROJ) $< + $(CPP_PROJ) /c $< << .cpp{$(INTDIR)}.sbr:: $(CPP) @<< - $(CPP_PROJ) $< + $(CPP_PROJ) /c $< << .cxx{$(INTDIR)}.sbr:: $(CPP) @<< - $(CPP_PROJ) $< + $(CPP_PROJ) /c $< << MTL=midl.exe RSC=rc.exe BSC32=bscmake.exe -!IF "$(CFG)" == "Release" -MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 -RSC_PROJ=/l 0x809 /fo"$(INTDIR)\psqlodbc.res" /d "NDEBUG" +MTL_PROJ=/nologo /mktyplib203 /win32 +RSC_PROJ=/l 0x809 /d "MULTIBYTE" BSC32_FLAGS=/nologo /o"$(OUTDIR)\psqlodbc.bsc" +!IF "$(CFG)" == "Release" +MTL_PROJ=$(MTL_PROC) /D "NDEBUG" +RSC_PROJ=$(RSC_PROJ) /d "NDEBUG" !ELSE -MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 -RSC_PROJ=/l 0x809 /fo"$(INTDIR)\psqlodbc.res" /d "_DEBUG" -BSC32_FLAGS=/nologo /o"$(OUTDIR)\psqlodbc.bsc" +MTL_PROJ=$(MTL_PROJ) /D "_DEBUG" +RSC_PROJ=$(RSC_PROJ) /d "_DEBUG" !ENDIF BSC32_SBRS= \ LINK32=link.exe LIB32=lib.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 odbccp32.lib wsock32.lib $(OUTDIR)\$(DTCLIB).lib winmm.lib /nologo /dll +LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib $(OUTDIR)\$(DTCLIB).lib winmm.lib /nologo /dll /pdb:"$(OUTDIR)\psqlodbc.pdb" /machine:I386 /def:"$(DEF_FILE)" /out:"$(OUTDIR)\$(MAINDLL)" /implib:"$(OUTDIR)\$(MAINLIB).lib" !IF "$(ANSI_VERSION)" == "yes" DEF_FILE= "psqlodbca.def" !ELSE DEF_FILE= "psqlodbc.def" !ENDIF !IF "$(CFG)" == "Release" -LINK32_FLAGS=$(LINK32_FLAGS) /incremental:no /pdb:"$(OUTDIR)\psqlodbc.pdb" /machine:I386 /def:"$(DEF_FILE)" /out:"$(OUTDIRBIN)\$(MAINDLL)" /implib:"$(OUTDIR)\$(MAINLIB).lib" +LINK32_FLAGS=$(LINK32_FLAGS) /incremental:no !ELSE -LINK32_FLAGS=$(LINK32_FLAGS) /incremental:yes /pdb:"$(OUTDIR)\psqlodbc.pdb" /debug /machine:I386 /def:"$(DEF_FILE)" /out:"$(OUTDIRBIN)\$(MAINDLL)" /implib:"$(OUTDIR)\$(MAINLIB).lib" /pdbtype:sept +LINK32_FLAGS=$(LINK32_FLAGS) /incremental:yes /debug !ENDIF LINK32_FLAGS=$(LINK32_FLAGS) "$(VC07_DELAY_LOAD)" /libpath:"$(PG_LIB)" /libpath:"$(SSL_LIB)" @@ -278,7 +292,7 @@ LINK32_OBJS= \ "$(INTDIR)\odbcapiw.obj" \ "$(INTDIR)\odbcapi30w.obj" \ !ENDIF -!IF "$(MSDTC)" == "yes" +!IF "$(MSDTC)" != "no" "$(INTDIR)\xalibname.obj" \ !ENDIF !IF "$(MEMORY_DEBUG)" == "yes" @@ -289,271 +303,37 @@ LINK32_OBJS= \ DTCDEF_FILE= "$(DTCLIB).def" LIB_DTCLIBFLAGS=/nologo /machine:I386 /def:"$(DTCDEF_FILE)" /out:"$(OUTDIR)\$(DTCLIB).lib" -LINK32_DTCFLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib wsock32.lib XOleHlp.lib $(OUTDIR)\$(MAINLIB).lib Delayimp.lib /DelayLoad:XOLEHLP.DLL /nologo /dll /incremental:no /pdb:"$(OUTDIR)\$(DTCLIB).pdb" /machine:I386 /out:"$(OUTDIRBIN)\$(DTCDLL)" +LINK32_DTCFLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib wsock32.lib XOleHlp.lib $(OUTDIR)\$(MAINLIB).lib Delayimp.lib /DelayLoad:XOLEHLP.DLL /nologo /dll /incremental:no /pdb:"$(OUTDIR)\$(DTCLIB).pdb" /machine:I386 /out:"$(OUTDIR)\$(DTCDLL)" LINK32_DTCOBJS= \ "$(INTDIR)\msdtc_enlist.obj" "$(INTDIR)\xalibname.obj" XADEF_FILE= "$(XALIB).def" -LINK32_XAFLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib odbc32.lib odbccp32.lib uuid.lib wsock32.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\$(XALIB).pdb" /machine:I386 /def:"$(XADEF_FILE)" /out:"$(OUTDIRBIN)\$(XADLL)" /implib:"$(OUTDIR)\$(XALIB).lib" +LINK32_XAFLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib odbc32.lib odbccp32.lib uuid.lib wsock32.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\$(XALIB).pdb" /machine:I386 /def:"$(XADEF_FILE)" /out:"$(OUTDIR)\$(XADLL)" /implib:"$(OUTDIR)\$(XALIB).lib" LINK32_XAOBJS= \ "$(INTDIR)\pgxalib.obj" -"$(OUTDIRBIN)\$(MAINDLL)" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) +"$(OUTDIR)\$(MAINDLL)" : $(DEF_FILE) $(LINK32_OBJS) $(LINK32) @<< $(LINK32_FLAGS) $(LINK32_OBJS) << -"$(OUTDIRBIN)\$(DTCLIB).lib" : "$(OUTDIR)" $(DTCDEF_FILE) $(LINK32_DTCOBJS) +"$(OUTDIR)\$(DTCLIB).lib" : $(DTCDEF_FILE) $(LINK32_DTCOBJS) $(LIB32) @<< $(LIB_DTCLIBFLAGS) $(LINK32_DTCOBJS) << -"$(OUTDIRBIN)\$(DTCDLL)" : "$(OUTDIR)" $(DTCDEF_FILE) $(LINK32_DTCOBJS) +"$(OUTDIR)\$(DTCDLL)" : $(DTCDEF_FILE) $(LINK32_DTCOBJS) $(LINK32) @<< $(LINK32_DTCFLAGS) $(LINK32_DTCOBJS) "$(OUTDIR)\$(DTCLIB).exp" << -"$(OUTDIRBIN)\$(XADLL)" : "$(OUTDIR)" $(XADEF_FILE) $(LINK32_XAOBJS) +"$(OUTDIR)\$(XADLL)" : $(XADEF_FILE) $(LINK32_XAOBJS) $(LINK32) @<< $(LINK32_XAFLAGS) $(LINK32_XAOBJS) << -!IF "$(CFG)" == "Release" || "$(CFG)" == "Debug" - -SOURCE=bind.c - -"$(INTDIR)\bind.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=columninfo.c - -"$(INTDIR)\columninfo.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=connection.c - -"$(INTDIR)\connection.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=convert.c - -"$(INTDIR)\convert.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=dlg_specific.c - -"$(INTDIR)\dlg_specific.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=dlg_wingui.c - -"$(INTDIR)\dlg_wingui.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=drvconn.c - -"$(INTDIR)\drvconn.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=environ.c - -"$(INTDIR)\environ.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=execute.c - -"$(INTDIR)\execute.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=info.c - -"$(INTDIR)\info.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=info30.c - -"$(INTDIR)\info30.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=lobj.c - -"$(INTDIR)\lobj.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=misc.c - -"$(INTDIR)\misc.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=mylog.c - -"$(INTDIR)\mylog.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=multibyte.c - -"$(INTDIR)\multibyte.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - -SOURCE=odbcapiw.c - -"$(INTDIR)\odbcapiw.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - -SOURCE=pgapi30.c - -"$(INTDIR)\pgapi30.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - -SOURCE=odbcapi30w.c - -"$(INTDIR)\odbcapi30w.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - -SOURCE=win_unicode.c - -"$(INTDIR)\win_unicode.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=options.c - -"$(INTDIR)\options.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=parse.c - -"$(INTDIR)\parse.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=pgtypes.c - -"$(INTDIR)\pgtypes.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=psqlodbc.c - -"$(INTDIR)\psqlodbc.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - SOURCE=psqlodbc.rc -!IF "$(CFG)" == "Release" -"$(INTDIR)\psqlodbc.res" : $(SOURCE) "$(INTDIR)" - $(RSC) /l 0x809 /fo"$(INTDIR)\psqlodbc.res" /d "NDEBUG" /d "MULTIBYTE" $(RSC_DEFINES) $(SOURCE) -!ENDIF - -!IF "$(CFG)" == "Debug" -"$(INTDIR)\psqlodbc.res" : $(SOURCE) "$(INTDIR)" - $(RSC) /l 0x809 /fo"$(INTDIR)\psqlodbc.res" /d "_DEBUG" $(RSC_DEFINES) $(SOURCE) -!ENDIF - - -SOURCE=qresult.c - -"$(INTDIR)\qresult.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=results.c - -"$(INTDIR)\results.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=setup.c - -"$(INTDIR)\setup.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=socket.c - -"$(INTDIR)\socket.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=statement.c - -"$(INTDIR)\statement.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=tuple.c - -"$(INTDIR)\tuple.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=win_md5.c - -"$(INTDIR)\win_md5.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=odbcapi.c - -"$(INTDIR)\odbcapi.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - - -SOURCE=odbcapi30.c - -"$(INTDIR)\odbcapi30.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - -SOURCE=descriptor.c - -"$(INTDIR)\descriptor.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - -SOURCE=loadlib.c - -"$(INTDIR)\loadlib.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - -!IF "$(MSDTC)" != "no" -SOURCE=msdtc_enlist.cpp - -"$(INTDIR)\msdtc_enlist.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - -SOURCE=xalibname.c - -"$(INTDIR)\xalibname.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) - -SOURCE=pgxalib.cpp - -"$(INTDIR)\pgxalib.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) -!ENDIF - -!IF "$(MEMORY_DEBUG)" == "yes" -SOURCE=inouealc.c - -"$(INTDIR)\inouealc.obj" : $(SOURCE) "$(INTDIR)" - $(CPP) $(CPP_PROJ) $(SOURCE) -!ENDIF - - -!ENDIF +"$(INTDIR)\psqlodbc.res" : $(SOURCE) + $(RSC) $(RSC_PROJ) /fo$@ $(RSC_DEFINES) $(SOURCE) diff --git a/win64.mak b/win64.mak new file mode 100755 index 0000000..c9bfe8e --- /dev/null +++ b/win64.mak @@ -0,0 +1,328 @@ +# +# File: win64.mak +# +# Description: psqlodbc35w Unicode 64bit version Makefile. +# (can be built using platform SDK's buildfarm) +# +# Configurations: Debug, Release +# Build Types: ALL, CLEAN +# Usage: NMAKE /f win32_64.mak CFG=[Release | Debug] [ALL | CLEAN] +# +# Comments: Created by Hiroshi Inoue, 2006-10-31 +# + +!IF "$(CPU)" == "" +!MESSAGE Making 64bit DLL... +!MESSAGE You should set the CPU environemt variable +!MESSAGE to distinguish your OS +!ENDIF + +!IF "$(ANSI_VERSION)" == "yes" +!MESSAGE Building the PostgreSQL ANSI 3.0 Driver for $(CPU)... +!ELSE +!MESSAGE Building the PostgreSQL Unicode 3.5 Driver for $(CPU)... +!ENDIF +!MESSAGE +!IF "$(CFG)" == "" +CFG=Release +!MESSAGE No configuration specified. Defaulting to Release. +!MESSAGE +!ENDIF + +!IF "$(CFG)" != "Release" && "$(CFG)" != "Debug" +!MESSAGE Invalid configuration "$(CFG)" specified. +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f win32_64.mak CFG=[Release | Debug] [ALL | CLEAN] +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "Release" ($(CPU) Release DLL) +!MESSAGE "Debug" ($(CPU) Debug DLL) +!MESSAGE +!ERROR An invalid configuration was specified. +!ENDIF + +ADD_DEFINES=/D _WIN64 +# +# +!IF "$(PG_INC)" == "" +PG_INC=$(PROGRAMFILES)\PostgreSQL\8.2\include +!MESSAGE Using default PostgreSQL Include directory: $(PG_INC) +!ENDIF + +!IF "$(PG_LIB)" == "" +PG_LIB="C:\develop\lib\$(CPU)" +!MESSAGE Using default PostgreSQL Library directory: $(PG_LIB) +!ENDIF + +!IF "$(SSL_INC)" == "" +SSL_INC=C:\OpenSSL\include +!MESSAGE Using default OpenSSL Include directory: $(SSL_INC) +!ENDIF + +!IF "$(SSL_LIB)" == "" +SSL_LIB="C:\develop\lib\$(CPU)" +!MESSAGE Using default OpenSSL Library directory: $(SSL_LIB) +!ENDIF + +SSL_DLL = "SSLEAY32.dll" +ADD_DEFINES = $(ADD_DEFINES) /D "SSL_DLL=\"$(SSL_DLL)\"" + +!IF "$(ANSI_VERSION)" == "yes" +DTCLIB = pgenlista +!ELSE +DTCLIB = pgenlist +!ENDIF +DTCDLL = $(DTCLIB).dll + +!IF "$(_NMAKE_VER)" == "6.00.9782.0" +VC07_DELAY_LOAD= +MSDTC=no +!ELSE +VC07_DELAY_LOAD="/DelayLoad:libpq.dll /DelayLoad:$(SSL_DLL) /DelayLoad:$(DTCDLL) /DELAY:UNLOAD" +!ENDIF +ADD_DEFINES = $(ADD_DEFINES) /D "DYNAMIC_LOAD" + +!IF "$(MSDTC)" != "no" +ADD_DEFINES = $(ADD_DEFINES) /D "_HANDLE_ENLIST_IN_DTC_" +!ENDIF +!IF "$(MEMORY_DEBUG)" == "yes" +ADD_DEFINES = $(ADD_DEFINES) /D "_MEMORY_DEBUG_" /GS +!ENDIF +!IF "$(ANSI_VERSION)" == "yes" +ADD_DEFINES = $(ADD_DEFINES) /D "DBMS_NAME=\"PostgreSQL $(CPU)A\"" /D "ODBCVER=0x0300" +!ELSE +ADD_DEFINES = $(ADD_DEFINES) /D "DBMS_NAME=\"PostgreSQL $(CPU)W\"" /D "ODBCVER=0x0351" /D "UNICODE_SUPPORT" +RSC_DEFINES = $(RSC_DEFINES) /D "UNICODE_SUPPORT" +!ENDIF + +!IF "$(PORT_CHECK)" == "yes" +ADD_DEFINES = $(ADD_DEFINES) /Wp64 +!ENDIF + +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF + +!IF "$(ANSI_VERSION)" == "yes" +MAINLIB = psqlodbc30a +!ELSE +MAINLIB = psqlodbc35w +!ENDIF +MAINDLL = $(MAINLIB).dll +XALIB = pgxalib +XADLL = $(XALIB).dll + +!IF "$(CFG)" == "Release" +!IF "$(ANSI_VERSION)" == "yes" +OUTDIR=.\$(CPU)ANSI +OUTDIRBIN=.\$(CPU)ANSI +INTDIR=.\$(CPU)ANSI +!ELSE +OUTDIR=.\$(CPU) +OUTDIRBIN=.\$(CPU) +INTDIR=.\$(CPU) +!ENDIF +!ELSEIF "$(CFG)" == "Debug" +!IF "$(ANSI_VERSION)" == "yes" +OUTDIR=.\$(CPU)ANSIDebug +OUTDIRBIN=.\$(CPU)ANSIDebug +INTDIR=.\$(CPU)ANSIDebug +!ELSE +OUTDIR=.\$(CPU)Debug +OUTDIRBIN=.\$(CPU)Debug +INTDIR=.\$(CPU)Debug +!ENDIF +!ENDIF + +ALLDLL = "$(INTDIR)" +!IF "$(OUTDIR)" != "$(INTDIR)" +ALLDLL = $(ALLDLL) "$(INTDIR)" +!ENDIF + +ALLDLL = $(ALLDLL) "$(OUTDIR)\$(MAINDLL)" + +!IF "$(MSDTC)" != "no" +ALLDLL = $(ALLDLL) "$(OUTDIR)\$(XADLL)" "$(OUTDIR)\$(DTCDLL)" +!ENDIF + +ALL : $(ALLDLL) + +CLEAN : + -@erase "$(INTDIR)\*.obj" + -@erase "$(INTDIR)\*.res" + -@erase "$(OUTDIR)\*.lib" + -@erase "$(OUTDIR)\*.exp" + -@erase "$(INTDIR)\*.pch" + -@erase "$(OUTDIR)\$(MAINDLL)" +!IF "$(MSDTC)" != "no" + -@erase "$(OUTDIR)\$(DTCDLL)" + -@erase "$(OUTDIR)\$(XADLL)" +!ENDIF + +!IF "$(MSDTC)" != "no" +"$(OUTDIR)\$(MAINDLL)": "$(OUTDIR)\$(DTCLIB).lib" +!ENDIF + +"$(INTDIR)" : + if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)" + +!IF "$(OUTDIR)" != "$(INTDIR)" +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" +!ENDIF + +CPP=cl.exe +CPP_PROJ=/nologo /MD /W3 /EHsc /I "$(PG_INC)" /I "$(SSL_INC)" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CRT_SECURE_NO_DEPRECATE" /D "PSQLODBC_EXPORTS" /D "WIN_MULTITHREAD_SUPPORT" $(ADD_DEFINES) /Fp"$(INTDIR)\psqlodbc.pch" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD +!IF "$(CFG)" == "Release" +CPP_PROJ=$(CPP_PROJ) /O2 /D "NDEBUG" +!ELSEIF "$(CFG)" == "Debug" +CPP_PROJ=$(CPP_PROJ) /Gm /ZI /Od /D "_DEBUG" /GZ +!ENDIF + +.c{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) /c $< +<< + +.cpp{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) /c $< +<< + +.cxx{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) /c $< +<< + +.c{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) /c $< +<< + +.cpp{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) /c $< +<< + +.cxx{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) /c $< +<< + +MTL=midl.exe +RSC=rc.exe +BSC32=bscmake.exe +MTL_PROJ=/nologo /mktyplib203 /win32 +RSC_PROJ=/l 0x809 /fo"$(INTDIR)\psqlodbc.res" /d "MULTIBUTE" +BSC32_FLAGS=/nologo /o"$(OUTDIR)\psqlodbc.bsc" +!IF "$(CFG)" == "Release" +MTL_PROJ=$(MTL_PROJ) /D "NDEBUG" +RSC_PROJ=$(RSC_PROJ) /d "NDEBUG" +!ELSE +MTL_PROJ=$(MTL_PROJ) /D "_DEBUG" +RSC_PROJ=$(RSC_PROJ) /d "_DEBUG" +!ENDIF +BSC32_SBRS= \ + +LINK32=link.exe +LIB32=lib.exe +LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib advapi32.lib odbc32.lib odbccp32.lib wsock32.lib XOleHlp.lib winmm.lib "$(OUTDIR)\$(DTCLIB).lib" msvcrt.lib bufferoverflowu.lib /nologo /dll /machine:$(CPU) /def:"$(DEF_FILE)" /pdb:"$(OUTDIR)\psqlodbc.pdb" /out:"$(OUTDIR)\$(MAINDLL)" /implib:"$(OUTDIR)\$(MAINLIB).lib" +!IF "$(ANSI_VERSION)" == "yes" +DEF_FILE= "psqlodbca.def" +!ELSE +DEF_FILE= "psqlodbc.def" +!ENDIF +!IF "$(CFG)" == "Release" +LINK32_FLAGS=$(LINK32_FLAGS) /incremental:no +!ELSE +LINK32_FLAGS=$(LINK32_FLAGS) /incremental:yes /debug /pdbtype:sept +!ENDIF +LINK32_FLAGS=$(LINK32_FLAGS) "$(VC07_DELAY_LOAD)" /libpath:"$(PG_LIB)" /libpath:"$(SSL_LIB)" + +LINK32_OBJS= \ + "$(INTDIR)\bind.obj" \ + "$(INTDIR)\columninfo.obj" \ + "$(INTDIR)\connection.obj" \ + "$(INTDIR)\convert.obj" \ + "$(INTDIR)\dlg_specific.obj" \ + "$(INTDIR)\dlg_wingui.obj" \ + "$(INTDIR)\drvconn.obj" \ + "$(INTDIR)\environ.obj" \ + "$(INTDIR)\execute.obj" \ + "$(INTDIR)\info.obj" \ + "$(INTDIR)\info30.obj" \ + "$(INTDIR)\lobj.obj" \ + "$(INTDIR)\win_md5.obj" \ + "$(INTDIR)\misc.obj" \ + "$(INTDIR)\mylog.obj" \ + "$(INTDIR)\pgapi30.obj" \ + "$(INTDIR)\multibyte.obj" \ + "$(INTDIR)\options.obj" \ + "$(INTDIR)\parse.obj" \ + "$(INTDIR)\pgtypes.obj" \ + "$(INTDIR)\psqlodbc.obj" \ + "$(INTDIR)\qresult.obj" \ + "$(INTDIR)\results.obj" \ + "$(INTDIR)\setup.obj" \ + "$(INTDIR)\socket.obj" \ + "$(INTDIR)\statement.obj" \ + "$(INTDIR)\tuple.obj" \ + "$(INTDIR)\odbcapi.obj" \ + "$(INTDIR)\odbcapi30.obj" \ + "$(INTDIR)\descriptor.obj" \ + "$(INTDIR)\loadlib.obj" \ +!IF "$(ANSI_VERSION)" != "yes" + "$(INTDIR)\win_unicode.obj" \ + "$(INTDIR)\odbcapiw.obj" \ + "$(INTDIR)\odbcapi30w.obj" \ +!ENDIF +!IF "$(MSDTC)" != "no" + "$(INTDIR)\xalibname.obj" \ +!ENDIF +!IF "$(MEMORY_DEBUG)" == "yes" + "$(INTDIR)\inouealc.obj" \ +!ENDIF + "$(INTDIR)\psqlodbc.res" + +DTCDEF_FILE= "$(DTCLIB).def" +LIB32_DTCLIBFLAGS=/nologo /machine:$(CPU) /def:"$(DTCDEF_FILE)" /out:"$(OUTDIR)\$(DTCLIB).lib" + +LINK32_DTCFLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib wsock32.lib XOleHlp.lib $(OUTDIR)\$(MAINLIB).lib bufferoverflowu.lib Delayimp.lib /DelayLoad:XOLEHLP.DLL /nologo /dll /incremental:no /pdb:"$(OUTDIR)\$(DTCLIB).pdb" /machine:$(CPU) /out:"$(OUTDIR)\$(DTCDLL)" +LINK32_DTCOBJS= \ + "$(INTDIR)\msdtc_enlist.obj" "$(INTDIR)\xalibname.obj" + +XADEF_FILE= "$(XALIB).def" +LINK32_XAFLAGS=/nodefaultlib:libcmt.lib kernel32.lib user32.lib gdi32.lib advapi32.lib odbc32.lib odbccp32.lib wsock32.lib XOleHlp.lib winmm.lib msvcrt.lib bufferoverflowu.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\$(XALIB).pdb" /machine:$(CPU) /def:"$(XADEF_FILE)" /out:"$(OUTDIR)\$(XADLL)" /implib:"$(OUTDIR)\$(XALIB).lib" +LINK32_XAOBJS= \ + "$(INTDIR)\pgxalib.obj" + +"$(OUTDIR)\$(MAINDLL)" : $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + +"$(OUTDIR)\$(DTCLIB).lib" : $(DEF_FILE) $(LINK32_DTCOBJS) + $(LIB32) @<< + $(LIB32_DTCLIBFLAGS) $(LINK32_DTCOBJS) +<< + +"$(OUTDIR)\$(DTCDLL)" : $(LINK32_DTCOBJS) + $(LINK32) @<< + $(LINK32_DTCFLAGS) $(LINK32_DTCOBJS) $(OUTDIR)\$(DTCLIB).exp +<< + +"$(OUTDIR)\$(XADLL)" : $(XADEF_FILE) $(LINK32_XAOBJS) + $(LINK32) @<< + $(LINK32_XAFLAGS) $(LINK32_XAOBJS) +<< + + +SOURCE=psqlodbc.rc + +"$(INTDIR)\psqlodbc.res" : $(SOURCE) "$(INTDIR)" + $(RSC) $(RSC_PROJ) $(RSC_DEFINES) $(SOURCE) |
