blob: abb6544ec21e00b6859b951d999d6b2dc36b81cc [file] [log] [blame]
Andrew Geissler6aa7eec2023-03-03 12:41:14 -06001SUMMARY = "C library and tools for interacting with the linux GPIO character device"
2AUTHOR = "Bartosz Golaszewski <brgl@bgdev.pl>"
3
4require libgpiod-src.inc
5
6inherit autotools pkgconfig ptest
7
8SRC_URI += "file://run-ptest"
9
10PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
11
12# Enable cxx bindings by default.
13PACKAGECONFIG ?= " \
14 cxx \
15 ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
16"
17
18# Always build tools - they don't have any additional
19# requirements over the library.
20EXTRA_OECONF = "--enable-tools"
21
22DEPENDS += "autoconf-archive-native"
23
24PACKAGES =+ "${PN}-tools libgpiodcxx"
25FILES:${PN}-tools += " \
26 ${bindir}/gpiodetect \
27 ${bindir}/gpioinfo \
28 ${bindir}/gpioget \
29 ${bindir}/gpioset \
30 ${bindir}/gpiomon \
31"
32FILES:${PN}-ptest += " \
33 ${bindir}/gpiod-test \
34 ${bindir}/gpio-tools-test \
35 ${bindir}/gpio-tools-test.bats \
36 ${bindir}/gpiod-cxx-test \
37"
38FILES:libgpiodcxx = "${libdir}/libgpiodcxx.so.*"
39
40RRECOMMENDS:${PN}-ptest += "coreutils"
41RDEPENDS:${PN}-ptest += "bats"
42
43do_install_ptest() {
44 install -d ${D}${PTEST_PATH}/tests/
45
46 # These are the core C library tests
47 install -m 0755 ${B}/tests/.libs/gpiod-test ${D}${PTEST_PATH}/tests/
48
49 # Tools are always built so let's always install them for ptest even if
50 # we're not selecting libgpiod-tools.
51 install -m 0755 ${S}/tools/gpio-tools-test ${D}${PTEST_PATH}/tests/
52 install -m 0755 ${S}/tools/gpio-tools-test.bats ${D}${PTEST_PATH}/tests/
53 for tool in ${FILES:${PN}-tools}; do
54 install ${B}/tools/.libs/$(basename $tool) ${D}${PTEST_PATH}/tests/
55 done
56
57 if ${@bb.utils.contains('PACKAGECONFIG', 'cxx', 'true', 'false', d)}; then
58 install -m 0755 ${B}/bindings/cxx/tests/.libs/gpiod-cxx-test ${D}${PTEST_PATH}/tests/
59 fi
60}
61