# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit flag-o-matic toolchain-funcs MY_PN="ramsmp" MY_P="${MY_PN}-${PV}" DESCRIPTION="Benchmarking for memory and cache" HOMEPAGE="http://www.alasir.com/software/ramspeed/" SRC_URI="http://www.alasir.com/software/${PN}/${MY_P}.tar.gz" S="${WORKDIR}/${MY_P}" LICENSE="Alasir" SLOT="0" KEYWORDS="amd64 x86" IUSE="cpu_flags_x86_sse pic" src_configure() { local obj local arch_prefix=./ use x86 && arch_prefix=i386/ use amd64 && arch_prefix=amd64/ tc-export CC AS # Fix the stack append-ldflags -Wl,-z,noexecstack obj=( ramsmp.o ${arch_prefix}{fltmark,fltmem,intmark,intmem}.o ) use pic && append-ldflags -no-pie if use amd64; then sed -i \ -e 's/call.*free/call\tfree@PLT/' \ -e 's/call.*gettimeofday/call\tgettimeofday@PLT/' \ -e 's/call.*malloc/call\tmalloc@PLT/' \ ${arch_prefix}/*.s || die fi use x86 && obj+=( ${arch_prefix}{cpuinfo/cpuinfo_main,cpuinfo/cpuinfo_ext}.o ) if use cpu_flags_x86_sse; then use x86 && append-flags "-DLINUX -DI386_ASM" use amd64 && append-flags "-DLINUX -DAMD64_ASM" obj+=( ${arch_prefix}{mmxmark,mmxmem,ssemark,ssemem}.o ) fi echo "ramsmp: ${obj[@]}" > Makefile || die } src_install() { dobin ramsmp dosym ramsmp /usr/bin/ramspeed dodoc HISTORY README }