Message ID | 1494979600-32499-1-git-send-email-daniel.diaz@linaro.org |
---|---|
State | Accepted |
Commit | 2217871ac93765a0722c77427d5880154ae91ef9 |
Headers | show |
Ping.
Ping.
Pushed. Quoting Daniel Díaz Rodríguez (2017-06-07 07:14:22) > Ping. > > -- > ddiaz > > > On 30 May 2017 at 12:52, Dylan Baker <baker.dylan.c@gmail.com> wrote: > > Quoting Daniel Díaz (2017-05-16 17:06:40) > >> 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@linaro.org> > >> Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu> > >> --- > >> v2: Use CHECK_SYMBOL_EXISTS as suggested by Jan Vesely. > >> v3: Back to CHECK_FUNCTION_EXISTS. > >> v4: Use ${GBM_LIBRARIES} instead of 'gbm'. > >> v5: Add reviewed-by; hopefully final version. > >> > >> 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 > >> > > > > Sorry, I've been on vacation. I checked that this does still find GBM_BO_MAP on > > my system, and that it still compiles, > > > > Reviewed-by: Dylan Baker <dylan@pnwbakers.com> > _______________________________________________ > Piglit mailing list > Piglit@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/piglit
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)