diff options
author | Gregory M. Tuner <gmt@be-evil.net> | 2014-03-17 01:22:34 -0700 |
---|---|---|
committer | Gregory M. Tuner <gmt@be-evil.net> | 2014-03-17 01:29:41 -0700 |
commit | cc3bbea3cae81b6d9a7616f54be4c998bb92e4a0 (patch) | |
tree | b710fe1674e6c74f816c5f05cfb23f928bdf21c3 /eclass/mysql-cmake-multilib.eclass | |
parent | net-libs/gnutls: update ChangeLog (should really be doing this everywhere... ... (diff) | |
download | gmt-cc3bbea3cae81b6d9a7616f54be4c998bb92e4a0.tar.gz gmt-cc3bbea3cae81b6d9a7616f54be4c998bb92e4a0.tar.bz2 gmt-cc3bbea3cae81b6d9a7616f54be4c998bb92e4a0.zip |
eclass/mysql-{v2,cmake-multilib}: merge upstream
Here we merge upstream (nb: these two eclasses, and the ebuilds in
dev-db/mysql are following the mysql overlay, not gentoo-x86 like most
other stuff in this overlay) deltas.
Something changed (I suspect, something in my workstation's kernel
configuration that was breaking systemtap entirely, causing mysql
to steer clear of it and, until now, thereby hiding this bug on my
test box)
So make sure to explicitly disable systemtap in the minimal build (which
will also be used for non-best-ABI's.
Otherwise, this is 99% robo-merge with no intersting new content.
Signed-off-by: Gregory M. Tuner <gmt@be-evil.net>
Diffstat (limited to 'eclass/mysql-cmake-multilib.eclass')
-rw-r--r-- | eclass/mysql-cmake-multilib.eclass | 67 |
1 files changed, 36 insertions, 31 deletions
diff --git a/eclass/mysql-cmake-multilib.eclass b/eclass/mysql-cmake-multilib.eclass index 57f365b..3a05764 100644 --- a/eclass/mysql-cmake-multilib.eclass +++ b/eclass/mysql-cmake-multilib.eclass @@ -12,10 +12,10 @@ # @DESCRIPTION: # The mysql-cmake-multilib.eclass provides the support to build the mysql # ebuilds using the cmake build system. This eclass provides -# the src_prepare, src_configure, src_compile and src_install +# the src_prepare, src_configure, src_compile, and src_install # phase hooks. -inherit flag-o-matic multilib prefix mysql-cmake cmake-multilib +inherit flag-o-matic multilib prefix eutils mysql-cmake cmake-multilib # # HELPER FUNCTIONS: @@ -40,14 +40,8 @@ configure_cmake_minimal() { mycmakeargs+=( -DWITHOUT_SERVER=1 -DWITHOUT_EMBEDDED_SERVER=1 - -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=none -DINSTALL_SQLBENCHDIR= - -DWITH_SSL=system - -DWITH_ZLIB=system - -DWITHOUT_LIBWRAP=1 - -DWITH_READLINE=0 - -DWITH_LIBEDIT=0 -DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_CSV_STORAGE_ENGINE=1 @@ -59,6 +53,7 @@ configure_cmake_minimal() { -DWITHOUT_PARTITION_STORAGE_ENGINE=1 -DWITHOUT_INNOBASE_STORAGE_ENGINE=1 -DWITH_UNIT_TESTS=0 + -DENABLE_DTRACE=0 ) } @@ -69,13 +64,8 @@ configure_cmake_standard() { debug-print-function ${FUNCNAME} "$@" mycmakeargs+=( - -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DMYSQL_USER=mysql - -DWITH_READLINE=0 - -DWITH_LIBEDIT=0 - -DWITH_ZLIB=system - -DWITHOUT_LIBWRAP=1 ) mycmakeargs+=( @@ -85,18 +75,13 @@ configure_cmake_standard() { $(cmake-utils_use_with profiling) $(cmake-utils_use_enable systemtap DTRACE) $(cmake-utils_use_with test UNIT_TESTS) + $(cmake-utils_use_enable static-libs STATIC_LIBS) ) if use static; then mycmakeargs+=( -DWITH_PIC=1 ) fi - if use ssl; then - mycmakeargs+=( -DWITH_SSL=system ) - else - mycmakeargs+=( -DWITH_SSL=bundled ) - fi - if use jemalloc; then mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) fi @@ -118,7 +103,7 @@ configure_cmake_standard() { $(cmake-utils_use_with extraengine FEDERATED_STORAGE_ENGINE) ) - if pbxt_available ; then + if in_iuse pbxt ; then mycmakeargs+=( $(cmake-utils_use_with pbxt PBXT_STORAGE_ENGINE) ) fi @@ -131,12 +116,6 @@ configure_cmake_standard() { $(mysql-cmake_use_plugin pam AUTH_PAM) ) - if use jemalloc ; then - mycmakeargs+=( -DWITH_JEMALLOC="system" ) - else - mycmakeargs+=( -DWITH_JEMALLOC=no ) - fi - if mysql_version_is_at_least 10.0.5 ; then # CassandraSE needs Apache Thrift which is not in portage # TODO: Add use and deps for Connect SE external deps @@ -202,7 +181,8 @@ mysql-cmake-multilib_src_configure() { -DINSTALL_DOCREADMEDIR=share/doc/${P} -DINSTALL_INCLUDEDIR=include/mysql -DINSTALL_INFODIR=share/info - -DINSTALL_LIBDIR=@GET_LIBDIR@/mysql + -DINSTALL_LIBDIR=@GET_LIBDIR@ + -DINSTALL_ELIBDIR=@GET_LIBDIR@/mysql -DINSTALL_MANDIR=share/man -DINSTALL_MYSQLDATADIR=${EPREFIX}/var/lib/mysql -DINSTALL_MYSQLSHAREDIR=share/mysql @@ -214,29 +194,54 @@ mysql-cmake-multilib_src_configure() { -DINSTALL_SUPPORTFILESDIR=${EPREFIX}/usr/share/mysql -DMYSQL_UNIX_ADDR=${EPREFIX}/var/run/mysqld/mysqld.sock -DWITH_COMMENT="Gentoo Linux ${PF}" + -DWITH_READLINE=0 + -DWITH_LIBEDIT=0 + -DWITH_ZLIB=system + -DWITHOUT_LIBWRAP=1 + -DENABLED_LOCAL_INFILE=1 ) + if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && mysql_version_is_at_least "5.6.12" ; then + mycmakeargs+=( -DWITH_EDITLINE=system ) + fi + + if use ssl; then + mycmakeargs+=( -DWITH_SSL=system ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + # Bug 412851 - # MariaDB requires this flag to compile with GPLv3 readline linked + # MariaDB requires this flag to compile with GPLv3 realine linked # Adds a warning about redistribution to configure if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then mycmakeargs+=( -DNOT_FOR_DISTRIBUTION=1 ) fi + if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then + if use jemalloc ; then + mycmakeargs+=( -DWITH_JEMALLOC="system" ) + else + mycmakeargs+=( -DWITH_JEMALLOC=no ) + fi + # TODO: uncomment this when libpcre 8.35 is released to remove bundled library +# mysql_version_is_at_least "10.0.9" mycmakeargs+=( -DWITH_PCRE=system ) + fi + configure_cmake_locale # Bug #114895, bug #110149 filter-flags "-O" "-O[01]" CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing" - CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti" + CXXFLAGS="${CXXFLAGS} -felide-constructors" # Causes linkage failures. Upstream bug #59607 removes it if ! mysql_version_is_at_least "5.6" ; then CXXFLAGS="${CXXFLAGS} -fno-implicit-templates" fi - # As of 5.7, exceptions are used! + # As of 5.7, exceptions and rtti are used! if ! mysql_version_is_at_least "5.7" ; then - CXXFLAGS="${CXXFLAGS} -fno-exceptions" + CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-rtti" fi export CXXFLAGS |