summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--loadlib.c25
-rw-r--r--version.h2
-rw-r--r--win32.mak316
-rwxr-xr-xwin64.mak328
4 files changed, 397 insertions, 274 deletions
diff --git a/loadlib.c b/loadlib.c
index 7deffa6..87cde2d 100644
--- a/loadlib.c
+++ b/loadlib.c
@@ -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;
}
diff --git a/version.h b/version.h
index 8bdd91a..bedaad2 100644
--- a/version.h
+++ b/version.h
@@ -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
diff --git a/win32.mak b/win32.mak
index 7086404..b9e62be 100644
--- a/win32.mak
+++ b/win32.mak
@@ -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)