From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.user Subject: Re: Where to install files? Date: Mon, 10 Oct 2005 23:54:06 +0100 Message-ID: <873bn9t241.fsf@ossau.uklinux.net> References: <87y851xja3.fsf@ossau.uklinux.net> <87wtkl6oq7.fsf@zip.com.au> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1128985013 8519 80.91.229.2 (10 Oct 2005 22:56:53 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 10 Oct 2005 22:56:53 +0000 (UTC) Cc: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Tue Oct 11 00:56:52 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EP6Xr-0006fv-Qg for guile-user@m.gmane.org; Tue, 11 Oct 2005 00:55:00 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EP6Xr-0003f9-1Y for guile-user@m.gmane.org; Mon, 10 Oct 2005 18:54:59 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EP6Xj-0003eI-AW for guile-user@gnu.org; Mon, 10 Oct 2005 18:54:51 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EP6Xh-0003dE-MK for guile-user@gnu.org; Mon, 10 Oct 2005 18:54:50 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EP6Xh-0003cu-5a for guile-user@gnu.org; Mon, 10 Oct 2005 18:54:49 -0400 Original-Received: from [80.84.72.33] (helo=mail3.uklinux.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1EP6Xh-0000cH-Aa for guile-user@gnu.org; Mon, 10 Oct 2005 18:54:49 -0400 Original-Received: from laruns (host81-130-96-186.in-addr.btopenworld.com [81.130.96.186]) by mail3.uklinux.net (Postfix) with ESMTP id 2B6F3409FAE; Mon, 10 Oct 2005 22:54:48 +0000 (UTC) Original-Received: from laruns (laruns [127.0.0.1]) by laruns (Postfix) with ESMTP id E99776F71B; Mon, 10 Oct 2005 23:54:06 +0100 (BST) Original-To: Kevin Ryde In-Reply-To: <87wtkl6oq7.fsf@zip.com.au> (Kevin Ryde's message of "Tue, 11 Oct 2005 07:34:08 +1000") User-Agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:4825 Archived-At: Kevin Ryde writes: > Neil Jerram writes: >> >> Can someone tell me the Makefile.am incantations for determining where >> a package should install Scheme and Elisp files? > > For the lisp bits, AM_PATH_LISPDIR in configure.ac then > > dist_lisp_LISP = foo.el > > or if you don't want it byte-compiled, > > dist_lisp_DATA = foo-autoloads.el foo-devel.el Thanks. I realized after posting that my package already does this, but I'd still like to probe a bit further about whether it is right, and hence if something similar should apply to Scheme files. With Emacs under Debian, for example, use of AM_PATH_LISPDIR means that stuff installed by "./configure; make; make install" goes under /usr/share/emacs (and so not somewhere like /usr/local/share/emacs). Is that appropriate? Do distributions like Debian have policy on where files should go in such cases? (i.e. files from packages for a distribution-managed program, but where the package is not itself distribution-managed.) I guess you could say that AM_PATH_LISPDIR defines the policy, and that if Debian (or other distribution) wanted such files to go under /usr/local, they could have arranged for AM_PATH_LISPDIR to return /usr/local/share/emacs. (Could they in fact do this?) If the last para is correct, and similar arguments apply to Scheme files, I think the implications are that - Guile's configure should allow separate specification of (1) overall installation prefix (e.g. /usr) (2) default install location for distribution-managed packages (e.g. /usr/share/guile, default=(1)/share/guile) (3) default install location for non-distribution-managed packages (e.g. /usr/local/share/guile, default=(2)) (4) a location for site-local files (e.g. /usr/local/share/guile/site, default=(3)/site) (5) location of the system init file (e.g. /etc/guile/1.6/init.scm, default=init.scm) - At runtime, Guile would initialize its load path using (1), (2), (3) and (4), and read the init file from (5). - When a package's configure is run, guile.m4 should be able to provide either (2) or (3) as the value of a Makefile.am variable GUILE_SCHEME_DIR: - GUILE_SCHEME_DIR would give (2) if a package's ./configure was run with a --with-dist-managed-install-dir option (as a convenience for distribution packagers) - GUILE_SCHEME_DIR would give (3) if a package's ./configure was run without this option (the normal case for people building tarballs) Guile's guile.m4 currently provides GUILE_SITE_DIR, but that feels wrong to me both because it doesn't handle the (2)/(3) distinction above, and because of the /site ending - I think of site as being for code put there by the local sysadmin, not for code from packages at all. Thoughts? (People commenting on this may also want to review the thread from last year that began at http://lists.gnu.org/archive/html/guile-devel/2004-11/msg00016.html) Neil _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user