Greetings!

Waldek Hebisch <de...@fricas.org> writes:

> On Fri, Feb 07, 2025 at 08:59:33AM -0500, Camm Maguire wrote:
>> Greetings!  OK I've pushed a quick commit addressing this issue which
>> seems to be working -- please let me know what you think.
>
> It did not work: 'config' include is in build tree and normally not
> present in source tree (it could be in source tree if you previously
> build there).
>
> There were missing dependencies, not a problem for build itself
> but could be very confusing if one tries to re-make after change.
>
> I would also prefer to avoid overlong lines.  Diff with my
> changes attached.

Thank you so much -- looks great to me, and just committed to restore
trunk out of source tree builds.

>
> BTW: I prefer to commit things after enough testing, to have
> clean history and to avoid broken builds for people fetching trunk.
>

Duly noted, and my apologies.

>> > I wrote compiler::link many years ago as a stopgap compromise to get a
>> > standalone separate GCL to support the standard applications.  Prior to
>> > this it was conventional to take snapshots of the GCL source code and
>> > embed it into the source of the applications, with the obvious
>> > maintenance difficulties accompanying.  I do not intend to withdraw
>> > compiler::link anytime soon, but it alone requires shipping a large
>> > number of GCL source files and compiled libraries alongside the GCL
>> > binary.  The alternate '(load "foo.o")(save-system "bar")' lisp paradigm
>> > is clearly dominant, and arguably a distinctive feature of the lisp
>> > 'world'.  Supporting two different linkers is fragile and an extra
>> > maintenance headache I would like to avoid.  FRICAS is the last
>> > application still using it.
>
> AFAICS both dumping and 'compiler::link' are useful.  'compiler::link'
> seem to be only possibility if one only has binary object files
> (say from non-C compiler) or static library.  And with all other
> Lisp-s FriCAS can link objects created from C files, either staticaly
> or dynamically.  Currently this include business is managable, but
> I have plans for more C files where I may need target-specific
> options for good performance (the idea is to link-in multiple
> variants and choose good one at runtime).

Thanks for the feedback.  I am wondering what you think of the
persistent linking of new C code as described below:

https://lists.nongnu.org/archive/html/gcl-devel/2007-06/msg00001.html

One can take any C-interface shared object and permanently link it into
a GCL image in this way -- the only difference with compiler::link is
that the object remains in a separate file.

Many years ago I worked on a scheme for switchable access to optimized
blas/lapack routines (ATLAS) based on the simd extensions in the running
cpu via configuration/instructions to ld.so.  I'm sure things have
evolved since then and there is some canonically preferred method, but
it is and was an eminently workable idea.

Take care,
-- 
Camm Maguire                                        c...@maguirefamily.org
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/fricas-devel/878qqgd2g7.fsf%40maguirefamily.org.

Reply via email to