@@ -9,9 +9,6 @@
#include <algorithm>
#include <dirent.h>
-#include <dlfcn.h>
-#include <elf.h>
-#include <link.h>
#include <string.h>
#include <sys/types.h>
@@ -27,35 +24,6 @@
* \brief Image Processing Algorithm module manager
*/
-static bool isLibcameraInstalled()
-{
- /* musl doesn't declare _DYNAMIC in link.h, declare it manually. */
- extern ElfW(Dyn) _DYNAMIC[];
-
- /*
- * DT_RUNPATH (DT_RPATH when the linker uses old dtags) is removed on
- * install.
- */
- for (const ElfW(Dyn) *dyn = _DYNAMIC; dyn->d_tag != DT_NULL; ++dyn) {
- if (dyn->d_tag == DT_RUNPATH || dyn->d_tag == DT_RPATH)
- return false;
- }
-
- return true;
-}
-
-static std::string libcameraPath()
-{
- Dl_info info;
-
- /* Look up our own symbol. */
- int ret = dladdr(reinterpret_cast<void *>(libcameraPath), &info);
- if (ret == 0)
- return nullptr;
-
- return info.dli_fname;
-}
-
namespace libcamera {
LOG_DEFINE_CATEGORY(IPAManager)
@@ -151,8 +119,8 @@ IPAManager::IPAManager()
* path for the IPA from that point. We need to recurse one level of
* sub-directories to match the build tree.
*/
- if (!isLibcameraInstalled()) {
- std::string ipaBuildPath = utils::dirname(libcameraPath()) + "/../ipa";
+ if (!utils::isLibcameraInstalled()) {
+ std::string ipaBuildPath = utils::dirname(utils::libcameraPath()) + "/../ipa";
constexpr int maxDepth = 1;
LOG(IPAManager, Info)
Now that functions isLibcameraInstalled() and libcameraPath() are defined in utils, they don't need to be defined here again. Hence remove them and replace them with utils' functions. Signed-off-by: Kaaira Gupta <kgupta@es.iitr.ac.in> --- src/libcamera/ipa_manager.cpp | 36 ++--------------------------------- 1 file changed, 2 insertions(+), 34 deletions(-)