Re: ASDF: module and system level dependencies don't work right?
Gary King <[email protected]>
| Newsgroups | gmane.lisp.cclan.general |
|---|---|
| Message-ID | <[email protected]> |
Hi Todd,
I like things the way they are though documenting the behavior
explicitly would be good. To my mind each module is a separate
"piece" and the flow of dependencies should stop at each boundary. On
the other hand, dependency ought to flow between the files within a
module. I don't have a good justification for this but it seems
reasonable enough to me and fits my mental model.
On Dec 7, 2005, at 11:40 AM, Todd Sabin wrote:
>
> The :depends-on attribute seems to work differently with modules and
> systems than it does with individual source files. If you have a
> system
> like this:
>
> (asdf:defsystem system1
> :components
> ((:file "package")
> (:file "foo" :depends-on ("package"))
> (:file "bar" :depends-on ("package" "foo")))
> :depends-on ())
>
> then modifying package.lisp and doing a load-op will cause all three
> files to be compiled and loaded.
>
> However, if you have a system like this:
>
> (asdf:defsystem system2
> :components
> ((:module package
> :components ((:file "package")))
> (:module foo
> :components ((:file "foo"))
> :depends-on (package))
> (:module bar
> :components ((:file "bar"))
> :depends-on (package foo)))
> :depends-on ())
>
> then modifying package.lisp and doing a load-op will cause only
> package.lisp to be compiled and loaded. (And similarly for system
> level dependencies.)
>
> Another way to say it would be that for modules and systems,
> :depends-on seems to operate more like a ":requires" operator.
>
> Is this intentional? I've assumed it's a bug, and have "fixed" it
> locally, but my "fix" ended up changing a lot of stuff, and almost
> certainly broke some undocumented features. (I couldn't figure out
> how the :force option was supposed to work, for example.) I'm pretty
> sure it also ends up doing more loading than necessary now, but I
> prefer too much loading to not enough compiling.
>
> If someone can confirm this is a bug, and tell me how things like
> :force are supposed to work, I can try to clean up my patch. I also
> created a few more complicated system definitions for testing. I
> suppose it'd be nice to add them to the test suite, but I haven't done
> that yet...
>
> Thanks,
>
>
> Todd
>
> p.s. If anyone wants my half-baked patch as is, let me know. It'd be
> against an asdf.lisp from a few revisions back of cvs head, but I've
> confirmed the behavior above is still present in head.
>
> --
> Todd Sabin
> <[email protected]>
>
>
> -------------------------------------------------------
> 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
> _______________________________________________
> cclan-list mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/cclan-list
--
Gary Warren King
metabang.com
http://www.metabang.com/
smime.p7s
(application/pkcs7-signature, 2.3 KB) - not displayed