blob: 57f73eedc74c1c442a400c5a8219e70f5b912b77 [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001SUMMARY = "Tools for performance analysis"
2HOMEPAGE = "http://lmbench.sourceforge.net/"
3SECTION = "console/utils"
Andrew Geissler9aee5002022-03-30 16:27:02 +00004LICENSE = "GPL-2.0-only & GPL-2.0-with-lmbench-restriction"
Patrick Williamsb48b7b42016-08-17 15:04:38 -05005LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
6 file://COPYING-2;md5=8e9aee2ccc75d61d107e43794a25cdf9"
7
Andrew Geisslerd688a012020-09-18 13:36:00 -05008inherit autotools-brokensep update-alternatives
Patrick Williamsb48b7b42016-08-17 15:04:38 -05009
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080010DEPENDS += "libtirpc"
11CFLAGS += "-I${STAGING_INCDIR}/tirpc"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050012
Patrick Williamsb48b7b42016-08-17 15:04:38 -050013
14SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
15 file://lmbench-run \
16 file://rename-line-binary.patch \
17 file://update-results-script.patch \
18 file://obey-ranlib.patch \
19 file://update-config-script.patch \
Patrick Williamsb48b7b42016-08-17 15:04:38 -050020 file://lmbench_result_html_report.patch \
21 file://fix-lmbench-memory-check-failure.patch \
22 file://0001-avoid-gcc-optimize-away-the-loops.patch \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050023 file://0001-lat_http.c-Add-printf-format.patch \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050024 file://0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080025 file://0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch \
Andrew Geisslereef63862021-01-29 15:58:13 -060026 file://0001-lmbench-Point-webpage-lm-to-target-directory.patch \
27 file://0001-doc-Fix-typos-in-manual-pages.patch \
28 file://0001-lat_fifo-Fix-cleanup-sequence.patch \
Andrew Geissler97771a32021-03-05 15:23:11 -060029 file://0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch \
Andrew Geissler87f5cff2022-09-30 13:13:31 -050030 file://0001-bench.h-Fix-typo-in-specifying-string.h.patch \
31 file://0001-scripts-build-Fix-the-tests-to-build-with-clang15.patch \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050032 "
Patrick Williamsb48b7b42016-08-17 15:04:38 -050033SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf"
34SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551"
35
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080036UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/lmbench/files/development/"
37UPSTREAM_CHECK_REGEX = "lmbench-(?P<pver>\d+(\.\d+)+-[a-z]+\d+)"
38
Andrew Geissler87f5cff2022-09-30 13:13:31 -050039export OS = "${TARGET_SYS}"
40export TARGET = "${TARGET_OS}"
41
Patrick Williamsb48b7b42016-08-17 15:04:38 -050042EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \
Andrew Geissler87f5cff2022-09-30 13:13:31 -050043 LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \
Patrick Williamsb48b7b42016-08-17 15:04:38 -050044 TARGET="${TARGET_OS}" BASE="${prefix}" MANDIR="${mandir}"'
45
46do_configure() {
47 :
48}
49
50do_compile () {
Patrick Williamsddad1a12017-02-23 20:36:32 -060051 for CONFIG_SITE_ITEM in $CONFIG_SITE; do
52 . $CONFIG_SITE_ITEM
53 done
Patrick Williamsb48b7b42016-08-17 15:04:38 -050054 if [ X"$ac_cv_uint" = X"yes" ]; then
55 CFLAGS="${CFLAGS} -DHAVE_uint"
56 fi
57 install -d ${S}/bin/${TARGET_SYS}
Andrew Geissler87f5cff2022-09-30 13:13:31 -050058 ${S}/scripts/build
Patrick Williamsb48b7b42016-08-17 15:04:38 -050059}
60
61do_install () {
62 install -d ${D}${sysconfdir}/default/volatiles \
Brad Bishopc1d34332019-09-09 14:56:00 -040063 ${D}${bindir} ${D}${mandir} \
Patrick Williamsb48b7b42016-08-17 15:04:38 -050064 ${D}${datadir}/lmbench/scripts
65
66 echo "d root root 0755 ${localstatedir}/run/${BPN} none" \
67 > ${D}${sysconfdir}/default/volatiles/99_lmbench
68 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
69 install -d ${D}${sysconfdir}/tmpfiles.d
70 echo "d /run/${BPN} - - - -" \
71 > ${D}${sysconfdir}/tmpfiles.d/lmbench.conf
72 fi
73
74 oe_runmake BASE="${D}${prefix}" MANDIR="${D}${mandir}" \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080075 DESTDIR="${D}" \
Patrick Williamsb48b7b42016-08-17 15:04:38 -050076 -C src install
77 mv ${D}${bindir}/line ${D}${bindir}/lm_line
78 install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/
Andrew Geissler97771a32021-03-05 15:23:11 -060079 install -m 0755 ${S}/bin/${TARGET_SYS}/cache ${D}${bindir}/
Patrick Williamsb48b7b42016-08-17 15:04:38 -050080 sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${BPN},;' \
Patrick Williamsb48b7b42016-08-17 15:04:38 -050081 -e 's,^CONFIG=.*$,CONFIG=`$SCRIPTSDIR/config`,;' \
82 ${D}${bindir}/lmbench-run
83 install -m 0755 ${S}/scripts/lmbench ${D}${bindir}
84 install -m 0755 ${S}/scripts/* ${D}${datadir}/lmbench/scripts
Andrew Geisslereef63862021-01-29 15:58:13 -060085 install -m 0644 ${S}/src/webpage-lm.tar ${D}${datadir}/lmbench
Patrick Williamsb48b7b42016-08-17 15:04:38 -050086}
87
Patrick Williams213cb262021-08-07 19:21:33 -050088pkg_postinst:${PN} () {
Patrick Williamsb48b7b42016-08-17 15:04:38 -050089 if [ -z "$D" ]; then
90 if command -v systemd-tmpfiles >/dev/null; then
91 systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/lmbench.conf
92 elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
93 ${sysconfdir}/init.d/populate-volatile.sh update
94 fi
95 fi
96}
97
Patrick Williams213cb262021-08-07 19:21:33 -050098RDEPENDS:${PN} = "perl"
99FILES:${PN} += "${datadir}/lmbench"
Andrew Geisslerd688a012020-09-18 13:36:00 -0500100
Andrew Geissler6aa7eec2023-03-03 12:41:14 -0600101ALTERNATIVE:${PN} = "stream hello"
Andrew Geisslerd688a012020-09-18 13:36:00 -0500102ALTERNATIVE_LINK_NAME[stream] = "${bindir}/stream"
Andrew Geissler6aa7eec2023-03-03 12:41:14 -0600103ALTERNATIVE_LINK_NAME[hello] = "${bindir}/hello"