autoconf
[Top][All Lists]
Advanced

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

Proper use of AC_DEFAULT_INCLUDES


From: Davide Bolcioni
Subject: Proper use of AC_DEFAULT_INCLUDES
Date: Tue, 07 Mar 2006 21:16:06 +0100
User-agent: Mozilla Thunderbird 1.0.7-1.1.fc3 (X11/20050929)

Greetings,
this is my first post here and I was wonder what the proper use of
AC_DEFAULT_INCLUDES is supposed to be (using autoconf 2.59 in case
it matters). Which of the following is correct:

1) I should blindly put AC_DEFAULT_INCLUDES in my configure.ac and then
put the following boilerplate, lifted from the docs, in my .c files:

          #include <stdio.h>
          #if HAVE_SYS_TYPES_H
          # include <sys/types.h>
          #endif
          #if HAVE_SYS_STAT_H
          # include <sys/stat.h>
          #endif
          #if STDC_HEADERS
          # include <stdlib.h>
          # include <stddef.h>
          #else
          # if HAVE_STDLIB_H
          #  include <stdlib.h>
          # endif
          #endif
          #if HAVE_STRING_H
          # if !STDC_HEADERS && HAVE_MEMORY_H
          #  include <memory.h>
          # endif
          # include <string.h>
          #endif
          #if HAVE_STRINGS_H
          # include <strings.h>
          #endif
          #if HAVE_INTTYPES_H
          # include <inttypes.h>
          #else
          # if HAVE_STDINT_H
          #  include <stdint.h>
          # endif
          #endif
          #if HAVE_UNISTD_H
          # include <unistd.h>
          #endif

2) I should blindly put AC_DEFAULT_INCLUDES in my configure.ac and then
put just snippets of the above boilerplate where I need them, according
to the header I am including (I doubt this, but still)

3) I should blindly put AC_DEFAULT_INCLUDES in my configure.ac and this
will just have the effect of including the above

4) I should not normally need to put AC_DEFAULT_INCLUDES in my
configure.ac, it is there only in case I want to change the set of
includes other tests use.

Please note that this question is more of a documentation clarification
question than anything else; I am interested in what is supposed to
happen and in the intent behind the macro. It might just be that the
language in the documentation does not resonate with a non-native
English speaker.

Thank you for your consideration,
Davide Bolcioni




reply via email to

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