Re: Including sysconfdir in CPPFLAGS

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

 





Peter Eisentraut wrote:
Fredrik Tolf writes:


How do I get the sysconfdir into a cpp macro if I use automake as
well? Should I do it through a config header, or should I do it via
some automake contraption? Should I just add it to CPPFLAGS? Please
tell me.


The Autoconf manual tells the tale:

   A corollary is that you should not use these variables except in
Makefiles.  For instance, instead of trying to evaluate `datadir' in
`configure' and hardcoding it in Makefiles using e.g.
`AC_DEFINE_UNQUOTED(DATADIR, "$datadir")', you should add
`-DDATADIR="$(datadir)"' to your `CPPFLAGS'.


A corollary to gnu coding standards, and a corollary with little impact as `make` and `make install` are still two stages. In the bottom line, it does not matter. - The reality however is even different: do not use sysconfdir in your program sources! people are still thinking to put config files in there but that's inherently wrong. If you want runtime configs, you need to do a lot of runtime checks and go for ${HOME} first, and some package specific ${MYPKGCONFIG} second, and only as a fallback go for a system directory. In that case, do not call it $sysconfdir but a make/subst MYPCKCONFIG that has a configure.ac fallback to ${sysconfdir}, with the effect that in all build stages the _specific_ path can be overridden. And that makes for the thing said above: do not use sysconfdir in your program sources!

cheers,
-- guido                               http://AC-Archive.sf.net
GCS/E/S/P C++/++++$ ULHS L++w- N++@ d(+-) s+a- r+@>+++ y++ 5++X-




[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux