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