diff --git a/CMakeLists.txt b/CMakeLists.txt index 196c4dc44..ec6a1bac2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1010,7 +1010,7 @@ endif() list(APPEND EXTRA_LIBRARIES ${CMAKE_DL_LIBS}) -if (HIDAPI_FOUND OR LibUSB_COMPILE_TEST_PASSED) +if (HIDAPI_FOUND OR LibUSB_FOUND) if (APPLE) if(DEPENDS) list(APPEND EXTRA_LIBRARIES "-framework Foundation -framework AppKit -framework IOKit -framework Security") diff --git a/cmake/CheckTrezor.cmake b/cmake/CheckTrezor.cmake index 82bb1168c..718760ace 100644 --- a/cmake/CheckTrezor.cmake +++ b/cmake/CheckTrezor.cmake @@ -176,7 +176,7 @@ if(Protobuf_FOUND AND USE_DEVICE_TREZOR) find_package(LibUSB) endif() - if (LibUSB_COMPILE_TEST_PASSED) + if (LibUSB_FOUND) add_definitions(-DHAVE_TREZOR_LIBUSB=1) if(LibUSB_INCLUDE_DIRS) include_directories(${LibUSB_INCLUDE_DIRS}) @@ -184,7 +184,7 @@ if(Protobuf_FOUND AND USE_DEVICE_TREZOR) endif() set(TREZOR_LIBUSB_LIBRARIES "") - if(LibUSB_COMPILE_TEST_PASSED) + if(LibUSB_FOUND) list(APPEND TREZOR_LIBUSB_LIBRARIES ${LibUSB_LIBRARIES} ${LIBUSB_DEP_LINKER}) message(STATUS "Trezor: compatible LibUSB found at: ${LibUSB_INCLUDE_DIRS}") elseif(USE_DEVICE_TREZOR_LIBUSB AND NOT ANDROID) diff --git a/cmake/FindLibUSB.cmake b/cmake/FindLibUSB.cmake index 3b698565f..5bf23f502 100644 --- a/cmake/FindLibUSB.cmake +++ b/cmake/FindLibUSB.cmake @@ -127,25 +127,6 @@ if ( LibUSB_FOUND ) message(WARNING "libudev library not found, binaries may fail to link.") endif() endif() - - check_library_exists ( "${LibUSB_LIBRARIES}" usb_open "" LibUSB_FOUND ) - check_library_exists ( "${LibUSB_LIBRARIES}" libusb_get_device_list "" LibUSB_VERSION_1.0 ) - check_library_exists ( "${LibUSB_LIBRARIES}" libusb_get_port_numbers "" LibUSB_VERSION_1.0.16 ) - - # Library 1.0.16+ compilation test. - # The check_library_exists does not work well on Apple with shared libs. - if (APPLE OR LibUSB_VERSION_1.0.16 OR STATIC) - try_compile(LibUSB_COMPILE_TEST_PASSED - ${CMAKE_BINARY_DIR} - "${CMAKE_CURRENT_LIST_DIR}/test-libusb-version.c" - CMAKE_FLAGS - "-DINCLUDE_DIRECTORIES=${LibUSB_INCLUDE_DIRS}" - "-DLINK_DIRECTORIES=${LibUSB_LIBRARIES}" - LINK_LIBRARIES ${LibUSB_LIBRARIES} ${TEST_COMPILE_EXTRA_LIBRARIES} - OUTPUT_VARIABLE OUTPUT) - unset(TEST_COMPILE_EXTRA_LIBRARIES) - message(STATUS "LibUSB Compilation test: ${LibUSB_COMPILE_TEST_PASSED}") - endif() endif ( LibUSB_FOUND ) if ( NOT LibUSB_FOUND ) diff --git a/cmake/test-libusb-version.c b/cmake/test-libusb-version.c deleted file mode 100644 index dd622ebbe..000000000 --- a/cmake/test-libusb-version.c +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (c) 2014-2024, The Monero Project -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without modification, are -// permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, this list of -// conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright notice, this list -// of conditions and the following disclaimer in the documentation and/or other -// materials provided with the distribution. -// -// 3. Neither the name of the copyright holder nor the names of its contributors may be -// used to endorse or promote products derived from this software without specific -// prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL -// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include - -#define UNUSED(expr) (void)(expr) - -int main(int argc, char *argv[]) { - libusb_device **devs; - libusb_context *ctx = NULL; - - int r = libusb_init(&ctx); UNUSED(r); - ssize_t cnt = libusb_get_device_list(ctx, &devs); UNUSED(cnt); - - struct libusb_device_descriptor desc; - r = libusb_get_device_descriptor(devs[0], &desc); UNUSED(r); - uint8_t bus_id = libusb_get_bus_number(devs[0]); UNUSED(bus_id); - uint8_t addr = libusb_get_device_address(devs[0]); UNUSED(addr); - - uint8_t tmp_path[16]; - r = libusb_get_port_numbers(devs[0], tmp_path, sizeof(tmp_path)); - UNUSED(r); - UNUSED(tmp_path); - - libusb_free_device_list(devs, 1); - libusb_exit(ctx); -}