diff --git a/cmake/DeployMacros.cmake b/cmake/DeployMacros.cmake index 61843968..fc8f0660 100644 --- a/cmake/DeployMacros.cmake +++ b/cmake/DeployMacros.cmake @@ -672,7 +672,7 @@ macro(deploy_target _T) string(REPLACE "${ANDROID_SYSROOT_${ANDROID_ABI}}" "${ANDROID_SYSROOT_${_a}}" _lib_${_a} "${_lib_}") #message("search = ${_a_prefix}/lib") __make_copy(_CMD_ _empty _lib_${_a} "${_AGD}/libs/${_a}") - set(_CMD_ ${_CMD_} COMMAND deploy_tool ${_VERB} ${_OPTIONS} -L "\"${CMAKE_READELF}\"" -s "\"${_a_prefix}/lib\"" -o "\"${_AGD}/libs/${_a}\"" --ignore "\"c:m:dl\"" "\"${_AGD}/libs/${_a}/lib${_AT}_${_a}.so\"" ${_ADD_DEPS}) + set(_CMD_ ${_CMD_} COMMAND deploy_tool ${_VERB} ${_OPTIONS} -W "\"${CMAKE_OBJDUMP}\"" -s "\"${_a_prefix}/lib\"" -o "\"${_AGD}/libs/${_a}\"" --ignore "\"c:m:dl\"" "\"${_AGD}/libs/${_a}/lib${_AT}_${_a}.so\"" ${_ADD_DEPS}) #message("c++_${_a} -> ${_lib_${_a}}") endif() endforeach() diff --git a/utils/deploy_tool/main.cpp b/utils/deploy_tool/main.cpp index 711dc1a4..5e1def98 100644 --- a/utils/deploy_tool/main.cpp +++ b/utils/deploy_tool/main.cpp @@ -182,16 +182,24 @@ void procLdd(PIString file, bool ext_lib = false, int cur_depth = 0) { if (!objdump.isEmpty()) { cmd = objdump + " -p " + file; cmd += " | grep \"DLL Name:\""; + lines = execute(cmd).split("\n"); + cmd = objdump + " -p " + file; + cmd += " | grep \"NEEDED\""; + lines << execute(cmd).split("\n"); + cmd.clear(); } if (!otool.isEmpty()) { cmd = otool + " -L " + file; cmd += " | grep -o \".*(\""; } //piCout << cmd; - lines = execute(cmd).split("\n"); + if (!cmd.isEmpty()) + lines = execute(cmd).split("\n"); if (!objdump.isEmpty()) { piForeach (PIString & l, lines) { - l.trim().cutLeft(9).trim(); + l.trim(); + if (l.startsWith("DLL")) l.cutLeft(9).trim(); + else l.cutLeft(6).trim(); l.append('.').prepend('.'); } }