multimedia/kodi-devel: Unbreak when objdump is missing
Use readelf to find library sonames instead which are used to fill in the blanks in xbmc/DllPaths_generated.h.in.
This commit is contained in:
parent
1ba5d8b622
commit
f99b516a8e
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=474105
@ -0,0 +1,25 @@
|
||||
objdump might not be available everywhere; use readelf instead.
|
||||
|
||||
find_soname() is used to fill in the blanks in xbmc/DllPaths_generated.h.in
|
||||
|
||||
--- cmake/scripts/freebsd/Macros.cmake.orig 2018-06-30 06:25:00 UTC
|
||||
+++ cmake/scripts/freebsd/Macros.cmake
|
||||
@@ -78,15 +78,11 @@ function(find_soname lib)
|
||||
string(REGEX MATCH ".*lib${liblow}.so" ${lib}_FILENAME ${_TMP_FILENAME})
|
||||
endif()
|
||||
if(${lib}_FILENAME)
|
||||
- execute_process(COMMAND ${CMAKE_OBJDUMP} -p ${${lib}_FILENAME}
|
||||
- COMMAND grep SONAME.*${liblow}
|
||||
+ execute_process(COMMAND readelf -d ${${lib}_FILENAME}
|
||||
+ COMMAND awk "$2 == \"SONAME\" { printf \"%s\", substr($NF, 2, length($NF) - 2) }"
|
||||
ERROR_QUIET
|
||||
OUTPUT_VARIABLE ${lib}_SONAME)
|
||||
- string(REPLACE "SONAME " "" ${lib}_SONAME ${${lib}_SONAME})
|
||||
- string(STRIP ${${lib}_SONAME} ${lib}_SONAME)
|
||||
- if(VERBOSE)
|
||||
- message(STATUS "${lib} soname: ${${lib}_SONAME}")
|
||||
- endif()
|
||||
+ message(STATUS "${lib} soname: ${${lib}_SONAME}")
|
||||
set(${lib}_SONAME ${${lib}_SONAME} PARENT_SCOPE)
|
||||
endif()
|
||||
if(arg_REQUIRED AND NOT ${lib}_SONAME)
|
Loading…
Reference in New Issue
Block a user