setup' and compile' skip a subdirectory if it's called "doc". This

doesn't work for scribble/doc, which is a directory with code.  So
change the check to skip "doc" only if it's in the main plt collects
tree.

svn: r10488
This commit is contained in:
Eli Barzilay 2008-06-28 09:32:12 +00:00
parent 7fa06be28d
commit 8fb7e764c7
2 changed files with 18 additions and 13 deletions

View File

@ -27,7 +27,8 @@
scheme/file scheme/file
mzlib/compile ; gets compile-file mzlib/compile ; gets compile-file
mzlib/cm mzlib/cm
setup/getinfo) setup/getinfo
setup/main-collects)
(provide compiler@) (provide compiler@)
@ -178,17 +179,20 @@
(when (info* 'compile-subcollections (lambda () #f)) (when (info* 'compile-subcollections (lambda () #f))
(printf "Warning: ignoring `compile-subcollections' entry in info ~a\n" (printf "Warning: ignoring `compile-subcollections' entry in info ~a\n"
dir)) dir))
(for ([p (directory-list dir)] (for ([p (directory-list dir)])
#:when (directory-exists? (build-path dir p))) (let ([p* (build-path dir p)]
(let ([s (path->string p)]) [s (path->string p)])
;; this is the same check that setup/setup-unit is doing in (when (and
;; `make-cc*' (directory-exists? p*)
(unless (or (regexp-match? #rx"^[.]" s) (not
;; this is the same check that setup/setup-unit is
;; doing in `make-cc*'
(or (regexp-match? #rx"^[.]" s)
(equal? "compiled" s) (equal? "compiled" s)
(equal? "doc" s) (and (equal? "doc" s)
(and (pair? omit-paths) (member s omit-paths))) (not (pair? (path->main-collects-relative p*))))
(let ([p (build-path dir p)]) (and (pair? omit-paths) (member s omit-paths)))))
(compile-directory p (get-info/full p))))))))) (compile-directory p* (get-info/full p*))))))))
(define (compile-collection-zos collection . cp) (define (compile-collection-zos collection . cp)
(compile-directory (apply collection-path collection cp) (compile-directory (apply collection-path collection cp)

View File

@ -191,9 +191,10 @@
"ignoring `compile-subcollections' entry in info ~a\n" "ignoring `compile-subcollections' entry in info ~a\n"
path-name)) path-name))
;; this check is also done in compiler/compiler-unit, in compile-directory ;; this check is also done in compiler/compiler-unit, in compile-directory
(and (not (or (regexp-match? #rx"^[.]" basename) (and (not (or (regexp-match? #rx"^[.]" basename)
(equal? "compiled" basename) (equal? "compiled" basename)
(equal? "doc" basename) (and (equal? "doc" basename)
(not (pair? (path->main-collects-relative path))))
(eq? 'all (info 'compile-omit-paths void)))) (eq? 'all (info 'compile-omit-paths void))))
(make-cc collection path (make-cc collection path
(if name (string-append path-name " (" name ")") path-name) (if name (string-append path-name " (" name ")") path-name)