Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ nix fmt # nixfmt via treefmt
```

Without Nix, `run-tests.lisp` falls back to sibling checkouts of `cl-cc`,
`cl-weave`, `cl-prolog`, `cl-parser-kit`, and `cl-json-kit` next to this
`cl-weave`, `cl-prolog-kit`, `cl-parser-kit`, and `cl-json-kit` next to this
repository:

```sh
Expand Down
68 changes: 63 additions & 5 deletions coverage.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,53 @@

(defvar *cl-cc-root* (%env-or "CL_CC_PHP_CL_CC_ROOT" "../cl-cc"))
(defvar *cl-weave-root* (%env-or "CL_CC_PHP_CL_WEAVE_ROOT" "../cl-weave"))
(defvar *cl-prolog-root* (%env-or "CL_CC_PHP_CL_PROLOG_ROOT" "../cl-prolog"))
(defvar *cl-prolog-kit-root* (%env-or "CL_CC_PHP_CL_PROLOG_KIT_ROOT" "../cl-prolog-kit"))
(defvar *cl-parser-kit-root* (%env-or "CL_CC_PHP_CL_PARSER_KIT_ROOT" "../cl-parser-kit"))
(defvar *cl-json-kit-root* (%env-or "CL_CC_PHP_CL_JSON_KIT_ROOT" "../cl-json-kit"))
(defvar *cl-host-kit-root* (%env-or "CL_CC_PHP_CL_HOST_KIT_ROOT" "../cl-host-kit"))

;; See run-tests.lisp's comment on the matching block: cl-cc.asd's own
;; :depends-on needs these 20 systems and the pinned cl-cc checkout no
;; longer provides them.
(defvar *cl-cc-ast-root* (%env-or "CL_CC_PHP_CL_CC_AST_ROOT" "../cl-cc-ast"))
(defvar *cl-cc-bootstrap-root*
(%env-or "CL_CC_PHP_CL_CC_BOOTSTRAP_ROOT" "../cl-cc-bootstrap"))
(defvar *cl-cc-parse-root*
(%env-or "CL_CC_PHP_CL_CC_PARSE_ROOT" "../cl-cc-parse"))
(defvar *cl-cc-vm-root* (%env-or "CL_CC_PHP_CL_CC_VM_ROOT" "../cl-cc-vm"))
(defvar *cl-cc-type-root*
(%env-or "CL_CC_PHP_CL_CC_TYPE_ROOT" "../cl-cc-type"))
(defvar *cl-cc-binary-root*
(%env-or "CL_CC_PHP_CL_CC_BINARY_ROOT" "../cl-cc-binary"))
(defvar *cl-cc-runtime-root*
(%env-or "CL_CC_PHP_CL_CC_RUNTIME_ROOT" "../cl-cc-runtime"))
(defvar *cl-cc-mir-root* (%env-or "CL_CC_PHP_CL_CC_MIR_ROOT" "../cl-cc-mir"))
(defvar *cl-cc-codegen-native-root*
(%env-or "CL_CC_PHP_CL_CC_CODEGEN_NATIVE_ROOT" "../cl-cc-codegen-native"))
(defvar *cl-cc-expand-root*
(%env-or "CL_CC_PHP_CL_CC_EXPAND_ROOT" "../cl-cc-expand"))
(defvar *cl-cc-cps-root* (%env-or "CL_CC_PHP_CL_CC_CPS_ROOT" "../cl-cc-cps"))
(defvar *cl-cc-optimize-root*
(%env-or "CL_CC_PHP_CL_CC_OPTIMIZE_ROOT" "../cl-cc-optimize"))
(defvar *cl-log-kit-root*
(%env-or "CL_CC_PHP_CL_LOG_KIT_ROOT" "../cl-log-kit"))
(defvar *cl-date-kit-root*
(%env-or "CL_CC_PHP_CL_DATE_KIT_ROOT" "../cl-date-kit"))
(defvar *cl-concurrent-kit-root*
(%env-or "CL_CC_PHP_CL_CONCURRENT_KIT_ROOT" "../cl-concurrent-kit"))
(defvar *cl-boundary-kit-root*
(%env-or "CL_CC_PHP_CL_BOUNDARY_KIT_ROOT" "../cl-boundary-kit"))
(defvar *cl-codec-kit-root*
(%env-or "CL_CC_PHP_CL_CODEC_KIT_ROOT" "../cl-codec-kit"))
(defvar *cl-process-kit-root*
(%env-or "CL_CC_PHP_CL_PROCESS_KIT_ROOT" "../cl-process-kit"))
(defvar *cl-regex-kit-root*
(%env-or "CL_CC_PHP_CL_REGEX_KIT_ROOT" "../cl-regex-kit"))
(defvar *cl-tty-kit-root*
(%env-or "CL_CC_PHP_CL_TTY_KIT_ROOT" "../cl-tty-kit"))

(defparameter *cl-cc-package-subdirs*
'("bootstrap" "ast" "parse" "vm" "runtime" "type" "mir" "optimize" "emit"
"expand" "compile" "cps" "codegen" "target" "regalloc" "bytecode" "ir"
"binary" "stdlib" "javascript" "pipeline"))
'("compile" "pipeline" "stdlib"))

(defun %tree (pathname)
(list :tree (uiop:ensure-directory-pathname pathname)))
Expand All @@ -55,10 +93,30 @@
(list*
:source-registry
(%tree (uiop:ensure-directory-pathname *cl-weave-root*))
(%tree (uiop:ensure-directory-pathname *cl-prolog-root*))
(%tree (uiop:ensure-directory-pathname *cl-prolog-kit-root*))
(%tree (uiop:ensure-directory-pathname *cl-parser-kit-root*))
(%tree (uiop:ensure-directory-pathname *cl-json-kit-root*))
(%tree (uiop:ensure-directory-pathname *cl-host-kit-root*))
(%tree (uiop:ensure-directory-pathname *cl-cc-ast-root*))
(%tree (uiop:ensure-directory-pathname *cl-cc-bootstrap-root*))
(%tree (uiop:ensure-directory-pathname *cl-cc-parse-root*))
(%tree (uiop:ensure-directory-pathname *cl-cc-vm-root*))
(%tree (uiop:ensure-directory-pathname *cl-cc-type-root*))
(%tree (uiop:ensure-directory-pathname *cl-cc-binary-root*))
(%tree (uiop:ensure-directory-pathname *cl-cc-runtime-root*))
(%tree (uiop:ensure-directory-pathname *cl-cc-mir-root*))
(%tree (uiop:ensure-directory-pathname *cl-cc-codegen-native-root*))
(%tree (uiop:ensure-directory-pathname *cl-cc-expand-root*))
(%tree (uiop:ensure-directory-pathname *cl-cc-cps-root*))
(%tree (uiop:ensure-directory-pathname *cl-cc-optimize-root*))
(%tree (uiop:ensure-directory-pathname *cl-log-kit-root*))
(%tree (uiop:ensure-directory-pathname *cl-date-kit-root*))
(%tree (uiop:ensure-directory-pathname *cl-concurrent-kit-root*))
(%tree (uiop:ensure-directory-pathname *cl-boundary-kit-root*))
(%tree (uiop:ensure-directory-pathname *cl-codec-kit-root*))
(%tree (uiop:ensure-directory-pathname *cl-process-kit-root*))
(%tree (uiop:ensure-directory-pathname *cl-regex-kit-root*))
(%tree (uiop:ensure-directory-pathname *cl-tty-kit-root*))
(%tree (uiop:getcwd))
(append
(mapcar (lambda (subdir)
Expand Down
2 changes: 1 addition & 1 deletion docs/src/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ parent/
cl-cc/
cl-cc-php/
cl-weave/
cl-prolog/
cl-prolog-kit/
cl-parser-kit/
cl-json-kit/
```
Expand Down
6 changes: 3 additions & 3 deletions docs/src/project/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ nix develop
```

This gives you SBCL with the dependency roots already exported as environment
variables, so `run-tests.lisp` finds cl-cc, cl-weave, cl-prolog, cl-parser-kit,
variables, so `run-tests.lisp` finds cl-cc, cl-weave, cl-prolog-kit, cl-parser-kit,
and cl-json-kit without further setup.

## Running the full check
Expand Down Expand Up @@ -40,9 +40,9 @@ Or without Nix, from the repository root:
sbcl --script run-tests.lisp
```

That falls back to sibling checkouts (`../cl-cc`, `../cl-weave`, `../cl-prolog`,
That falls back to sibling checkouts (`../cl-cc`, `../cl-weave`, `../cl-prolog-kit`,
`../cl-parser-kit`, `../cl-json-kit`). Override any root with
`CL_CC_PHP_CL_CC_ROOT`, `CL_CC_PHP_CL_WEAVE_ROOT`, `CL_CC_PHP_CL_PROLOG_ROOT`,
`CL_CC_PHP_CL_CC_ROOT`, `CL_CC_PHP_CL_WEAVE_ROOT`, `CL_CC_PHP_CL_PROLOG_KIT_ROOT`,
`CL_CC_PHP_CL_PARSER_KIT_ROOT`, or `CL_CC_PHP_CL_JSON_KIT_ROOT`.

## Coverage
Expand Down
2 changes: 1 addition & 1 deletion docs/src/reference/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ known to work together if `flake.lock` says so.** Bumping the cl-cc input is a
change that needs its own test run. The existing `v0.1.0` tag on cl-cc predates
the `packages/` layout this repository expects, so it is not a usable pin.

The other inputs — cl-weave, cl-prolog, cl-parser-kit, cl-json-kit — are
The other inputs — cl-weave, cl-prolog-kit, cl-parser-kit, cl-json-kit — are
pinned to release tags and behave normally. Unlike the first three, which are
test-only, cl-json-kit is a real dependency of the shipped `cl-cc-php` system
(`json_validate` calls into it directly) — see `cl-cc-php.asd`'s
Expand Down
Loading
Loading