[LLVMdev] llvm/Config/config.h namespace problem

Óscar Fuentes ofv at wanadoo.es
Tue Aug 3 15:03:38 PDT 2010

"Joel E. Denny" <jdenny at etinternational.com> writes:

> The LLVM headers llvm-c/Target.h and llvm/Target/TargetSelect.h include 
> the header llvm/Config/config.h, which defines common macros, such as 
> PACKAGE_BUGREPORT.  If a project that uses LLVM includes any of these 
> headers, the project's own macros of the same names can be redefined.
> Most advice I have seen says that installed headers should never define 
> such common macros.  Thus, an internal config.h should never be installed:
>   http://stackoverflow.com/questions/1810216/autoconf-where-does-config-h-go
>   http://lists.gnu.org/archive/html/autoconf/2004-09/msg00151.html
> Would you please consider replacing the current llvm/Config/config.h with 
> a trimmed down version that contains only the definitions that must be 
> present in LLVM's installed headers?  PACKAGE_* macros certainly do not 
> need to be there.

Most of the stuff contained in config.h should never reach client's

A possible solution is to configure Target.h and TargetSelect.h, as we
already do with other files (config.h itself.)

In any case, a bug report would ensure that this is not forgotten. Can
you file one, please?

More information about the llvm-dev mailing list