18195512 mysql_config --libs in MySQL 5.5 don't return some libraries s11-update
authorLaasya Moduludu <laasya.moduludu@oracle.com>
Thu, 17 Apr 2014 21:50:14 -0700
branchs11-update
changeset 3080 d5755c2e7f35
parent 3079 68f0a63eb0c1
child 3084 08370e6501dc
18195512 mysql_config --libs in MySQL 5.5 don't return some libraries
components/mysql-5-5/patches/mysql_config.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/mysql-5-5/patches/mysql_config.patch	Thu Apr 17 21:50:14 2014 -0700
@@ -0,0 +1,91 @@
+=== modified file 'cmake/libutils.cmake'
+--- a/cmake/libutils.cmake	revid:[email protected]
++++ b/cmake/libutils.cmake	revid:[email protected]
[email protected]@ -1,4 +1,4 @@
+-# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
+ # 
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
[email protected]@ -158,6 +158,7 @@ MACRO(MERGE_STATIC_LIBS TARGET OUTPUT_NA
+   IF(OSLIBS)
+     LIST(REMOVE_DUPLICATES OSLIBS)
+     TARGET_LINK_LIBRARIES(${TARGET} ${OSLIBS})
++    MESSAGE(STATUS "Library ${TARGET} depends on OSLIBS ${OSLIBS}")
+   ENDIF()
+ 
+   # Make the generated dummy source file depended on all static input
+
+=== modified file 'scripts/CMakeLists.txt'
+--- a/scripts/CMakeLists.txt	revid:[email protected]
++++ b/scripts/CMakeLists.txt	revid:[email protected]
[email protected]@ -229,6 +229,11 @@
+ SET(pkgplugindir ${prefix}/${INSTALL_PLUGINDIR})
+ SET(localstatedir ${MYSQL_DATADIR})
+ 
++SET(RPATH_OPTION "")
++IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
++ SET(RPATH_OPTION "-R$pkglibdir")
++ENDIF()
++
+ # some scripts use  @[email protected]
+ IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
+   SET(TARGET_LINUX "true")
[email protected]@ -313,6 +318,9 @@
+     INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file}.pl COMPONENT Server_Scripts)
+   ENDFOREACH()
+ ELSE()
++# Configure this one, for testing, but do not install it.
++  CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql_config.pl.in
++    ${CMAKE_CURRENT_BINARY_DIR}/mysql_config.pl ESCAPE_QUOTES @ONLY)
+   # On Unix, most of the files end up in the bin directory
+   SET(mysql_config_COMPONENT COMPONENT Development)
+   SET(BIN_SCRIPTS
+
+=== modified file 'scripts/mysql_config.pl.in'
+--- a/scripts/mysql_config.pl.in	revid:[email protected]
++++ b/scripts/mysql_config.pl.in	revid:[email protected]
[email protected]@ -1,7 +1,7 @@
+ #!/usr/bin/perl
+ # -*- cperl -*-
+ #
+-# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ #
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
[email protected]@ -189,7 +189,7 @@ if ( $^O eq "MSWin32" )
+ }
+ else
+ {
+-  my $linkpath   = "-L$pkglibdir";
++  my $linkpath   = "-L$pkglibdir @[email protected]";
+   @lib_opts   = ($linkpath,"-lmysqlclient");
+   @lib_r_opts = ($linkpath,"-lmysqlclient_r");
+   @lib_e_opts = ($linkpath,"-lmysqld");
+
+=== modified file 'scripts/mysql_config.sh'
+--- a/scripts/mysql_config.sh	revid:[email protected]
++++ b/scripts/mysql_config.sh	revid:[email protected]
[email protected]@ -1,5 +1,5 @@
+ #!/bin/sh
+-# Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+ # 
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
[email protected]@ -110,10 +110,10 @@
+ 
+ # Create options 
+ # We intentionally add a space to the beginning and end of lib strings, simplifies replace later
+-libs=" $ldflags -L$pkglibdir -lmysqlclient @[email protected] @[email protected]"
++libs=" $ldflags -L$pkglibdir @[email protected] -lmysqlclient @[email protected] @[email protected]"
+ libs="$libs @[email protected] @[email protected] "
+-libs_r=" $ldflags -L$pkglibdir -lmysqlclient_r @[email protected] @[email protected] @[email protected] "
+-embedded_libs=" $ldflags -L$pkglibdir -lmysqld @[email protected] @[email protected] @[email protected] @[email protected] @[email protected] "
++libs_r=" $ldflags -L$pkglibdir  @[email protected] -lmysqlclient_r @[email protected] @[email protected] @[email protected] "
++embedded_libs=" $ldflags -L$pkglibdir @[email protected] -lmysqld @[email protected] @[email protected] @[email protected] @[email protected] @[email protected] "
+ 
+ if [ -r "$pkglibdir/libmygcc.a" ]; then
+   # When linking against the static library with a different version of GCC
+