From: Austin English Date: Mon, 6 Jun 2016 01:24:41 +0000 (-0500) Subject: app-emulation/wine: check if CC supports builtin_ms_va_list when attempting 64-bit... X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=0a6710c283b10eb3bb1c359e763f4003d4f81b8e;p=gentoo.git app-emulation/wine: check if CC supports builtin_ms_va_list when attempting 64-bit support --- 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 000000000000..f36fc2609a02 --- /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 + +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 e074f929d4e9..bdb29eb7b5d2 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 0b38bc822d2b..f4681ee10299 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 951e2bce58c3..6aa4664fff1b 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 971a77cbf618..35f0ebff19f9 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 971a77cbf618..35f0ebff19f9 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 0e6073c0cc74..7c3d35a6fb07 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 25d8dafc728b..ec153803a9d2 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 885d311c7e5b..618f4dd7d901 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 885d311c7e5b..618f4dd7d901 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 4ee43c708425..8711bad95dff 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 971a77cbf618..35f0ebff19f9 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 971a77cbf618..35f0ebff19f9 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