new file mode 100644
@@ -0,0 +1,38 @@
+From ef1aaeee984ab13dab5d46c73e9b207cbdf62c55 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Leonard=20G=C3=B6hrs?= <l.goehrs@pengutronix.de>
+Date: Wed, 20 Dec 2023 14:37:20 +0100
+Subject: [PATCH] CMakeLists: do not use vendored libcurl
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [upstream ticket https://github.com/nxp-imx/bcu/issues/17]
+
+Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de>
+---
+ CMakeLists.txt | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3475179..bfecdb0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -17,15 +17,16 @@ pkg_check_modules(LIBFTDI REQUIRED libftdi1)
+ pkg_check_modules(LIBYAML REQUIRED yaml-0.1)
+ pkg_check_modules(LIBOPENSSL REQUIRED openssl)
+ pkg_check_modules(LIBUSB REQUIRED libusb-1.0)
++pkg_check_modules(LIBCURL REQUIRED libcurl)
+ project(bcu)
+-include_directories(${LIBUSB_INCLUDE_DIRS} ${LIBFTDI_INCLUDE_DIRS}include ${PROJECT_SOURCE_DIR}/libftdi/src ${LIBYAML_INCLUDEDIR} ${PROJECT_SOURCE_DIR}/libcurl/include)
++include_directories(${LIBUSB_INCLUDE_DIRS} ${LIBFTDI_INCLUDE_DIRS}include ${LIBYAML_INCLUDEDIR})
+ include_directories(${PROJECT_SOURCE_DIR})
+
+ message("operation system is ${CMAKE_SYSTEM}")
+ if (LINUX)
+ add_executable(bcu bcu.c port.c chip.c board.c bcu_parser.c bcu_yaml.c bcu_https.c bcu_ftdi_eeprom.c)
+ link_directories(${LIBUSB_LIBRARY_DIRS} ${LIBFTDI_LIBRARY_DIRS} ${LIBYAML_LIBRARY_DIRS})
+- target_link_libraries (bcu ${LIBUSB_LIBRARIES} ${LIBFTDI_LIBRARIES} ${LIBYAML_LIBRARIES} ${PROJECT_SOURCE_DIR}/libcurl/build.bcu/lib/libcurl.a -lpthread -lssl -lcrypto -lm)
++ target_link_libraries (bcu ${LIBUSB_LIBRARIES} ${LIBFTDI_LIBRARIES} ${LIBYAML_LIBRARIES} -lcurl -lpthread -lssl -lcrypto -lm)
+ execute_process( COMMAND ${PROJECT_SOURCE_DIR}/create_version_h.sh ${PROJECT_SOURCE_DIR}
+ COMMAND ${PROJECT_SOURCE_DIR}/build_libs.sh ${PROJECT_SOURCE_DIR})
+ install(TARGETS bcu DESTINATION bin)
new file mode 100644
@@ -0,0 +1,23 @@
+SUMMARY = "NXP Board Control Utilities"
+DESCRIPTION = "The NXP Board Control Utilities are able to control various \
+ features of NXP i.MX evaluation boards (EVK) from a host \
+ computer. \
+ Features like resetting the board, selecting the boot mode, \
+ monitoring power consumption, programming the EEPROM and others"
+HOMEPAGE = "https://github.com/nxp-imx/bcu"
+SECTION = "devel"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=884d48c2aa7b82e1ad4a33909fab24b6"
+
+SRC_URI = "git://github.com/nxp-imx/bcu;protocol=https;branch=master \
+ file://0001-CMakeLists-do-not-use-vendored-libcurl.patch \
+ "
+SRCREV = "c34d89b29f3d0d12793cd78b194d2f1d11728baf"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "curl libyaml libusb1 openssl libftdi"
+
+inherit cmake pkgconfig
+
+BBCLASSEXTEND = "native nativesdk"
The bcu command can be used to communicate with board control hardware on NXP EVK development boards to: - reset / power cycle the board into a specified boot mode. - monitor the power consumption. - read / write the eeprom content. - measure temperatures. - etc. Supported boards are e.g.: - i.MX8MP-EVK - i.MX8DXL-EVK - i.MX8ULP-EVK - i.MX93-EVK The tool can either be built for the target architecture to control a board from a system running Yocto (less common) or for the host architecture to run it via `oe-run-native bcu-native bcu`. Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de> --- ...akeLists-do-not-use-vendored-libcurl.patch | 38 +++++++++++++++++++ meta-oe/recipes-support/bcu/bcu_1.1.100.bb | 23 +++++++++++ 2 files changed, 61 insertions(+) create mode 100644 meta-oe/recipes-support/bcu/bcu/0001-CMakeLists-do-not-use-vendored-libcurl.patch create mode 100644 meta-oe/recipes-support/bcu/bcu_1.1.100.bb