(defpackage #:umlisp-system (:use #:asdf #:cl))
(in-package #:umlisp-system)
+;; need to load uffi for below perform :after method
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (unless (find-package 'uffi)
+ (asdf:operate 'asdf:load-op 'uffi)))
+
(defsystem umlisp
:components
((:file "package")
(defmethod perform ((o test-op) (c (eql (find-system 'umlisp))))
(operate 'load-op 'umlisp-tests)
(operate 'test-op 'umlisp-tests :force t))
+
+(defmethod perform :after ((o load-op) (c (eql (find-system 'umlisp))))
+ (let* ((init-var (uffi:getenv "UMLISPRC"))
+ (init-file (or (when init-var (probe-file init-var))
+ (probe-file
+ (merge-pathnames
+ (make-pathname :name ".umlisprc")
+ (user-homedir-pathname)))
+ #+(or mswin windows win32)
+ (probe-file "c:\\etc\\umlisp-init.lisp"))))
+ (when init-file
+ (format t "loading umlisp init file ~A~%" init-file)
+ (load init-file))))
+