From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id EAA27416; Wed, 15 Oct 2003 04:24:48 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id EAA26815 for ; Wed, 15 Oct 2003 04:24:46 +0200 (MET DST) Received: from mz2.forethought.net (mzpi4.forethought.net [216.241.36.13]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id h9F2Oj104226 for ; Wed, 15 Oct 2003 04:24:45 +0200 (MET DST) Received: from [216.241.35.41] (helo=swordfish) by mz2.forethought.net with esmtp (Exim 4.14) id 1A9bL9-0006lI-Ae for caml-list@pauillac.inria.fr; Tue, 14 Oct 2003 20:24:43 -0600 Received: from matt by swordfish with local (Exim 3.35 #1 (Debian)) id 1A9bLH-0008EN-00 for ; Tue, 14 Oct 2003 20:24:51 -0600 Date: Tue, 14 Oct 2003 20:24:51 -0600 From: Matt Gushee To: caml-list@pauillac.inria.fr Subject: Re: [Caml-list] DBM in OCaml 3.07 Message-ID: <20031015022450.GF26799@swordfish> Reply-To: Matt Gushee Mail-Followup-To: caml-list@pauillac.inria.fr References: <20031015001332.GB26799@swordfish> <20031015094048N.garrigue@kurims.kyoto-u.ac.jp> <20031015012445.GD26799@swordfish> <20031015103929E.garrigue@kurims.kyoto-u.ac.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20031015103929E.garrigue@kurims.kyoto-u.ac.jp> User-Agent: Mutt/1.3.27i X-Loop: caml-list@inria.fr X-Spam: no; 0.00; gushee:01 gushee:01 caml-list:01 3.07:01 0900,:01 jacques:01 3.06,:01 ndbm:01 ndbm:01 usr:01 usr:01 englewood:01 manure:01 mgushee:01 havenrock:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Wed, Oct 15, 2003 at 10:39:29AM +0900, Jacques Garrigue wrote: > From: Matt Gushee > > > > There seems to be another problem with gdbm-ndbm.h being ignored if > > > there is no gdbm_compat library, which might have to be fixed, but I'm > > > no gdbm exert. gdbm-ndbm.h was not checked on ocaml 3.06, but it has > > > lower priority than ndbm.h anyway. > > > > Ah, but it effectively has a *higher* priority in the configure script: > > > The break is supposed to get out of the loop, so if ndbm.h is in the > same directory, or a previous directory, it has priority. > This is a bit confusing, as if ndbm.h is in /usr/include/db1 and > gdbm-ndbm.h is in /usr/include, then gdbm-ndbm.h will be selected. > Is it your case? Yes, that's it exactly. Since it's very hard to anticipate exactly where header files will be located, maybe it would be better to do two loops, first searching for ndbm.h in all the directories, then searching for gdbm-ndbm.h only if ndbm.h was not found. The following code works for me: for dir in /usr/include /usr/include/db1 /usr/include/gdbm; do if test -f $dir/ndbm.h; then dbm_include=$dir if sh ./hasgot dbm_open; then dbm_link="" elif sh ./hasgot -lndbm dbm_open; then dbm_link="-lndbm" elif sh ./hasgot -ldb1 dbm_open; then dbm_link="-ldb1" elif sh ./hasgot -lgdbm dbm_open; then dbm_link="-lgdbm" elif sh ./hasgot -lgdbm_compat -lgdbm dbm_open; then dbm_link="-lgdbm_compat -lgdbm" fi break fi done if [ "$dbm_include" = "not found" ]; then for dir in /usr/include /usr/include/db1 /usr/include/gdbm; do if test -f $dir/gdbm-ndbm.h; then dbm_include=$dir use_gdbm_ndbm=yes if sh ./hasgot -lgdbm_compat -lgdbm dbm_open; then dbm_link="-lgdbm_compat -lgdbm" elif sh ./hasgot -lgdbm dbm_open; then dbm_link="-lgdbm" fi break fi done fi -- Matt Gushee When a nation follows the Way, Englewood, Colorado, USA Horses bear manure through mgushee@havenrock.com its fields; http://www.havenrock.com/ When a nation ignores the Way, Horses bear soldiers through its streets. --Lao Tzu (Peter Merel, trans.) ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners