Commit 3a1b88bb authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

1.700: big rewrite of TRAVERSE.

* split traverse into multiple functions.
* don't append things all over traverse, use a collector function
* don't insert and remove prune-op to indicate something needs be done
 even when the collected list is empty... use a boolean flag in all cases.
* fix the age-old broken :force (system1 ... system2) feature... with a cerror!
* fix the age-old broken (:feature :foo dependency) feature... with a cerror!
* tighten :version syntax to only accept the keyword, not any same-named symbol.
* use hash-tables for O(1) access where linear search was previously used,
 notably in visited-nodes and in components-by-name.
* use more uniform #+ features for windows.
* modify defclass to make POIU happier (hopefully).
* factor probe-asd out of sysdef-source-registry-search and sysdef-central-registry-search
* fix safe-file-write-date, which I had previously broken when accepting a null pathname.
* have serial-depends-on only name the previous thing to depend on.

Passes tests on sbcl, clisp, ecl, lispworks, allegro.
Fails on gclcvs: bind stack overflow. Is that a regression?

small website updates.
parent 01647351
......@@ -21,7 +21,6 @@ bump_revision: FORCE
bin/bump-revision-and-tag.sh
archive: FORCE
sbcl --userinit /dev/null --sysinit /dev/null --load bin/make-helper.lisp \
--eval "(rewrite-license)" --eval "(quit)"
bin/build-tarball.sh
......@@ -33,9 +32,8 @@ archive-copy: archive
git push cl.net
git push --tags cl.net
website-copy: FORCE
bin/rsync-cp.sh website/output/ $(webhome_private)
bin/rsync-cp.sh tmp/asdf.lisp $(webhome_private)
website:
make -C doc website
clean_dirs = $(sourceDirectory)
clean_extensions = fasl dfsl cfsl fasl fas lib dx32fsl lx64fsl lx32fsl o bak
......@@ -52,6 +50,8 @@ clean: FORCE
done; \
fi; \
done
rm -rf tmp
make -C doc clean
test: FORCE
@cd test; make clean;./run-tests.sh $(lisp) $(test-regex)
......
This diff is collapsed.
Redirect /project/asdf/manual.html http://common-lisp.net/project/asdf/asdf.html
user=frideau
website:=${user}@common-lisp.net:/project/asdf/public_html/
output = asdf.html asdf asdf.pdf asdf.info
webfiles = index.html manual.html style.css cclan.png lisp-logo120x80.png favicon.ico ${output}
webfiles = index.html .htaccess style.css cclan.png lisp-logo120x80.png favicon.ico ${output}
intermediate = asdf.cps asdf.log asdf.vr asdf.aux asdf.fn asdf.toc asdf.vrs \
asdf.cp asdf.fns asdf.ky asdf.pg asdf.tp
......@@ -19,7 +19,7 @@ asdf.info: asdf.texinfo
asdf.pdf: asdf.texinfo
texi2pdf asdf.texinfo
website:
website: all
rsync -av ${webfiles} ${website}
.PHONY: clean veryclean manual-html
......
......@@ -32,6 +32,9 @@
This manual describes ASDF, a system definition facility
for Common Lisp programs and libraries.
You can find the latest version of this manual at
@url{http://common-lisp.net/project/asdf/asdf.html}.
ASDF Copyright @copyright{} 2001-2010 Daniel Barlow and contributors.
This manual Copyright @copyright{} 2001-2010 Daniel Barlow and contributors.
......
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Refresh" content="0;url=asdf.html">
<title>This page has moved</title>
</head><body>
This page has moved.
<a href="asdf.html">Click here</a>
to go to its new address
<p>
</body></html>
......@@ -22,6 +22,7 @@
;; recompiled
(sleep 1) ; mtime has 1-second granularity, so pause here for fast machines
(trace asdf::operation-done-p asdf::traverse)
(asdf::run-shell-command "rm -f ~A" (namestring file2))
(asdf:operate 'asdf:load-op 'test1)
(assert (= file1-date (file-write-date file1)))
......@@ -36,4 +37,4 @@
(sleep 1)
(asdf::run-shell-command "touch file1.lisp")
(asdf:operate 'asdf:load-op 'test1)
(assert (> (file-write-date file2) before)))))
(assert (> (file-write-date file2) before)))))
......@@ -3,4 +3,4 @@
:version "1.0"
:components ((:file "file2" :in-order-to ((compile-op (load-op "file1"))))
(:file "file1"))
:in-order-to ((load-op (load-op (version test2a "1.1")))))
:in-order-to ((load-op (load-op (:version test2a "1.1")))))
......@@ -3,6 +3,6 @@
:version "1.0"
:components ((:file "file2" :in-order-to ((compile-op (load-op "file1"))))
(:file "file1"))
:in-order-to ((load-op (load-op (version test2a "1.2")))))
:in-order-to ((load-op (load-op (:version test2a "1.2")))))
......@@ -4,5 +4,3 @@
:components ((:file "file2" :in-order-to ((compile-op (load-op "file1"))))
(:file "file1"))
:depends-on (bet-you-cant-find-this))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment