Kevin Ryde <[EMAIL PROTECTED]> writes: > Neil Jerram <[EMAIL PROTECTED]> 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