Re: Defining multiple ASDF systems in the same .asd file

Edi Weitz <[email protected]>
Newsgroups gmane.lisp.cclan.general
Message-ID <[email protected]>
On Wed, 07 Dec 2005 14:49:23 +0100, Paolo Amoroso <[email protected]> wrote:

> Suppose I have an application that defines multiple ASDF systems in
> the same .asd file, like this, some of which depend on one of the
> others:
>
>   (defpackage #:myapp-system
>     (:use #:cl #:asdf))
>
>   (in-package #:myapp-system)
>   
>   (defsystem system1
>     :components (...))
>
>   (defsystem system2
>     :depends-on (system1)
>     :components (...))
>
> When I try to directly load system2 with the form:
>
>   (asdf:operate 'asdf:load-op :system2)
>
> I get an error stating that system2 is not found.  But everything
> works fine if I load system1 first, and then system2.
>
> Am I doing anything wrong?  I install ASDF-based applications on my
> Linux box as explained in section "How it's used - personal lisp
> installations" of:
>
>   ASDF System
>   http://www.cliki.net/ASDF%20System
>
> Is this the recommended way of defining multiple systems?  Does each
> system require a separate .asd file?

I suppose your file is called system1.asd.  When you load a system
ASDF first has to find it (unless it already knows it), so it'll look
for a .asd file with the same name, i.e. trying to load the system
SYSTEM1 will prompt ASDF to look for a file system1.asd.  Once the
file system1.asd has been loaded ASDF now also knows about the system
SYSTEM2 and when you try to load it it doesn't have to search anymore.

HTH,
Edi.


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
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.