guile-devel
[Top][All Lists]
Advanced

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

Re: Auto(conf|make) style questions


From: Rob Browning
Subject: Re: Auto(conf|make) style questions
Date: Wed, 19 Mar 2003 11:39:12 -0600
User-agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-pc-linux-gnu)

address@hidden writes:

>   - AC_LIBOBJ passes the extra objects through $(LIBOBJS). That
>   means that I can only do it globally, not for a specific
>   binary. Is there another way?

Offhand, I don't think so.  Many of the autoconf default behaviors
only act globally.  Though I guess if you know everything that
AC_LIBOBJ affects, you could grab the values before running the test,
grab the values after, diff them, and then see what changed, but I
wouldn't want to do that :>

I ran in to a similar problem with the config.h fixes where I needed
to test stdint.h if it was available for a set of types, and then test
inttypes.h if it was available for some of the same types.  The
problem is that autoconf didn't allow me to avoid caching the results,
so if the types were found in stdint.h, then those results would
shadow any further tests.  To fix this, I had to do something fairly
ugly:

  unset ac_cv_type_int8_t
  unset ac_cv_type_uint8_t
  ...

between the AC_CHECK_TYPES runs.  Though this could be fragile against
autoconf upgrades, having it fail wouldn't be catastrophic, so I'm not
too worried.

Unless you can't, or there's some limitation I'm not thinking of, I
probably still be more likely to use #if guile version testing:

  #if GUILE_MAJOR_VERSION >= ... && GUILE_MINOR_VERSION ...

though if I wanted more specific, per-function testing, I guess I
might test for the features in configure.in and then stick a "#define
GNEON_NEEDS_SCM_C_STRING2STR 1" into a public config header (but not
config.h, unless you don't need the symbol publically).

Alternately, you could centralize the version info in a header, but
still have per-issue defines:

  #if GUILE_MAJOR_VERSION >= ... && GUILE_MINOR_VERSION ...
  # define GNEON_NEEDS_SCM_C_STRING2STR 1
  # define GNEON_HAS_TO_CORRECT_FOR_GUILE_CRUFT_BAR 1
  #endif

etc.

-- 
Rob Browning
rlb @defaultvalue.org, @linuxdevel.com, and @debian.org
Previously @cs.utexas.edu
GPG starting 2002-11-03 = 14DD 432F AE39 534D B592  F9A0 25C8 D377 8C7E 73A4




reply via email to

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