diff options
author | Sergei Golubchik <sergii@pisem.net> | 2014-10-02 16:58:26 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2014-10-02 16:58:26 +0200 |
commit | 604b6533940010e66ca1f75f23ad923632f63379 (patch) | |
tree | 9de8e1c8038f5d5a43f71a678c717a6bc0152d99 /scripts/mysql_config.sh | |
parent | 11242006adf0bed6f5042b69816360593c23a13a (diff) | |
download | mariadb-git-604b6533940010e66ca1f75f23ad923632f63379.tar.gz |
MDEV-5749 Please add a .pc file to MariaDB for easy use via pkg-config
1. move cflags/libs cleanup from mysql_config.sh (runtime)
to for_client.cmake (build time). Include/library paths are
still calculated at runtime (they depend on the location of mysql_config)
2. Use cleaned-up cflags/libs to generate mariadb.pc
3. remove obsolete @expansions@ from mysql_config (for variables that are
never set in cmake files)
Diffstat (limited to 'scripts/mysql_config.sh')
-rw-r--r-- | scripts/mysql_config.sh | 55 |
1 files changed, 5 insertions, 50 deletions
diff --git a/scripts/mysql_config.sh b/scripts/mysql_config.sh index e4640961b34..b742b28484d 100644 --- a/scripts/mysql_config.sh +++ b/scripts/mysql_config.sh @@ -97,7 +97,6 @@ fix_path pkgincludedir include/mysql version='@VERSION@' socket='@MYSQL_UNIX_ADDR@' -ldflags='@LDFLAGS@' if [ @MYSQL_TCP_PORT_DEFAULT@ -eq 0 ]; then port=0 @@ -106,58 +105,14 @@ else fi # Create options -# 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 +libs="-L$pkglibdir @RPATH_OPTION@ @LIBS_FOR_CLIENTS@" +embedded_libs="-L$pkglibdir @RPATH_OPTION@ @EMB_LIBS_FOR_CLIENTS@" include="-I$pkgincludedir" if [ "$basedir" != "/usr" ]; then include="$include -I$pkgincludedir/.." fi -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; *\$;;'` +cflags="$include @CFLAGS_FOR_CLIENTS@" usage () { cat <<EOF @@ -166,7 +121,7 @@ Options: --cflags [$cflags] --include [$include] --libs [$libs] - --libs_r [$libs_r] + --libs_r [$libs] --plugindir [$plugindir] --socket [$socket] --port [$port] @@ -187,7 +142,7 @@ while test $# -gt 0; do --cflags) echo "$cflags" ;; --include) echo "$include" ;; --libs) echo "$libs" ;; - --libs_r) echo "$libs_r" ;; + --libs_r) echo "$libs" ;; --plugindir) echo "$plugindir" ;; --socket) echo "$socket" ;; --port) echo "$port" ;; |