Commit 826b12b0 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

1.636: do without asdf:around method qualifier, instead use perform-with-restarts method.

Treat :unspecific specially in merge-pathnames wrt logical-pathnames, use it in split-name-type.
Add protocol to short-circuit output translation.
Some updates to the documentation manual.
Add testing support for gclcvs (though it currently fails bigtime).
Refactor run-tests to to remove need to know $fasl_ext.
parent 29ea7dcd
This diff is collapsed.
......@@ -152,14 +152,14 @@ the ASDF internals and how to extend ASDF.
NOTA BENE:
We are preparing for a release of ASDF 2,
which will have version 2.000 and later.
Releases in the 1.6xx series and beyond should be considered as
Releases in the 1.600 series and beyond should be considered as
release candidates,
but we're still working on documentation,
and on fixing the occasional bug.
For all practical purposes, ASDF 2 refers to releases later than 1.634,
and ASDF 1 to any release earlier than 1.369 or so.
ASDF 2.0 release candidates and beyond will have
ASDF 2.000 release candidates and beyond will have
@code{:asdf2} onto @code{*features*} so that if you are writing
ASDF-dependent code you may check for this feature to see if the new API
is present. @emph{All} versions of ASDF should have the @code{:asdf} feature.
......@@ -793,6 +793,13 @@ Therefore, it is a rare case that pathname objects should be used at all.
Unhappily, old versions of ASDF (before 1.600) didn't properly support
parsing component names as strings specifying paths with directories,
and the cumbersome @code{#.(make-pathname ...)} syntax had to be used.
Note that when specifying pathname objects, no magic interpretation of the pathname
is made depending on the component type.
On the one hand, you have to be careful to provide a pathname that correctly
fulfills whatever constraints are required from that component type
(e.g. naming a directory or a file with appropriate type);
on the other hand, you can circumvent the file type that would otherwise
be forced upon you if you were specifying a string.
@subsection Warning about logical pathnames
......@@ -1109,6 +1116,13 @@ when invoked with an object of type @code{source-file}:
@itemize
@item @code{output-files}
The @code{output-files} method determines where the method will put its files.
It returns two values, a list of pathnames, and a boolean.
If the boolean is @code{T} then the pathnames are marked
not be translated by enclosing @code{:around} methods.
If the boolean is @code{NIL} then enclosing @code{:around} methods
may translate these pathnames, e.g. to ensure object files
are somehow stored in some implementation-dependent cache.
@item @code{perform}
The @code{perform} method must call @code{output-files}
to find out where to put its files,
......@@ -1434,7 +1448,7 @@ purposes; these are given elsewhere.
@xref{The defsystem grammar}.
Users can create new classes for their systems:
the default @code{defsystem} macro takes a @code{:classs} keyword argument.
the default @code{defsystem} macro takes a @code{:class} keyword argument.
@end deffn
@node Creating new component types, , Pre-defined subclasses of component, Components
......@@ -1467,7 +1481,7 @@ of an @code{unportable-cl-source-file}.
(defmethod component-pathname ((component unportable-cl-source-file))
(let ((pathname (call-next-method))
(name (string-downcase (system-dependent-dirname))))
(merge-pathnames
(merge-pathnames*
(make-pathname :directory (list :relative name))
pathname)))
@end lisp
......
......@@ -52,8 +52,8 @@ usage () {
}
do_tests() {
command=$1 eval=$2 fasl_ext=$3
rm -f *.$fasl_ext ~/.cache/common-lisp/"`pwd`"/*.$fasl_ext || true
command=$1 eval=$2
rm -f ~/.cache/common-lisp/"`pwd`"/* || true
( cd .. && $command $eval '(load "test/compile-asdf.lisp")' )
if [ $? -ne 0 ] ; then
echo "Compilation FAILED" >&2
......@@ -67,7 +67,7 @@ do_tests() {
do
echo "Testing: $i" >&2
test_count=`expr "$test_count" + 1`
rm -f *.$fasl_ext ~/.cache/common-lisp/"`pwd`"/*.$fasl_ext || true
rm -f ~/.cache/common-lisp/"`pwd`"/* || true
if $command $eval "(load \"$i\")" ; then
echo "Using $command, $i passed" >&2
test_pass=`expr "$test_pass" + 1`
......@@ -104,67 +104,48 @@ fi
command=
case "$lisp" in
sbcl)
if type sbcl ; then
fasl_ext="fasl"
command="sbcl --noinform --userinit /dev/null --sysinit /dev/null"
command=sbcl
flags="--noinform --userinit /dev/null --sysinit /dev/null"
nodebug="--disable-debugger"
eval="--eval"
fi ;;
eval="--eval" ;;
clisp)
if type clisp ; then
fasl_ext="fas"
command="clisp -norc -ansi -I "
command=clisp
flags="-norc -ansi -I "
nodebug="-on-error exit"
eval="-x"
fi ;;
eval="-x" ;;
allegro)
if type alisp ; then
fasl_ext="fasl"
command="alisp -q "
command=alisp
flags="-q"
nodebug="-batch"
eval="-e"
fi ;;
eval="-e" ;;
allegromodern)
if type mlisp ; then
fasl_ext="fasl"
command="mlisp -q"
command=mlisp
flags="-q"
nodebug="-batch"
eval="-e"
fi ;;
eval="-e" ;;
ccl)
if type ccl ; then
case `uname -s` in
Linux) fasl_os=lx ;;
Darwin) fasl_os=dx ;;
esac
case `uname -m` in
x86_64|ppc64) fasl_bits=64 ;;
i?86|ppc) fasl_bits=32 ;;
esac
fasl_ext="${fasl_os}${fasl_bits}fsl"
command="ccl --no-init --quiet"
command=ccl
flags="--no-init --quiet"
nodebug="--batch"
eval="--eval"
fi ;;
eval="--eval" ;;
cmucl)
if type lisp ; then
fasl_ext="x86f"
command="lisp -noinit"
command=lisp
flags="-noinit"
nodebug="-batch"
eval="-eval"
fi ;;
eval="-eval" ;;
ecl)
if type ecl ; then
fasl_ext="fas"
command="ecl -norc"
eval="-eval"
fi ;;
command=ecl
flags="-norc"
eval="-eval" ;;
lispworks)
if type lispworks ; then
fasl_ext="ofasl"
command="lispworks -siteinit - -init -"
eval="-eval"
fi ;;
command=lispworks
flags="-siteinit - -init -"
eval="-eval" ;;
gclcvs)
export GCL_ANSI=t
command=gclcvs
flags="-q"
eval="-eval" ;;
*)
echo "Unsupported lisp: $1" >&2
echo "Please add support to run-tests.sh" >&2
......@@ -172,7 +153,11 @@ case "$lisp" in
esac
if [ -z "$command" ] ; then
echo "lisp implementation not found: $1" >&2
echo "lisp implementation not recognized: $1" >&2
exit 43
fi
if ! type "$command" ; then
echo "lisp implementation not found: $command" >&2
exit 43
fi
......@@ -195,7 +180,7 @@ else
mkdir -p results
echo $command
thedate=`date "+%Y-%m-%d"`
do_tests "$command" "$eval" "$fasl_ext" 2>&1 | \
do_tests "$command" "$eval" 2>&1 | \
tee "results/${lisp}.text" "results/${lisp}-${thedate}.save"
clean_up
fi
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