Jonathan Gray <[email protected]> writes: > On Mon, Dec 28, 2015 at 02:02:00PM +0100, Jrmie Courrges-Anglas wrote: >> Jonathan Gray <[email protected]> writes: >> >> > On Mon, Dec 28, 2015 at 01:27:50AM +0100, Jrmie Courrges-Anglas wrote: >> >> Stuart Henderson <[email protected]> writes: >> >> >> >> > On 2015/12/21 17:21, Jonathan Gray wrote: >> >> >> Waffle is another library along the lines of GLUT that provides a way >> >> >> to >> >> >> select a windowing system and api for OpenGL. >> >> >> >> >> >> This is primarily of interest for using the piglit OpenGL tests as >> >> >> Waffle is required for testing OpenGL ES. >> >> > >> >> > This fails on i386 (and presumably other 32-bit arch), >> >> > ports/devel/cmocka >> >> > already has a patch for this situation, but the file in the version of >> >> > cmocka that is bundled with waffle is a bit different, I don't really >> >> > have time to unpick it at the moment. >> >> >> >> Here's a backport of the cmocka fix (modulo sys/stdin.h -> stdint.h). >> >> Builds fine on i386. >> >> >> >> (That cmocka header is damn ugly...) >> >> >> >> $OpenBSD$ >> >> >> >> Avoid a conflicting typedef on 32-bit arch. >> >> >> >> --- third_party/cmocka/include/cmocka.h.orig Mon Dec 28 01:20:04 2015 >> >> +++ third_party/cmocka/include/cmocka.h Mon Dec 28 01:23:28 2015 >> >> @@ -81,6 +81,9 @@ int __stdcall IsDebuggerPresent(); >> >> #define cast_to_largest_integral_type(value) \ >> >> ((LargestIntegralType)((size_t)(value))) >> >> >> >> +#if defined(__OpenBSD__) >> >> +#include <stdint.h> >> >> +#else >> >> /* Smallest integral type capable of holding a pointer. */ >> >> #if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) >> >> # if defined(_WIN32) >> >> @@ -109,6 +112,7 @@ int __stdcall IsDebuggerPresent(); >> >> # define _UINTPTR_T >> >> # define _UINTPTR_T_DEFINED >> >> #endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */ >> >> +#endif /* !defined(__OpenBSD__) */ >> >> >> >> /* Perform an unsigned cast to uintptr_t. */ >> >> #define cast_to_pointer_integral_type(value) \ >> > >> > I wonder if we should instead have a uintptr_t define in stdint.h >> > and add !defined(_UINTPTR_T_DEFINED_) ? >> >> Well, that may "solve" the cmocka problem and would be consistent with >> its signed counterpart. But "_UINTPTR_T_DEFINED_" doesn't seem to exist >> anywhere outside of that cmocka.h header. >> >> cmocka builds on glibc/solaris rely on implementation details. IMHO an >> ugly ifdef __OpenBSD__ in the ports tree is better than hiding problems >> by relying on implementation details. Maybe we can propose a better diff >> upstream (eg rely on stdint.h); I'm volunteering. >> >> In the meantime, I'd rather use the same patch as in devel/cmocka. > > Yes, it makes sense to have the same fix in both places. I'm ok with > your diff.
Great, fix committed. (without REVISION bump, I doubt it changes anything on 64 bits archs.) -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
