# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2

# Dummy setting so we can use the same append form below.
USE=""

USE="${USE} acpi bluetooth cros_p2p -fbconsole pam usb vlan -vtconsole"
USE="${USE} zlib bindist cros-debug -introspection"
USE="${USE} -acl -cracklib -gpm ipv6 -openmp -python -sha512 xattr"
USE="${USE} -fortran -abiword -perl -poppler-data -nls -openrc"
USE="${USE} -mime -peerd scanner"
USE="${USE} -gtk2 -gtk3 -qt4"
USE="${USE} cups crosfonts -postscript"
USE="${USE} tpm"
USE="${USE} compupdates"
USE="${USE} containers"
USE="${USE} kerberos_daemon"
USE="${USE} mist"
USE="${USE} cellular mbim"
USE="${USE} ime"
USE="${USE} memd"
USE="${USE} ml_service"
USE="${USE} pinweaver"
USE="${USE} smartdim"
USE="${USE} smbprovider"
USE="${USE} usb_bouncer"
USE="${USE} usbguard"
USE="${USE} -split-usr"

# All chromeos-based boards created after 2019-01 must be unibuild-enabled. See
# https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config/README.md
# for further details about chromeos-config, which is the required entry point
# for unified builds.
USE="${USE} unibuild"

# Board overlays can unset this to disable the ACPI AC kernel driver.
USE="${USE} acpi_ac"

# Enable general security hardening by default.
USE="${USE} hardened"

# Formerly project-freon configs
# Disable X11.
USE="${USE} -X"

# Use opengles instead of opengl
USE="${USE} opengles"

# Enable gestures support in Chrome.
USE="${USE} evdev_gestures"

# Enable xkbcommon in Chrome for keyboard layouts.
USE="${USE} xkbcommon"

# Enable the freon console
USE="${USE} frecon"

# Enable udev support
USE="${USE} udev"

# Enable fwupd support
USE="${USE} fwupd"

# Disable tty2 console.
TTY_CONSOLE="-tty2"

# Ozone platforms to build into Chrome.
OZONE_PLATFORM="gbm"

# Of the above, platform to use by default at runtime.
OZONE_PLATFORM_DEFAULT="gbm"

# Most targets will override these.
VIDEO_CARDS="-*"
INPUT_DEVICES="-* evdev cmt"

# USB firmware.
LINUX_FIRMWARE="rt2870"

# Realtek USB ethernet dongle firmware.
LINUX_FIRMWARE="${LINUX_FIRMWARE} rtl8153"

# Various runtime features that control emerge behavior.
# See "man 5 make.conf" for details.
FEATURES="allow-missing-manifests buildpkg clean-logs -collision-protect
          -ebuild-locks force-mirror nodoc noinfo noman -merge-sync -pid-sandbox
          parallel-install -preserve-libs sandbox splitdebug -strict userfetch
          userpriv usersandbox -unknown-features-warn network-sandbox"

# Enable license processing during our emerge hook:
#   src/scripts/hooks/install/gen-package-licenses.sh.
ENABLE_LICENSING="Y"

# We reset compiler settings as the base ones are generic (just -O2) and our
# common make.conf already adds those and more.
CFLAGS=""
CXXFLAGS=""
LDFLAGS=""

# 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"

# 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"

# We don't want legacy symlink lib cruft anywhere.
SYMLINK_LIB="no"
LIBDIR_x86="lib"
