[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
- Unportable makefile example in "Makefile Convention" section, Kang-Che Sung, 2024/05/06
- Re: Unportable makefile example in "Makefile Convention" section, Paul Smith, 2024/05/06
- Re: Unportable makefile example in "Makefile Convention" section, Kang-Che Sung, 2024/05/06
- Re: Unportable makefile example in "Makefile Convention" section, Paul Smith, 2024/05/06
- Re: Unportable makefile example in "Makefile Convention" section, Alfred M. Szmidt, 2024/05/06
- Re: Unportable makefile example in "Makefile Convention" section, Paul Smith, 2024/05/09
- Re: Unportable makefile example in "Makefile Convention" section, Kang-Che Sung, 2024/05/09
- Re: Unportable makefile example in "Makefile Convention" section, Alfred M. Szmidt, 2024/05/09
- Re: what is autotools, what is gnulib,
Bruno Haible <=
- Re: what is autotools, what is gnulib, Paul Smith, 2024/05/10