summaryrefslogtreecommitdiff
path: root/scripts/mysql_config.sh
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2014-10-08 09:35:00 +0200
committerSergei Golubchik <sergii@pisem.net>2014-10-08 09:35:00 +0200
commitdbda20caffbb22115b6f30069b716bc505c49d11 (patch)
tree5bc65ef535e3fbde4e5cef4115054d70465d8ed6 /scripts/mysql_config.sh
parent9329467e7941c6cc4b3a266ac2fc6ec4254eaf46 (diff)
downloadmariadb-git-dbda20caffbb22115b6f30069b716bc505c49d11.tar.gz
remove mariadb.pc file again, it cannot be added in a GA versionmariadb-5.5.40
Diffstat (limited to 'scripts/mysql_config.sh')
-rw-r--r--scripts/mysql_config.sh55
1 files changed, 50 insertions, 5 deletions
diff --git a/scripts/mysql_config.sh b/scripts/mysql_config.sh
index b742b28484d..e4640961b34 100644
--- a/scripts/mysql_config.sh
+++ b/scripts/mysql_config.sh
@@ -97,6 +97,7 @@ fix_path pkgincludedir include/mysql
version='@VERSION@'
socket='@MYSQL_UNIX_ADDR@'
+ldflags='@LDFLAGS@'
if [ @MYSQL_TCP_PORT_DEFAULT@ -eq 0 ]; then
port=0
@@ -105,14 +106,58 @@ else
fi
# Create options
-libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@"
-embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@"
+# We intentionally add a space to the beginning and end of lib strings, simplifies replace later
+libs=" $ldflags -L$pkglibdir @RPATH_OPTION@ -lmysqlclient @ZLIB_DEPS@ @NON_THREADED_LIBS@"
+libs="$libs @openssl_libs@ @STATIC_NSS_FLAGS@ "
+libs_r=" $ldflags -L$pkglibdir @RPATH_OPTION@ -lmysqlclient_r @ZLIB_DEPS@ @CLIENT_LIBS@ @openssl_libs@ "
+embedded_libs=" $ldflags -L$pkglibdir @RPATH_OPTION@ -lmysqld @LIBDL@ @ZLIB_DEPS@ @LIBS@ @WRAPLIBS@ @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
include="-I$pkgincludedir"
if [ "$basedir" != "/usr" ]; then
include="$include -I$pkgincludedir/.."
fi
-cflags="$include @CFLAGS_FOR_CLIENTS@"
+cflags="$include @CFLAGS@ " #note: end space!
+
+# Remove some options that a client doesn't have to care about
+# FIXME until we have a --cxxflags, we need to remove -Xa
+# and -xstrconst to make --cflags usable for Sun Forte C++
+# FIXME until we have a --cxxflags, we need to remove -AC99
+# to make --cflags usable for HP C++ (aCC)
+for remove in DDBUG_OFF DSAFE_MUTEX DUNIV_MUST_NOT_INLINE DFORCE_INIT_OF_VARS \
+ DEXTRA_DEBUG DHAVE_valgrind 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" AC99 \
+ unroll2 ip mp restrict
+do
+ # The first option we might strip will always have a space before it because
+ # we set -I$pkgincludedir as the first option
+ cflags=`echo "$cflags"|sed -e "s/ -$remove */ /g"`
+done
+cflags=`echo "$cflags"|sed -e 's/ *\$//'`
+
+# Same for --libs(_r)
+for remove in lmtmalloc static-libcxa i-static static-intel
+do
+ # We know the strings starts with a space
+ libs=`echo "$libs"|sed -e "s/ -$remove */ /g"`
+ libs_r=`echo "$libs_r"|sed -e "s/ -$remove */ /g"`
+ embedded_libs=`echo "$embedded_libs"|sed -e "s/ -$remove */ /g"`
+done
+
+# Strip trailing and ending space if any, and '+' (FIXME why?)
+libs=`echo "$libs" | sed -e 's; \+; ;g' | sed -e 's;^ *;;' | sed -e 's; *\$;;'`
+libs_r=`echo "$libs_r" | sed -e 's; \+; ;g' | sed -e 's;^ *;;' | sed -e 's; *\$;;'`
+embedded_libs=`echo "$embedded_libs" | sed -e 's; \+; ;g' | sed -e 's;^ *;;' | sed -e 's; *\$;;'`
usage () {
cat <<EOF
@@ -121,7 +166,7 @@ Options:
--cflags [$cflags]
--include [$include]
--libs [$libs]
- --libs_r [$libs]
+ --libs_r [$libs_r]
--plugindir [$plugindir]
--socket [$socket]
--port [$port]
@@ -142,7 +187,7 @@ while test $# -gt 0; do
--cflags) echo "$cflags" ;;
--include) echo "$include" ;;
--libs) echo "$libs" ;;
- --libs_r) echo "$libs" ;;
+ --libs_r) echo "$libs_r" ;;
--plugindir) echo "$plugindir" ;;
--socket) echo "$socket" ;;
--port) echo "$port" ;;