Commit c7add816 authored by Bruce Momjian's avatar Bruce Momjian

Export only required symbols in libpq on Win32.

Magnus Hagander
parent 88fd162e
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
# Copyright (c) 1998, Regents of the University of California # Copyright (c) 1998, Regents of the University of California
# #
# IDENTIFICATION # IDENTIFICATION
# $PostgreSQL: pgsql/src/Makefile.shlib,v 1.85 2004/10/15 05:11:00 momjian Exp $ # $PostgreSQL: pgsql/src/Makefile.shlib,v 1.86 2004/10/16 03:26:43 momjian Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
...@@ -31,6 +31,8 @@ ...@@ -31,6 +31,8 @@
# DLLTOOL_DEFFLAGS Additional flags when creating the dll .def file # DLLTOOL_DEFFLAGS Additional flags when creating the dll .def file
# DLLTOOL_LIBFLAGS Additional flags when creating the lib<module>.a file # DLLTOOL_LIBFLAGS Additional flags when creating the lib<module>.a file
# DLLWRAP_FLAGS Additional flags to dllwrap # DLLWRAP_FLAGS Additional flags to dllwrap
# DLL_DEFFILE Use pre-existing .def file instead of auto-generating
# one with all exports in it (win32 only).
# #
# The module Makefile must also include # The module Makefile must also include
# $(top_builddir)/src/Makefile.global before including this file. # $(top_builddir)/src/Makefile.global before including this file.
...@@ -306,9 +308,14 @@ else # PORTNAME == cygwin ...@@ -306,9 +308,14 @@ else # PORTNAME == cygwin
# Cygwin case # Cygwin case
$(shlib) lib$(NAME).a: $(OBJS) $(shlib) lib$(NAME).a: $(OBJS)
ifndef DLL_DEFFILE
$(DLLTOOL) --export-all $(DLLTOOL_DEFFLAGS) --output-def $(NAME).def $(OBJS) $(DLLTOOL) --export-all $(DLLTOOL_DEFFLAGS) --output-def $(NAME).def $(OBJS)
$(DLLWRAP) $(LDFLAGS_SL) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(NAME).def $(OBJS) $(SHLIB_LINK) $(DLLWRAP) $(LDFLAGS_SL) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(NAME).def $(OBJS) $(SHLIB_LINK)
$(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(NAME).def --output-lib lib$(NAME).a $(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(NAME).def --output-lib lib$(NAME).a
else
$(DLLWRAP) $(LDFLAGS_SL) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(DLL_DEFFILE) $(OBJS) $(SHLIB_LINK)
$(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(DLL_DEFFILE) --output-lib lib$(NAME).a
endif
endif # PORTNAME == cygwin endif # PORTNAME == cygwin
...@@ -316,9 +323,14 @@ else # PORTNAME == win32 ...@@ -316,9 +323,14 @@ else # PORTNAME == win32
# win32 case # win32 case
$(shlib) lib$(NAME).a: $(OBJS) $(shlib) lib$(NAME).a: $(OBJS)
ifndef DLL_DEFFILE
$(DLLTOOL) --export-all $(DLLTOOL_DEFFLAGS) --output-def $(NAME).def $(OBJS) $(DLLTOOL) --export-all $(DLLTOOL_DEFFLAGS) --output-def $(NAME).def $(OBJS)
$(DLLWRAP) $(LDFLAGS_SL) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(NAME).def $(OBJS) $(SHLIB_LINK) $(DLLWRAP) $(LDFLAGS_SL) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(NAME).def $(OBJS) $(SHLIB_LINK)
$(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(NAME).def --output-lib lib$(NAME).a $(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(NAME).def --output-lib lib$(NAME).a
else
$(DLLWRAP) $(LDFLAGS_SL) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(DLL_DEFFILE) $(OBJS) $(SHLIB_LINK)
$(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(DLL_DEFFILE) --output-lib lib$(NAME).a
endif
endif # PORTNAME == win32 endif # PORTNAME == win32
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# #
# Copyright (c) 1994, Regents of the University of California # Copyright (c) 1994, Regents of the University of California
# #
# $PostgreSQL: pgsql/src/interfaces/libpq/Makefile,v 1.117 2004/10/12 04:48:36 neilc Exp $ # $PostgreSQL: pgsql/src/interfaces/libpq/Makefile,v 1.118 2004/10/16 03:26:43 momjian Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
...@@ -34,6 +34,7 @@ ifeq ($(PORTNAME), win32) ...@@ -34,6 +34,7 @@ ifeq ($(PORTNAME), win32)
OBJS += win32.o libpqrc.o OBJS += win32.o libpqrc.o
libpqrc.o : libpq.rc libpqrc.o : libpq.rc
windres -i libpq.rc -o libpqrc.o windres -i libpq.rc -o libpqrc.o
DLL_DEFFILE=libpqdll.def
ifeq ($(enable_thread_safety), yes) ifeq ($(enable_thread_safety), yes)
# This doesn't work yet because configure test fails. 2004-06-19 # This doesn't work yet because configure test fails. 2004-06-19
OBJS += pthread-win32.o OBJS += pthread-win32.o
......
...@@ -115,6 +115,10 @@ EXPORTS ...@@ -115,6 +115,10 @@ EXPORTS
_PQsendQueryPrepared @ 111 _PQsendQueryPrepared @ 111
_PQdsplen @ 112 _PQdsplen @ 112
_PQserverVersion @ 113 _PQserverVersion @ 113
_PQgetssl @ 114
_pg_char_to_encoding @ 115
_pg_valid_server_encoding @ 116
_pqsignal @ 117
; Aliases for MS compatible names ; Aliases for MS compatible names
PQconnectdb = _PQconnectdb PQconnectdb = _PQconnectdb
...@@ -230,3 +234,7 @@ EXPORTS ...@@ -230,3 +234,7 @@ EXPORTS
PQsendQueryPrepared = _PQsendQueryPrepared PQsendQueryPrepared = _PQsendQueryPrepared
PQdsplen = _PQdsplen PQdsplen = _PQdsplen
PQserverVersion = _PQserverVersion PQserverVersion = _PQserverVersion
PQgetssl = _PQgetssl
pg_char_to_encoding = _pg_char_to_encoding
pg_valid_server_encoding = _pg_valid_server_encoding
pqsignal = _pqsignal
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-secure.c,v 1.54 2004/09/28 00:06:02 momjian Exp $ * $PostgreSQL: pgsql/src/interfaces/libpq/fe-secure.c,v 1.55 2004/10/16 03:26:43 momjian Exp $
* *
* NOTES * NOTES
* [ Most of these notes are wrong/obsolete, but perhaps not all ] * [ Most of these notes are wrong/obsolete, but perhaps not all ]
...@@ -1201,6 +1201,12 @@ PQgetssl(PGconn *conn) ...@@ -1201,6 +1201,12 @@ PQgetssl(PGconn *conn)
return NULL; return NULL;
return conn->ssl; return conn->ssl;
} }
#else
void *
PQgetssl(PGconn *conn)
{
return NULL;
}
#endif /* USE_SSL */ #endif /* USE_SSL */
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* $PostgreSQL: pgsql/src/interfaces/libpq/libpq-fe.h,v 1.109 2004/10/16 03:10:17 momjian Exp $ * $PostgreSQL: pgsql/src/interfaces/libpq/libpq-fe.h,v 1.110 2004/10/16 03:26:43 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -258,6 +258,8 @@ extern int PQsetClientEncoding(PGconn *conn, const char *encoding); ...@@ -258,6 +258,8 @@ extern int PQsetClientEncoding(PGconn *conn, const char *encoding);
#ifdef USE_SSL #ifdef USE_SSL
/* Get the SSL structure associated with a connection */ /* Get the SSL structure associated with a connection */
extern SSL *PQgetssl(PGconn *conn); extern SSL *PQgetssl(PGconn *conn);
#else
extern void *PQgetssl(PGconn *conn);
#endif #endif
/* Set verbosity for PQerrorMessage and PQresultErrorMessage */ /* Set verbosity for PQerrorMessage and PQresultErrorMessage */
......
...@@ -115,3 +115,7 @@ EXPORTS ...@@ -115,3 +115,7 @@ EXPORTS
PQsendQueryPrepared @ 111 PQsendQueryPrepared @ 111
PQdsplen @ 112 PQdsplen @ 112
PQserverVersion @ 113 PQserverVersion @ 113
PQgetssl @ 114
pg_char_to_encoding @ 115
pg_valid_server_encoding @ 116
pqsignal @ 117
...@@ -115,3 +115,7 @@ EXPORTS ...@@ -115,3 +115,7 @@ EXPORTS
PQsendQueryPrepared @ 111 PQsendQueryPrepared @ 111
PQdsplen @ 112 PQdsplen @ 112
PQserverVersion @ 113 PQserverVersion @ 113
PQgetssl @ 114
pg_char_to_encoding @ 115
pg_valid_server_encoding @ 116
pqsignal @ 117
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment