December 21, 2008 08:37:48 PM
dherring
This works, but it would be better if the structure was reworked to a more general mechanism.
The biggest problem is things like
#-test :package1
#-test :package-depending-on-package1
But there are also problems where we need to test something not in *features* (e.g. cl-l10n's requirement that files are read using utf-8).
Maybe compile-libcl should use an extension of the libcl-packages database...
(libcl-package
; <current stuff>
:package :package-depending-on-package1
;; both tests must pass. nil indicates no test required
:feature-test "(and ecl (not unicode))" ; as a string for special reading
:test (lambda () ...) ; must be runnable before anything is compiled
;; this package will be compiled after its dependencies, and not at all if their tests fail
:depends-on '(:package1))
Additionally, pass/fail could be logged to drive an implementation-compatibility table.
The biggest problem is things like
#-test :package1
#-test :package-depending-on-package1
But there are also problems where we need to test something not in *features* (e.g. cl-l10n's requirement that files are read using utf-8).
Maybe compile-libcl should use an extension of the libcl-packages database...
(libcl-package
; <current stuff>
:package :package-depending-on-package1
;; both tests must pass. nil indicates no test required
:feature-test "(and ecl (not unicode))" ; as a string for special reading
:test (lambda () ...) ; must be runnable before anything is compiled
;; this package will be compiled after its dependencies, and not at all if their tests fail
:depends-on '(:package1))
Additionally, pass/fail could be logged to drive an implementation-compatibility table.
Syndicate