diff -p -up maxima-5.22.0/src/maxima.system.orig maxima-5.22.0/src/maxima.system --- maxima-5.22.0/src/maxima.system.orig 2010-08-06 21:25:26.174381322 -0300 +++ maxima-5.22.0/src/maxima.system 2010-08-06 21:26:10.686588173 -0300 @@ -33,6 +33,14 @@ (export '*maxima-build-time*) #+ecl +(defun split-ld-flags-for-ecl (string &aux space) + (setf string (string-trim '(#\Space) string)) + (if (setf space (position #\Space string)) + (cons (subseq string 0 space) + (split-ld-flags-for-ecl (subseq string (1+ space)))) + (cons string nil))) + +#+ecl (defun do-compile-ecl (file &rest args) ;; Not sure about this. Compile twice. The first produces a .o ;; file. The second produces the .fas file to keep defsystem happy @@ -64,7 +72,7 @@ :ld-flags (let ((x (symbol-value (find-symbol "*AUTOCONF-LD-FLAGS*" (find-package "MAXIMA"))))) - (if (and x (not (string= x ""))) (list x))) + (if (and x (not (string= x ""))) (split-ld-flags-for-ecl x))) :epilogue-code '(progn (require :defsystem) (cl-user::run)))))))