mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-02 18:56:53 +02:00
Below is the patch against current cvs for libpgtcl and
two additional files win32.mak and libpgtcl.def. This patch allows to compile libpgtcl.dll on Windows with tcl > 8.0. I've tested it on WinNT (VC6.0), SUSE Linux (7.0) and Solaris 2.6 with tcl 8.3.3. Mikhail Terekhov
This commit is contained in:
parent
ee0ef05b8d
commit
37c0b64875
8
src/interfaces/libpgtcl.def
Normal file
8
src/interfaces/libpgtcl.def
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
;libpgtcl.def
|
||||||
|
; The LIBRARY entry must be same as the name of your DLL, the name of
|
||||||
|
; our DLL is libpgtcl.dll
|
||||||
|
LIBRARY libpgtcl
|
||||||
|
EXPORTS
|
||||||
|
|
||||||
|
Pgtcl_Init
|
||||||
|
Pgtcl_SafeInit
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclCmds.c,v 1.56 2001/08/10 22:50:10 tgl Exp $
|
* $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclCmds.c,v 1.57 2001/09/06 02:54:56 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -403,6 +403,8 @@ Pg_connect(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
|||||||
int
|
int
|
||||||
Pg_disconnect(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
Pg_disconnect(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
Pg_ConnectionId *connid;
|
||||||
|
PGconn *conn;
|
||||||
Tcl_Channel conn_chan;
|
Tcl_Channel conn_chan;
|
||||||
|
|
||||||
if (argc != 2)
|
if (argc != 2)
|
||||||
@ -419,6 +421,12 @@ Pg_disconnect(ClientData cData, Tcl_Interp *interp, int argc, char *argv[])
|
|||||||
return TCL_ERROR;
|
return TCL_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if TCL_MAJOR_VERSION >= 8
|
||||||
|
conn = PgGetConnectionId(interp, argv[1], &connid);
|
||||||
|
if (connid->notifier_channel != NULL)
|
||||||
|
Tcl_UnregisterChannel(interp, connid->notifier_channel);
|
||||||
|
#endif
|
||||||
|
|
||||||
return Tcl_UnregisterChannel(interp, conn_chan);
|
return Tcl_UnregisterChannel(interp, conn_chan);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* $Id: pgtclCmds.h,v 1.21 2001/03/22 04:01:24 momjian Exp $
|
* $Id: pgtclCmds.h,v 1.22 2001/09/06 02:54:56 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -64,7 +64,11 @@ typedef struct Pg_ConnectionId_s
|
|||||||
|
|
||||||
Pg_TclNotifies *notify_list;/* head of list of notify info */
|
Pg_TclNotifies *notify_list;/* head of list of notify info */
|
||||||
int notifier_running; /* notify event source is live */
|
int notifier_running; /* notify event source is live */
|
||||||
|
#if TCL_MAJOR_VERSION >= 8
|
||||||
|
Tcl_Channel notifier_channel;/* Tcl_Channel on which notifier is listening */
|
||||||
|
#else
|
||||||
int notifier_socket;/* PQsocket on which notifier is listening */
|
int notifier_socket;/* PQsocket on which notifier is listening */
|
||||||
|
#endif
|
||||||
} Pg_ConnectionId;
|
} Pg_ConnectionId;
|
||||||
|
|
||||||
/* Values of res_copyStatus */
|
/* Values of res_copyStatus */
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclId.c,v 1.25 2001/02/10 02:31:29 tgl Exp $
|
* $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtclId.c,v 1.26 2001/09/06 02:54:56 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -174,10 +174,16 @@ PgSetConnectionId(Tcl_Interp *interp, PGconn *conn)
|
|||||||
connid->results[i] = NULL;
|
connid->results[i] = NULL;
|
||||||
connid->notify_list = NULL;
|
connid->notify_list = NULL;
|
||||||
connid->notifier_running = 0;
|
connid->notifier_running = 0;
|
||||||
connid->notifier_socket = -1;
|
|
||||||
|
|
||||||
sprintf(connid->id, "pgsql%d", PQsocket(conn));
|
sprintf(connid->id, "pgsql%d", PQsocket(conn));
|
||||||
|
|
||||||
|
#if TCL_MAJOR_VERSION >= 8
|
||||||
|
connid->notifier_channel = Tcl_MakeTcpClientChannel((ClientData) PQsocket(conn));
|
||||||
|
Tcl_RegisterChannel(interp, connid->notifier_channel);
|
||||||
|
#else
|
||||||
|
connid->notifier_socket = -1;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if TCL_MAJOR_VERSION == 7 && TCL_MINOR_VERSION == 5
|
#if TCL_MAJOR_VERSION == 7 && TCL_MINOR_VERSION == 5
|
||||||
/* Original signature (only seen in Tcl 7.5) */
|
/* Original signature (only seen in Tcl 7.5) */
|
||||||
conn_chan = Tcl_CreateChannel(&Pg_ConnType, connid->id, NULL, NULL, (ClientData) connid);
|
conn_chan = Tcl_CreateChannel(&Pg_ConnType, connid->id, NULL, NULL, (ClientData) connid);
|
||||||
@ -581,7 +587,7 @@ PgNotifyTransferEvents(Pg_ConnectionId * connid)
|
|||||||
event->info = *notify;
|
event->info = *notify;
|
||||||
event->connid = connid;
|
event->connid = connid;
|
||||||
Tcl_QueueEvent((Tcl_Event *) event, TCL_QUEUE_TAIL);
|
Tcl_QueueEvent((Tcl_Event *) event, TCL_QUEUE_TAIL);
|
||||||
free(notify);
|
PQfreeNotify(notify);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -688,18 +694,17 @@ PgStartNotifyEventSource(Pg_ConnectionId * connid)
|
|||||||
if (pqsock >= 0)
|
if (pqsock >= 0)
|
||||||
{
|
{
|
||||||
#if TCL_MAJOR_VERSION >= 8
|
#if TCL_MAJOR_VERSION >= 8
|
||||||
/* In Tcl 8, Tcl_CreateFileHandler takes a socket directly. */
|
Tcl_CreateChannelHandler(connid->notifier_channel, TCL_READABLE,
|
||||||
Tcl_CreateFileHandler(pqsock, TCL_READABLE,
|
Pg_Notify_FileHandler, (ClientData) connid);
|
||||||
Pg_Notify_FileHandler, (ClientData) connid);
|
|
||||||
#else
|
#else
|
||||||
/* In Tcl 7.5 and 7.6, we need to gin up a Tcl_File. */
|
/* In Tcl 7.5 and 7.6, we need to gin up a Tcl_File. */
|
||||||
Tcl_File tclfile = Tcl_GetFile((ClientData) pqsock, TCL_UNIX_FD);
|
Tcl_File tclfile = Tcl_GetFile((ClientData) pqsock, TCL_UNIX_FD);
|
||||||
|
|
||||||
Tcl_CreateFileHandler(tclfile, TCL_READABLE,
|
Tcl_CreateFileHandler(tclfile, TCL_READABLE,
|
||||||
Pg_Notify_FileHandler, (ClientData) connid);
|
Pg_Notify_FileHandler, (ClientData) connid);
|
||||||
|
connid->notifier_socket = pqsock;
|
||||||
#endif
|
#endif
|
||||||
connid->notifier_running = 1;
|
connid->notifier_running = 1;
|
||||||
connid->notifier_socket = pqsock;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -711,8 +716,8 @@ PgStopNotifyEventSource(Pg_ConnectionId * connid)
|
|||||||
if (connid->notifier_running)
|
if (connid->notifier_running)
|
||||||
{
|
{
|
||||||
#if TCL_MAJOR_VERSION >= 8
|
#if TCL_MAJOR_VERSION >= 8
|
||||||
/* In Tcl 8, Tcl_DeleteFileHandler takes a socket directly. */
|
Tcl_DeleteChannelHandler(connid->notifier_channel,
|
||||||
Tcl_DeleteFileHandler(connid->notifier_socket);
|
Pg_Notify_FileHandler, (ClientData) connid);
|
||||||
#else
|
#else
|
||||||
/* In Tcl 7.5 and 7.6, we need to gin up a Tcl_File. */
|
/* In Tcl 7.5 and 7.6, we need to gin up a Tcl_File. */
|
||||||
Tcl_File tclfile = Tcl_GetFile((ClientData) connid->notifier_socket,
|
Tcl_File tclfile = Tcl_GetFile((ClientData) connid->notifier_socket,
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.108 2001/08/21 20:39:53 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.109 2001/09/06 02:54:56 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -1345,6 +1345,20 @@ PQnotifies(PGconn *conn)
|
|||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PQfreeNotify - free's the memory associated with a PGnotify
|
||||||
|
*
|
||||||
|
* This function is needed on Windows when using libpq.dll and
|
||||||
|
* for example libpgtcl.dll: All memory allocated inside a dll
|
||||||
|
* should be freed in the context of the same dll.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
PQfreeNotify(PGnotify *notify)
|
||||||
|
{
|
||||||
|
free(notify);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* PQgetline - gets a newline-terminated string from the backend.
|
* PQgetline - gets a newline-terminated string from the backend.
|
||||||
*
|
*
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* $Id: libpq-fe.h,v 1.72 2001/08/21 20:39:54 momjian Exp $
|
* $Id: libpq-fe.h,v 1.73 2001/09/06 02:54:56 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -254,6 +254,7 @@ extern "C"
|
|||||||
/* Simple synchronous query */
|
/* Simple synchronous query */
|
||||||
extern PGresult *PQexec(PGconn *conn, const char *query);
|
extern PGresult *PQexec(PGconn *conn, const char *query);
|
||||||
extern PGnotify *PQnotifies(PGconn *conn);
|
extern PGnotify *PQnotifies(PGconn *conn);
|
||||||
|
extern void PQfreeNotify(PGnotify *notify);
|
||||||
|
|
||||||
/* Interface for multiple-result or asynchronous queries */
|
/* Interface for multiple-result or asynchronous queries */
|
||||||
extern int PQsendQuery(PGconn *conn, const char *query);
|
extern int PQsendQuery(PGconn *conn, const char *query);
|
||||||
|
@ -87,4 +87,4 @@ EXPORTS
|
|||||||
PQresetStart @ 84
|
PQresetStart @ 84
|
||||||
PQsetClientEncoding @ 85
|
PQsetClientEncoding @ 85
|
||||||
PQsetnonblocking @ 86
|
PQsetnonblocking @ 86
|
||||||
|
PQfreeNotify @ 87
|
||||||
|
201
src/interfaces/win32.mak
Normal file
201
src/interfaces/win32.mak
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
# Microsoft Developer Studio Generated NMAKE File, Based on libpgtcl_REL7_1_STABLE.dsp
|
||||||
|
!IF "$(CFG)" == ""
|
||||||
|
CFG=libpgtcl - Win32 Release
|
||||||
|
!MESSAGE No configuration specified. Defaulting to libpgtcl - Win32 Release.
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
!IF "$(CFG)" != "libpgtcl - Win32 Release" && "$(CFG)" != "libpgtcl - Win32 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 "libpgtcl.mak" CFG="libpgtcl - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "libpgtcl - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE "libpgtcl - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||||
|
!MESSAGE
|
||||||
|
!ERROR An invalid configuration is specified.
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
!IF "$(OS)" == "Windows_NT"
|
||||||
|
NULL=
|
||||||
|
!ELSE
|
||||||
|
NULL=nul
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
CPP=cl.exe
|
||||||
|
MTL=midl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
TCLBASE=\usr\local\tcltk833
|
||||||
|
PGINCLUDE=/I ..\..\include /I ..\libpq /I $(TCLBASE)\include
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "libpgtcl - Win32 Release"
|
||||||
|
|
||||||
|
OUTDIR=.\Release
|
||||||
|
INTDIR=.\Release
|
||||||
|
# Begin Custom Macros
|
||||||
|
OutDir=.\Release
|
||||||
|
# End Custom Macros
|
||||||
|
|
||||||
|
ALL : "$(OUTDIR)\libpgtcl.dll" "$(OUTDIR)\libpgtcl.bsc"
|
||||||
|
|
||||||
|
|
||||||
|
CLEAN :
|
||||||
|
-@erase "$(INTDIR)\pgtcl.obj"
|
||||||
|
-@erase "$(INTDIR)\pgtcl.sbr"
|
||||||
|
-@erase "$(INTDIR)\pgtclCmds.obj"
|
||||||
|
-@erase "$(INTDIR)\pgtclCmds.sbr"
|
||||||
|
-@erase "$(INTDIR)\pgtclId.obj"
|
||||||
|
-@erase "$(INTDIR)\pgtclId.sbr"
|
||||||
|
-@erase "$(INTDIR)\vc60.idb"
|
||||||
|
-@erase "$(OUTDIR)\libpgtcl.dll"
|
||||||
|
-@erase "$(OUTDIR)\libpgtcl.exp"
|
||||||
|
-@erase "$(OUTDIR)\libpgtcl.lib"
|
||||||
|
-@erase "$(OUTDIR)\libpgtcl.bsc"
|
||||||
|
|
||||||
|
"$(OUTDIR)" :
|
||||||
|
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||||
|
|
||||||
|
CPP_PROJ=/nologo /MT /W3 /GX /O2 $(PGINCLUDE) /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libpgtcl.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||||
|
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
BSC32_FLAGS=/nologo /o"$(OUTDIR)\libpgtcl.bsc"
|
||||||
|
BSC32_SBRS= \
|
||||||
|
"$(INTDIR)\pgtcl.sbr" \
|
||||||
|
"$(INTDIR)\pgtclCmds.sbr" \
|
||||||
|
"$(INTDIR)\pgtclId.sbr"
|
||||||
|
|
||||||
|
"$(OUTDIR)\libpgtcl.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
|
||||||
|
$(BSC32) @<<
|
||||||
|
$(BSC32_FLAGS) $(BSC32_SBRS)
|
||||||
|
<<
|
||||||
|
|
||||||
|
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 odbccp32.lib tcl83.lib libpq.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\libpgtcl.pdb" /machine:I386 /def:".\libpgtcl.def" /out:"$(OUTDIR)\libpgtcl.dll" /implib:"$(OUTDIR)\libpgtcl.lib" /libpath:"$(TCLBASE)\lib" /libpath:"..\libpq\Release"
|
||||||
|
DEF_FILE= \
|
||||||
|
".\libpgtcl.def"
|
||||||
|
LINK32_OBJS= \
|
||||||
|
"$(INTDIR)\pgtcl.obj" \
|
||||||
|
"$(INTDIR)\pgtclCmds.obj" \
|
||||||
|
"$(INTDIR)\pgtclId.obj"
|
||||||
|
|
||||||
|
"$(OUTDIR)\libpgtcl.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||||
|
$(LINK32) @<<
|
||||||
|
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||||
|
<<
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "libpgtcl - Win32 Debug"
|
||||||
|
|
||||||
|
OUTDIR=.\Debug
|
||||||
|
INTDIR=.\Debug
|
||||||
|
# Begin Custom Macros
|
||||||
|
OutDir=.\Debug
|
||||||
|
# End Custom Macros
|
||||||
|
|
||||||
|
ALL : "$(OUTDIR)\libpgtcl.dll" "$(OUTDIR)\libpgtcl.bsc"
|
||||||
|
|
||||||
|
|
||||||
|
CLEAN :
|
||||||
|
-@erase "$(INTDIR)\pgtcl.obj"
|
||||||
|
-@erase "$(INTDIR)\pgtcl.sbr"
|
||||||
|
-@erase "$(INTDIR)\pgtclCmds.obj"
|
||||||
|
-@erase "$(INTDIR)\pgtclCmds.sbr"
|
||||||
|
-@erase "$(INTDIR)\pgtclId.obj"
|
||||||
|
-@erase "$(INTDIR)\pgtclId.sbr"
|
||||||
|
-@erase "$(INTDIR)\vc60.idb"
|
||||||
|
-@erase "$(INTDIR)\vc60.pdb"
|
||||||
|
-@erase "$(OUTDIR)\libpgtcl.dll"
|
||||||
|
-@erase "$(OUTDIR)\libpgtcl.exp"
|
||||||
|
-@erase "$(OUTDIR)\libpgtcl.ilk"
|
||||||
|
-@erase "$(OUTDIR)\libpgtcl.lib"
|
||||||
|
-@erase "$(OUTDIR)\libpgtcl.pdb"
|
||||||
|
-@erase "$(OUTDIR)\libpgtcl.bsc"
|
||||||
|
|
||||||
|
"$(OUTDIR)" :
|
||||||
|
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||||
|
|
||||||
|
CPP_PROJ=/nologo /MTd /W3 /Gm /GX /ZI /Od $(PGINCLUDE) /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\libpgtcl.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||||
|
MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
BSC32_FLAGS=/nologo /o"$(OUTDIR)\libpgtcl.bsc"
|
||||||
|
BSC32_SBRS= \
|
||||||
|
"$(INTDIR)\pgtcl.sbr" \
|
||||||
|
"$(INTDIR)\pgtclCmds.sbr" \
|
||||||
|
"$(INTDIR)\pgtclId.sbr"
|
||||||
|
|
||||||
|
"$(OUTDIR)\libpgtcl.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
|
||||||
|
$(BSC32) @<<
|
||||||
|
$(BSC32_FLAGS) $(BSC32_SBRS)
|
||||||
|
<<
|
||||||
|
|
||||||
|
LINK32=link.exe
|
||||||
|
LINK32_FLAGS=tcl83.lib libpq.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"$(OUTDIR)\libpgtcl.pdb" /debug /machine:I386 /def:".\libpgtcl.def" /out:"$(OUTDIR)\libpgtcl.dll" /implib:"$(OUTDIR)\libpgtcl.lib" /pdbtype:sept /libpath:"$(TCLBASE)\lib" /libpath:"..\libpq\Debug"
|
||||||
|
DEF_FILE= \
|
||||||
|
".\libpgtcl.def"
|
||||||
|
LINK32_OBJS= \
|
||||||
|
"$(INTDIR)\pgtcl.obj" \
|
||||||
|
"$(INTDIR)\pgtclCmds.obj" \
|
||||||
|
"$(INTDIR)\pgtclId.obj"
|
||||||
|
|
||||||
|
"$(OUTDIR)\libpgtcl.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||||
|
$(LINK32) @<<
|
||||||
|
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||||
|
<<
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
.c{$(INTDIR)}.obj::
|
||||||
|
$(CPP) @<<
|
||||||
|
$(CPP_PROJ) $<
|
||||||
|
<<
|
||||||
|
|
||||||
|
.cpp{$(INTDIR)}.obj::
|
||||||
|
$(CPP) @<<
|
||||||
|
$(CPP_PROJ) $<
|
||||||
|
<<
|
||||||
|
|
||||||
|
.cxx{$(INTDIR)}.obj::
|
||||||
|
$(CPP) @<<
|
||||||
|
$(CPP_PROJ) $<
|
||||||
|
<<
|
||||||
|
|
||||||
|
.c{$(INTDIR)}.sbr::
|
||||||
|
$(CPP) @<<
|
||||||
|
$(CPP_PROJ) $<
|
||||||
|
<<
|
||||||
|
|
||||||
|
.cpp{$(INTDIR)}.sbr::
|
||||||
|
$(CPP) @<<
|
||||||
|
$(CPP_PROJ) $<
|
||||||
|
<<
|
||||||
|
|
||||||
|
.cxx{$(INTDIR)}.sbr::
|
||||||
|
$(CPP) @<<
|
||||||
|
$(CPP_PROJ) $<
|
||||||
|
<<
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "libpgtcl - Win32 Release" || "$(CFG)" == "libpgtcl - Win32 Debug"
|
||||||
|
SOURCE=pgtcl.c
|
||||||
|
|
||||||
|
"$(INTDIR)\pgtcl.obj" "$(INTDIR)\pgtcl.sbr" : $(SOURCE) "$(INTDIR)"
|
||||||
|
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||||
|
|
||||||
|
|
||||||
|
SOURCE=pgtclCmds.c
|
||||||
|
|
||||||
|
"$(INTDIR)\pgtclCmds.obj" "$(INTDIR)\pgtclCmds.sbr" : $(SOURCE) "$(INTDIR)"
|
||||||
|
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||||
|
|
||||||
|
|
||||||
|
SOURCE=pgtclId.c
|
||||||
|
|
||||||
|
"$(INTDIR)\pgtclId.obj" "$(INTDIR)\pgtclId.sbr" : $(SOURCE) "$(INTDIR)"
|
||||||
|
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
Loading…
Reference in New Issue
Block a user