Skip to content

Conversation

@lb90
Copy link
Contributor

@lb90 lb90 commented Oct 31, 2025

armasm is quite stripped-down in terms of supported features compared to its cousin ml64, but I think it makes sense to report 'msvc' as the argument syntax. Currently the Compiler.get_argument_syntax() vfunc is not overriden and the base implementation returns 'other'. This in turn causes the ninja backend to emit the masm_COMPILER rule with deps = gcc which causes some issues: https://github.com/mesonbuild/meson/blob/1.9.1/mesonbuild/backend/ninjabackend.py#L2649-L2654

Of course there are other ways to fix the issue, let me know what you think about this :)

See https://gitlab.gnome.org/GNOME/glib/-/issues/3814

@lb90 lb90 requested a review from dcbaker as a code owner October 31, 2025 17:55
@lb90
Copy link
Contributor Author

lb90 commented Oct 31, 2025

/cc @xclaesse

@xclaesse
Copy link
Member

At first glance command arguments does not look like msvc, e.g. it uses -o instead of /oF. I'm wondering if we could need a method that return the depfile format. OTOH, if your fix works it's probably fine.

@lb90
Copy link
Contributor Author

lb90 commented Nov 1, 2025

Yeah, deps work just fine. Here's an excerpt from ninja -t deps:

subprojects/libffi-3.5.2/src/preprocessor_0.p/win64_armasm.masm: #deps 5, deps mtime 7836348779416126 (VALID)
    ../glib/subprojects/libffi-3.5.2/include/ffi_cfi.h
    ../glib/subprojects/libffi-3.5.2/src/aarch64/ffitarget.h
    ../glib/subprojects/libffi-3.5.2/src/aarch64/internal.h
    subprojects/libffi-3.5.2/fficonfig.h
    subprojects/libffi-3.5.2/include/ffi.h

However I have also opened #15200 as an alternative

@xclaesse
Copy link
Member

xclaesse commented Nov 1, 2025

Thanks, I like the other one more, merge it.

@xclaesse xclaesse closed this Nov 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants