BUG#3074: Unversioned symbols in shared library
libmysqlclient versioning when linked with GNU ld.
This commit is contained in:
parent
38e5a8f6d8
commit
f84b301bd1
@ -1057,3 +1057,4 @@ vio/test-ssl
|
||||
vio/test-sslclient
|
||||
vio/test-sslserver
|
||||
vio/viotest-ssl
|
||||
libmysql/libmysql.ver
|
||||
|
11
configure.in
11
configure.in
@ -11,7 +11,8 @@ AM_CONFIG_HEADER(config.h)
|
||||
PROTOCOL_VERSION=10
|
||||
DOT_FRM_VERSION=6
|
||||
# See the libtool docs for information on how to do shared lib versions.
|
||||
SHARED_LIB_VERSION=14:0:0
|
||||
SHARED_LIB_MAJOR_VERSION=14
|
||||
SHARED_LIB_VERSION=$SHARED_LIB_MAJOR_VERSION:0:0
|
||||
|
||||
# ndb version
|
||||
NDB_VERSION_MAJOR=4
|
||||
@ -68,6 +69,7 @@ AC_DEFINE_UNQUOTED([PROTOCOL_VERSION], [$PROTOCOL_VERSION],
|
||||
AC_SUBST(DOT_FRM_VERSION)
|
||||
AC_DEFINE_UNQUOTED([DOT_FRM_VERSION], [$DOT_FRM_VERSION],
|
||||
[Version of .frm files])
|
||||
AC_SUBST(SHARED_LIB_MAJOR_VERSION)
|
||||
AC_SUBST(SHARED_LIB_VERSION)
|
||||
AC_SUBST(AVAILABLE_LANGUAGES)
|
||||
AC_SUBST(AVAILABLE_LANGUAGES_ERRORS)
|
||||
@ -431,6 +433,13 @@ then
|
||||
fi
|
||||
fi
|
||||
|
||||
# libmysqlclient versioning when linked with GNU ld.
|
||||
if $LD --version 2>/dev/null|grep -q GNU; then
|
||||
LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_srcdir)/libmysql/libmysql.ver"
|
||||
AC_CONFIG_FILES(libmysql/libmysql.ver)
|
||||
fi
|
||||
AC_SUBST(LD_VERSION_SCRIPT)
|
||||
|
||||
# Avoid bug in fcntl on some versions of linux
|
||||
AC_MSG_CHECKING("if we should use 'skip-locking' as default for $target_os")
|
||||
# Any wariation of Linux
|
||||
|
@ -75,7 +75,7 @@ mysysobjects2 = my_lib.lo
|
||||
mysysobjects = $(mysysobjects1) $(mysysobjects2)
|
||||
target_libadd = $(mysysobjects) $(mystringsobjects) $(dbugobjects) \
|
||||
$(sql_cmn_objects) $(vio_objects) $(sqlobjects)
|
||||
target_ldflags = -version-info @SHARED_LIB_VERSION@
|
||||
target_ldflags = -version-info @SHARED_LIB_VERSION@ @LD_VERSION_SCRIPT@
|
||||
vio_objects= vio.lo viosocket.lo viossl.lo viosslfactories.lo
|
||||
CLEANFILES = $(target_libadd) $(SHLIBOBJS) \
|
||||
$(target)
|
||||
|
1
libmysql/libmysql.ver.in
Normal file
1
libmysql/libmysql.ver.in
Normal file
@ -0,0 +1 @@
|
||||
libmysqlclient_@SHARED_LIB_MAJOR_VERSION@ { global: *; };
|
Loading…
x
Reference in New Issue
Block a user