Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
asdf
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
15
Issues
15
List
Boards
Labels
Service Desk
Milestones
Merge Requests
9
Merge Requests
9
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
asdf
asdf
Commits
d5c5fc3f
Commit
d5c5fc3f
authored
Sep 20, 2002
by
Daniel Barlow
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changes to run on clisp (tested with debian 2.28-1)
parent
f8c2b51a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
41 additions
and
16 deletions
+41
-16
asdf.lisp
asdf.lisp
+23
-6
cclan.lisp
cclan.lisp
+1
-1
test/run-tests.sh
test/run-tests.sh
+8
-3
test/test2.script
test/test2.script
+2
-2
test/test3.script
test/test3.script
+7
-4
No files found.
asdf.lisp
View file @
d5c5fc3f
;;; This is asdf: Another System Definition Facility. $Revision: 1.4
4
$
;;; This is asdf: Another System Definition Facility. $Revision: 1.4
5
$
;;;
;;; Feedback, bug reports, and patches are all welcome: please mail to
;;; <cclan-list@lists.sf.net>. But note first that the canonical
...
...
@@ -88,7 +88,7 @@
(
in-package
#:asdf
)
;;; parse the cvs revision into something that might be vaguely useful.
(
defvar
*asdf-revision*
(
let*
((
v
"$Revision: 1.4
4
$"
)
(
defvar
*asdf-revision*
(
let*
((
v
"$Revision: 1.4
5
$"
)
(
colon
(
position
#\:
v
))
(
dot
(
position
#\.
v
)))
(
and
v
colon
dot
...
...
@@ -611,7 +611,7 @@ system."))
(
multiple-value-bind
(
output
warnings-p
failure-p
)
(
compile-file
source-file
:output-file
output-file
)
(
declare
(
ignore
output
))
;
(declare (ignore output))
(
when
warnings-p
(
case
(
operation-on-warnings
operation
)
(
:warn
(
warn
"COMPILE-FILE warned while performing ~A on ~A"
...
...
@@ -708,9 +708,13 @@ system."))
;;; syntax
(
defun
remove-keyword
(
key
arglist
)
(
loop
for
sublist
=
arglist
then
rest
until
(
null
sublist
)
for
(
elt
arg
.
rest
)
=
sublist
unless
(
eq
key
elt
)
append
(
list
elt
arg
)))
(
labels
((
aux
(
key
arglist
)
(
cond
((
null
arglist
)
nil
)
((
eq
key
(
car
arglist
))
(
cddr
arglist
))
(
t
(
cons
(
car
arglist
)
(
cons
(
cadr
arglist
)
(
remove-keyword
key
(
cddr
arglist
))))))))
(
aux
key
arglist
)))
(
defmacro
defsystem
(
name
&body
options
)
(
destructuring-bind
(
&key
pathname
(
class
'system
)
&allow-other-keys
)
options
...
...
@@ -903,4 +907,17 @@ output to *trace-output*. Returns the shell's exit code."
:shell-type
"/bin/sh"
:output-stream
*trace-output*
)))
#+
clisp
(
defun
run-shell-command
(
control-string
&rest
args
)
"Interpolate ARGS into CONTROL-STRING as if by FORMAT, and
synchronously execute the result using a Bourne-compatible shell, with
output to *trace-output*. Returns the shell's exit code."
(
let
((
command
(
apply
#'
format
nil
control-string
args
)))
(
format
*trace-output*
"; $ ~A~%"
command
)
;; XXX :terminal is not exactly *trace-output*, but it'll do
;; XXX determined the return value of this by experimentation, it
;; doesn't seem to be documented
(
ext:run-shell-command
command
:output
:terminal
:wait
t
)))
(
pushnew
:asdf
*features*
)
cclan.lisp
View file @
d5c5fc3f
...
...
@@ -43,7 +43,7 @@
will compile and load the system into your running lisp.
[*] This path (~W) is only a suggestion; the important
thing is that asdf know where to find the .asd file.
Ads
f uses the
thing is that asdf know where to find the .asd file.
asd
f uses the
contents of the variable ASDF:*CENTRAL-REGISTRY* to find its system
definitions.
...
...
test/run-tests.sh
View file @
d5c5fc3f
...
...
@@ -25,10 +25,15 @@ set -e
if
type
sbcl
then
do_tests
"sbcl --noprogrammer"
fasl
do_tests
"sbcl --
userinit /dev/null --
noprogrammer"
fasl
fi
if
[
-x
/usr/
local/
bin/lisp
]
if
[
-x
/usr/bin/lisp
]
then
do_tests
"/usr/local/bin/lisp -batch"
axpf
do_tests
"/usr/bin/lisp -batch"
x86f
fi
if
[
-x
/usr/bin/clisp
]
then
do_tests
"/usr/bin/clisp -norc -ansi -I "
fas
fi
test/test2.script
View file @
d5c5fc3f
...
...
@@ -5,8 +5,8 @@
;(trace asdf::find-component)
;(trace asdf::traverse)
(asdf:oos 'asdf:load-op 'test2b1)
(assert (and (
file-write-dat
e (compile-file-pathname "file3"))
(
file-write-dat
e (compile-file-pathname "file4"))))
(assert (and (
probe-fil
e (compile-file-pathname "file3"))
(
probe-fil
e (compile-file-pathname "file4"))))
(handler-case
(asdf:oos 'asdf:load-op 'test2b2)
(asdf:missing-dependency (c)
...
...
test/test3.script
View file @
d5c5fc3f
...
...
@@ -2,6 +2,9 @@
#+(or f1 f2)
(error "This test cannot run if :f1 or :f2 are on *features*")
(load "../asdf")
(asdf:run-shell-command "rm ~A ~A"
(namestring (compile-file-pathname "file1"))
(namestring (compile-file-pathname "file2")))
(setf asdf:*central-registry* '(*default-pathname-defaults*))
(in-package :asdf)
(handler-case
...
...
@@ -11,10 +14,10 @@
(:no-error (c) (error "should have failed, oops")))
(pushnew :f1 *features*)
(asdf:oos 'asdf:load-op 'test3)
(assert (
file-write-dat
e (compile-file-pathname "file1")))
(assert (not (
file-write-dat
e (compile-file-pathname "file2"))))
(assert (
probe-fil
e (compile-file-pathname "file1")))
(assert (not (
probe-fil
e (compile-file-pathname "file2"))))
(run-shell-command "rm ~A" (namestring (compile-file-pathname "file1")))
(setf *features* (cons :f2 (cdr *features*)))
(asdf:oos 'asdf:load-op 'test3)
(assert (
file-write-dat
e (compile-file-pathname "file2")))
(assert (not (
file-write-dat
e (compile-file-pathname "file1"))))
(assert (
probe-fil
e (compile-file-pathname "file2")))
(assert (not (
probe-fil
e (compile-file-pathname "file1"))))
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment