Created attachment 166008 [details] Fix emulators/wine and emulators/wine-devel build with clang 3.8.0 During the exp-run in bug 206074, it was found that emulators/wine and emulators/wine-devel give errors with a recent clang 3.8.0 snapshot [1]: eventlog.c:997:5: error: 'va_start' used in Win64 ABI function __ms_va_start( valist, number ); ^ ../../include/windef.h:90:35: note: expanded from macro '__ms_va_start' # define __ms_va_start(list,arg) __builtin_ms_va_start(list,arg) ^ <command line>:5:31: note: expanded from here #define __builtin_ms_va_start __builtin_va_start ^ This is because the port Makefile explicitly defines __builtin_ms_va_list as __builtin_va_list, __builtin_ms_va_start as __builtin_va_start, and so on, for clang. For clang 3.8.0 and higher this is no longer needed, as it supports the 'native' MS varargs builtins now. The attached patch adds a version check. [1] http://package18.nyi.freebsd.org/data/headamd64PR206074-default/2016-01-15_15h26m58s/logs/errors/wine-1.8,1.log [2] http://package18.nyi.freebsd.org/data/headamd64PR206074-default/2016-01-15_15h26m58s/logs/errors/wine-devel-1.9.1,1.log
A commit references this bug: Author: gerald Date: Sun Feb 7 21:22:15 UTC 2016 New revision: 408456 URL: https://svnweb.freebsd.org/changeset/ports/408456 Log: Fix the build with clang 3.8.0 or later which support "native" Windows varargs builtins. PR: 206527 Submitted by: dim Changes: head/emulators/wine-devel/Makefile
Thank you, Dimitry! I applied your patch to wine-devel for now and plan on doing the same with wine in a few days. Appreciate you not just reporting this, but diagnosing it and even providing a patch. Koobs, agree this is a good candidate for the quarterly branch if someone wants to apply it there.
A commit references this bug: Author: gerald Date: Thu Feb 11 10:58:05 UTC 2016 New revision: 408683 URL: https://svnweb.freebsd.org/changeset/ports/408683 Log: Fix the build with clang 3.8.0 or later which support "native" Windows varargs builtins. PR: 206527 Submitted by: dim Changes: head/emulators/wine/Makefile
Now also pushed back to the stable emulators/wine port. Thanks again!
A commit references this bug: Author: gerald Date: Tue Feb 16 13:56:25 UTC 2016 New revision: 408996 URL: https://svnweb.freebsd.org/changeset/ports/408996 Log: On FreeBSD 9.x, even when CHOSEN_COMPILER_TYPE from Mk/Uses/compiler.mk is set to clang, COMPILER_VERSION is still at 42 from the system compiler that is GCC 4.2. Work around this for the time being, while retaining the fix from PR 206527, by special casing this situation. PR: 206527 Changes: head/emulators/wine-devel/Makefile
A commit references this bug: Author: gerald Date: Sun Apr 17 09:52:56 UTC 2016 New revision: 413495 URL: https://svnweb.freebsd.org/changeset/ports/413495 Log: Force the use of GCC where it is the system compiler since COMPILER_VERSION will be 42 (the GCC version) even if clang is CHOSEN_COMPILER_TYPE in that case. PR: 206527 Changes: head/emulators/wine/Makefile
A commit references this bug: Author: gerald Date: Sun Apr 17 10:03:13 UTC 2016 New revision: 413496 URL: https://svnweb.freebsd.org/changeset/ports/413496 Log: Fix for old make on FreeBSD 9.x. USE_GCC=yes instead of USE_GCC=any there. PR: 206527 Changes: head/emulators/wine/Makefile
A commit references this bug: Author: gerald Date: Sun May 15 14:08:35 UTC 2016 New revision: 415230 URL: https://svnweb.freebsd.org/changeset/ports/415230 Log: Fix the build on FreeBSD 9.x by backporting r413495 and r413496 from mainline after a month: Force the use of GCC where it is the system compiler since COMPILER_VERSION will be 42 (the GCC version) even if clang is CHOSEN_COMPILER_TYPE in that case. PR: 206527 Approved by: portmgr (blanket for build fixes) Changes: branches/2016Q2/emulators/wine/Makefile