I've just run admin/notes/tree-sitter/build-modules/batch.sh and
it worked flawlessly and built many .so.
Could probably have used Make instead of Bash, but worked fine
regardless, and reasonably quickly.
There's one thing that I think could be added which is that the
admin/notes/tree-sitter/build-modules/dist path relative to the
Emacs source directory be pre-set in the variable
treesit-extra-load-path, or something to that effect. Then this could
be even smoother.
But could it be smoother yet? After all, all that build.sh does
is download and compile some C/C++ code after downloading it
from the internet. Why can't we bundle this code with the Emacs
source distribution and build the shared objects as part of the
normal build process?
Bundling is also one way to help us pin the grammar version,
a dependency of our major mode source code. The way it is
right now, it seems that if the upstream repository introduces
an incompatible change in the Foo grammar, our foo-ts-mode
will break.
The grammar repositories seem to be MIT licensed, and we
already promote its download anyway. I'm not an expert, but
it seems MIT is compatible with GPL, so we could carry some
MIT code in our repo.
João