logo       

Re: Handling PACKAGE, PACKAGE_VERSION, etc. with multiple libraries: msg#00007

sysutils.autoconf.general

Subject: Re: Handling PACKAGE, PACKAGE_VERSION, etc. with multiple libraries

On Thu, 2004-08-05 at 00:19, J.T. Conklin wrote:
> I am in the process of autoconfiscating TAO (The ACE ORB), an open
> source CORBA implementation built atop the ACE C++ framework.
>
> Both ACE and TAO create config.h files which are used in compiling the
> respective libraries. The config.h files are also installed and are
> referenced by library headers, as the macros defined within are needed
> in the implementation of inline functions, etc.
>
> The ACE and TAO macros do not conflict, since they use ACE_ and TAO_
> prefixes. The system macros like SIZEOF_DOUBLE and HAVE_UNISTD_H do
> not conflict, since they are defined with the same values.
... You are polluting the preprocessor symbols' with #defines. This is
considered bad design.

> But the
> PACKAGE macros defined by autoconf (PACKAGE, PACKAGE_NAME, PACKAGE_-
> VERSION, etc.) do.
>
> Fortunately these macros aren't used by either ACE or TAO, so all
> there is are annoying compiler warnings. Is there any better way
> to handle this so that the PACKAGE macros aren't defined in config.h?
The standard answer to this problem is (Please search this list's
archive. Your question is sort of a FAQ popping up every couple of
months since autoconf-2.5x):

Don't install autoheaders, treat them as private files of a package. If
you really need to export preprocessor symbols you'll have to find other
ways to do so (There are many ways to achieve this.)

Ralf


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise