B.2. Deprecated Features

This section includes a complete list of all features from abuild 1.0 that are deprecated in abuild 1.1. Use of any of these features will generate a warning when running in 1.0-compatibility mode. When running in 1.1-compatibility mode, these features will not be recognized. Depending on the nature of the feature, this may result in an error (such as using a deprecated Abuild.conf key), and in other cases, use of the feature will be ignored (such as setting a particular make variable).


You should avoid trying to upgrade your Abuild.conf files by hand. See earlier warnings in this chapter, and refer to Appendix C, Upgrading from 1.0 to Version 1.1 for details.

Abuild.conf keys
  • Use of the this key is deprecated. This key has been replaced by name. When you run abuild --upgrade-trees (described in Appendix C, Upgrading from 1.0 to Version 1.1), your Abuild.conf files will be updated automatically.

  • The deleted key is deprecated. Item deletion is now specified with the deleted-items key in the Abuild.backing file.

  • The external-dirs key is deprecated. External build trees have been replaced by tree dependencies as discussed in Section B.5, “Redesigned Build Tree Structure”

  • The parent-dir key is deprecated. Abuild 1.1 automatically finds parent build items, thus rendering the parent-dir unnecessary.

GNU Make variables
  • BUILD_ITEM_RULES is deprecated and has been replaced by a new and more flexible mechanism for specifying build-item supplied rules. See Chapter 22, Build Item Rules and Automatically Generated Code for details.

  • LINK_SHLIBS is ignored and treated as if it were always set. This change was actually made in version 1.0.3, but now use of LINK_SHLIBS generates a deprecation warning.

Properties for deprecated ant framework
  • abuild.use-local-hooks is deprecated; abuild's ant framework now acts as if this is always on. Note that the entire 1.0 ant framework is considered deprecated.

Command line arguments
  • The --ant option is no longer supported since abuild no longer invokes ant. However, for backward compatibility, abuild will still look through any --ant arguments for arguments of the form -Dprop-val and treat them as regular variable definitions (specified as just prop=val in abuild 1.1).

Interface Variables
  • The variable ABUILD_THIS should no longer be used as it has been replaced by the more descriptively named ABUILD_ITEM_NAME. However, it is not actual deprecated since abuild has no way to detect and report its use in build files. As such, ABUILD_THIS will likely not be removed in a future version of abuild, though its use in new code is discouraged.

Abuild.backing files
  • In abuild 1.1, there is a new syntax for Abuild.backing files, and backing areas are at the forest level rather than at the tree level. (For details, see Chapter 11, Backing Areas.) Abuild.backing files that just contain a path name are deprecated.