Commit graph

4544 commits

Author SHA1 Message Date
Marc Durdin
04806d389e chore(common): features by platform for cargo 2021-06-10 16:39:09 +10:00
Marc Durdin
adf25ce657 chore(common): cleanup 2021-06-10 16:24:43 +10:00
Marc Durdin
d55afc24ed chore(common): additional config for linux ba 2021-06-10 15:49:23 +10:00
Marc Durdin
236379e234 chore(common): cleanup build.sh for linux, part 1 2021-06-10 15:41:28 +10:00
Joshua Horton
5e0aef8eda
Merge pull request #5248 from keymanapp/fix/common/core/web/build-transform-optimization
fix(common/core/web): optimizes transform construction
2021-06-10 11:07:26 +07:00
Keyman Build Agent
aceae1d62e auto: increment master version to 15.0.65 2021-06-09 14:02:03 -04:00
Eberhard Beilharz
ec4782b9c5
feat(linux): Fix Linux packaging on i386
Debian defines multiple similar environment variables. Libraries
are expected in `/usr/lib/i386-linux-gnu`. `DEB_TARGET_MULTIARCH`
gives that value, whereas the previous `DEB_TARGET_GNU_TYPE` gives
`i686-linux-gnu` which then results in our libraries not being found.
2021-06-09 18:44:20 +02:00
jahorton
73af555050 fix(common/core/web): buildTransformFrom now binary-searches prefix split 2021-06-09 15:45:53 +07:00
jahorton
1cbfe680a1 feat(common/core/web): adds extra test with much larger text 2021-06-09 15:27:18 +07:00
jahorton
50120777ae feat(common/core/web): adds extra Transcription tests 2021-06-09 15:19:32 +07:00
Joshua Horton
6abc0855e0
Merge pull request #5181 from keymanapp/refactor/web/target-agnostic-key-event
refactor(common/core/web, web): target-agnostic key events
2021-06-09 10:38:10 +07:00
jahorton
b6424095ae docs(common/core/web): function docs improvement 2021-06-09 09:31:39 +07:00
Keyman Build Agent
8f37e637e7 auto: increment master version to 15.0.64 2021-06-08 14:02:31 -04:00
Marc Durdin
556e455e42 chore(common): more building.md tweaks 2021-06-08 13:56:28 +10:00
Marc Durdin
abf82d5363 chore(common): building on mac instructions 2021-06-08 13:07:31 +10:00
Marc Durdin
246b920582 chore(common): build.sh tweaks for linux build 2021-06-08 11:23:11 +10:00
Marc Durdin
0cbd91f6ce feat(common): keyboard_processor wasm build
Relates to #5069.

* Adds infrastructure for building keyboard_processor to WASM
* Updates unit tests to work in WASM environment
* Cleanup of documentation
* Consolidation of build script for most platforms
2021-06-08 08:35:59 +10:00
Marc Durdin
2e7ec16133
Merge branch 'master' into feat/common/rust-infrastructure 2021-06-07 08:45:08 +10:00
Marc Durdin
d0834e1f39 chore: address review comments 2021-06-07 08:44:15 +10:00
Keyman Build Agent
05fcbf2801 auto: increment master version to 15.0.63 2021-06-04 14:02:53 -04:00
Keyman Build Agent
bc3aeb0268 auto: increment master version to 15.0.62 2021-06-03 14:01:40 -04:00
Marc Durdin
32b4f54d58
Update BUILDING.md 2021-06-03 11:22:11 +10:00
Marc Durdin
4a09dd3b48 feat(windows): add common core libraries and includes 2021-06-02 13:52:11 +10:00
Marc Durdin
b63e543977 chore: document Linux package rules 2021-06-02 13:52:10 +10:00
Marc Durdin
4dbd0bec79 chore: Apply suggestions from code review 2021-06-02 13:52:09 +10:00
Eberhard Beilharz
54a62a05d7 feat(linux): Adjust package build for build.sh script
This change makes the necessary adjustments so that the package build
works with the new `build.sh` script. We no longer can rely on the
automatisms of debhelper. This change also adds a install target
to `build.sh`, and copies some files from the Keyman root directory
to the desktop directory because when package building we only
have access to the files in common/core/desktop. Along the same lines
it removes embedding `build-utils.h` from `build.sh`. Instead we set
the version and tier locally.
2021-06-02 13:52:08 +10:00
Eberhard Beilharz
dec8fba55e chore(linux): Downgrade meson for package building
Ubuntu 18.04 Bionic only contains Meson 0.45. The build seems
to work with that version, so we partially revert the previous
change that set the minimum version to 0.50.
2021-06-02 13:52:07 +10:00
Eberhard Beilharz
ef5df74f53 chore(linux): Update package dependencies for Rust infrastructure 2021-06-02 13:52:04 +10:00
Eberhard Beilharz
b547f7d256 docs(common): Update build documentation 2021-06-02 13:52:03 +10:00
Eberhard Beilharz
e89fe746d7 fix(common): fix two Rust warnings 2021-06-02 13:52:02 +10:00
Marc Durdin
3d2d31a717 chore(common): remove some warnings 2021-06-02 13:52:00 +10:00
Marc Durdin
4d0c7d6395 fix(common): integer precision loss 2021-06-02 13:51:57 +10:00
Marc Durdin
8103949bdc chore(linux): adjust linux build scripts for rust 2021-06-02 13:51:55 +10:00
Marc Durdin
fdbc2a309a chore(common): stub out tests to prevent build errors 2021-06-02 13:51:54 +10:00
Marc Durdin
3e0a8ffafc chore(common): tweak build script for cross platform 2021-06-02 13:51:52 +10:00
Marc Durdin
3690cdf973 chore(common): make build.sh executable 2021-06-02 13:51:51 +10:00
Marc Durdin
8052ac9bbc feat(common): Rust infrastructure
Relates to #5069.

This establishes a baseline Rust build environment and linkage with
common/core/desktop.

This includes:

* build script build.sh which handles builds on Windows, macOS, *nix,
  with multiple targets on Windows only at present (M1 on mac to come
  when we do the mac integration work.)
* a mock rust processor with a very stubbed-out implementation
* bare bones interface between Rust library and C++ code
* unit tests on Rust and integration tests on C++ side to test the
  linkage between the libraries.

This should deliver a set of libraries that can be linked into our
target applications. For ease of deployment, it may be best to make
these static libraries, but I haven't made that decision at this point.
2021-06-02 13:51:50 +10:00
Keyman Build Agent
344ae9caa4 auto: increment master version to 15.0.61 2021-06-01 14:02:09 -04:00
Keyman Build Agent
e13439e99c auto: increment master version to 15.0.60 2021-05-31 14:02:58 -04:00
Eberhard Beilharz
b0358509c0
Merge pull request #5169 from keymanapp/fix/linux/issue-5072
fix(common/core/desktop): Fix failing tests on armhf
2021-05-31 14:58:29 +02:00
Marc Durdin
c244eded35
Merge pull request #5175 from keymanapp/fix/common/build-script-help-param
fix(common): build script help param
2021-05-31 11:08:36 +10:00
Marc Durdin
c9897bb38f fix(windows): cleanup edge cases in k32_load
Matches work completed in #5169 for Keyman Core, kmx_file.cpp.

While this code will hopefully disappear in 15.0, it's good to make sure
we aren't diverging beforehand.

Also tidies up a couple of other cases in `CopyKeyboard` in Keyman Core.
2021-05-31 10:58:23 +10:00
Keyman Build Agent
ec3a699018 auto: increment master version to 15.0.59 2021-05-28 14:02:38 -04:00
jahorton
c91d2f3685 refactor(web): related adjustments for full KMW 2021-05-28 13:14:43 +07:00
jahorton
6c782705f2 refactor(web): removes Ltarg from KeyEvent, adjusts core to match 2021-05-28 12:44:03 +07:00
Keyman Build Agent
e33e93342f auto: increment master version to 15.0.58 2021-05-27 21:58:41 -04:00
Marc Durdin
5fac633fb6 fix(common): build script help param
When working on a new build script, I tripped over the `-?` question
mark help parameter here, as it needs to be escaped. Opted to fix all
the instances in our scripts, although AFAICT there would not have been
current bugs arising from this, as there were no conflicting one
character options lower in the case list.
2021-05-28 09:50:40 +10:00
Keyman Build Agent
7f95128944 auto: increment master version to 15.0.57 2021-05-27 14:02:06 -04:00
Eberhard Beilharz
68706c9451
fix(common/core/desktop): Fix failing tests on armhf
This change fixes the FixupKeyboard method. In the .kmx files on
disk array pointers for an empty array point to the end of the file
(one byte after the end of the data structure). When we expand the
pointers in FixupKeyboard this leads to `cgp->dpKeyArray` to point to an
unallocated memory location - this shouldn't matter since we don't
try to read or write at this location if the Key array is empty,
but armhf still seems to raise a SIGBUS, probably because we cast
the value to a `LPKEY`. This change sets `cgp->dpKeyArray` to `NULL`
if we have an empty key array, similar to what's done for the strings.

Closes #5072.
2021-05-27 17:14:06 +02:00
Eberhard Beilharz
7c78fb0adb
refactor(common/core/desktop): Use StringOffset in FixupKeyboard 2021-05-27 16:53:41 +02:00