blob: 0292871b50a9d77023217cafc353702a25ef8d54 [file] [log] [blame]
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI="4"
CROS_WORKON_PROJECT="chromiumos/platform/libchromeos"
CROS_WORKON_LOCALNAME="../common" # FIXME: HACK
LIBCHROME_VERS=( 85268 125070 )
inherit toolchain-funcs cros-debug cros-workon scons-utils
DESCRIPTION="Chrome OS base library."
HOMEPAGE="http://www.chromium.org/"
SRC_URI=""
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="cros_host test"
LIBCHROME_DEPEND=$(
printf \
'chromeos-base/libchrome:%s[cros-debug=] ' \
${LIBCHROME_VERS[@]}
)
RDEPEND="${LIBCHROME_DEPEND}
dev-libs/dbus-c++
dev-libs/dbus-glib
dev-libs/libpcre
dev-libs/openssl
dev-libs/protobuf"
DEPEND="${RDEPEND}
chromeos-base/protofiles
test? ( dev-cpp/gtest )
cros_host? ( dev-util/scons )"
cr_scons() {
local v=$1; shift
BASE_VER=${v} escons -C ${v} -Y "${S}" "$@"
}
src_compile() {
tc-export CC CXX AR RANLIB LD NM PKG_CONFIG
cros-debug-add-NDEBUG
export CCFLAGS="$CFLAGS"
local v
mkdir -p ${LIBCHROME_VERS[@]}
for v in ${LIBCHROME_VERS[@]} ; do
cr_scons ${v} libchromeos-${v}.{pc,so} libpolicy-${v}.so
done
}
src_test() {
local v
for v in ${LIBCHROME_VERS[@]} ; do
cr_scons ${v} unittests libpolicy_unittest
if ! use x86 && ! use amd64 ; then
ewarn "Skipping unit tests on non-x86 platform"
else
./${v}/unittests || die "libchromeos-${v} failed"
./${v}/libpolicy_unittest || die "libpolicy_unittest-${v} failed"
fi
done
}
src_install() {
local v
insinto /usr/$(get_libdir)/pkgconfig
for v in ${LIBCHROME_VERS[@]} ; do
dolib.so ${v}/lib{chromeos,policy}*-${v}.so
doins ${v}/libchromeos-${v}.pc
done
insinto /usr/include/chromeos
doins chromeos/*.h
insinto /usr/include/chromeos/dbus
doins chromeos/dbus/*.h
insinto /usr/include/chromeos/glib
doins chromeos/glib/*.h
insinto /usr/include/policy
doins chromeos/policy/*.h
}