Project Talk:Quality Assurance/Autotools failures

From Gentoo Wiki
Jump to:navigation Jump to:search

Suggested fixes/changes for "Introduction" section

Talk status
This discussion is done as of 2025-01-23.

Since i don't have editing privileges on this page, i'd like to suggest the following, which includes various fixes and changes (including fixing the broken "Best practices with autotools" link with what i guess is the appropriate article):

%%%

The term autotools usually refers to the tools developed by the GNU project to create platform- and operating-system-independent build systems: autoconf, automake, and libtool. Although not every package uses all of them at the same time, most of the modern ones do so; older packages often do not use automake and libtool, and KDE packages use a more complex build system that ultimately relies on all three.

It's simple to recognize a package with a build system based on autotools: if there's a configure script, and a configure.in or configure.ac file, the build system is based on autoconf; if there are one or more Makefile.am files in the various sub-directories, it's also automake based; if there's an ltmain.sh script, it's also using libtool.

To build a package that uses an autotools-based build system, the tools themselves aren't strictly needed: the configure script is usually a simple Bourne Shell script which transforms the Makefile.in files into a simpler Makefile for make (or, more often, the GNU implementation, gmake). Despite being optional for building the software, the patches needed to solve problems like --as-needed build failure or automagic dependencies often require re-running the tools to recreate scripts and makefiles' templates.

This guide doesn't give directions on fixing packages' errors in their use of autotools, which is a wide topic requiring a lot of explanatory background; for a simple introduction to the most common errors while using autotools, refer to the "Best practices with autotools" article. Instead, this guide describes the common cases where re-running autotools lead to failures, either on rebuilding the script or at build time.

%%%

-- Flexibeast (talk) 00:33, 23 January 2025 (UTC)

I have updated the section as suggested, with some small wording changes. --ulm (talk) 07:15, 23 January 2025 (UTC)