On 2/3/10 Feb 3 -11:53 AM, Faré wrote:
> On 3 February 2010 11:32, Scott Bell <[email protected]> wrote:
>>   (:group "x"
>>           :depends-on ("packages")
> If you're not in a subdirectory #p"x/", here add a
> :pathname #p""
>>           :components
>>           ((:file "a")
>>            (:file "b" :depends-on ("a"))
>>            (:file "c" :depends-on ("b"))
>>            (:file "d" :depends-on ("a" "b"))))
>>
>> Any thoughts?
> 
> There ought to be a FAQ.

There is a FAQ in asdf.texinfo, and here is a patch.  Note that the
solution chosen was not the #P"" solution, but making an empty :relative
pathname.

diff --git a/asdf.texinfo b/asdf.texinfo
index b0e20f3..28fd891 100644
--- a/asdf.texinfo
+++ b/asdf.texinfo
@@ -1284,8 +1284,6 @@ location of the system's source file and the relative 
pathname. For example
 @comment  node-name,  next,  previous,  up
 @chapter Getting the latest version
 
-...@emph{fixme:  Need to revise this to give information about the git 
repository.}
-
 Decide which version you want.  HEAD is the newest version and
 usually OK, whereas RELEASE is for cautious people (e.g. who already
 have systems using asdf that they don't want broken), a slightly older
@@ -1398,6 +1396,51 @@ interfere.
 
 ASDF bugs are tracked on launchpad: @url{https://launchpad.net/asdf}.
 
+...@item ``I want to put my module's files at the top level.  How do I do 
this?''
+
+By default, the files contained in an asdf module go in a subdirectory
+with the same name as the module.  However, this can be overridden by
+adding a @code{:pathname} argument to the module description.  For
+example, here is how it is done in the spatial-trees ASDF system
+definition:
+
+...@example
+(asdf:defsystem :spatial-trees
+  :components
+  ((:module base
+            :pathname #.(make-pathname :directory '(:relative))
+            :components
+            ((:file "package")
+             (:file "basedefs" :depends-on ("package"))
+             (:file "rectangles" :depends-on ("package"))))
+   (:module tree-impls
+            :depends-on (base)
+            :pathname #.(make-pathname :directory '(:relative))
+            :components
+            ((:file "r-trees")
+             (:file "greene-trees" :depends-on ("r-trees"))
+             (:file "rstar-trees" :depends-on ("r-trees"))
+             (:file "rplus-trees" :depends-on ("r-trees"))
+             (:file "x-trees" :depends-on ("r-trees" "rstar-trees"))))
+   (:module viz
+            :depends-on (base)
+            :pathname #.(make-pathname :directory '(:relative))
+            :components
+            ((:static-file "spatial-tree-viz"
+                           :pathname #p"spatial-tree-viz.lisp")))
+   (:module tests
+            :depends-on (base)
+            :pathname #.(make-pathname :directory '(:relative))
+            :components
+            ((:static-file "spatial-tree-test"
+                           :pathname #p"spatial-tree-test.lisp")))
+   (:static-file "LICENCE")
+   (:static-file "TODO")))
+...@end example
+
+All of the files in the @code{tree-impls} module are at the top level,
+instead of in a @code{tree-impls/} subdirectory.
+
 @end itemize
 
 @node  TODO list, missing bits in implementation, FAQ, Top
_______________________________________________
asdf-devel mailing list
[email protected]
http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel

Reply via email to