mysql-multilib.eclass: Require gcc-4.7 to be active on non-x86{,_64} platforms
authorBrian Evans <grknight@gentoo.org>
Thu, 12 Nov 2015 15:24:39 +0000 (10:24 -0500)
committerBrian Evans <grknight@gentoo.org>
Thu, 12 Nov 2015 15:24:39 +0000 (10:24 -0500)
Signed-off-by: Brian Evans <grknight@gentoo.org>
eclass/mysql-multilib.eclass

index def53ae5c7fd32c0e2609634943fbaca49b1aa51..69293f100497c176d9dde84a4a4084f1cc0e9fb0 100644 (file)
@@ -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
 }