blob: 5f752620a9e04f9940aa0e9925edc0827901e420 [file] [log] [blame]
# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Settings that are common to all target boards. Do not place any board
# specific settings in here, or settings for the sdk.
#
# See "man make.conf" for the available options.
# NOTE: This assumes that the following have already been defined:
# { ROOT, ARCH, CHOST, [BOARD_OVERLAY] }
# TODO: This will have to come from somewhere else when we support a 32-bit
# build host environment.
CBUILD=x86_64-pc-linux-gnu
HOSTCC=x86_64-pc-linux-gnu-gcc
# C++ exception support disabled by default. This can be re-enabled by reseting
# the CXXEXCEPTIONS_FLAGS for a whole board or, package by package, by calling
# cros_enable_cxx_exceptions().
CXXEXCEPTIONS=0
CXXEXCEPTIONS_FLAGS="-fno-exceptions -fno-unwind-tables
-fno-asynchronous-unwind-tables "
ACCEPT_KEYWORDS="${ARCH}"
USE="${ARCH} zlib bindist cros-debug -introspection platform2"
# Be sure we don't overwrite pkgs from another sysroot.
PKGDIR=${ROOT}packages/
PORTAGE_TMPDIR=${ROOT}tmp/
PORT_LOGDIR=${ROOT}tmp/portage/logs/
FEATURES="allow-missing-manifests buildpkg clean-logs -collision-protect
-ebuild-locks force-mirror nodoc noinfo noman -merge-sync
parallel-install -preserve-libs sandbox splitdebug -strict userfetch
userpriv usersandbox -unknown-features-warn"
PORTAGE_WORKDIR_MODE="0755"
PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/:${ROOT}usr/share/pkgconfig/"
ELIBC="glibc"
PORTDIR_OVERLAY="
/usr/local/portage/chromiumos
/usr/local/portage/eclass-overlay
${BOARD_OVERLAY}
"
# Print a checkpoint message every 10MB while archiving.
PORTAGE_BINPKG_TAR_OPTS="--checkpoint=1000"
# Since our portage comes from version control, we redirect distfiles.
DISTDIR="/var/lib/portage/distfiles-target"
# Our chromium mirror should be more stable since we won't discard packages.
GENTOO_MIRRORS="https://commondatastorage.googleapis.com/chromeos-localmirror"
GENTOO_MIRRORS="$GENTOO_MIRRORS https://commondatastorage.googleapis.com/chromeos-mirror/gentoo"
# the AC_FUNC_WAIT3 macro uses runtime-checks for the function, which
# doesn't work when cross-compiling; we know that our targets have it,
# so let's tell about it to autoconf. — Flameeyes
ac_cv_func_wait3_rusage=yes
# the AC_FUNC_MMAP macro uses runtime-checks for the function, which
# doesn't work when cross-compiling; we know that our targets have it,
# so override the check.
ac_cv_func_mmap_fixed_mapped=yes
# When building packages for the target, we need to search the target's
# sysroot for additional m4 files. The autotools.eclass uses this.
AT_SYS_M4DIR="\${SYSROOT}/usr/share/aclocal"
# Native language support is handled inside Chrome itself.
LINGUAS="en"
# Remove all .la files for non-plugin libraries.
# Remove Gentoo init files since we use upstart.
# Remove logrotate.d files since we don't use logrotate.
# Remove sandbox files since we don't use that in the sysroot.
# Remove bash-completion files as we don't install bash-completion.
INSTALL_MASK="
/usr/lib*/*.la
/etc/init.d /etc/conf.d
/etc/logrotate.d
/etc/sandbox.d
/usr/share/bash-completion
"
PKG_INSTALL_MASK="${INSTALL_MASK}"
# Don't strip NaCl executables. These are not linux executables and the
# linux host's strip command doesn't know how to handle them correctly.
STRIP_MASK="*.nexe"
# Don't strip ELF files that land in the firmware directory. The symbols
# of firmware ELF files are needed, but the tools don't support splitdebug.
# Therefore, stripping should not be done. It's OK not to strip the ELF
# files because these files are not installed into the image.
STRIP_MASK="${STRIP_MASK} /firmware/*.elf"
source /mnt/host/source/src/third_party/chromiumos-overlay/chromeos/config/make.conf.common