Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
asdf
asdf
Commits
b5483b17
Commit
b5483b17
authored
Jun 19, 2010
by
Francois-Rene Rideau
Browse files
2.101: another hack to allow ECL and GCL to update ASDF with load-system.
parent
260b1262
Changes
3
Hide whitespace changes
Inline
Side-by-side
.gitignore
View file @
b5483b17
...
...
@@ -32,8 +32,7 @@ tmp/
*.cfsl
*.fas
*.lib
*.o
*.a
*.[oahcisS]
*.*fsl
*.bak
*.data
...
...
asdf-ecl.lisp
View file @
b5483b17
...
...
@@ -5,14 +5,14 @@
;;; License as published by the Free Software Foundation; either
;;; version 2 of the License, or (at your option) any later version.
;;;
;;; See file '
../..
/Copyright' for full details.
;;; See file '
ecl
/Copyright' for full details.
;;;
;;; ECL SPECIFIC OPERATIONS FOR ASDF
;;;
#+
xcvb
(
module
(
:depends-on
(
"asdf"
)))
(
in-package
:asdf
)
(
require
'
cmp
)
(
require
:
cmp
)
;;;
;;; COMPILE-OP / LOAD-OP
...
...
asdf.lisp
View file @
b5483b17
...
...
@@ -49,28 +49,27 @@
(
cl:in-package
:cl-user
)
#|(declaim (optimize (speed 2) (debug 2) (safety 3))
#+sbcl (sb-ext:muffle-conditions sb-ext:compiler-note))|#
#+
ecl
(
require
:cmp
)
;; Implementation-dependent tweaks
(
eval-when
(
:compile-toplevel
:load-toplevel
:execute
)
;; (declaim (optimize (speed 2) (debug 2) (safety 3)) ; NO: rely on the implementation defaults.
#+
allegro
(
setf
excl::*autoload-package-name-alist*
(
remove
"asdf"
excl::*autoload-package-name-alist*
:test
'equalp
:key
'car
))
#+
ecl
(
require
:cmp
)
#+
gcl
(
eval-when
(
:compile-toplevel
:load-toplevel
)
(
defpackage
:asdf-utilities
(
:use
:cl
))
(
defpackage
:asdf
(
:use
:cl
:asdf-utilities
))))
;;;; Create packages in a way that is compatible with hot-upgrade.
;;;; See https://bugs.launchpad.net/asdf/+bug/485687
;;;; See more at the end of the file.
#+
gcl
(
eval-when
(
:compile-toplevel
:load-toplevel
)
(
defpackage
:asdf-utilities
(
:use
:cl
))
(
defpackage
:asdf
(
:use
:cl
:asdf-utilities
)))
(
eval-when
(
:load-toplevel
:compile-toplevel
:execute
)
#+
allegro
(
setf
excl::*autoload-package-name-alist*
(
remove
"asdf"
excl::*autoload-package-name-alist*
:test
'equalp
:key
'car
))
(
let*
((
asdf-version
;; the 1+ helps the version bumping script discriminate
(
subseq
"VERSION:2.10
0
"
(
1+
(
length
"VERSION"
))))
(
subseq
"VERSION:2.10
1
"
(
1+
(
length
"VERSION"
))))
(
existing-asdf
(
find-package
:asdf
))
(
vername
'
#:*asdf-version*
)
(
versym
(
and
existing-asdf
...
...
@@ -155,13 +154,11 @@
(
macrolet
((
pkgdcl
(
name
&key
nicknames
use
export
redefined-functions
unintern
fmakunbound
shadow
)
`
(
ensure-package
',name
:nicknames
',nicknames
:use
',use
:export
',export
:shadow
',shadow
:unintern
',
(
append
#-
(
or
gcl
ecl
)
redefined-functions
unintern
)
:fmakunbound
',
(
append
#+
(
or
gcl
ecl
)
redefined-functions
fmakunbound
))))
`
(
ensure-package
',name
:nicknames
',nicknames
:use
',use
:export
',export
:shadow
',shadow
:unintern
',
(
append
#-
(
or
gcl
ecl
)
redefined-functions
unintern
)
:fmakunbound
',
(
append
fmakunbound
))))
(
pkgdcl
:asdf-utilities
:nicknames
(
#:asdf-extensions
)
...
...
@@ -367,16 +364,20 @@ Defaults to `t`.")
;;;; -------------------------------------------------------------------------
;;;; ASDF Interface, in terms of generic functions.
(
defgeneric
perform-with-restarts
(
operation
component
))
(
defgeneric
perform
(
operation
component
))
(
defgeneric
operation-done-p
(
operation
component
))
(
defgeneric
explain
(
operation
component
))
(
defgeneric
output-files
(
operation
component
))
(
defgeneric
input-files
(
operation
component
))
(
defmacro
defgeneric*
(
name
formals
&rest
options
)
`
(
progn
#+
(
or
gcl
ecl
)
(
fmakunbound
',name
)
(
defgeneric
,
name
,
formals
,@
options
)))
(
defgeneric*
perform-with-restarts
(
operation
component
))
(
defgeneric*
perform
(
operation
component
))
(
defgeneric*
operation-done-p
(
operation
component
))
(
defgeneric*
explain
(
operation
component
))
(
defgeneric*
output-files
(
operation
component
))
(
defgeneric*
input-files
(
operation
component
))
(
defgeneric
component-operation-time
(
operation
component
))
(
defgeneric
system-source-file
(
system
)
(
defgeneric
*
system-source-file
(
system
)
(
:documentation
"Return the source file in which system is defined."
))
(
defgeneric
component-system
(
component
)
...
...
@@ -398,7 +399,7 @@ another pathname in a degenerate way."))
(
defgeneric
version-satisfies
(
component
version
))
(
defgeneric
find-component
(
base
path
)
(
defgeneric
*
find-component
(
base
path
)
(
:documentation
"Finds the component with PATH starting from BASE module;
if BASE is nil, then the component is assumed to be a system."
))
...
...
@@ -1938,7 +1939,7 @@ recursive calls to traverse.")
;;;; -------------------------------------------------------------------------
;;;; Invoking Operations
(
defgeneric
operate
(
operation-class
system
&key
&allow-other-keys
))
(
defgeneric
*
operate
(
operation-class
system
&key
&allow-other-keys
))
(
defmethod
operate
(
operation-class
system
&rest
args
&key
((
:verbose
*asdf-verbose*
)
*asdf-verbose*
)
version
force
...
...
@@ -3393,7 +3394,7 @@ with a different configuration, so the configuration would be re-read then."
;;;; -----------------------------------------------------------------
;;;; Done!
(
when
*load-verbose*
(
asdf-message
";; ASDF, version ~a"
(
asdf-version
)))
(
asdf-message
";; ASDF, version ~a
~%
"
(
asdf-version
)))
#+
allegro
(
eval-when
(
:compile-toplevel
:execute
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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