blob: d9af8c373caf73ca4059eae66fafeb95197f3f5c [file] [log] [blame]
diff -r -U1 maxima-5.37.1.orig/src/maxima.in maxima-5.37.1/src/maxima.in
--- maxima-5.37.1.orig/src/maxima.in 2015-05-22 04:40:03.000000000 +0600
+++ maxima-5.37.1/src/maxima.in 2015-09-03 16:33:30.913866985 +0600
@@ -188,3 +188,3 @@
elif [ "$MAXIMA_LISP" = "ecl" ]; then
- exec "$maxima_image_base" $MAXIMA_LISP_OPTIONS -- "$@"
+ exec "$maxima_image_base" $MAXIMA_LISP_OPTIONS -norc -- "$@"
diff -r -U1 maxima-5.37.1.orig/src/maxima.system maxima-5.37.1/src/maxima.system
--- maxima-5.37.1.orig/src/maxima.system 2015-09-01 02:26:13.000000000 +0600
+++ maxima-5.37.1/src/maxima.system 2015-09-03 16:42:47.071843596 +0600
@@ -61,2 +61,10 @@
#+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 build-maxima-lib ()
@@ -77,2 +85,7 @@
files)))
+ (c::build-fasl "binary-ecl/maxima" :lisp-files obj
+ :ld-flags
+ (let ((x (symbol-value (find-symbol "*AUTOCONF-LD-FLAGS*"
+ (find-package "MAXIMA")))))
+ (if (and x (not (string= x ""))) (split-ld-flags-for-ecl x))))
(c::build-program "binary-ecl/maxima" :lisp-files obj
@@ -81,3 +94,3 @@
(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)