From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: pkg-config support Date: Wed, 30 Apr 2008 13:49:14 +0200 Message-ID: <87r6cna7gl.fsf@gnu.org> References: <87lk2xd5qp.fsf@gnu.org> <87r6cpf11e.fsf@ambire.localdomain> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1209560590 23398 80.91.229.12 (30 Apr 2008 13:03:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 30 Apr 2008 13:03:10 +0000 (UTC) Cc: guile-devel@gnu.org To: Thien-Thi Nguyen Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Apr 30 15:03:46 2008 connect(): Connection refused Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JrBy0-0001B4-06 for guile-devel@m.gmane.org; Wed, 30 Apr 2008 15:03:24 +0200 Original-Received: from localhost ([127.0.0.1]:57614 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JrBxH-0000JH-OG for guile-devel@m.gmane.org; Wed, 30 Apr 2008 09:02:39 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JrAoJ-0008HG-OM for guile-devel@gnu.org; Wed, 30 Apr 2008 07:49:19 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JrAoH-0008Fn-Cb for guile-devel@gnu.org; Wed, 30 Apr 2008 07:49:19 -0400 Original-Received: from [199.232.76.173] (port=47867 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JrAoH-0008Fk-86 for guile-devel@gnu.org; Wed, 30 Apr 2008 07:49:17 -0400 Original-Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.60) (envelope-from ) id 1JrAoG-0001j3-IF for guile-devel@gnu.org; Wed, 30 Apr 2008 07:49:17 -0400 X-IronPort-AV: E=Sophos;i="4.25,728,1199660400"; d="scan'208";a="12125629" Original-Received: from unknown (HELO nixey) ([193.50.110.83]) by mail3-relais-sop.national.inria.fr with ESMTP; 30 Apr 2008 13:49:14 +0200 X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 12 =?iso-8859-1?Q?Flor=E9al?= an 216 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEB1F5364 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 821D 815D 902A 7EAB 5CEE D120 7FBA 3D4F EB1F 5364 X-OS: i686-pc-linux-gnu In-Reply-To: <87r6cpf11e.fsf@ambire.localdomain> (Thien-Thi Nguyen's message of "Tue\, 29 Apr 2008 11\:44\:29 +0200") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. X-Mailman-Approved-At: Wed, 30 Apr 2008 09:02:30 -0400 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:7199 Archived-At: Hi, Thien-Thi Nguyen writes: > () ludo@gnu.org (Ludovic Court=E8s) > () Mon, 28 Apr 2008 23:33:34 +0200 > > +# Note: `sitedir' must be kept in sync with > `GUILE_SITE_DIR' in `guile.m4'. > > The 1.4.x guile.m4 (appended) also has GUILE_LIBSITE_DIR. > I think this would be a good addition; third parties can > install machine- (architecture-) dependent files there. Actually, both look like a bad idea to me. :-) Having a package that installs its modules to $(GUILE_SITE) instead of $prefix/something is Bad(tm) as it breaks user expectations and the GCS (see "Variables for Installation Directories"), and it makes it impossible to run `distcheck' anyway. Thus many packages end up having their own `--with-guilemoduledir' option or similar that determines the installation directory of Guile modules and defaults to $prefix/something. As for libraries, there's an additional problem. Libraries that are not meant to be used from C (e.g., bindings of some C library whose C API is not public) would better fit under $pkglibdir than under $libdir. In that case, the `.scm' module that calls `load-extension' must contain the full path to the lib, since it cannot expect it to be in ld.so's search path. The problem is that doing so precludes running tests from the build tree, before installation. (This is another instance of the problem that Libtool has with `RPATH', where the `RPATH' in the build tree must be different from the one in the installed library, so that the in-tree library can be used for testing purposes before installation. Libtool solves it by rebuilding the library with the right `RPATH' at "make install" time.) IMO what we really need is: 1. Autoconf support for, say, `--guilemoduledir', so that Guile packages can use it consistently; 2. Automake support to somehow solve the above problem with the path passed to `load-extension'. Both would be nice usability improvements. Thanks, Ludovic.