# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb"

BBFILE_COLLECTIONS += "core"
BBFILE_PATTERN_core = "^${LAYERDIR}/"
BBFILE_PRIORITY_core = "5"

# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_core = "6"

BBLAYERS_LAYERINDEX_NAME_core = "openembedded-core"

# Set a variable to get to the top of the metadata location
COREBASE = '${@os.path.normpath("${LAYERDIR}/../")}'

# opkg-utils is for update-altnernatives :(
SIGGEN_EXCLUDERECIPES_ABISAFE += " \
  sysvinit-inittab \
  shadow-securetty \
  opkg-arch-config \
  netbase \
  init-ifupdown \
  connman-conf \
  formfactor \
  xserver-xf86-config \
  pointercal \
  pointercal-xinput \
  base-files \
  keymaps \
  udev-extraconf \
  packagegroup-x11-xserver \
  systemd-serialgetty \
  initscripts \
  shadow \
  shadow-sysroot \
  base-passwd \
  opkg-utils \
"

SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
  gcc-cross-${TARGET_ARCH}->glibc \
  gcc-cross-${TARGET_ARCH}->musl \
  gcc-cross-${TARGET_ARCH}->uclibc \
  gcc-cross-${TARGET_ARCH}->linux-libc-headers \
  ppp-dialin->ppp \
  resolvconf->bash \
  docbook-xsl-stylesheets->perl \
  initramfs-framework->busybox \
  initramfs-framework->systemd \
  initramfs-framework->udev \
  liberation-fonts->fontconfig \
  gnome-icon-theme->librsvg \
  font-alias->font-util \
  weston-init->weston \
  weston-init->kbd \
"

