These points illustrate that it is possible to design a poor API. It is possible such APIs could be better designed from the get go, or made better at an API version bump. The autotools can help with this.
) 2) 'const' support ) 3) 'inline' support
const and other modifiers are exactly the types of things that should *not* be made dependent on the characteristics of the system build environment. Interface files should use them in accordance to a particular, fixed environment, and rely on dependent packages to detect or recreate that environment as needed. The autotools can help with this.
You are saying that it is ok if an application which compiles stops compiling if it includes a header file for a library which is configured via autoconf? The dependent application is then responsible for supplying the missing stuff necessary to allow the included header file to compile? I don't agree that this is ok.
This is why the autotools are so important: They provide a highly-uniform build environment for software, regardless of the underlying system's facilities.
If a piece of software is designed with POSIX and other environment standards as a requirement, the autotools can be used to guarantee or simulate those environments regardless of the characteristics of the actual system environment. There should not be a reason to allow characteristics from the system environment to "leak" into the interfaces of the software.
Autoconf is not currently providing a guarantee or simulation of any environment. A configure.ac file *can* request that certain POSIX typedefs be emulated (via "config.h") if they are not otherwise available. Every package is responsible for assuring that its own requirements are met. Packages are not responsible for assuring that the requirements of *other* packages are met.
Bob ====================================== Bob Friesenhahn bfriesen@xxxxxxxxxxxxxxxxxxx http://www.simplesystems.org/users/bfriesen
_______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf