blob: d4cf29ac82e2b105121b44b6de102e85c381d1c9 [file] [log] [blame]
# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI=2
CROS_WORKON_COMMIT="25db693282946028b68d8b3fe39bca765d72f5e9"
CROS_WORKON_TREE="4281be101877d6103dab1d0827f4f0f1a563b63f"
CROS_WORKON_PROJECT="chromiumos/platform/minijail"
inherit cros-debug cros-workon toolchain-funcs
DESCRIPTION="Chrome OS helper binary for restricting privs of services."
HOMEPAGE="http://www.chromium.org/"
SRC_URI=""
LICENSE="BSD"
SLOT="0"
KEYWORDS="*"
IUSE="test"
RDEPEND="sys-libs/libcap"
DEPEND="test? ( dev-cpp/gtest )
test? ( dev-cpp/gmock )
${RDEPEND}"
CROS_WORKON_LOCALNAME=$(basename ${CROS_WORKON_PROJECT})
src_compile() {
tc-export CC CXX AR RANLIB LD NM PKG_CONFIG
cros-debug-add-NDEBUG
export CCFLAGS="$CFLAGS"
# Only build the tools
emake LIBDIR=$(get_libdir) || die
}
src_test() {
tc-export CC CXX AR RANLIB LD NM PKG_CONFIG
cros-debug-add-NDEBUG
export CCFLAGS="$CFLAGS"
# TODO(wad) switch to common.mk to get qemu and valgrind coverage
emake tests || die "unit tests compile failed."
if use x86 || use amd64 ; then
./libminijail_unittest || \
die "libminijail unit tests failed!"
./syscall_filter_unittest || \
die "syscall filter unit tests failed!"
fi
}
src_install() {
into /
dosbin minijail0 || die
dolib.so libminijail.so || die
dolib.so libminijailpreload.so || die
insinto /usr/include/chromeos
doins libminijail.h || die
}