summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortsmith@ramayana.hindu.god <>2008-02-14 01:05:25 -0700
committertsmith@ramayana.hindu.god <>2008-02-14 01:05:25 -0700
commitcd6e2ad99f478e1e5f457e396863a1ca2a545198 (patch)
tree357b2b77172635cad67d920c00ace1c0726d8b18
parent0e4b6ea058103698bb53f1fd3d44a76408309d72 (diff)
downloadmariadb-git-cd6e2ad99f478e1e5f457e396863a1ca2a545198.tar.gz
Bug #21158 mysql_config doesn't include -lmygcc
Add -lmygcc to mysql_config output for libs, libs_r, and embedded_libs. Required when linking against our static libs, if yassl is used, and gcc used to build library is significantly different from that which is using the library.
-rw-r--r--scripts/mysql_config.sh11
1 files changed, 11 insertions, 0 deletions
diff --git a/scripts/mysql_config.sh b/scripts/mysql_config.sh
index ae58655ed0f..8abad75bc2a 100644
--- a/scripts/mysql_config.sh
+++ b/scripts/mysql_config.sh
@@ -107,6 +107,16 @@ libs="$libs @openssl_libs@ @STATIC_NSS_FLAGS@ "
libs_r=" $ldflags -L$pkglibdir -lmysqlclient_r @ZLIB_DEPS@ @LIBS@ @openssl_libs@ "
embedded_libs=" $ldflags -L$pkglibdir -lmysqld @ZLIB_DEPS@ @LIBS@ @WRAPLIBS@ @innodb_system_libs@ @openssl_libs@ "
+if [ -r "$pkglibdir/libmygcc.a" ]; then
+ # When linking against the static library with a different version of GCC
+ # from what was used to compile the library, some symbols may not be defined
+ # automatically. We package the libmygcc.a from the build host, to provide
+ # definitions for those. Bugs 4921, 19561, 19817, 21158, etc.
+ libs="$libs -lmygcc "
+ libs_r="$libs_r -lmygcc "
+ embedded_libs="$embedded_libs -lmygcc "
+fi
+
cflags="-I$pkgincludedir @CFLAGS@ " #note: end space!
include="-I$pkgincludedir"
@@ -116,6 +126,7 @@ include="-I$pkgincludedir"
for remove in DDBUG_OFF DSAFEMALLOC USAFEMALLOC DSAFE_MUTEX \
DPEDANTIC_SAFEMALLOC DUNIV_MUST_NOT_INLINE DFORCE_INIT_OF_VARS \
DEXTRA_DEBUG DHAVE_purify O 'O[0-9]' 'xO[0-9]' 'W[-A-Za-z]*' \
+ 'mtune=[-A-Za-z0-9]*' 'mcpu=[-A-Za-z0-9]*' 'march=[-A-Za-z0-9]*' \
Xa xstrconst "xc99=none" \
unroll2 ip mp restrict
do