# Copyright (c) 2010 The Chromium OS Authors. All rights reserved. # Distributed under the terms of the GNU General Public License v2 EAPI="4" inherit eutils toolchain-funcs multiprocessing cros-workon DESCRIPTION="GNU GRUB 2 boot loader" HOMEPAGE="http://www.gnu.org/software/grub/" LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64" IUSE="truetype" CROS_WORKON_PROJECT="chromiumos/third_party/grub2" RDEPEND=">=sys-libs/ncurses-5.2-r5 dev-libs/lzo truetype? ( media-libs/freetype )" DEPEND="${RDEPEND} dev-lang/ruby" PROVIDE="virtual/bootloader" export STRIP_MASK="*/*grub/*/*.mod" CROS_WORKON_LOCALNAME="grub2" src_configure() { local target multijob_init for target in i386 x86_64 ; do local program_prefix= [[ ${target} != "x86_64" ]] && program_prefix=${target}- mkdir -p ${target}-build pushd ${target}-build >/dev/null ECONF_SOURCE="${S}" multijob_child_init econf \ --disable-werror \ --disable-grub-mkfont \ --disable-grub-fstest \ --disable-efiemu \ --sbindir=/sbin \ --bindir=/bin \ --libdir=/$(get_libdir) \ --with-platform=efi \ --target=${target} \ --program-prefix=${program_prefix} popd >/dev/null done multijob_finish } src_compile() { multijob_init multijob_child_init emake -C i386-build -j1 \ COMMON_LDFLAGS='-Wl,-melf_i386 -nostdlib' multijob_child_init emake -C x86_64-build -j1 multijob_finish } src_install() { multijob_init multijob_child_init emake -C i386-build DESTDIR="${D}" install multijob_child_init emake -C x86_64-build DESTDIR="${D}" install multijob_finish }