0003-CMakeLists.txt-fix-static-build-with-libusb-and-lato.patch 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. From b5b8fab6063ad90bb5ef05a72708ecde1796bc81 Mon Sep 17 00:00:00 2001
  2. From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  3. Date: Fri, 13 May 2022 18:11:50 +0200
  4. Subject: [PATCH] CMakeLists.txt: fix static build with libusb and -latomic
  5. Use pkg-config to retrieve libusb dependencies such as -latomic and
  6. avoid the following static build failure:
  7. /nvmedata/autobuild/instance-29/output-1/per-package/libftdi1/host/bin/../lib/gcc/sparc-buildroot-linux-uclibc/10.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: /nvmedata/autobuild/instance-29/output-1/per-package/libftdi1/host/sparc-buildroot-linux-uclibc/sysroot/lib/libusb-1.0.a(core.o): in function `libusb_unref_device':
  8. /nvmedata/autobuild/instance-29/output-1/build/libusb-1.0.25/libusb/core.c:1186: undefined reference to `__atomic_fetch_add_4'
  9. Fixes:
  10. - http://autobuild.buildroot.org/results/1ca7cd85ae60ad4797a6d8a83b2fb51d7eab96d9
  11. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  12. [Retrieved from:
  13. http://developer.intra2net.com/git/?p=libftdi;a=commit;h=b5b8fab6063ad90bb5ef05a72708ecde1796bc81]
  14. ---
  15. CMakeLists.txt | 12 ++++++++++--
  16. 1 files changed, 10 insertions(+), 2 deletions(-)
  17. diff --git a/CMakeLists.txt b/CMakeLists.txt
  18. index 58f664a..d20aa94 100644
  19. --- a/CMakeLists.txt
  20. +++ b/CMakeLists.txt
  21. @@ -25,8 +25,16 @@ if(${CMAKE_BUILD_TYPE} STREQUAL Debug)
  22. endif(${CMAKE_BUILD_TYPE} STREQUAL Debug)
  23. # find libusb
  24. -find_package ( USB1 REQUIRED )
  25. -include_directories ( ${LIBUSB_INCLUDE_DIR} )
  26. +find_package( PkgConfig )
  27. +if (PkgConfig_FOUND)
  28. + pkg_check_modules( LIBUSB libusb-1.0 )
  29. + if (LIBUSB_FOUND)
  30. + include_directories ( ${LIBUSB_INCLUDE_DIRS} )
  31. + else()
  32. + find_package ( USB1 REQUIRED )
  33. + include_directories ( ${LIBUSB_INCLUDE_DIR} )
  34. + endif()
  35. +endif()
  36. # Find Boost
  37. if (FTDIPP OR BUILD_TESTS)
  38. --
  39. 1.7.1