Proposal for location of fasls



Hello,

may I interrupt from the user perspective:

I see two classes of users:
(i) with system installation (/usr/local etc.)
(ii) with local installation

And for class (ii) the default place where to put any
auxiliary files etc. should be the installation directory.

With all what you say below it seems you are considering only
class (i) --- while class (ii) users definitely don't want
/temp or their home directory cluttered with auxiliary files/directories
(that's why they created a local installation).

So shouldn't it be the case that when prefix is set during build,
then the installation directory obtains a new sub-directory, say,
aux, and everything goes there?

(Or else there should be a clear build-option for doing so.)

Oliver

P.S. As I said, this is written from the (future) user perspective
(the affine package is of interest to me; though yet the documentation
was to unspecific to me so I didn't get what's it precisely about
(and what is the difference to the grobner-package)).


On Wed, Jan 21, 2009 at 07:32:47PM +0300, Aleksej Saushev wrote:
> Raymond Toy <toy.raymond at gmail.com> writes:
> 
> > It's been mentioned previously that some of the share packages like
> > lapack and affine (previously) were trying to compile into the same
> > directories as the source.  However, in many situations, these
> > directories are not generally writable.
> >
> > Andreas has modified the affine system so that the affine fasls are
> > saved in the directory binary-foo in *maxima-tempdir*.  This is much
> > better than what we have today.
> >
> > However, there is no guarantee that different systems will always have
> > different filenames, so they'll overwrite each other.  Also,
> > *maxima-tempdir* defaults to the user's home directory, so fasls from
> > maxima subsystems will clutter the users home directory.
> 
> Maybe it is better to default to /tmp or ${TMPDIR}?
> 
> > I propose that systems should place fasls not in *maxima-tempdir* but in
> > *maxima-userdir*, and they should be in some subdirectory, preferably
> > based on the actual source pathname.   Thus, affine would store it fasls
> > in *maxima-userdir*/share/affine/binary-foo and minpack goes in
> > *maxima-userdir*/share/minpack/binary-foo.
> 
> This is called OBJDIR ("object directory") in BSDs. See make(1) at
> 
> http://man.netbsd.org/cgi-bin/man-cgi?make++NetBSD-current
> http://man.freebsd.org/cgi/man.cgi?sektion=0&query=make&manpath=FreeBSD+7.1-RELEASE&format=html
> 
> Specifically, note the first rule for .OBJDIR
> 
> > This can be used by systems to create the base directory in which to
> > store the compiled fasls.
> >
> > Another useful utility is maxima-subsystem-source-directory which
> > returns the directory where the defsystem file lives.  This is useful in
> > defsystem files to set the source directory relative to the location of
> > the defsystem file itself.
> 
> 
> -- 
> HE CE3OH...
> 
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima

-- 
Dr. Oliver Kullmann
Computer Science Department
Swansea University
Faraday Building, Singleton Park
Swansea SA2 8PP, UK
http://cs.swan.ac.uk/~csoliver/