bug-gnulib
[Top][All Lists]
Advanced

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

Re: ABSOLUTE_STDINT_H being expanded as an empty string (Sun cc 5.0, 5.8


From: Bruno Haible
Subject: Re: ABSOLUTE_STDINT_H being expanded as an empty string (Sun cc 5.0, 5.8 on Solaris 7, 8)
Date: Sun, 27 May 2007 00:47:53 +0200
User-agent: KMail/1.5.4

James Youngman wrote:
> It seems to me that ABSOLUTE_STDINT_H can be used without being
> defined.

I cannot see under which conditions this could be the case.

Also, I don't reproduce this problem when compiling findutils-4.3.6 on
Solaris 7 with Sun cc 5.0.

> When this happens a compilation error can result.  This code:
> 
> #if @HAVE_STDINT_H@
> # if defined __sgi && ! defined __c99
>    /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users
>       with "This header file is to be used only for c99 mode compilations"
>       diagnostics.  */
> #  define __STDINT_H__
> # endif
>   /* Other systems may have an incomplete or buggy <stdint.h>.
>      Include it before <inttypes.h>, since any "#include <stdint.h>"
>      in <inttypes.h> would reinclude us, skipping our contents because
>      _GL_STDINT_H is defined.  */
> # include @ABSOLUTE_STDINT_H@
> #endif
> 
> provokes an error message because @ABSOLUTE_STDINT_H@ expands to nothing :-
> 
> source='xstrtoumax.c' object='xstrtoumax.o' libtool=no \
>         DEPDIR=.deps depmode=none /bin/ksh ../../build-aux/depcomp \
>         cc -DHAVE_CONFIG_H -I. -I../..  -I../../intl
> -I/usr/local/include  -I/usr/local/include -c xstrtoumax.c
> "./stdint.h", line 47: empty file name

This error message indicates that @ABSOLUTE_STDINT_H@ expands into "".

> The configure output seems to support this idea:
> 
> 
> checking for stdint.h... yes
> checking for stdint.h... (cached) yes
> checking absolute name of <stdint.h>...

Indeed. This is the problem.

> My guess is that the cause of the problem is that findutils is
> checking for stdint.h like this in configure.in:-
> 
> AC_CHECK_HEADERS(unistd.h sys/types.h inttypes.h fcntl.h locale.h stdint.h)

There is no problem with that. The value ac_cv_header_stdint_h is only used,
not overridden or modified.

> I guess it's possible that the problem is caused by my calling
> AC_CHECK_HEADERS(stdint.h)

This is just a guess. Have you tried removing it? I bet it would not help.

> `(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
> sed -n 
> '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1#;s#^/[^/]#//&#;p;q;}'`

This is the code producing the value. I guess the $ac_cpp command led
to an error, for some reason that the user needs to investigate. The
investigation can use the config.log file, since - as you see - the
error output of the $ac_cpp command is piped to the config.log.

It would also help to show the configure command together with all
relevant environment variables (CC, CPP, CPPFLAGS).

Bruno





reply via email to

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