[Piglit] [PATCH v3] CMake: define GBM_BO_MAP only when symbol is found

Jan Vesely jan.vesely at rutgers.edu
Tue May 16 00:38:08 UTC 2017


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 <daniel.diaz at linaro.org>
> ---
> 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)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/piglit/attachments/20170515/181c71a2/attachment.sig>


More information about the Piglit mailing list