Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(windows): ensure dependencies for keyman32 exclude core:wasm #13379

Merged

Conversation

mcdurdin
Copy link
Member

@mcdurdin mcdurdin commented Feb 28, 2025

Add a :win meta-target to the /core/build.sh project. This :win target triggers both :x86 and :x64 targets, and allows us to specify @/core:win in the windows/keyman32/build.sh project, in order to build only those two targets, and not :wasm target as well (as we don't need WASM Core for Keyman for Windows).

This closely mirrors the pattern we used for :mac in /core/build.sh. We could consider using :arch instead of :win and :mac but that needs more careful consideration, as :arch implies only the current architecture of the building machine.

This change also sets us up well for when we start doing arm32 and arm64 builds for Windows on ARM in the near future.

Fixes: #13374

@keymanapp-test-bot skip

@keymanapp-test-bot keymanapp-test-bot bot added the user-test-missing User tests have not yet been defined for the PR label Feb 28, 2025
@keymanapp-test-bot
Copy link

keymanapp-test-bot bot commented Feb 28, 2025

User Test Results

Test specification and instructions

User tests are not required

Test Artifacts

@keymanapp-test-bot keymanapp-test-bot bot added this to the B18S2 milestone Feb 28, 2025
@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-missing User tests have not yet been defined for the PR label Feb 28, 2025
@mcdurdin mcdurdin requested a review from sze2st February 28, 2025 16:53
@@ -92,16 +93,20 @@ fi
# generates a 'fat' library from them.
builder_describe_internal_dependency \
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines +149 to +150
builder_run_action configure:mac mkdir -p "$KEYMAN_ROOT/core/build/mac/$BUILDER_CONFIGURATION"
builder_run_action configure:win mkdir -p "$KEYMAN_ROOT/core/build/win/$BUILDER_CONFIGURATION"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also shortened to use builder_run_action instead of builder_start_action + builder_finish_action

Copy link
Contributor

@sze2st sze2st left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Member

@srl295 srl295 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makes sense. and agree about :arch in this case. :arch may make sense for building just the current, see #10302 for that

@darcywong00 darcywong00 modified the milestones: B18S2, B18S3 Feb 28, 2025
"$KEYMAN_ROOT/core/build/mac-arm64/$BUILDER_CONFIGURATION/src/libkeymancore.a" \
-output "$KEYMAN_ROOT/core/build/mac/$BUILDER_CONFIGURATION/libkeymancore.a"

builder_run_action build:win touch "$KEYMAN_ROOT/core/build/win/$BUILDER_CONFIGURATION/BUILT"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does /BUILT ever get cleaned?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question -- not at this point. Might be worth a future PR to do clean for both :mac and :win.

@mcdurdin mcdurdin merged commit d39ae19 into beta Mar 1, 2025
21 checks passed
@mcdurdin mcdurdin deleted the chore/windows/13374-ensure-keyman32-deps-exclude-wasm-core branch March 1, 2025 07:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

chore(windows): windows build requires emscripten because its dep on core is too broad
4 participants