From c5da8fbe16caefe077116c35df01d37280bada1c Mon Sep 17 00:00:00 2001 From: "Tatiana A. Nurnberg" Date: Mon, 10 Nov 2008 22:12:15 +0100 Subject: Bug#34025: mysql_config is not returning -ldl lib flag needed when using embedded server mysql_config did not output -ldl (or equivalent) when needed for --libmysqld-libs, so its output could be insufficient to build an application using the embedded server. LIBDL was already set in configure; it's now propagated all the way into the relevant mysql_config scripts. scripts/Makefile.am: We "manually" replace configure's constants in .sh scripts using sed, so AC_SUBST() alone is not good enough. Add LIBDL to the substitution list; we'll be needing it for mysql_config --libmysqld-libs scripts/mysql_config.pl.in: Add LIBDL (usually -ldl) to output of mysql_config --libmysqld-libs (perl version) scripts/mysql_config.sh: Add LIBDL (usually -ldl) to output of mysql_config --libmysqld-libs (shell version) --- scripts/Makefile.am | 1 + scripts/mysql_config.pl.in | 2 +- scripts/mysql_config.sh | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/Makefile.am b/scripts/Makefile.am index ac43bb7b0a4..0292617c7a5 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -162,6 +162,7 @@ SUFFIXES = .sh -e 's!@''CFLAGS''@!@CFLAGS@!'\ -e 's!@''CXXFLAGS''@!@CXXFLAGS@!'\ -e 's!@''LDFLAGS''@!@LDFLAGS@!'\ + -e 's!@''LIBDL''@!@LIBDL@!'\ -e 's!@''CLIENT_LIBS''@!@CLIENT_LIBS@!' \ -e 's!@''ZLIB_LIBS''@!@ZLIB_LIBS@!' \ -e 's!@''LIBS''@!@LIBS@!' \ diff --git a/scripts/mysql_config.pl.in b/scripts/mysql_config.pl.in index 3ae8baf7db0..21896711fa8 100644 --- a/scripts/mysql_config.pl.in +++ b/scripts/mysql_config.pl.in @@ -202,7 +202,7 @@ $flags->{libs} = $flags->{libs_r} = [@ldflags,@lib_r_opts,'@ZLIB_DEPS@','@LIBS@','@openssl_libs@']; $flags->{embedded_libs} = - [@ldflags,@lib_e_opts,'@ZLIB_DEPS@','@LIBS@','@WRAPLIBS@','@innodb_system_libs@','@openssl_libs@']; + [@ldflags,@lib_e_opts,'@LIBDL@','@ZLIB_DEPS@','@LIBS@','@WRAPLIBS@','@innodb_system_libs@','@openssl_libs@']; $flags->{include} = ["-I$pkgincludedir"]; $flags->{cflags} = [@{$flags->{include}},split(" ",'@CFLAGS@')]; diff --git a/scripts/mysql_config.sh b/scripts/mysql_config.sh index c16d9bb62e5..efc82544bc0 100644 --- a/scripts/mysql_config.sh +++ b/scripts/mysql_config.sh @@ -107,7 +107,7 @@ fi libs=" $ldflags -L$pkglibdir -lmysqlclient @ZLIB_DEPS@ @NON_THREADED_LIBS@" 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@ " +embedded_libs=" $ldflags -L$pkglibdir -lmysqld @LIBDL@ @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 -- cgit v1.2.1