Fixes#7487.
`KMN_API` defines only import/export/static modifiers for functions, so
it makes no sense to apply it to a typedef. (Previously, I thought it
also included a calling convention, but it doesn't.)
Recently some include files got added to `common/include` which are
referenced by `core/include/keyman`. This change adds the necessary
code to install them in the same directory as the other include files.
Fixes#7490.
Adds infrastructure required to support caps lock control on keyboard
activation per #5822.
Keyboardprocessor implementation is currently a stub, and engines will
need corresponding updates to support the new API.
build-utils.sh is responsible for filling these variables.
Note: getversion.sh and getversion.bat are still currently used by
meson. gettier is no longer used with these changes.
The name json.hpp conflicts with the JSON for Modern C++ library that
is also used by Developer. Renames json.hpp and json.cpp to jsonpp.hpp
and jsonpp.cpp aka "JSON Pretty Printer".
Fixes up scripts (except under /linux) to use `#!/usr/bin/env bash`
instead of `#!/bin/bash` or `#!/bin/sh` so that we don't end up with
the ancient version of bash supplied with macOS.
This became urgent with this PR, because of bash-4.xisms in
build-utils.sh, for example on line 572:
```
if [[ -v _builder_params[$e] ]]; then
```