commit:     0a6710c283b10eb3bb1c359e763f4003d4f81b8e
Author:     Austin English <wizardedit <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  6 01:24:41 2016 +0000
Commit:     Austin English <wizardedit <AT> gentoo <DOT> org>
CommitDate: Mon Jun  6 02:06:48 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a6710c2

app-emulation/wine: check if CC supports builtin_ms_va_list when attempting 
64-bit support

 app-emulation/wine/files/builtin_ms_va_list.c |  9 +++++++++
 app-emulation/wine/wine-1.8-r1.ebuild         |  9 +++++++--
 app-emulation/wine/wine-1.8.1-r1.ebuild       |  9 +++++++--
 app-emulation/wine/wine-1.8.2.ebuild          |  9 +++++++--
 app-emulation/wine/wine-1.9.10.ebuild         |  9 +++++++--
 app-emulation/wine/wine-1.9.11.ebuild         |  9 +++++++--
 app-emulation/wine/wine-1.9.4-r1.ebuild       |  9 +++++++--
 app-emulation/wine/wine-1.9.5-r1.ebuild       | 11 ++++++++---
 app-emulation/wine/wine-1.9.6-r1.ebuild       |  9 +++++++--
 app-emulation/wine/wine-1.9.7-r1.ebuild       |  9 +++++++--
 app-emulation/wine/wine-1.9.8.ebuild          |  9 +++++++--
 app-emulation/wine/wine-1.9.9.ebuild          |  9 +++++++--
 app-emulation/wine/wine-9999.ebuild           |  9 +++++++--
 13 files changed, 94 insertions(+), 25 deletions(-)

diff --git a/app-emulation/wine/files/builtin_ms_va_list.c 
b/app-emulation/wine/files/builtin_ms_va_list.c
new file mode 100644
index 0000000..f36fc26
--- /dev/null
+++ b/app-emulation/wine/files/builtin_ms_va_list.c
@@ -0,0 +1,9 @@
+/* Taken from Wine's configure script. LGPL 2.1+ */
+
+#include <stdarg.h>
+
+int main(void)
+{
+    void func(__builtin_ms_va_list *args);
+    return 0;
+}

diff --git a/app-emulation/wine/wine-1.8-r1.ebuild 
b/app-emulation/wine/wine-1.8-r1.ebuild
index e074f92..bdb29eb 100644
--- a/app-emulation/wine/wine-1.8-r1.ebuild
+++ b/app-emulation/wine/wine-1.8-r1.ebuild
@@ -189,8 +189,13 @@ wine_build_environment_check() {
                fi
        fi
 
-       if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + 
$(gcc-minor-version) )) -lt 404 ]]; then
-               eerror "You need gcc-4.4+ to build 64-bit wine"
+       if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+       ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o 
"${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+               einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit 
wine"
+       else
+               eerror "This version of $(tc-getCC) does not support 
builtin_ms_va_list, can't enable 64-bit wine"
+               eerror
+               eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
                eerror
                return 1
        fi

diff --git a/app-emulation/wine/wine-1.8.1-r1.ebuild 
b/app-emulation/wine/wine-1.8.1-r1.ebuild
index 0b38bc8..f4681ee 100644
--- a/app-emulation/wine/wine-1.8.1-r1.ebuild
+++ b/app-emulation/wine/wine-1.8.1-r1.ebuild
@@ -190,8 +190,13 @@ wine_build_environment_check() {
                fi
        fi
 
-       if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + 
$(gcc-minor-version) )) -lt 404 ]]; then
-               eerror "You need gcc-4.4+ to build 64-bit wine"
+       if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+       ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o 
"${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+               einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit 
wine"
+       else
+               eerror "This version of $(tc-getCC) does not support 
builtin_ms_va_list, can't enable 64-bit wine"
+               eerror
+               eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
                eerror
                return 1
        fi

diff --git a/app-emulation/wine/wine-1.8.2.ebuild 
b/app-emulation/wine/wine-1.8.2.ebuild
index 951e2bc..6aa4664 100644
--- a/app-emulation/wine/wine-1.8.2.ebuild
+++ b/app-emulation/wine/wine-1.8.2.ebuild
@@ -190,8 +190,13 @@ wine_build_environment_check() {
                fi
        fi
 
-       if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + 
$(gcc-minor-version) )) -lt 404 ]]; then
-               eerror "You need gcc-4.4+ to build 64-bit wine"
+       if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+       ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o 
"${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+               einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit 
wine"
+       else
+               eerror "This version of $(tc-getCC) does not support 
builtin_ms_va_list, can't enable 64-bit wine"
+               eerror
+               eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
                eerror
                return 1
        fi

diff --git a/app-emulation/wine/wine-1.9.10.ebuild 
b/app-emulation/wine/wine-1.9.10.ebuild
index 971a77c..35f0ebf 100644
--- a/app-emulation/wine/wine-1.9.10.ebuild
+++ b/app-emulation/wine/wine-1.9.10.ebuild
@@ -192,8 +192,13 @@ wine_build_environment_check() {
                fi
        fi
 
-       if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + 
$(gcc-minor-version) )) -lt 404 ]]; then
-               eerror "You need gcc-4.4+ to build 64-bit wine"
+       if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+       ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o 
"${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+               einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit 
wine"
+       else
+               eerror "This version of $(tc-getCC) does not support 
builtin_ms_va_list, can't enable 64-bit wine"
+               eerror
+               eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
                eerror
                return 1
        fi

diff --git a/app-emulation/wine/wine-1.9.11.ebuild 
b/app-emulation/wine/wine-1.9.11.ebuild
index 971a77c..35f0ebf 100644
--- a/app-emulation/wine/wine-1.9.11.ebuild
+++ b/app-emulation/wine/wine-1.9.11.ebuild
@@ -192,8 +192,13 @@ wine_build_environment_check() {
                fi
        fi
 
-       if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + 
$(gcc-minor-version) )) -lt 404 ]]; then
-               eerror "You need gcc-4.4+ to build 64-bit wine"
+       if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+       ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o 
"${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+               einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit 
wine"
+       else
+               eerror "This version of $(tc-getCC) does not support 
builtin_ms_va_list, can't enable 64-bit wine"
+               eerror
+               eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
                eerror
                return 1
        fi

diff --git a/app-emulation/wine/wine-1.9.4-r1.ebuild 
b/app-emulation/wine/wine-1.9.4-r1.ebuild
index 0e6073c..7c3d35a 100644
--- a/app-emulation/wine/wine-1.9.4-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.4-r1.ebuild
@@ -188,8 +188,13 @@ wine_build_environment_check() {
                fi
        fi
 
-       if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + 
$(gcc-minor-version) )) -lt 404 ]]; then
-               eerror "You need gcc-4.4+ to build 64-bit wine"
+       if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+       ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o 
"${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+               einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit 
wine"
+       else
+               eerror "This version of $(tc-getCC) does not support 
builtin_ms_va_list, can't enable 64-bit wine"
+               eerror
+               eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
                eerror
                return 1
        fi

diff --git a/app-emulation/wine/wine-1.9.5-r1.ebuild 
b/app-emulation/wine/wine-1.9.5-r1.ebuild
index 25d8daf..ec15380 100644
--- a/app-emulation/wine/wine-1.9.5-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.5-r1.ebuild
@@ -186,9 +186,14 @@ wine_build_environment_check() {
                        return 1
                fi
        fi
-
-       if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + 
$(gcc-minor-version) )) -lt 404 ]]; then
-               eerror "You need gcc-4.4+ to build 64-bit wine"
+    
+       if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+       ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o 
"${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+               einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit 
wine"
+       else
+               eerror "This version of $(tc-getCC) does not support 
builtin_ms_va_list, can't enable 64-bit wine"
+               eerror
+               eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
                eerror
                return 1
        fi

diff --git a/app-emulation/wine/wine-1.9.6-r1.ebuild 
b/app-emulation/wine/wine-1.9.6-r1.ebuild
index 885d311..618f4dd 100644
--- a/app-emulation/wine/wine-1.9.6-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.6-r1.ebuild
@@ -187,8 +187,13 @@ wine_build_environment_check() {
                fi
        fi
 
-       if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + 
$(gcc-minor-version) )) -lt 404 ]]; then
-               eerror "You need gcc-4.4+ to build 64-bit wine"
+       if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+       ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o 
"${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+               einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit 
wine"
+       else
+               eerror "This version of $(tc-getCC) does not support 
builtin_ms_va_list, can't enable 64-bit wine"
+               eerror
+               eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
                eerror
                return 1
        fi

diff --git a/app-emulation/wine/wine-1.9.7-r1.ebuild 
b/app-emulation/wine/wine-1.9.7-r1.ebuild
index 885d311..618f4dd 100644
--- a/app-emulation/wine/wine-1.9.7-r1.ebuild
+++ b/app-emulation/wine/wine-1.9.7-r1.ebuild
@@ -187,8 +187,13 @@ wine_build_environment_check() {
                fi
        fi
 
-       if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + 
$(gcc-minor-version) )) -lt 404 ]]; then
-               eerror "You need gcc-4.4+ to build 64-bit wine"
+       if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+       ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o 
"${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+               einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit 
wine"
+       else
+               eerror "This version of $(tc-getCC) does not support 
builtin_ms_va_list, can't enable 64-bit wine"
+               eerror
+               eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
                eerror
                return 1
        fi

diff --git a/app-emulation/wine/wine-1.9.8.ebuild 
b/app-emulation/wine/wine-1.9.8.ebuild
index 4ee43c7..8711bad 100644
--- a/app-emulation/wine/wine-1.9.8.ebuild
+++ b/app-emulation/wine/wine-1.9.8.ebuild
@@ -187,8 +187,13 @@ wine_build_environment_check() {
                fi
        fi
 
-       if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + 
$(gcc-minor-version) )) -lt 404 ]]; then
-               eerror "You need gcc-4.4+ to build 64-bit wine"
+       if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+       ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o 
"${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+               einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit 
wine"
+       else
+               eerror "This version of $(tc-getCC) does not support 
builtin_ms_va_list, can't enable 64-bit wine"
+               eerror
+               eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
                eerror
                return 1
        fi

diff --git a/app-emulation/wine/wine-1.9.9.ebuild 
b/app-emulation/wine/wine-1.9.9.ebuild
index 971a77c..35f0ebf 100644
--- a/app-emulation/wine/wine-1.9.9.ebuild
+++ b/app-emulation/wine/wine-1.9.9.ebuild
@@ -192,8 +192,13 @@ wine_build_environment_check() {
                fi
        fi
 
-       if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + 
$(gcc-minor-version) )) -lt 404 ]]; then
-               eerror "You need gcc-4.4+ to build 64-bit wine"
+       if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+       ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o 
"${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+               einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit 
wine"
+       else
+               eerror "This version of $(tc-getCC) does not support 
builtin_ms_va_list, can't enable 64-bit wine"
+               eerror
+               eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
                eerror
                return 1
        fi

diff --git a/app-emulation/wine/wine-9999.ebuild 
b/app-emulation/wine/wine-9999.ebuild
index 971a77c..35f0ebf 100644
--- a/app-emulation/wine/wine-9999.ebuild
+++ b/app-emulation/wine/wine-9999.ebuild
@@ -192,8 +192,13 @@ wine_build_environment_check() {
                fi
        fi
 
-       if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + 
$(gcc-minor-version) )) -lt 404 ]]; then
-               eerror "You need gcc-4.4+ to build 64-bit wine"
+       if use abi_x86_64 && einfo "Checking for builtin_ms_va_list ..." && \
+       ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o 
"${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
+               einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit 
wine"
+       else
+               eerror "This version of $(tc-getCC) does not support 
builtin_ms_va_list, can't enable 64-bit wine"
+               eerror
+               eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
                eerror
                return 1
        fi

Reply via email to