[EMAIL PROTECTED] 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
