aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.shlib8
-rw-r--r--src/interfaces/odbc/psqlodbc.c16
2 files changed, 18 insertions, 6 deletions
diff --git a/src/Makefile.shlib b/src/Makefile.shlib
index 1f06d19388e..467cfc18d77 100644
--- a/src/Makefile.shlib
+++ b/src/Makefile.shlib
@@ -6,7 +6,7 @@
# Copyright (c) 1998, Regents of the University of California
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.21 2000/06/28 18:29:13 petere Exp $
+# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.22 2000/07/07 01:23:43 momjian Exp $
#
#-------------------------------------------------------------------------
@@ -143,9 +143,9 @@ endif
ifeq ($(PORTNAME), linux)
shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
- LDFLAGS_SL := -Bdynamic -shared -soname $(shlib)
- LDFLAGS_ODBC := -Bsymbolic -lc -lm
- SHLIB_LINK += -lc
+ LD := $(CC)
+ LDFLAGS_SL := -shared -Wl,-soname,$(shlib)
+ LDFLAGS_ODBC := -lm
CFLAGS += $(CFLAGS_SL)
endif
diff --git a/src/interfaces/odbc/psqlodbc.c b/src/interfaces/odbc/psqlodbc.c
index 0df56ee1e76..a4598383fcd 100644
--- a/src/interfaces/odbc/psqlodbc.c
+++ b/src/interfaces/odbc/psqlodbc.c
@@ -33,8 +33,6 @@
GLOBAL_VALUES globals;
-BOOL _init(void);
-BOOL _fini(void);
RETCODE SQL_API SQLDummyOrdinal(void);
#ifdef WIN32
@@ -97,6 +95,20 @@ WSADATA wsaData;
#define FALSE (BOOL)0
#endif
+#ifdef __GNUC__
+
+/* This function is called at library initialization time. */
+
+static BOOL
+__attribute__((constructor))
+init(void)
+{
+ getGlobalDefaults(DBMS_NAME, ODBCINST_INI, FALSE);
+ return TRUE;
+}
+
+#else
+
/* These two functions do shared library initialziation on UNIX, well at least
* on Linux. I don't know about other systems.
*/