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

# Disable vala
USE="${USE} -vala"

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

# Chrome OS needs deprecated tools: hcitool and hciconfig.
USE="${USE} bt_deprecated_tools"

# We don't provide this package anymore due to AGPL usage.
USE="${USE} -berkdb"

# Enable the diagnostics and telemetry daemon.
USE="${USE} diagnostics"

# Enable Perfetto daemons.
USE="${USE} perfetto"

# Enable CPU zero-copy for Chrome camera stack.
USE="${USE} video_capture_use_gpu_memory_buffer"

# Run Camera v3 stack by default.
USE="${USE} arc-camera3"

# Disable tty2 console.
TTY_CONSOLE="-tty2"

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

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

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