Commit graph

33096 commits

Author SHA1 Message Date
Keyman Build Agent
786f315020 auto: increment master version to 17.0.64 2023-03-09 13:01:55 -05:00
Eberhard Beilharz
d0ec73825a
Merge pull request #8376 from keymanapp/chore/core/obsoleteOption
chore(core): Remove obsolete `--target-path` option
2023-03-09 16:27:23 +01:00
Marc Durdin
660e98a430 feat(common): support single target for a dependency
Fixes #8397.
2023-03-09 14:54:27 +07:00
Marc Durdin
7df444f4a4
Merge pull request #8394 from keymanapp/fix/web/minify-option
fix(web): --no-minify, not --skip-minify
2023-03-09 18:44:32 +11:00
Marc Durdin
aa9065e7df
Merge pull request #8393 from keymanapp/feat/developer/kmcmplib-wasm-support
feat(developer): adds support for compiling kmcmplib to wasm 🚑
2023-03-09 18:43:57 +11:00
Marc Durdin
a61ca151ca
Merge pull request #8389 from keymanapp/chore/developer/kmcmplib-tidy-up-filesystem-access
chore(developer): tidy up kmcmplib filesystem access 🚑
2023-03-09 18:43:45 +11:00
Marc Durdin
fed2d18c89
Merge branch 'feature-kmcompx' into chore/developer/kmcmplib-tidy-up-filesystem-access 2023-03-09 18:43:29 +11:00
Marc Durdin
0291399d13
Merge pull request #8388 from keymanapp/fix/developer/8381-kmx-output-consistency
fix(developer): improve .kmx output consistency for cross-platform 🚑
2023-03-09 18:41:44 +11:00
Marc Durdin
583280c636
Merge pull request #8387 from keymanapp/chore/developer/cross-platform-fixups-for-wasm
chore(developer): cross-platform fixups pre-wasm build of kmcmplib 🚑
2023-03-09 18:41:25 +11:00
sgschantz
eba89e54cd preliminary integration of keyman core with keyman engine for mac 2023-03-09 14:07:44 +07:00
Marc Durdin
42e395e0be chore(developer): fix typo 2023-03-09 13:07:33 +07:00
Marc Durdin
bd768b1d0e
Merge pull request #8379 from keymanapp/refactor/developer/8082-xstring-check-for-p
chore(developer): check for *p != NULL and test for p > pStart
2023-03-09 17:00:41 +11:00
Marc Durdin
a0cb9a61be chore(developer): kmcmplib breadth-first-build 2023-03-09 12:57:20 +07:00
Marc Durdin
d7111eeaa1 chore(core): breadth-first build
Fixes #8395 for core.
2023-03-09 12:50:12 +07:00
Marc Durdin
7a57e2aba0
Merge branch 'feature-kmcompx' into chore/developer/cross-platform-fixups-for-wasm 2023-03-09 16:29:25 +11:00
Marc Durdin
ef80f0f6b5 chore(developer): shared meson config for kmcmplib 2023-03-09 12:14:15 +07:00
Marc Durdin
bf7ce4fffa
Merge pull request #8385 from keymanapp/chore/core/rebuild-kmx-with-no-version-metadata
chore(core): rebuild kmx binary test fixtures without version data 🚑
2023-03-09 16:12:55 +11:00
Marc Durdin
691dc8e618 chore(core): split flags into standard.meson.build 2023-03-09 11:34:54 +07:00
Marc Durdin
6a280804b8 chore(developer): fixup build errors 2023-03-09 11:34:14 +07:00
Joshua A. Horton
f76e785ff6 feat(common/web): parallel keyboard loading tests 2023-03-09 09:26:22 +07:00
Marc Durdin
0341f554e9
Merge pull request #8367 from keymanapp/chore/developer/kmcmplib-remove-windows.h
chore(developer): remove references to windows.h
2023-03-09 12:27:15 +11:00
Marc Durdin
98ca597320
Merge pull request #8365 from keymanapp/chore/developer/kmcmplib-api-interfaces-and-types
chore(developer): cleanup API interfaces and types for kmcmplib
2023-03-09 12:27:05 +11:00
Marc Durdin
23151c1248 fix(web): --no-minify, not --skip-minify 2023-03-09 07:28:50 +07:00
Marc Durdin
e10606f6c1 feat(developer): adds support for compiling kmcmplib to wasm
Note: unit tests require manual build of keyboards in keyboards repo
using kmcmpdll.dll under Windows, and copying into the tests/fixtures
folder, prior to run, under non-Windows platforms.

(Later: will make it possible to build the reference keyboards using
kmcomp.exe on Windows.)
2023-03-09 07:20:50 +07:00
Marc Durdin
2ce959aee5 chore(developer): fixup header 2023-03-09 07:20:26 +07:00
Marc Durdin
ad0ce5e5b8 chore(developer): avoid symbol collision 2023-03-09 07:04:55 +07:00
Marc Durdin
5d52932e1c chore(developer): further filesystem cleanup in kmcmplib
* fixes CheckFilenameConsistency to use Windows functions on Windows,
  to check case differences, and only test for file existence on other
  platforms which are already case sensitive.
* fixes memory leaks in usage of `wstrtostr2`, and eliminated the
  function altogether.
* avoided use of u16sprintf for error messages, as it seems not to be
  working correctly (long term, eliminate altogether, use C++ string
  formatting).
* fix memory leak and overwrite of token in compiler error message.
* remove debug logging and namespace from filesystem.cpp

Unrelated to kmcmplib:
* improved logs in kmcomp tests (these tests are running on kmcmplib),
  so it is easier to diagnose failing tests.
2023-03-09 05:39:39 +07:00
Keyman Server
9fcf972166
Merge pull request #8392 from keymanapp/auto/version-master-17.0.63
auto: increment master version to 17.0.63
2023-03-09 01:03:40 +07:00
Keyman Build Agent
061e437220 auto: increment master version to 17.0.63 2023-03-08 13:02:56 -05:00
Eberhard Beilharz
d9e0d8a802
chore(linux): Rename keyboardprocessor to Keyman Core 2023-03-08 16:52:10 +01:00
Ross
a11f2f9c31 feat(windows): simple text editor initial commit 2023-03-08 22:22:40 +10:00
Darcy Wong
a95d20cc4e
Merge pull request #8384 from keymanapp/feat/common/builder-inheritable-params-off-master
feat(common): builder.inc.sh inheritable options
2023-03-08 17:58:33 +07:00
SabineSIL
30f0f0b87a
Update developer/src/kmcmplib/src/xstring.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-03-08 10:54:10 +01:00
SabineSIL
66e4bde0d3
Update developer/src/kmcmplib/src/xstring.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-03-08 10:50:28 +01:00
SabineSIL
b27189fb21
Update developer/src/kmcmplib/src/xstring.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-03-08 10:49:39 +01:00
SabineSIL
2ffeb56883
Merge pull request #8380 from keymanapp/refactor/developer/8355-consistent-line-endings
chore(developer): use consistent line endings \r\n
2023-03-08 10:41:14 +01:00
Marc Durdin
9cb58e9030 chore(developer): add filesystem.h ref 2023-03-08 15:43:10 +07:00
Marc Durdin
8277b6b38f chore(developer): tidy up kmcmplib filesystem access
Moves filesystem functionality into filesystem.cpp (it was partially
in kmx_u16.h previously), and adds cross-platform switches. This brings
us most of the way towards being able to run kmcompx under WASM and in
theory other platforms (yet to be tested).
2023-03-08 15:42:16 +07:00
Marc Durdin
3758aa261e chore(developer): remove filesystem.h ref 2023-03-08 15:41:38 +07:00
Marc Durdin
462ebb0e88
chore: remove filesystem.h ref 2023-03-08 19:40:25 +11:00
Marc Durdin
e36c0085b0 fix(developer): improve .kmx output consistency for cross-platform
This fixes two issues:

1. `COMP_KEY` structure had padding that was not always zeroed out.
   Made this explicit.

2. Rule sorting could be inconsistent when re-sorting rules that
   use `+ any() > ...`, which are expanded at compile time into multiple
   rules, and which ended up with identical sort keys due to lack of
   precision. This relates to #8381 but only adds differentiation for
   the otherwise ambiguous rule sort keys, and does not fix that issue,
   which requires further investigation.
2023-03-08 13:53:29 +07:00
Marc Durdin
e52e7731ad chore(developer): cross-platform fixups pre-wasm build of kmcmplib
This is not enough for building to WASM, but wanted to split out the
bigger changes into their own PRs. This is mostly busy-work.

One serious bug fixed:
* u16string_from_string was not converting from UTF-16 correctly

Apart from that, just tidies up a few bits and pieces in kmcmplib:
* type coercion for json-validator.cpp (probably already fixed upstream)
* cleanup of build scripts for new builder variable names
* various compatibility macros for MSVC vs clang
* safer math expressions
* file name casing in headers
* replacement of various ms-only std funcs
* removed some unused variables and consts
* tightened up search for keyboards to get only keyboards in /source/
  folders (may be possible to improve further in the future?)
2023-03-08 13:49:06 +07:00
Darcy Wong
76a7b3d815 fix(ios): Script call 2023-03-08 13:48:39 +07:00
Marc Durdin
c49f0e17ec chore(core): update unit tests with new store indices 2023-03-08 13:47:34 +07:00
Marc Durdin
1dcd50f6b7 chore(common): add _reserved member to COMP_KEY
In order to allow us to reference the padding in the FILE_KEY structure,
for reproducible and cross-platform consistent builds, turn the padding
into an `_reserved` (must always be zero) field.

Changes to compiler to utilise this will be in a follow-up commit.
2023-03-08 13:02:23 +07:00
Marc Durdin
8b123b9364 chore(core): rebuild kmx binary test fixtures without version data
In order to be able to provide a more robust round-trip comparison of
existing .kmx binary fixtures with compiler output, this commit rebuilds
them with the `-no-compiler-version` kmcomp flag, to omit the
`TSS_COMPILEDVERSION` store.
2023-03-08 11:48:29 +07:00
Darcy Wong
6c2126431f refactor(common): Make build-help into helper functions 2023-03-08 11:42:13 +07:00
Darcy Wong
099900ea51 feat(common): builder.inc.sh inheritable options
Appending a `+` to a builder option will automatically pass that option to child scripts.

Applying #8371 to master branch and @darcywong00 will then re-apply to #7407
2023-03-08 10:33:35 +07:00
Darcy Wong
78adb337a1 refactor(android): Use builder_is_debug_build 2023-03-08 09:57:36 +07:00
Darcy Wong
31d23efb20 chore(android): Merge remote-tracking branch 'origin/master' into refactor/android/builder-script 2023-03-08 09:46:18 +07:00