[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: double inclusion guard
From: |
Bruno Haible |
Subject: |
Re: double inclusion guard |
Date: |
Tue, 12 Oct 2010 21:48:34 +0200 |
User-agent: |
KMail/1.9.9 |
Hi Gary,
> Then I believe the only viable option to provide stable support for
> multiple gnulib directories in a single tree is to add a switch to
> gnulib-tool to rewrite gnulib #include_next lines on import, so that
> both types of compilers include header files in the same order.
Thanks for these thoughts, Gary and Eric.
To sum up the discussion:
- Double inclusion guards must depende on the macro_prefix.
- gnulib-tool needs an option --base-gnulib=.../gnulib-cache.m4
that has two effects:
- It rewrites the include_next invocations for old compilers,
so that the program will always include
extra/gllib/stdlib.h -> main/gllib/stdlib.h -> /usr/include/stdlib.h
- It implies --avoid options for all the modules listed in the base
gnulib-cache.m4. (Otherwise modules get duplicated, causing malfunction
of modules that have global state, like sigaction, fchdir, and similar.)
- All typedefs that are defined in a .h file and are not triggered by a module
for a function replacement must have a double definition guard, like we did
for
'struct random_data'.
Bruno
- error: redefinition of `struct random_data', Sam Steingold, 2010/10/11
- Re: error: redefinition of `struct random_data', Bruno Haible, 2010/10/11
- Re: error: redefinition of `struct random_data', Sam Steingold, 2010/10/11
- Re: double inclusion guard, Bruno Haible, 2010/10/11
- Re: double inclusion guard, Gary V. Vaughan, 2010/10/11
- Re: double inclusion guard, Eric Blake, 2010/10/11
- Re: double inclusion guard, Gary V. Vaughan, 2010/10/11
- Re: double inclusion guard, Bruce Korb, 2010/10/12
- Re: double inclusion guard, Bruno Haible, 2010/10/12
- Re: double inclusion guard,
Bruno Haible <=
- Re: double inclusion guard, Gary V. Vaughan, 2010/10/13
- Re: double inclusion guard, Gary V. Vaughan, 2010/10/12