Skip to content
Snippets Groups Projects
asdf.lisp 35.9 KiB
Newer Older
(eval-when (:compile-toplevel :load-toplevel :execute)
  (when (sb-ext:posix-getenv "SBCL_BUILDING_CONTRIB")
    (pushnew :sbcl-hooks-require *features*)))

#+(and sbcl sbcl-hooks-require)
(progn
  (defun module-provide-asdf (name)
    (let ((system (asdf:find-system name nil)))
      (when system
	(asdf:operate 'asdf:load-op name)
	(provide name))))

  (pushnew
   (merge-pathnames "systems/"
		    (truename (sb-ext:posix-getenv "SBCL_HOME")))
   *central-registry*)
  
  (pushnew
   (merge-pathnames "site-systems/"
 		    (truename (sb-ext:posix-getenv "SBCL_HOME")))
   *central-registry*)
  
  (pushnew
   (merge-pathnames ".sbcl/systems/"
 		    (user-homedir-pathname))
   *central-registry*)
  
  (pushnew 'module-provide-asdf sb-ext:*module-provider-functions*))