On Tue, Feb 04, 2025 at 10:31:48AM -0500, Camm Maguire wrote:
> Greetings, and thanks so much for your feedback!
> 
> Could you please post the failing log?  AFAICS including C source is
> standard C and works, at least in my testing, with GCL built outside the
> source tree, both 2.7 and 2.6.

_FriCAS_ is supposed to build out of _its_ source tree.  This is
broken due to include paths.  C compile commands in FriCAS should
look like in this Makefile rule:

%.$(OBJEXT): $(srcdir)/%.c $(fricas_c_macros_h)
        $(CC) -g -fPIC $(CCF) $(CFLAGS) -c $(fricas_includes) \
          $(FRICAS_X11_CFLAGS) $< -o $@

That is '$(srcdir)/' to give path to source dir and '$(fricas_includes)'
which is adjusted so to it points to source tree.  Plain '../include' or
'../lib/bsdsignal.c' is wrong for FriCAS, it does not work with out
of source build.

If we really need C includes there should be rules like:

bsdsignal.c: $(srcdir)/../lib/bsdsignal.c
        cp $< $@

and the same for other included files.  And the paths in '-I' must
contain '$(srcdir).

However, I must ask: what is wrong with 'compiler::link'?  Once
we re-add support for out of source build Makefile using
'compiler::link' will be of comparable size as version not
using it and IMO 'compiler::link' will give more robust Makefile
(basically cruft in 'compiler::link' variant is constant, while
avoiding it leads to variable cruft which may break in strange
setups).

-- 
                              Waldek Hebisch

-- 
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/Z6U08nvmd2BMXMo4%40fricas.org.

Reply via email to