Currently, the only FFI function used during build (without-x11)
is |remove_directory| in |erase_lib|, and there has a Lisp fallback.

So the autotools variable "fricas_has_directory_operations"
means we have those C functions, while Lisp symbol
:fricas_has_remove_directory means we can use them.
This is not true for CLISP built without FFI.

Following patch fixes that.

An additional advantage: it is now easier to port FriCAS to
another Lisp.  We can add the missing #+ Lisp functions first,
and add the FFI functions later.

- Qian

diff --git a/src/lisp/Makefile.in b/src/lisp/Makefile.in
index af63805f..014dcc51 100644
--- a/src/lisp/Makefile.in
+++ b/src/lisp/Makefile.in
@@ -102,8 +102,8 @@ fricas-config.lisp:
        echo '(defparameter algebra-optimization' \
             '(quote $(fricas_algebra_optimization)))' >> $@
        if [ x$(fricas_has_directory_operations) = xyes ] ; then \
-           echo '(if (not (member :fricas_has_remove_directory' \
-                          ' *features*)) ' \
+           echo '#-(and :clisp (not :ffi))' \
+ '(if (not (member :fricas_has_remove_directory *features*)) ' \
                     '(push :fricas_has_remove_directory *features*))' \
               >> $@ ; \
        fi

--
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 on the web visit 
https://groups.google.com/d/msgid/fricas-devel/9ee90575-f567-426c-a87c-32de83595df8%40gmail.com.

Reply via email to