// -*- mode:doc; -*-
// vim: set syntax=asciidoc:

include::makedev-syntax.txt[]
include::makeusers-syntax.txt[]


// Automatically generated lists:

[[package-list]]
== List of target packages available in Buildroot

include::package-list.txt[]

[[virtual-package-list]]
== List of virtual packages

These are the virtual packages known to +Buildroot+, with the
corresponding symbols and providers.

include::virtual-package-list.txt[]

[[host-package-list]]
== List of host utilities available in Buildroot

The following packages are all available in the menu +Host utilities+.

include::host-package-list.txt[]

[[deprecated-list]]
== Deprecated features

The following features are marked as _deprecated_ in Buildroot due to
them being either too old or unmaintained. They will be removed at
some point, so stop using them.
Each deprecated symbol in kconfig depends on a symbol
+BR2_DEPRECATED_SINCE_xxxx_xx+, which provides an indication of when
the feature can be removed: features will not be removed within the
year following deprecation. For example, a symbol depending on
+BR2_DEPRECATED_SINCE_2013_05+ can be removed from 2014.05 onwards.

include::deprecated-list.txt[]
