automake
[Top][All Lists]
Advanced

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

Re: a general question about config.h files


From: Dale E Martin
Subject: Re: a general question about config.h files
Date: Wed, 2 Apr 2003 13:50:36 -0500
User-agent: Mutt/1.3.28i

> > "make install" clutils is installing it's generated config.h, which has
>                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Don't do that.

Meaning that none of my headers can #inlude "config.h"?  That seems
ludicrous to me.
 
> You shouldn't install config.h: they are not meant to be installed, but
> should be used only during the compilation of the project itself. They
> shouldn't contain anything of importance to any other application anyway.

In my current example, I have a header that does this:
#ifdef HAVE_STDINT_H
// The following is a C-99ism...
#ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS
#include <stdint.h>
#endif
typedef int64_t warped64_t;
typedef int32_t warped32_t;
const warped64_t warped64Max = INT64_MAX;
const warped64_t warped64Min = INT64_MIN;
const warped64_t warped32Max = INT32_MAX;
const warped64_t warped32Min = INT32_MIN;
#elif defined(SIZEOF_LONG_LONG_) // defined in warped-config.h
#include <limits.h>
typedef long long warped64_t;
typedef long warped32_t;
const warped64_t warped64Max = LLONG_MAX;
const warped64_t warped64Min = LLONG_MIN;
const warped64_t warped32Max = LONG_MAX;
const warped64_t warped32Min = LONG_MIN;
#else
#include <limits.h>
typedef long VTimeMajor_t;
typedef long VTimeMinor_t;
const warped64_t warped64Max = LONG_MAX;
const warped64_t warped64Min = LONG_MIN;
const warped64_t warped32Max = LONG_MAX;
const warped64_t warped32Min = LONG_MIN;
#warning Could not find 64 bit type using 32 bit max - NOT recommended.
#endif
 
> If they do, try making a clutils-config.h.in file with the stuff you 
> *really* need to have in there as variables for use in AC_SUBST, like so:
> 
> #define something_I_really_need @SOMETHING_I_REALLY_NEED@

So you're saying that I need to not use the "stock-generated" config.h, I
need to filter only the things that really really need to be in there into
a separate file, and then AC_SUBST them into this newly generated file.  Is
that a correct summary?
 
> it will be replaced with the value of ${SOMETHING_I_REALLY_NEED} when you 
> call AC_SUBST(SOMETHING_I_REALLY_NEED) somewhere at an appropriate place 
> in your configure.{in|ac} file.
 
> Of course, you need to make sure the thing only gets preprocessed once 
> with the proper 
> #ifndef _MY_H
> #define _MY_H
> 
> ...
> 
> #endif
> 
> which config.h lacks - because it's not supposed to be installed anyway :)

OK, that was one of those things I had wondered about as well :-)

Thanks,
        Dale
-- 
Dale E. Martin, Clifton Labs, Inc.
Senior Computer Engineer
address@hidden
http://www.cliftonlabs.com
pgp key available




reply via email to

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