Skip Montanaro wrote: > >> I would look in pyconfig.h.in as the first thing. There is a pitfall, > >> though: presence of some HAVE_foo in pyconfig.h does not mean that > >> Python gracefully deals with the absence of foo. When converting > >> configure to autoconf 2.5x, I checked all macros to determine whether > >> they were still in use, but some may have become unused/not processed > >> correctly since. That would be a bug, of course. > > Brett> What does happen if a HAVE_foo is actually required? Does the > Brett> build fail or will configure halt and say that the build will > Brett> fail if you proceed? > > It's not exactly clear what you mean by "required". As in Python will not be at all functional without the functionality being required. > All the HAVE_foo macros > are supposed to indicate the presence (when defined) or absence (when not > defined) of a particular "feature" which is not felt by one or more of the > authors to be universally available. As far as I know, a HAVE_foo macro > should never be required to be defined, though I suppose if we had an > infinite amount of time on our hands be might code a configure test for > HAVE_WRITE. HAVE_* macros should only be used in a conditional way like > > #ifdef HAVE_FOO > /* assume foo is available */ > else > /* assume foo is missing and code around its absence */ > endif > > or as in the case of fsync() in posixmodule.c > > #ifdef HAVE_FSYNC > /* define wrapper for fsync() > endif > > The lack of a HAVE_foo macro definition might make an entire module > unavailable. More often it causes a single module function to not be > defined or for a messier or less efficient implementation to be used. > Right. I was wondering if there are any checks in configure.in that if something was not available that Python itself would not compile *at all*. I would suspect not since that is what the ANSI C/POSIX coding requirement is supposed to handle, right? -Brett
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4