From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Rob Browning Newsgroups: gmane.lisp.guile.devel,gmane.comp.sysutils.autoconf.general Subject: Re: Auto(conf|make) style questions Date: Wed, 19 Mar 2003 11:39:12 -0600 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: <878yvb1cjj.fsf@raven.i.defaultvalue.org> References: <20030319172104.GA6109@www> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1048096455 8658 80.91.224.249 (19 Mar 2003 17:54:15 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 19 Mar 2003 17:54:15 +0000 (UTC) Cc: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Mar 19 18:54:07 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18vhlP-0002Et-00 for ; Wed, 19 Mar 2003 18:54:07 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18vhjs-0001sn-01 for guile-devel@m.gmane.org; Wed, 19 Mar 2003 12:52:32 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18vhhS-0000oy-00 for guile-devel@gnu.org; Wed, 19 Mar 2003 12:50:02 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18vhf4-0000CZ-00 for guile-devel@gnu.org; Wed, 19 Mar 2003 12:47:36 -0500 Original-Received: from dsl093-098-016.wdc1.dsl.speakeasy.net ([66.93.98.16] helo=defaultvalue.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18vhWz-0005eU-00; Wed, 19 Mar 2003 12:39:13 -0500 Original-Received: from raven.i.defaultvalue.org (raven.i.defaultvalue.org [192.168.1.7]) by defaultvalue.org (Postfix) with ESMTP id 545CF3B0; Wed, 19 Mar 2003 11:39:12 -0600 (CST) Original-Received: by raven.i.defaultvalue.org (Postfix, from userid 1000) id 2339FE403B; Wed, 19 Mar 2003 11:39:12 -0600 (CST) Original-To: tomas@fabula.de In-Reply-To: <20030319172104.GA6109@www> (tomas@fabula.de's message of "Wed, 19 Mar 2003 18:21:04 +0100") User-Agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-pc-linux-gnu) Original-cc: autoconf@gnu.org Original-cc: rm@fabula.de X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Developers list for Guile, the GNU extensibility library List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.devel:2090 gmane.comp.sysutils.autoconf.general:2375 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:2090 tomas@fabula.de 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 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel