On Mon, 2017-05-15 at 18:54 -0500, Daniel Díaz wrote: > gbm_bo_map() and _unmap() have been added recently to Mesa, > and this update may not have reached all implementations of > GBM, such as the one provided by Mali r6, where said > definitions can be found in the header file but not in the > library itself. This leads to errors like the following when > linking: > ../../../../lib/libpiglitutil_gl.so.0: undefined reference to `gbm_bo_unmap' > ../../../../lib/libpiglitutil_gl.so.0: undefined reference to `gbm_bo_map' > collect2: error: ld returned 1 exit status > make[2]: *** [bin/point-sprite] Error 1 > > Instead of relying on the header file, actually try to link > using that symbol to determine if PIGLIT_HAS_GBM_BO_MAP > should be defined. > > Signed-off-by: Daniel Díaz <[email protected]> > --- > v2: Use CHECK_SYMBOL_EXISTS as suggested by Jan Vesely. > v3: Back to CHECK_FUNCTION_EXISTS.
yeah, sorry about that. Since we know that it's a function it does not
really matter.
>
> CMakeLists.txt | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index a4ff99e..b9e5050 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -141,8 +141,9 @@ IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
> if(GBM_FOUND)
> set(PIGLIT_HAS_GBM True)
> add_definitions(-DPIGLIT_HAS_GBM)
> - if (GBM_VERSION VERSION_EQUAL "12.1" OR GBM_VERSION
> VERSION_GREATER "12.1")
> - set(PIGLIT_HAS_GBM_BO_MAP True)
The variable is checked in DMA_BUF build condition ^^
> + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} gbm)
It'd be nicer/cleaner to use ${GBM_LIBRARIES} instead of 'gbm'
Jan
> + CHECK_FUNCTION_EXISTS(gbm_bo_map PIGLIT_HAS_GBM_BO_MAP)
> + if (PIGLIT_HAS_GBM_BO_MAP)
> add_definitions(-DPIGLIT_HAS_GBM_BO_MAP)
> endif()
> endif(GBM_FOUND)
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Piglit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/piglit
