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 [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/fricas-devel/Z6U08nvmd2BMXMo4%40fricas.org.