blob: 61f36d724da5fc928cc54ebdd9ffead9d5aaf2ce [file] [log] [blame]
Brad Bishopd7bf8c12018-02-25 22:55:05 -05001SUMMARY = "Linux Library for low speed I/O Communication"
2HOMEPAGE = "https://github.com/intel-iot-devkit/mraa"
3SECTION = "libs"
4
5LICENSE = "MIT"
Andrew Geissler82c905d2020-04-13 13:39:40 -05006LIC_FILES_CHKSUM = "file://COPYING;md5=91e7de50a8d3cf01057f318d72460acd"
Brad Bishopd7bf8c12018-02-25 22:55:05 -05007
Patrick Williams705982a2024-01-12 09:51:57 -06008SRCREV = "3c288a09109969eef9c2da7d92d3c62f92a015cc"
Andrew Geissler4b7c1152020-11-30 19:55:29 -06009PV = "2.2.0+git${SRCPV}"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050010
Patrick Williams8e7b46e2023-05-01 14:19:06 -050011SRC_URI = "git://github.com/eclipse/${BPN}.git;protocol=https;branch=master \
Andrew Geissler82c905d2020-04-13 13:39:40 -050012 file://0001-cmake-Use-a-regular-expression-to-match-x86-architec.patch \
Patrick Williams705982a2024-01-12 09:51:57 -060013 file://0001-mraa-Use-posix-basename.patch \
14 file://0002-gpio-Include-limits.h-for-PATH_MAX.patch \
Brad Bishop316dfdd2018-06-25 12:45:53 -040015 "
Brad Bishopd7bf8c12018-02-25 22:55:05 -050016
17S = "${WORKDIR}/git"
18
19# CMakeLists.txt checks the architecture, only x86 and ARM supported for now
20COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
21
Andrew Geissler595f6302022-01-24 19:11:47 +000022inherit cmake setuptools3-base
Brad Bishopd7bf8c12018-02-25 22:55:05 -050023
24DEPENDS += "json-c"
25
Patrick Williams213cb262021-08-07 19:21:33 -050026EXTRA_OECMAKE:append = " -DINSTALLTOOLS:BOOL=ON -DFIRMATA=ON -DCMAKE_SKIP_RPATH=ON -DPYTHON2_LIBRARY=OFF \
Andrew Geissler1548c072019-02-22 16:03:50 -060027 -DPYTHON3_PACKAGES_PATH:PATH=${baselib}/python${PYTHON_BASEVERSION}/site-packages \
Brad Bishop2d39a062019-10-28 08:33:36 -040028 -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
29 -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
Andrew Geissler1548c072019-02-22 16:03:50 -060030 "
Brad Bishopd7bf8c12018-02-25 22:55:05 -050031
32# Prepend mraa-utils to make sure bindir ends up in there
33PACKAGES =+ "${PN}-utils"
34
Patrick Williams213cb262021-08-07 19:21:33 -050035FILES:${PN}-doc += "${datadir}/mraa/examples/"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050036
Patrick Williams213cb262021-08-07 19:21:33 -050037FILES:${PN}-utils = "${bindir}/"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050038
39# override this in local.conf to get needed bindings.
Patrick Williams213cb262021-08-07 19:21:33 -050040# BINDINGS:pn-mraa="python"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050041# will result in only the python bindings being built/packaged.
Brad Bishop316dfdd2018-06-25 12:45:53 -040042# Note: 'nodejs' is disabled by default because the bindings
43# generation currently fails with nodejs (>v7.x).
44BINDINGS ??= "python"
45
46# nodejs isn't available for armv4/armv5 architectures
Patrick Williams213cb262021-08-07 19:21:33 -050047BINDINGS:armv4 ??= "python"
48BINDINGS:armv5 ??= "python"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050049
50PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \
51 ${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}"
52
53PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN},"
54PACKAGECONFIG[nodejs] = "-DBUILDSWIGNODE=ON, -DBUILDSWIGNODE=OFF, swig-native nodejs-native,"
55PACKAGECONFIG[ft4222] = "-DUSBPLAT=ON -DFTDI4222=ON, -DUSBPLAT=OFF -DFTDI4222=OFF,, libft4222"
56
Patrick Williams213cb262021-08-07 19:21:33 -050057FILES:${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}/"
58RDEPENDS:${PYTHON_PN}-${PN} += "${PYTHON_PN}"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050059
Patrick Williams213cb262021-08-07 19:21:33 -050060FILES:node-${PN} = "${prefix}/lib/node_modules/"
61RDEPENDS:node-${PN} += "nodejs"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050062
63### Include desired language bindings ###
64PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'nodejs', 'node-${PN}', '', d)}"
65PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'python', '${PYTHON_PN}-${PN}', '', d)}"
Andrew Geissler82c905d2020-04-13 13:39:40 -050066
67TOOLCHAIN = "gcc"