diff options
Diffstat (limited to 'eclass/mysql-multilib.eclass')
-rw-r--r-- | eclass/mysql-multilib.eclass | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/eclass/mysql-multilib.eclass b/eclass/mysql-multilib.eclass index def53ae5c7fd..69293f100497 100644 --- a/eclass/mysql-multilib.eclass +++ b/eclass/mysql-multilib.eclass @@ -503,12 +503,22 @@ mysql-multilib_disable_test() { # Perform some basic tests and tasks during pkg_pretend phase: mysql-multilib_pkg_pretend() { if [[ ${MERGE_TYPE} != binary ]] ; then - if use_if_iuse tokudb && [[ $(gcc-major-version) -lt 4 || \ - $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 7 ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + if use_if_iuse tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." eerror "Please use gcc-config to switch to gcc-4.7 or later version." die fi + # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi fi } |