sb-manual: do not document unbuilt contribs
Some checks are pending
CL-host / ecl (push) Waiting to run
CL-host / clisp (push) Waiting to run
CL-host / ccl (push) Waiting to run
CL-host / cmucl (push) Waiting to run
CL-host / sbcl (push) Waiting to run
CL-host / compare-xc-host-fasls (ccl, false) (push) Blocked by required conditions
CL-host / compare-xc-host-fasls (clisp, false) (push) Blocked by required conditions
CL-host / compare-xc-host-fasls (cmucl, false) (push) Blocked by required conditions
CL-host / compare-xc-host-fasls (self, false) (push) Blocked by required conditions
Linux arm / build (push) Waiting to run
Linux arm64 / build () (push) Waiting to run
Linux qemu / build (ppc64le) (push) Waiting to run
Linux qemu / build (riscv64) (push) Waiting to run
Linux / build (x86, --with-sb-thread, ) (push) Waiting to run
Linux / build (x86, --without-sb-thread, ) (push) Waiting to run
Linux / build (x86, --without-sb-unicode, ) (push) Waiting to run
Linux / build (x86-64, --with-mark-region-gc --with-nonstop-foreign-call) (push) Waiting to run
Linux / build (x86-64, --with-sb-fasteval --without-sb-eval --with-nonstop-foreign-call, fasteval) (push) Waiting to run
Linux / build (x86-64, --with-sb-thread --with-nonstop-foreign-call --with-tls-based-mv-return, sse4) (push) Waiting to run
Linux / build (x86-64, --with-sb-thread, ) (push) Waiting to run
Linux / build (x86-64, --without-sb-thread, ) (push) Waiting to run
Linux / build (x86-64, --without-sb-unicode, ) (push) Waiting to run
Mac / build (arm64, --with-mark-region-gc --with-nonstop-foreign-call --with-tls-based-mv-return) (push) Waiting to run
Mac / build (arm64, --with-sb-thread --with-nonstop-foreign-call --with-tls-based-mv-return) (push) Waiting to run
Mac / build (x86-64, --with-mark-region-gc --with-nonstop-foreign-call --with-tls-based-mv-return) (push) Waiting to run
Mac / build (x86-64, --with-sb-thread --with-nonstop-foreign-call --with-tls-based-mv-return) (push) Waiting to run
Windows arm64 / build (arm64, clang-aarch64, clangarm64) (push) Waiting to run
Windows / build (x86-64, ucrt-x86_64, ucrt64) (push) Waiting to run

Also, test texinfo generation on github.
This commit is contained in:
Gabor Melis 2026-09-03 10:28:30 +02:00
parent ccbf25c80d
commit 289db46c16
13 changed files with 49 additions and 34 deletions

View file

@ -29,6 +29,8 @@ jobs:
CC: arm-linux-gnueabihf-gcc CC: arm-linux-gnueabihf-gcc
run: ./make.sh --xc-host='sbcl --dynamic-space-size 700MB --lose-on-corruption --disable-ldb --disable-debugger' --arch=arm run: ./make.sh --xc-host='sbcl --dynamic-space-size 700MB --lose-on-corruption --disable-ldb --disable-debugger' --arch=arm
- name: build documentation
run: cd ./doc/manual && sh generate-texinfo.sh
- name: test - name: test
env: env:
CC: arm-linux-gnueabihf-gcc CC: arm-linux-gnueabihf-gcc

View file

@ -47,6 +47,8 @@ jobs:
name: sbcl-linux-binary-arm64${{ matrix.options }} name: sbcl-linux-binary-arm64${{ matrix.options }}
path: sbcl-linux-binary-arm64${{ matrix.options }} path: sbcl-linux-binary-arm64${{ matrix.options }}
- name: build documentation
run: cd ./doc/manual && sh generate-texinfo.sh
- name: test - name: test
run: cd tests; ./run-tests.sh --slow run: cd tests; ./run-tests.sh --slow
- name: ansi-test - name: ansi-test

View file

@ -50,6 +50,8 @@ jobs:
- name: test-fasteval - name: test-fasteval
if: matrix.subfeatures == 'fasteval' if: matrix.subfeatures == 'fasteval'
run: cd tests; ./run-tests.sh --evaluator-mode interpret run: cd tests; ./run-tests.sh --evaluator-mode interpret
- name: build documentation
run: cd ./doc/manual && sh generate-texinfo.sh
- name: test - name: test
run: cd tests; ./run-tests.sh --slow run: cd tests; ./run-tests.sh --slow
- name: ansi-test - name: ansi-test

View file

@ -37,6 +37,8 @@ jobs:
with: with:
name: sbcl-mac-binary-${{ matrix.arch }}${{ matrix.options }} name: sbcl-mac-binary-${{ matrix.arch }}${{ matrix.options }}
path: sbcl-mac-binary-${{ matrix.arch }}${{ matrix.options }} path: sbcl-mac-binary-${{ matrix.arch }}${{ matrix.options }}
- name: build documentation
run: cd ./doc/manual && sh generate-texinfo.sh
- name: test - name: test
run: cd tests; ./run-tests.sh --slow run: cd tests; ./run-tests.sh --slow
- name: ansi-test - name: ansi-test

View file

@ -58,6 +58,8 @@ jobs:
with: with:
name: sbcl-windows-installer-${{ matrix.sys }} name: sbcl-windows-installer-${{ matrix.sys }}
path: sbcl-windows-installer path: sbcl-windows-installer
- name: build documentation
run: cd ./doc/manual && sh generate-texinfo.sh
- name: tests - name: tests
working-directory: tests working-directory: tests
run: ./run-tests.sh run: ./run-tests.sh

View file

@ -49,12 +49,11 @@ jobs:
with: with:
name: sbcl-windows-installer-${{ matrix.sys }} name: sbcl-windows-installer-${{ matrix.sys }}
path: sbcl-windows-installer path: sbcl-windows-installer
- name: build documentation
run: cd ./doc/manual && sh generate-texinfo.sh
- name: tests - name: tests
working-directory: tests working-directory: tests
run: ./run-tests.sh run: ./run-tests.sh
- name: ansi-tests - name: ansi-tests
working-directory: tests working-directory: tests
run: ./ansi-tests.sh run: ./ansi-tests.sh

View file

@ -20,10 +20,13 @@ sb-mpfr.fasl: sb-gmp.fasl
sb-queue.fasl: sb-concurrency.fasl sb-queue.fasl: sb-concurrency.fasl
sb-simple-streams.fasl: sb-posix.fasl sb-bsd-sockets.fasl sb-simple-streams.fasl: sb-posix.fasl sb-bsd-sockets.fasl
sb-grovel.fasl: asdf.fasl # for building the module, not for our build sb-grovel.fasl: asdf.fasl # for building the module, not for our build
sb-manual.fasl: sb-aclrepl.fasl sb-bsd-sockets.fasl sb-cltl2.fasl \
sb-concurrency.fasl sb-cover.fasl sb-grovel.fasl sb-introspect.fasl \ sb_manual_module_deps = sb-aclrepl sb-bsd-sockets sb-cltl2 sb-concurrency \
sb-md5.fasl sb-posix.fasl sb-rotate-byte.fasl sb-queue.fasl \ sb-cover sb-grovel sb-introspect sb-md5 sb-posix sb-rotate-byte \
sb-sprof.fasl sb-queue sb-sprof sb-simd sb-simple-streams
sb_manual_unblocked_module_deps = \
$(filter-out $(SBCL_CONTRIB_BLOCKLIST), $(sb_manual_module_deps))
sb-manual.fasl: $(sb_manual_unblocked_module_deps:=.fasl)
# Notes: # Notes:
# 1. Invoking $(MAKE) for nested make eliminates a warning about jobserver mode. # 1. Invoking $(MAKE) for nested make eliminates a warning about jobserver mode.

View file

@ -152,21 +152,18 @@
(push c wcu-warnings))))) (push c wcu-warnings)))))
(with-compilation-unit () (with-compilation-unit ()
(loop for (generated-p stem) in (flattened-sources) (loop for (generated-p stem) in (flattened-sources)
do (let* ((output (let ((name (if (pathnamep stem) do (let ((fasl
stem (if (string= (pathname-type stem) "fasl")
(merge-pathnames objdir stem)))) stem
(ensure-directories-exist name) (multiple-value-bind (output warnings errors)
name)) (compile-file
(fasl (logicalize stem generated-p)
(if (string= (pathname-type stem) "fasl") :output-file (ensure-directories-exist
stem (merge-pathnames stem objdir)))
(multiple-value-bind (output warnings errors) (when (or warnings errors) (sb-sys:os-exit 1))
(compile-file (logicalize stem generated-p) output))))
:output-file output) (fasls fasl)
(when (or warnings errors) (sb-sys:os-exit 1)) (load fasl)))))
output))))
(fasls fasl)
(load fasl)))))
;; Deferred warnings occur *after* exiting the W-C-U body. ;; Deferred warnings occur *after* exiting the W-C-U body.
;; See also lp#1078460 - "unknown variable" is not really ever resolved. ;; See also lp#1078460 - "unknown variable" is not really ever resolved.
(when wcu-warnings (sb-sys:os-exit 1))) (when wcu-warnings (sb-sys:os-exit 1)))

View file

@ -7,13 +7,8 @@
On the positive side, this does not load extra stuff until the On the positive side, this does not load extra stuff until the
user `require`s `sb-manual`. However, then it loads all contribs. user `require`s `sb-manual`. However, then it loads all contribs.
A finer grained approach may be preferable. For example, we could It shouldn't be difficult to show documtation only for actually
make the `manual.lisp` file part of the contrib itself. Then loaded contribs.
people might complain about the overhead of loading/having the
docstrings in the image.
Alternatively, we could have `sb-bsd-sockets/manual.lisp` as a new
`sb-bsd-sockets-manual` module. Eh.
- How to deal with repetitive package names? - How to deal with repetitive package names?

View file

@ -6,15 +6,24 @@
(see @CUSTOMIZATION-HOOKS-FOR-USERS). This section contains (see @CUSTOMIZATION-HOOKS-FOR-USERS). This section contains
documentation (or pointers to documentation) for some of the documentation (or pointers to documentation) for some of the
contributed modules." contributed modules."
#+#.(sb-manual::package-exists-p/reader '#:sb-aclrepl)
(@sb-aclrepl section) (@sb-aclrepl section)
#+#.(sb-manual::package-exists-p/reader '#:sb-concurrency)
(@sb-concurrency section) (@sb-concurrency section)
#+#.(sb-manual::package-exists-p/reader '#:sb-cover)
(@sb-cover section) (@sb-cover section)
#+#.(sb-manual::package-exists-p/reader '#:sb-grovel)
(@sb-grovel section) (@sb-grovel section)
#+#.(sb-manual::package-exists-p/reader '#:sb-introspect)
(@sb-introspect section) (@sb-introspect section)
(@sb-manual section) (@sb-manual section)
#+#.(sb-manual::package-exists-p/reader '#:sb-md5)
(@sb-md5 section) (@sb-md5 section)
#+#.(sb-manual::package-exists-p/reader '#:sb-posix)
(@sb-posix section) (@sb-posix section)
#+#.(sb-manual::package-exists-p/reader '#:sb-queue)
(@sb-queue section) (@sb-queue section)
#+#.(sb-manual::package-exists-p/reader '#:sb-rotate-byte)
(@sb-rotate-byte section) (@sb-rotate-byte section)
#+(or :x86-64 :arm64) #+#.(sb-manual::package-exists-p/reader '#:sb-simd)
(@sb-simd section)) (@sb-simd section))

View file

@ -7,7 +7,9 @@
(if long (if long
(format nil "~D-~2,'0D-~2,'0D ~2,'0D:~2,'0D:~2,'0D" (format nil "~D-~2,'0D-~2,'0D ~2,'0D:~2,'0D:~2,'0D"
year month day hour minute second) year month day hour minute second)
(format nil "~D-~2,'0D" year month))))) (format nil "~D-~2,'0D" year month))))
(defun package-exists-p/reader (name)
(if (find-package name) '(and) '(or))))
(defsection @sbcl-manual (:title "SBCL Manual") (defsection @sbcl-manual (:title "SBCL Manual")
;; This docstring is not used in the Texinfo version (see ;; This docstring is not used in the Texinfo version (see
@ -44,6 +46,7 @@
(@package-locks section) (@package-locks section)
(@threading section) (@threading section)
(@timers section) (@timers section)
#+#.(sb-manual::package-exists-p/reader '#:sb-bsd-sockets)
(@networking section) (@networking section)
(@profiling section) (@profiling section)
(@contributed-modules section) (@contributed-modules section)

View file

@ -38,8 +38,7 @@
(:file "../../sb-posix/manual") (:file "../../sb-posix/manual")
(:file "../../sb-queue/manual") (:file "../../sb-queue/manual")
(:file "../../sb-rotate-byte/manual") (:file "../../sb-rotate-byte/manual")
(:file "../../sb-simd/manual" (:file "../../sb-simd/manual")
:if-feature (:or :x86-64 :arm64))
(:file "../../sb-simple-streams/manual") (:file "../../sb-simple-streams/manual")
(:file "deprecation"))) (:file "deprecation")))
(:file "late"))) (:file "late")))

View file

@ -290,7 +290,7 @@ most appropriate version based on the instruction set extensions that
are actually available. are actually available.
This kind of run time instruction set dispatch is explicitly This kind of run time instruction set dispatch is explicitly
supported by means of the SB-SIMD-INTERNALS:INSTRUCTION-SET-CASE supported by means of the @code{sb-simd-internals:instruction-set-case}
macro. The code resulting from an invocation of this macro compiles macro. The code resulting from an invocation of this macro compiles
to an efficient jump table whose index is recomputed on each startup to an efficient jump table whose index is recomputed on each startup
of the Lisp image. of the Lisp image.