Next: After upgrading ASDF, Previous: My Common Lisp implementation comes with an outdated version of ASDF. What to do?, Up: Issues with installing the proper version of ASDF [Contents][Index]
Since ASDF 2,
it should always be a good time to upgrade to a recent version of ASDF.
You may consult with the maintainer for which specific version they recommend,
but the latest release
should be correct.
Though we do try to test ASDF releases against all implementations that we can,
we may not be testing against all variants of your implementation,
and we may not be running enough tests;
we trust you to thoroughly test it with your own implementation
before you release it.
If there are any issues with the current release,
it’s a bug that you should report upstream and that we will fix ASAP.
As to how to include ASDF, we recommend the following:
(require "asdf")
should load the version of ASDF that is bundled with your system.
If possible so should (require "ASDF")
.
You may have it load some other version configured by the user,
if you allow such configuration.
cl:require
,
then it would be nice to add ASDF to this hook the same way that
ABCL, CCL, CLISP, CMUCL, ECL, SBCL and SCL do it.
Please send us appropriate code to this end.
cl:require
these modules that are provided by your Lisp distribution;
if you do, you should add these modules in the beginning of both
wrapping-source-registry
and wrapping-output-translations
.
asdf-ecl
and asdf-ecl.asd, or
sb-asdf
and sb-asdf.asd.
Indeed, if you made asdf.asd a magic system,
then users would no longer be able to upgrade ASDF using ASDF itself
to some version of their preference that
they maintain independently from your Lisp distribution.
wrapping-source-registry
,
and you are welcome to include asdf.asd amongst them.
Non-magic systems should be at the back of the wrapping-source-registry
while magic systems are at the front.
If they are precompiled,
they should also be in the wrapping-output-translations
.
(require "uiop")
and not load ASDF,
or one may (require "asdf")
which would implicitly require and load the former.