[New-bugs-announce] [issue45723] Improve and simplify configure.ac checks

Christian Heimes report at bugs.python.org
Fri Nov 5 06:05:47 EDT 2021


New submission from Christian Heimes <lists at cheimes.de>:

The autoconf-based build system has room for improvements. The configure.ac script can be simplified in several places by using AS and AC macros or by defining new custom macros.

For example we have a lot of blocks that look like this:

AC_MSG_CHECKING(for chroot)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]], [[void x=chroot]])],
  [AC_DEFINE(HAVE_CHROOT, 1, Define if you have the 'chroot' function.)
   AC_MSG_RESULT(yes)],
  [AC_MSG_RESULT(no)
])

The block has an issue, too. It does not use AC_CACHE to cache the result. The entire block can be replaced by a custom macro that takes care of everything and implements correct caching:

  PY_CHECK_FUNC([chroot], [#include <unistd.h>])

We can also move several library and header checks from setup.py into configure.ac, e.g. check for soundcard.h or gdbm libs and headers.

----------
assignee: christian.heimes
components: Build
messages: 405780
nosy: christian.heimes
priority: normal
severity: normal
status: open
title: Improve and simplify configure.ac checks
type: enhancement
versions: Python 3.11

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue45723>
_______________________________________


More information about the New-bugs-announce mailing list