From: John D. <jd...@pl...> - 2003-02-01 13:08:07
|
Hi James, I'm not an expert, but I'll take a stab. I think the right way is to push any directory that will have a .asd on to asdf:*central-registry. Then the system definition can reference other system definitions with a :depends-on specification. I have included an example below where clsql-postgresql-socket depends on two other systems clsql-base and uffi. You still have to get the path of each .asd file in the registry somehow. But the nice thing is that once you have this systems can be moved around without breaking anything. I'm glad to hear you are thinking about asdf for cl-xml. I found the loading it to be a bit confusing. It may also simplify things if you are doing integration with Portable AllegroServe since it also uses ASDF. Best, John DeSoi, Ph.D. ===== At 8:47 PM +0100 1/31/03, james anderson wrote: >hello; > >i am contemplating supporting asdf for the next cl-xml release. most >likey in the form of macros which rewrite the system management >expressions which i inherited from cl-http. > >i don't understand how to succinctly express non-local components. >is there a way to do this, or does asdf argue against them? by >"non-local" i mean a file component which is not in the directory >designated by the path in effect for its module. i tried to just go >ahead and give such a component a relative pathname as a name, but >that did not have the desired effect. > (in-package :asdf) ;;; System definition #+(or allegro lispworks cmu sbcl openmcl mcl scl) (defsystem :clsql-postgresql-socket :name "cl-sql-postgresql-socket" :author "Kevin M. Rosenberg <km...@de...>" :version "0.9.2" :maintainer "Kevin M. Rosenberg <km...@de...>" :licence "Lessor Lisp General Public License" :description "Common Lisp SQL PostgreSQL Socket Driver" :long-description "cl-sql-postgresql-socket package provides a database driver to the PostgreSQL database via a socket interface." :components ((:module :db-postgresql-socket :components ((:file "postgresql-socket-package") (:file "postgresql-socket-api" :depends-on ("postgresql-socket-package")) (:file "postgresql-socket-sql" :depends-on ("postgresql-socket-api"))))) :depends-on (:clsql-base :uffi)) |