summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2000-12-16 18:14:25 +0000
committerPeter Eisentraut2000-12-16 18:14:25 +0000
commite3507a3fbee921ffbdaca418272b33803e13a810 (patch)
treeae07c88c66878360a491a40c5b20f5848df3fd84
parent7e72659217ecd6c61f82ef2a9f92923b7c95c6cd (diff)
Fix linker options for ODBC driver. See comment in
src/interfaces/odbc/GNUmakefile.
-rw-r--r--src/interfaces/odbc/GNUmakefile5
-rw-r--r--src/makefiles/Makefile.bsdi1
-rw-r--r--src/makefiles/Makefile.freebsd1
-rw-r--r--src/makefiles/Makefile.irix51
-rw-r--r--src/makefiles/Makefile.linux1
-rw-r--r--src/makefiles/Makefile.netbsd1
-rw-r--r--src/makefiles/Makefile.openbsd1
-rw-r--r--src/makefiles/Makefile.solaris2
-rw-r--r--src/makefiles/Makefile.unixware2
9 files changed, 14 insertions, 1 deletions
diff --git a/src/interfaces/odbc/GNUmakefile b/src/interfaces/odbc/GNUmakefile
index e8fc7dac34..ae9acb540c 100644
--- a/src/interfaces/odbc/GNUmakefile
+++ b/src/interfaces/odbc/GNUmakefile
@@ -30,6 +30,11 @@ all: all-lib
# Shared library stuff
include $(top_srcdir)/src/Makefile.shlib
+# Symbols must be resolved to the version in the shared library because
+# the driver manager (e.g., iodbc) provides some symbols with the same
+# names and we don't want those. (This issue is probably ELF specific.)
+LINK.shared += $(shlib_symbolic)
+
odbc_headers = isql.h isqlext.h iodbc.h
odbc_includedir = $(includedir)/iodbc
diff --git a/src/makefiles/Makefile.bsdi b/src/makefiles/Makefile.bsdi
index a95fd31234..943c179b70 100644
--- a/src/makefiles/Makefile.bsdi
+++ b/src/makefiles/Makefile.bsdi
@@ -15,6 +15,7 @@ endif
ifeq ($(DLSUFFIX), .so)
CFLAGS_SL = -fpic
export_dynamic = -export-dynamic
+shlib_symbolic = -Bsymbolic
else
CFLAGS_SL =
endif
diff --git a/src/makefiles/Makefile.freebsd b/src/makefiles/Makefile.freebsd
index 91a45a6363..ef5613f98f 100644
--- a/src/makefiles/Makefile.freebsd
+++ b/src/makefiles/Makefile.freebsd
@@ -3,6 +3,7 @@ AROPT = cr
ifdef ELF_SYSTEM
export_dynamic = -export-dynamic
rpath = -R$(libdir)
+shlib_symbolic = -Bsymbolic
endif
DLSUFFIX = .so
diff --git a/src/makefiles/Makefile.irix5 b/src/makefiles/Makefile.irix5
index 956c4217c4..d90fcd9a6e 100644
--- a/src/makefiles/Makefile.irix5
+++ b/src/makefiles/Makefile.irix5
@@ -1,6 +1,7 @@
MK_NO_LORDER= true
AROPT = crs
rpath = -Wl,-rpath,$(libdir)
+shlib_symbolic = -Wl,-B,symbolic
DLSUFFIX = .so
# PIC is default
diff --git a/src/makefiles/Makefile.linux b/src/makefiles/Makefile.linux
index 3834552ec3..11bef1572c 100644
--- a/src/makefiles/Makefile.linux
+++ b/src/makefiles/Makefile.linux
@@ -1,6 +1,7 @@
AROPT = crs
export_dynamic = -export-dynamic
rpath = -Wl,-rpath,$(libdir)
+shlib_symbolic = -Wl,-Bsymbolic
DLSUFFIX = .so
CFLAGS_SL = -fpic
diff --git a/src/makefiles/Makefile.netbsd b/src/makefiles/Makefile.netbsd
index a9fd5a43b4..5cb8085058 100644
--- a/src/makefiles/Makefile.netbsd
+++ b/src/makefiles/Makefile.netbsd
@@ -3,6 +3,7 @@ AROPT = cr
ifdef ELF_SYSTEM
export_dynamic = -Wl,-E
rpath = -Wl,-R$(libdir)
+shlib_symbolic = -Wl,-Bsymbolic
endif
DLSUFFIX = .so
diff --git a/src/makefiles/Makefile.openbsd b/src/makefiles/Makefile.openbsd
index eeaa40743f..2ce2ca8ba1 100644
--- a/src/makefiles/Makefile.openbsd
+++ b/src/makefiles/Makefile.openbsd
@@ -3,6 +3,7 @@ AROPT = cr
ifdef ELF_SYSTEM
export_dynamic = -Wl,-E
rpath = -R$(libdir)
+shlib_symbolic = -Bsymbolic
endif
DLSUFFIX = .so
diff --git a/src/makefiles/Makefile.solaris b/src/makefiles/Makefile.solaris
index a10fe218a3..cc33534208 100644
--- a/src/makefiles/Makefile.solaris
+++ b/src/makefiles/Makefile.solaris
@@ -8,7 +8,7 @@ rpath = -Wl,-rpath,$(libdir)
else
rpath = -Wl,-R$(libdir)
endif
-
+shlib_symbolic = -Wl,-Bsymbolic
DLSUFFIX = .so
ifeq ($(GCC), yes)
diff --git a/src/makefiles/Makefile.unixware b/src/makefiles/Makefile.unixware
index 698ea98118..bc2ddcad36 100644
--- a/src/makefiles/Makefile.unixware
+++ b/src/makefiles/Makefile.unixware
@@ -3,6 +3,8 @@ export_dynamic = -Wl,-Bexport
ifeq ($(ld_R_works), yes)
rpath = -Wl,-R$(libdir)
endif
+shlib_symbolic = -Wl,-Bsymbolic
+
DLSUFFIX = .so
ifeq ($(GCC), yes)
CFLAGS_SL = -fpic