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
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
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
Jan Moringen
asdf
Commits
55d8be11
Commit
55d8be11
authored
May 08, 2015
by
Francois-Rene Rideau
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update some documentation and comments regarding the demise of ASDF 2.
parent
572230ae
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
42 additions
and
27 deletions
+42
-27
doc/asdf.texinfo
doc/asdf.texinfo
+28
-18
header.lisp
header.lisp
+1
-1
tools/install-asdf.lisp
tools/install-asdf.lisp
+8
-3
tools/load-asdf.lisp
tools/load-asdf.lisp
+5
-5
No files found.
doc/asdf.texinfo
View file @
55d8be11
...
@@ -36,11 +36,11 @@ for Common Lisp programs and libraries.
...
@@ -36,11 +36,11 @@ for Common Lisp programs and libraries.
You can find the latest version of this manual at
You can find the latest version of this manual at
@url
{
http://common-lisp.net/project/asdf/asdf.html
}
.
@url
{
http://common-lisp.net/project/asdf/asdf.html
}
.
ASDF Copyright @copyright
{}
2001-201
4
Daniel Barlow and contributors.
ASDF Copyright @copyright
{}
2001-201
5
Daniel Barlow and contributors.
This manual Copyright @copyright
{}
2001-201
4
Daniel Barlow and contributors.
This manual Copyright @copyright
{}
2001-201
5
Daniel Barlow and contributors.
This manual revised @copyright
{}
2009-201
4
Robert P. Goldman and Francois-Rene Rideau.
This manual revised @copyright
{}
2009-201
5
Robert P. Goldman and Francois-Rene Rideau.
Permission is hereby granted, free of charge, to any person obtaining
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
a copy of this software and associated documentation files (the
...
@@ -395,8 +395,7 @@ to make sure it's all working properly. @xref{Using ASDF}.
...
@@ -395,8 +395,7 @@ to make sure it's all working properly. @xref{Using ASDF}.
@node Loading a pre-installed ASDF, Checking whether ASDF is loaded, Loading ASDF, Loading ASDF
@node Loading a pre-installed ASDF, Checking whether ASDF is loaded, Loading ASDF, Loading ASDF
@section Loading a pre-installed ASDF
@section Loading a pre-installed ASDF
Most recent Lisp implementations include a copy of ASDF 3,
All actively maintained Lisp implementations now include a copy of ASDF 3.
or at least ASDF 2.
You can usually load this copy using Common Lisp's @code
{
require
}
function.@footnote
{
You can usually load this copy using Common Lisp's @code
{
require
}
function.@footnote
{
NB: all implementations except GNU CLISP also accept
NB: all implementations except GNU CLISP also accept
@code
{
(require "ASDF")
}
, @code
{
(require 'asdf)
}
and @code
{
(require :asdf)
}
.
@code
{
(require "ASDF")
}
, @code
{
(require 'asdf)
}
and @code
{
(require :asdf)
}
.
...
@@ -409,7 +408,7 @@ For portability's sake, you should use @code{(require "asdf")}.
...
@@ -409,7 +408,7 @@ For portability's sake, you should use @code{(require "asdf")}.
As of the writing of this manual,
As of the writing of this manual,
the following implementations provide ASDF 3 this way:
the following implementations provide ASDF 3 this way:
ABCL, Allegro CL, Clozure CL, CMUCL, ECL, GNU CLISP, LispWorks, MKCL, SBCL.
ABCL, Allegro CL, C
LASP, C
lozure CL, CMUCL, ECL, GNU CLISP, LispWorks, MKCL, SBCL.
The following implementations only provide ASDF 2:
The following implementations only provide ASDF 2:
mocl, XCL.
mocl, XCL.
The following implementations don't provide ASDF:
The following implementations don't provide ASDF:
...
@@ -417,11 +416,11 @@ Corman CL, GCL, Genera, MCL, SCL.
...
@@ -417,11 +416,11 @@ Corman CL, GCL, Genera, MCL, SCL.
The latter implementations are not actively maintained (except maybe GCL);
The latter implementations are not actively maintained (except maybe GCL);
if some of them are ever released again, they probably will include ASDF 3.
if some of them are ever released again, they probably will include ASDF 3.
If the implementation you are using doesn't provide
ASDF 2 or
ASDF 3,
If the implementation you are using doesn't provide
a recent
ASDF 3,
see @pxref
{
Loading ASDF,,Loading ASDF from source
}
below.
see @pxref
{
Loading ASDF,,Loading ASDF from source
}
below.
If that implementation is still actively maintained,
If that implementation is still actively maintained,
you may also send a bug report to your Lisp vendor and complain
you may also send a bug report to your Lisp vendor and complain
about their failing to provide ASDF.
about their failing to provide
an up-to-date
ASDF.
@node Checking whether ASDF is loaded, Upgrading ASDF, Loading a pre-installed ASDF, Loading ASDF
@node Checking whether ASDF is loaded, Upgrading ASDF, Loading a pre-installed ASDF, Loading ASDF
@section Checking whether ASDF is loaded
@section Checking whether ASDF is loaded
...
@@ -494,11 +493,17 @@ amongst the regularly configured systems, before it compiles anything else.
...
@@ -494,11 +493,17 @@ amongst the regularly configured systems, before it compiles anything else.
@node Upgrading your implementation's ASDF, Issues with upgrading ASDF, Upgrading ASDF, Upgrading ASDF
@node Upgrading your implementation's ASDF, Issues with upgrading ASDF, Upgrading ASDF, Upgrading ASDF
@subsection Upgrading your implementation's ASDF
@subsection Upgrading your implementation's ASDF
Most implementations provide a recent ASDF 3 in their latest release.
@c Now that all implementations provide ASDF 3, most issues become trivial,
@c except on CMUCL where upgrade doesn't work.
@c Most of the upgrading section might be moved to an advanced chapter
@c rather than being in an early section that will trouble the novice.
All maintained implementations now provide ASDF 3 in their latest release.
If yours doesn't, we recommend upgrading your implementation.
If yours doesn't, we recommend upgrading your implementation.
If the latest version of your implementation still doesn't provide ASDF,
If you want to stick to an old implementation that didn't provide ASDF or provided an old version,
or provides an old version, we recommend installing a recent ASDF so your implementation provides it,
we recommend installing a recent ASDF, as explained below,
as explained below.
into your implementation's installation directory;
thus your modified implementation will now provide ASDF 3.
If all fails, we recommend you load ASDF from source
If all fails, we recommend you load ASDF from source
@pxref
{
Loading ASDF,,Loading ASDF from source
}
.
@pxref
{
Loading ASDF,,Loading ASDF from source
}
.
...
@@ -562,7 +567,7 @@ at the very beginning of whatever script you are running,
...
@@ -562,7 +567,7 @@ at the very beginning of whatever script you are running,
before you start using ASDF to load anything else.
before you start using ASDF to load anything else.
@item
@item
Until all implementations provide ASDF 3 or later,
Until all implementations provide ASDF 3 or later
(now the case in May 2015)
,
it is unsafe to upgrade ASDF as part of loading a system
it is unsafe to upgrade ASDF as part of loading a system
that depends on a more recent version of ASDF,
that depends on a more recent version of ASDF,
since the new one might shadow the old one while the old one is running,
since the new one might shadow the old one while the old one is running,
...
@@ -578,7 +583,7 @@ with such code as:
...
@@ -578,7 +583,7 @@ with such code as:
(error "FOO requires ASDF ~A or later." *required-asdf-version*))
(error "FOO requires ASDF ~A or later." *required-asdf-version*))
@end example
@end example
@item
@item
Until all implementations provide ASDF 3 or later,
Until all implementations provide ASDF 3 or later
(now the case in May 2015)
,
it is unsafe for a system to transitively depend on ASDF
it is unsafe for a system to transitively depend on ASDF
and not directly depend on ASDF;
and not directly depend on ASDF;
if any of the system you use either depends-on asdf,
if any of the system you use either depends-on asdf,
...
@@ -586,6 +591,11 @@ system-depends-on asdf, or transitively does,
...
@@ -586,6 +591,11 @@ system-depends-on asdf, or transitively does,
you should also do as well.
you should also do as well.
@end itemize
@end itemize
Note that bugs in CMUCL and XCL prevent upgrade of ASDF.
Happily, CMUCL comes with a recent ASDF,
and XCL is more of a working demo than something you'd use seriously anyway.
@node Loading ASDF from source, , Upgrading ASDF, Loading ASDF
@node Loading ASDF from source, , Upgrading ASDF, Loading ASDF
@section Loading ASDF from source
@section Loading ASDF from source
...
@@ -1265,7 +1275,7 @@ system-option := :defsystem-depends-on system-list
...
@@ -1265,7 +1275,7 @@ system-option := :defsystem-depends-on system-list
| module-option
| module-option
| option
| option
# These are only available since ASDF3 (actually its alpha release 2.27)
# These are only available since ASDF
3 (actually its alpha release 2.27)
system-option := :homepage string
system-option := :homepage string
| :bug-tracker string
| :bug-tracker string
| :mailto string
| :mailto string
...
@@ -4375,9 +4385,9 @@ on implementations that support Unicode, and you can use reader-conditionalizati
...
@@ -4375,9 +4385,9 @@ on implementations that support Unicode, and you can use reader-conditionalizati
to protect any @code
{
:encoding @emph
{
encoding
}}
statement, as in
to protect any @code
{
:encoding @emph
{
encoding
}}
statement, as in
@code
{
#
+
asdf
-
unicode :encoding #
+
asdf
-
unicode :utf
-
8
}
.
@code
{
#
+
asdf
-
unicode :encoding #
+
asdf
-
unicode :utf
-
8
}
.
We recommend that you avoid using unprotected @code
{
:encoding
}
specifications
We recommend that you avoid using unprotected @code
{
:encoding
}
specifications
until after ASDF
2
.
21
or later becomes widespread
until after ASDF
2
.
21
or later becomes widespread
.
(
in April
2014
, only LispWorks lags with ASDF
2
.
019
,
As of May
2015
, all maintained implementations provide ASDF
3
,
and is scheduled to be updated later this year
)
.
so you may prudently start using this and other features without such protection
.
While it offers plenty of hooks for extension,
While it offers plenty of hooks for extension,
and one such extension is available
(
see @code
{
asdf
-
encodings
}
below
)
,
and one such extension is available
(
see @code
{
asdf
-
encodings
}
below
)
,
...
...
header.lisp
View file @
55d8be11
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
;;; http://www.opensource.org/licenses/mit-license.html on or about
;;; http://www.opensource.org/licenses/mit-license.html on or about
;;; Monday; July 13, 2009)
;;; Monday; July 13, 2009)
;;;
;;;
;;; Copyright (c) 2001-201
4
Daniel Barlow and contributors
;;; Copyright (c) 2001-201
5
Daniel Barlow and contributors
;;;
;;;
;;; Permission is hereby granted, free of charge, to any person obtaining
;;; Permission is hereby granted, free of charge, to any person obtaining
;;; a copy of this software and associated documentation files (the
;;; a copy of this software and associated documentation files (the
...
...
tools/install-asdf.lisp
View file @
55d8be11
":"
; exec cl-launch "$0" "$@" # -*- Lisp -*-
":"
; exec cl-launch "$0" "$@" # -*- Lisp -*-
#|
#|
Usage: make && ./tools/asdf-tools install-asdf lispworks
Usage: make && ./tools/asdf-tools install-asdf lispworks
or make
&& l=lispworks ./tools/asdf-tool
s install-asdf
or make
l=lispwork
s install-asdf
or make && cl-launch -l lispworks
bin/install-asdf-as-module
or make && cl-launch -l lispworks
tools/install-asdf.lisp
or make
or make
sbcl # or otherwise start your Lisp
sbcl # or otherwise start your Lisp
(load "
bin/install-asdf-as-module
")
(load "
tools/install-asdf.lisp
")
This script will install the current version of ASDF
This script will install the current version of ASDF
as a module pre-compiled for your implementation,
as a module pre-compiled for your implementation,
...
@@ -26,6 +26,11 @@ It notably doesn't work on:
...
@@ -26,6 +26,11 @@ It notably doesn't work on:
* mocl, that doesn't support ASDF 3 yet.
* mocl, that doesn't support ASDF 3 yet.
* Corman Lisp, RMCL, Genera, that are obsolete anyway.
* Corman Lisp, RMCL, Genera, that are obsolete anyway.
Note that if you're using it with LispWorks, you first have to create
a command-line executable for LispWorks this way:
echo '(hcl:save-image "lispworks-console" :environment nil)' > si.lisp
lispworks-7-0-0-x86-linux -siteinit - -init - -build si.lisp
|#
|#
#+
gcl
#+
gcl
...
...
tools/load-asdf.lisp
View file @
55d8be11
...
@@ -42,12 +42,12 @@
...
@@ -42,12 +42,12 @@
(
ignore-errors
(
and
(
probe-file
x
)
(
load
x
))))
(
ignore-errors
(
and
(
probe-file
x
)
(
load
x
))))
(
load-and-configure-asdf
()
(
load-and-configure-asdf
()
;; First, try to require ASDF from the implementation, if not already loaded.
;; First, try to require ASDF from the implementation, if not already loaded.
;;
Most implementations provide ASDF 3.0, LispWorks still lags with ASDF 2.019,
;;
All actively maintained implementations now provide ASDF 3.0;
;;
and some unmaintained implementations, or obsolete implementations or versions thereof
;;
some old versions of maintained implementations, and some unmaintained
;; only provide ASDF 2, ASDF 1, or don't provide ASDF.
;; o
r obsolete implementations o
nly provide ASDF 2, ASDF 1, or don't provide ASDF.
;; Note that CLISP is case-sensitive, so we need to specify a lowercase string,
;; Note that CLISP is case-sensitive, so we need to specify a lowercase string,
;; and not the keyword :asdf or symbol 'asdf;
old CLISP versions that don't provide ASDF
;; and not the keyword :asdf or symbol 'asdf;
also old CLISP versions that don't
;; may error at compile-time if we call (require "asdf") directly.
;;
provide ASDF
may error at compile-time if we call (require "asdf") directly.
(
ignore-errors
(
funcall
'require
"asdf"
))
(
ignore-errors
(
funcall
'require
"asdf"
))
;; If ASDF 2 isn't provided, load our ASDF from source.
;; If ASDF 2 isn't provided, load our ASDF from source.
;; ASDF 1 is not enough, because it won't heed our project's output-translations.
;; ASDF 1 is not enough, because it won't heed our project's output-translations.
...
...
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