| From 47697aee05a112422acf203982085e7b3e6c05b2 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org> |
| Date: Thu, 4 May 2017 00:57:39 -0500 |
| Subject: [PATCH 1/4] CMake: define GBM_BO_MAP only when symbol is found |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| 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. |
| |
| Upstream-Status: Submitted [piglit@lists.freedesktop.org] |
| |
| Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org> |
| Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu> |
| Reviewed-by: Dylan Baker <dylan@pnwbakers.com> |
| --- |
| CMakeLists.txt | 5 +++-- |
| 1 file changed, 3 insertions(+), 2 deletions(-) |
| |
| diff --git a/CMakeLists.txt b/CMakeLists.txt |
| index a4ff99e..cc26fa8 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) |
| + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${GBM_LIBRARIES}) |
| + 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) |
| -- |
| 1.9.1 |
| |