xref: /OK3568_Linux_fs/yocto/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "Tools for performance analysis"
2*4882a593SmuzhiyunHOMEPAGE = "http://lmbench.sourceforge.net/"
3*4882a593SmuzhiyunSECTION = "console/utils"
4*4882a593SmuzhiyunLICENSE = "GPL-2.0-only & GPL-2.0-with-lmbench-restriction"
5*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
6*4882a593Smuzhiyun                    file://COPYING-2;md5=8e9aee2ccc75d61d107e43794a25cdf9"
7*4882a593Smuzhiyun
8*4882a593Smuzhiyuninherit autotools-brokensep update-alternatives
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunDEPENDS += "libtirpc"
11*4882a593SmuzhiyunCFLAGS += "-I${STAGING_INCDIR}/tirpc"
12*4882a593SmuzhiyunLDLIBS += " -ltirpc "
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunPR = "r2"
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunSRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
17*4882a593Smuzhiyun           file://lmbench-run \
18*4882a593Smuzhiyun           file://rename-line-binary.patch \
19*4882a593Smuzhiyun           file://update-results-script.patch \
20*4882a593Smuzhiyun           file://obey-ranlib.patch \
21*4882a593Smuzhiyun           file://update-config-script.patch \
22*4882a593Smuzhiyun           file://lmbench_result_html_report.patch \
23*4882a593Smuzhiyun           file://fix-lmbench-memory-check-failure.patch \
24*4882a593Smuzhiyun           file://0001-avoid-gcc-optimize-away-the-loops.patch \
25*4882a593Smuzhiyun           file://0001-lat_http.c-Add-printf-format.patch \
26*4882a593Smuzhiyun           file://0001-Check-for-musl-define-guard-before-redefining-sockle.patch \
27*4882a593Smuzhiyun           file://0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch \
28*4882a593Smuzhiyun           file://0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch \
29*4882a593Smuzhiyun           file://0001-lmbench-Point-webpage-lm-to-target-directory.patch \
30*4882a593Smuzhiyun           file://0001-doc-Fix-typos-in-manual-pages.patch \
31*4882a593Smuzhiyun           file://0001-lat_fifo-Fix-cleanup-sequence.patch \
32*4882a593Smuzhiyun           file://0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch \
33*4882a593Smuzhiyun           "
34*4882a593SmuzhiyunSRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf"
35*4882a593SmuzhiyunSRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551"
36*4882a593Smuzhiyun
37*4882a593SmuzhiyunUPSTREAM_CHECK_URI = "https://sourceforge.net/projects/lmbench/files/development/"
38*4882a593SmuzhiyunUPSTREAM_CHECK_REGEX = "lmbench-(?P<pver>\d+(\.\d+)+-[a-z]+\d+)"
39*4882a593Smuzhiyun
40*4882a593SmuzhiyunEXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \
41*4882a593Smuzhiyun                LDFLAGS="${LDFLAGS}" LDLIBS="${LDLIBS}" LD="${LD}" OS="${TARGET_SYS}" \
42*4882a593Smuzhiyun                TARGET="${TARGET_OS}" BASE="${prefix}" MANDIR="${mandir}"'
43*4882a593Smuzhiyun
44*4882a593Smuzhiyundo_configure() {
45*4882a593Smuzhiyun    :
46*4882a593Smuzhiyun}
47*4882a593Smuzhiyun
48*4882a593Smuzhiyundo_compile () {
49*4882a593Smuzhiyun    for CONFIG_SITE_ITEM in $CONFIG_SITE; do
50*4882a593Smuzhiyun        . $CONFIG_SITE_ITEM
51*4882a593Smuzhiyun    done
52*4882a593Smuzhiyun    if [ X"$ac_cv_uint" = X"yes" ]; then
53*4882a593Smuzhiyun        CFLAGS="${CFLAGS} -DHAVE_uint"
54*4882a593Smuzhiyun    fi
55*4882a593Smuzhiyun    install -d ${S}/bin/${TARGET_SYS}
56*4882a593Smuzhiyun    oe_runmake -C src
57*4882a593Smuzhiyun}
58*4882a593Smuzhiyun
59*4882a593Smuzhiyundo_install () {
60*4882a593Smuzhiyun    install -d ${D}${sysconfdir}/default/volatiles \
61*4882a593Smuzhiyun           ${D}${bindir} ${D}${mandir} \
62*4882a593Smuzhiyun           ${D}${datadir}/lmbench/scripts
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun    echo "d root root 0755 ${localstatedir}/run/${BPN} none" \
65*4882a593Smuzhiyun           > ${D}${sysconfdir}/default/volatiles/99_lmbench
66*4882a593Smuzhiyun    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
67*4882a593Smuzhiyun        install -d ${D}${sysconfdir}/tmpfiles.d
68*4882a593Smuzhiyun        echo "d /run/${BPN} - - - -" \
69*4882a593Smuzhiyun              > ${D}${sysconfdir}/tmpfiles.d/lmbench.conf
70*4882a593Smuzhiyun    fi
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun    oe_runmake BASE="${D}${prefix}" MANDIR="${D}${mandir}" \
73*4882a593Smuzhiyun            DESTDIR="${D}" \
74*4882a593Smuzhiyun            -C src install
75*4882a593Smuzhiyun    mv ${D}${bindir}/line ${D}${bindir}/lm_line
76*4882a593Smuzhiyun    install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/
77*4882a593Smuzhiyun    install -m 0755 ${S}/bin/${TARGET_SYS}/cache ${D}${bindir}/
78*4882a593Smuzhiyun    sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${BPN},;' \
79*4882a593Smuzhiyun           -e 's,^CONFIG=.*$,CONFIG=`$SCRIPTSDIR/config`,;' \
80*4882a593Smuzhiyun           ${D}${bindir}/lmbench-run
81*4882a593Smuzhiyun    install -m 0755 ${S}/scripts/lmbench ${D}${bindir}
82*4882a593Smuzhiyun    install -m 0755 ${S}/scripts/* ${D}${datadir}/lmbench/scripts
83*4882a593Smuzhiyun    install -m 0644 ${S}/src/webpage-lm.tar ${D}${datadir}/lmbench
84*4882a593Smuzhiyun}
85*4882a593Smuzhiyun
86*4882a593Smuzhiyunpkg_postinst:${PN} () {
87*4882a593Smuzhiyun    if [ -z "$D" ]; then
88*4882a593Smuzhiyun        if command -v systemd-tmpfiles >/dev/null; then
89*4882a593Smuzhiyun            systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/lmbench.conf
90*4882a593Smuzhiyun        elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
91*4882a593Smuzhiyun            ${sysconfdir}/init.d/populate-volatile.sh update
92*4882a593Smuzhiyun        fi
93*4882a593Smuzhiyun    fi
94*4882a593Smuzhiyun}
95*4882a593Smuzhiyun
96*4882a593SmuzhiyunRDEPENDS:${PN} = "perl"
97*4882a593SmuzhiyunFILES:${PN} += "${datadir}/lmbench"
98*4882a593Smuzhiyun
99*4882a593SmuzhiyunALTERNATIVE:${PN} = "stream"
100*4882a593SmuzhiyunALTERNATIVE_LINK_NAME[stream] = "${bindir}/stream"
101*4882a593Smuzhiyun
102