X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=umlisp.asd;h=bc97895af25f5152d42fd18066799a1c63848518;hb=9b9c48233072a8f64c9677d9b92b5eb956f4079d;hp=d3439e036ecc39b1174766c0e7bd3997f7646f42;hpb=b9fe7fe8b8e24133538f78dbaf6af73b5f0bdec2;p=umlisp.git diff --git a/umlisp.asd b/umlisp.asd index d3439e0..bc97895 100644 --- a/umlisp.asd +++ b/umlisp.asd @@ -19,6 +19,11 @@ (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") @@ -38,3 +43,17 @@ (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)))) +