bug-standards
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: what is autotools, what is gnulib


From: Bruno Haible
Subject: Re: what is autotools, what is gnulib
Date: Thu, 09 May 2024 23:16:40 +0200

Paul Smith wrote:
> If all we cared about was portability to GNU systems we could do away
> with 99% of autotools and gnulib; basically everything except
> portability between older and newer versions of glibc-based systems.

While it is true that Autotools and Gnulib care a lot about portability,
they are also significantly useful for packages that target *only*
glibc-based systems.

The thinking (also sometimes articulated by people who work on GNU/Linux
distros) that "autotools and gnulib are redundant, because all we care about
are glibc-based systems" is therefore just plain wrong.

In particular, the following are significantly useful in this setting:

* Autoconf [1] sections
  - 4.8 Substitutions in Makefiles
  - 5.2.2 Generic Program (AC_CHECK_PROG, AC_CHECK_TOOL)
  - 5.10.3 C Compiler (AC_PROG_CC)
  - 5.12 C and Posix Variants (AC_USE_SYSTEM_EXTENSIONS)
  - 15.2 External Software (AC_ARG_WITH)
  - 15.3 Package Options (AC_ARG_ENABLE)

* Automake [2] entirely

* Gnulib [3] chapters/sections
    - 2.3 Portability and Application Code
    - 2.6.3 Portable general use facilities
    - 2.6.4 Reusable application code
    - 2.6.5 Object oriented classes
    - 2.6.6 Interfaces to external libraries
    - 2.6.7 Build / maintenance infrastructure
    - 6.1 Out of memory handling
    - 10.253 fclose
    - 10.282 fflush
    - 10.593 mbrtoc32
    - 10.594 mbrtowc
    - 16 Strings and Characters
    - 17.3 Safe Allocation Macros
    - 17.4 Attributes
    - 17.7 Integer Properties
    - 17.9 Extern inline functions
    - 17.10 Handling closed standard file descriptors
    - 17.11 Handling strings with NUL characters
    - 17.12 Container data types
    - 17.14 Quoting
    - 17.16 gcd: greatest common divisor
    - 17.18 Library version handling
    - 17.19 Supporting Relocation
    - 19 Build Infrastructure Modules
    - 20 Build Infrastructure Files
    - 21 Release Management Files

Bruno

[1] 
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.72/html_node/index.html
[2] https://www.gnu.org/software/automake/manual/html_node/index.html
[3] https://www.gnu.org/software/gnulib/manual/html_node/index.html






reply via email to

[Prev in Thread] Current Thread [Next in Thread]