> I have a platform on which I am trying to build bison 2.1 for which I
would like HAVE_STDINT_H not defined.  Running the configure script
generates a config.h which has the following lines:
>
> /* Define to 1 if you have the <stdint.h> header file. */
> #define HAVE_STDINT_H 1

Well, this is correct if this header file is available.

> Is there any way to not have those lines generated?  Perhaps an option
to
> configure is available?

Options to `configure' are defined by whomever wrote the `configure.ac'
file, which may or may not be in the distribution.  The GNU Coding
Standards do not require `configure.ac' to be included.  Any options
should be shown if you call `configure --help'.

> Actually, I'd like to know how to do something
> like this in general.  I might be missing something, but I haven't been
able to find how to do so from any of the documentation or README or
INSTALL files.

This is more a question for the Autoconf mailing list rather than the
Bison mailing list, but I happen to know an answer (if not "the" answer).

The following code (from the `configure.ac' file for GNU 3DLDF) is for
adding two options to `configure'.  The first one is a dummy option, since
it's the default.

AC_ARG_ENABLE([dummy],
AC_HELP_STRING([--enable-debug-compile],
[Enable conditionally compiled debugging output (this is the default).]),
[],[])

AC_ARG_ENABLE([debug-compile],
[AC_HELP_STRING([--disable-debug-compile],
        [Disable conditionally compiled debugging output.])],
[if test $enableval == "yes"
then
echo "Enabling conditional compilation of debugging output"
AC_DEFINE([DEBUG_COMPILE], [1],
  [Define to 0 or 1 to disable or enable conditional compilation of
debugging output.])
else
echo "Disabling conditional compilation of debugging output"
AC_DEFINE([DEBUG_COMPILE], [0],
  [])
fi],
[echo "Enabling conditional compilation of debugging output"
AC_DEFINE([DEBUG_COMPILE], [1],
[])
])

If you don't want `configure' to define a preprocessor macro to correspond
to a header file, remove the name of the header file from the call to
`AC_CHECK_HEADERS' in `configure.ac', e.g.,

AC_CHECK_HEADERS([errno.h float.h limits.h stdlib.h \
                  unistd.h pthread.h gsl/gsl_complex.h \
                  gsl/gsl_complex_math.h gsl/gsl_matrix.h])

`AC_CHECK_HEADERS' or `AC_CHECK_HEADER' (if this exists) may actually take
additional, optional arguments for code that should be executed if the
header file is found or if it's not found.  In this case, you could
specify that `HAVE_STDINT_H' is undefined.  There's probably an easier way
of doing this, i.e., an Autoconf function (or whatever they're called)
that just causes a preprocessor macro to be defined or undefined in
`config.h'.  I don't know off-hand, though, so you should check the
Autoconf manual.

Here's the complete `configure.ac' for GNU 3DLDF:
http://cvs.savannah.gnu.org/viewvc/3dldf/3dldf/Group/configure.ac?revision=1.18&view=markup

If the `configure.ac' for Bison is included in the Bison distribution or
is in the CVS repository at Savannah, then you can modify it to suit
yourself.

This is how I call Autoconf and friends when I need to "start fresh":

aclocal
autoconf
autoheader
automake --copy --add-missing
configure --prefix=<path for installation>

I need other arguments for `configure', but you probably don't.

Laurence Finston







_______________________________________________
help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison

Reply via email to