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-currenthttp://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...