Re: "non-local" components in asdf

John DeSoi <[email protected]>
Newsgroups gmane.lisp.cclan.general
Message-ID <p05200f11ba61727b1860@[192.168.1.7]>
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 <[email protected]>"
   :version "0.9.2"
   :maintainer "Kevin M. Rosenberg <[email protected]>"
   :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))


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.