Commit graph

92 commits

Author SHA1 Message Date
Marc Durdin
f394245636 maint(common): consolidate builder scripts
Clarifies the confusing builder.inc.sh / build-utils.sh distinction by
giving the scripts more appropriate names. Most build scripts should use
builder-full.inc.sh; some helper scripts can use builder-basic.inc.sh.
Documented in resources/build/README.md.

Renames:
* resources/build/builder.inc.sh to resources/build/builder-full.inc.sh
* resources/build/build-utils.sh to resources/build/builder-basic.inc.sh

Other changes:
* Moves Android-specific functions out of builder-basic.inc.sh and into
  android/build.sh.
* Renames functions in builder-basic.inc.sh

More functions may be moved from builder-basic.inc.sh into utils.inc.sh
or other scripts in the future.

Fixes: #14065
Build-bot: build all
Test-bot: skip
2025-08-02 08:11:24 +10:00
Marc Durdin
156bdcdd8a maint(common): rename and move builder_if_release_build_level 2025-06-16 06:45:42 +10:00
Marc Durdin
870d37f56b maint(developer): only copy .dbg/.pdb on release buildLevel 2025-06-16 05:40:30 +10:00
Marc Durdin
f61a104acf
Merge branch 'master' into chore/merge-beta-into-master-B18S2 2025-03-01 15:45:19 +07:00
Marc Durdin
ef60c08d7c chore: add build.sh edit action for Delphi projects
This opens up the Delphi IDE with the correct KEYMAN_ROOT environment,
which allows for debugging. This is very helpful when working with
multiple worktrees, and also helps to avoid editing a project in the
wrong tree.
2025-02-22 06:18:47 +01:00
Marc Durdin
296e1bbad4 feat(windows): hack in some fun features for kmdevlink
This was an evening activity scratching itches on kmdevlink's 'Open
Issue' dialog. The search box now supports three different types of
strings:

1. `[[repo]#]num` -> open issue/PR #num in repo (if repo omitted, will
   use 'keyman'):
   * `13235` or `#13235` or `keyman#13235` -> opens PR #13235
   * `keyman.com#545` -> opens PR keymanapp/keyman.com#545
   * `api#172` -> opens PR keymanapp/api.keyman.com#172
2. `[[repo]#]searchtext` -> any non-numeric string does an issue search:
   * `label:ios/ font` -> opens an issue search for 'ios/' label and
     'font' in keymanapp/keyman repo
   * `api#db` -> opens an issue search for 'db' in
     keymanapp/api.keyman.com repo
3. `[[repo]#]` -> opens issue list for repo (keymanapp/keyman if repo is
   omitted, or empty box)

A second feature is construction of a HTML snippet of our usual
short-form links to issues/PRs for Google Docs. Note that this dialog
does not check if the target is an issue or PR, it just builds a link to
the issue URL and lets GitHub redirect to PR. To use this, just type the
`[[repo]#]num` format into the search field and click the Copy button.
2025-02-14 05:51:35 +07:00
Marc Durdin
b062a8b558 chore(windows): address review comments 2024-10-30 13:02:14 +07:00
Marc Durdin
8ebe621c1c chore(windows): fixup output paths for kmdevlink 2024-10-17 07:09:35 +07:00
Marc Durdin
12564c2efc feat(windows): kmdevlink app
Internal app for opening shortcuts to Keyman repos and Character
Identifier.
2024-10-17 06:21:52 +07:00
Marc Durdin
9a8b6d1279 chore(windows): remove remaining unused Makefiles
Fixes: #12247
2024-08-23 18:12:06 +02:00
Marc Durdin
1be73a9c2e refactor(windows): clean up logging
* Remove unused parameters from SendDebugMessage functions
* Add SendDebugEntry and SendDebugExit functions for tracking
  function entry/exit
* Add indenting and function names to log entries
* Remove unused debug functions
* Eliminate now-unused hwnd parameter in initialization functions
* Replace Log,LogEntry,LogExit functions with SendDebug equivalents in
  kmtip

Many functions now have SendDebugEntry/SendDebugExit (or
return_SendDebugExit) pairs. It is important to SendDebugExit on all
returns from a function to keep the log indent depth consistent. In some
cases I chose not to add these logging calls, e.g. on frequently called
functions such as the message hooks.
2024-07-03 21:28:37 +10:00
Marc Durdin
a90e9f45f3 fix(windows): etl2log support unicode
Minimal patch to etl2log to support emitting Unicode characters, in
UTF-8.
2024-02-06 15:07:08 +07:00
Marc Durdin
f61e65ceb9
Merge pull request #9736 from keymanapp/chore/merge-master-into-package-metadata
chore: merge master into package-metadata
2023-10-11 11:28:07 +11:00
Marc Durdin
eeb755f76a fix(windows): re-enable signature check
Fixes #9692.

Signature checking was skipped because we missed a ".virtual" to force
nmake to build the test and test_i3633 targets. This opened up a small
cascade of related formatting issues on Makefiles, and the fact that the
test_i3633 (has there ever been a more poorly named project?) Makefile
did not even work.

Refactored significantly, added same tests to Developer Makefile, and
also now verifying the .msi and installer executable.

We can improve this further but I'd like to get this in to avoid further
critical issues with code signing given the current broken signing
configuration.
2023-10-06 09:14:35 +07:00
Marc Durdin
a093507a4c chore(developer): remove .keyboard_info sources
Fixes #9551.

Removes various .keyboard_info files from test fixtures and also removes
generation of .keyboard_info source files from kmconvert, alongside now-
redundant tests (cvt.dpr).
2023-09-25 12:19:26 +07:00
Marc Durdin
4c07b6c49c feat(developer): remove kmcmpdll 2023-09-02 12:25:29 +04:00
Ross
acb6371f51 fix(windows): cut and paste error 2023-05-17 12:51:24 +10:00
Ross
28ecb56ae6 fix(windows): add wrap-symbols texteditor makefile 2023-05-17 12:45:06 +10:00
Ross
be8d5b08c6 feat(windows): add text editor to the support makefile
Add text editor to the windows/src/support/Makefile
Fixed the TextEditor Makefile to copy the debug file
to the debug folder.
2023-05-11 15:20:50 +10:00
Ross
45fe335abb feat(windows): Clone HFONT handle 2023-03-30 16:55:42 +10:00
Ross
d6fce6c34f feat(windows): tabs crept back in fixing formatting 2023-03-28 11:45:23 +10:00
Ross
ac1d5f1f8f feat(windows): build 64 and 32 fix error handling 2023-03-28 11:24:47 +10:00
Ross
0d7d45ac4e feat(windows): make output dir match keyman standard 2023-03-27 18:12:03 +10:00
rc-swag
eecc8735d3
feat(windows): apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-03-27 17:39:13 +10:00
Ross
895fc9dab0 feat(windows): fix tabs and brackets 2023-03-27 17:35:44 +10:00
Ross
0bbba50a3a feat(windows): fix tab indents 2023-03-20 17:26:13 +10:00
Ross
82c237b45d feat(windows): missed in update 2023-03-20 13:56:16 +10:00
Ross
9517c20acb feat(windows): clean up comments 2023-03-20 13:26:33 +10:00
Ross
77ccfc689e feat(windows): move project location 2023-03-20 10:07:15 +10:00
Steven R. Loomis
93a9509302 chore(core): delete crc32.cpp and crc32.pas from some places 2022-09-21 18:13:19 -05:00
Marc Durdin
385045e978 chore(windows): fixup refs and move StockFileNames
* StockFileNames.pas was missed in earlier moves.
* Cleaned up references in various dproj files
* Fixed up broken references to common files
2022-06-23 09:47:59 +10:00
Marc Durdin
2aaa31eae2 chore(windows): move general keyboard units to common 2022-06-23 06:33:16 +10:00
Marc Durdin
331c9d2d71 chore(windows): move shared general units to common 2022-06-22 13:58:58 +10:00
Marc Durdin
eba8a4ab35 chore(windows): move CRC32.pas to common 2022-06-22 10:36:55 +10:00
Marc Durdin
9dbe33e36e chore(windows): move KeymanVersion.pas to common and update refs 2022-06-21 09:39:04 +10:00
Marc Durdin
ad4039b5db chore(windows): move RegistryKeys.pas, ErrorControlledRegistry.pas, Glossary.pas, ScanCodeMap.pas to common 2022-06-21 09:39:03 +10:00
Marc Durdin
f163ceb6d5 chore(windows): move Unicode.pas to common 2022-06-21 09:39:01 +10:00
Marc Durdin
ff9a4c5edb chore(windows): move GetOSVersion to common 2022-06-21 09:39:00 +10:00
Marc Durdin
9db6293b84 chore(windows): move usp10 to common 2022-06-21 09:38:59 +10:00
Marc Durdin
58230160b0 chore(windows): move CleartypeDrawCharacter to common 2022-06-21 09:38:58 +10:00
Marc Durdin
4b2fa6cc05 chore(windows): move keybtn and onscreenkeyboard to common
Components are related so moved together.
2022-06-21 09:38:56 +10:00
Marc Durdin
7ff83dcc1f chore(windows): move ExtShiftState to common 2022-06-21 09:38:52 +10:00
Marc Durdin
1eff4dbca4 chore(windows): move global/delphi/visualkeyboard to common 2022-06-13 06:57:46 +10:00
Marc Durdin
cbda56f3e5 chore(windows): move global/delphi/standards to common 2022-06-13 06:15:47 +10:00
Marc Durdin
36b70758a9 chore(windows): remove unused OnlineConstants 2022-06-12 14:26:53 +10:00
Marc Durdin
3632582522 chore(windows): move keymanversion.h to common 2022-06-12 13:56:13 +10:00
Marc Durdin
978af022b4 chore(windows): cleanup kmxfonts resource refs
I needed to update a few other bits and pieces for it to build;
but worth doing in any case.
2022-06-01 08:16:44 +10:00
Ross
c167d8bdda fix(windows): add x64 build fix invalid memory access
This commit adds x64 build for the imsample.dll.
It also fixes the a invalid memory access error that
occured when UnloadRules was called when a Keyboard
had been created but the rules not yet loadeded.

KeymanIMReloadConfig function returned a invalid
code excution point this was fixed by addeding it
to the imsample.def
2021-12-16 10:52:20 +10:00
Marc Durdin
988fec305c chore(windows): enable build without Delphi installed
This makes it possible to run `set NODELPHI=1`, `nmake build` and then
only non-Delphi projects will be built.
2021-12-10 00:10:54 +11:00
Marc Durdin
c9dc10cc33 chore(windows): replace mkver with mkver.sh 2021-12-08 07:10:29 +01:00