bug-gnulib
[Top][All Lists]
Advanced

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

Re: problem with #include_next<stdint.h> in /usr/include/idn-int.h


From: Simon Josefsson
Subject: Re: problem with #include_next<stdint.h> in /usr/include/idn-int.h
Date: Fri, 31 Aug 2007 11:40:12 +0200
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/22.1 (gnu/linux)

Bruno Haible <address@hidden> writes:

> Hi Simon,
>
>> I suppose the reason for this bug is that the gnulib stdint.h
>> replacement is installed by libidn.
>
> It is installed, but under a different name, namely idn-int.h!

Hi Bruno.  Ah.

>> Perhaps #include_next is simply not reliable to use in generated *.h
>> files?
>
> Although I cannot reproduce the original problem (tried gcc 3.3.1 and 4.2.0),
> it is perfectly understandable that a compiler stops working when it
> encounters
>        #include_next <stdint.h>
> in a file called idn-int.h.
>
> Since the original poster already reported that #include instead of
> #include_next works fine, I would suggest that you try this:

We're testing this now, I'm awaiting Remko's response on whether it
works.

> --- lib/Makefile.am.bak       2007-05-31 12:31:00.000000000 +0200
> +++ lib/Makefile.am   2007-06-21 00:40:53.000000000 +0200
> @@ -37,7 +37,7 @@
>  
>  idn-int.h:
>       if test -n "$(STDINT_H)"; then \
> -             cp gl/stdint.h idn-int.h; \
> +             sed -e s/include_next/include/ gl/stdint.h > idn-int.h; \
>       else \
>               echo '#include <stdint.h>' > idn-int.h; \
>       fi
>
>
> If that works out, we can document it in gnulib's documentation.

Yes, I'll propose a patch.  Others may want to use POSIX uint*_t types
in their public header files too, and the only way to do that portably
appears to install your own stdint.h replacement, so documenting that
this approach works would be good.

/Simon




reply via email to

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