blob: be76e1e2a8aff7a5c1543b4e00053f2d164f8b8b [file] [log] [blame]
# Copyright 2012 The Chromium OS Authors
# Distributed under the terms of the GNU General Public License v2
# $Header:
EAPI=7
CROS_WORKON_COMMIT=("c8630edf59ea51fbff1c715cff4b13d7892e8528" "a893a93c04c37dae592c4fbfcb79d57f310890a3")
CROS_WORKON_TREE=("86b1305c377f67b5a7b0b51d74e337823d4e9272" "c9a3de45df16c8e7f1e52f2939ca1c3d6f8c0f83")
CROS_WORKON_PROJECT=(
"chromiumos/third_party/coreboot"
"chromiumos/platform/vboot_reference"
)
CROS_WORKON_LOCALNAME=(
"coreboot"
"../platform/vboot_reference"
)
CROS_WORKON_DESTDIR=(
"${S}"
"${S}/3rdparty/vboot"
)
CROS_WORKON_EGIT_BRANCH=(
"chromeos-2016.05"
"master"
)
inherit cros-workon toolchain-funcs
DESCRIPTION="Utilities for modifying coreboot firmware images"
HOMEPAGE="http://coreboot.org"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="*"
IUSE="cros_host mma +pci static"
LIB_DEPEND="sys-apps/pciutils[static-libs(+)]"
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
DEPEND="${RDEPEND}
static? ( ${LIB_DEPEND} )
"
_emake() {
emake \
TOOLLDFLAGS="${LDFLAGS}" \
CC="${CC}" \
STRIP="true" \
"$@"
}
src_configure() {
use static && append-ldflags -static
tc-export CC PKG_CONFIG
}
is_x86() {
use x86 || use amd64
}
src_compile() {
_emake -C util/cbfstool obj="${PWD}/util/cbfstool"
if use cros_host; then
_emake -C util/archive HOSTCC="${CC}"
else
_emake -C util/cbmem
fi
if is_x86; then
if use cros_host; then
_emake -C util/ifdtool
else
_emake -C util/superiotool \
CONFIG_PCI=$(usex pci)
_emake -C util/inteltool
_emake -C util/nvramtool
fi
fi
}
src_install() {
dobin util/cbfstool/cbfstool
if use cros_host; then
dobin util/cbfstool/fmaptool
dobin util/cbfstool/cbfs-compression-tool
dobin util/archive/archive
else
dobin util/cbmem/cbmem
fi
if is_x86; then
if use cros_host; then
dobin util/ifdtool/ifdtool
else
dobin util/superiotool/superiotool
dobin util/inteltool/inteltool
dobin util/nvramtool/nvramtool
fi
if use mma; then
dobin util/mma/mma_setup_test.sh
dobin util/mma/mma_get_result.sh
dobin util/mma/mma_automated_test.sh
insinto /etc/init
doins util/mma/mma.conf
fi
fi
}