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

mir/format.d triggers recompilation with meson/ninja #392

Open
Panke opened this issue Mar 4, 2022 · 4 comments
Open

mir/format.d triggers recompilation with meson/ninja #392

Panke opened this issue Mar 4, 2022 · 4 comments

Comments

@Panke
Copy link

Panke commented Mar 4, 2022

I am using mir as a submodule in a meson project and build it with ninja. This happens to me every time I run ninja:

ninja -d explain
ninja explain: output mir/format.d of phony edge with no inputs doesn't exist
ninja explain: mir/format.d is dirty
ninja explain: subprojects/mir-core/libmir-core.so.1.1.1.p/source_mir_exception.d.o is dirty
ninja explain: subprojects/mir-core/libmir-core.so.1.1.1 is dirty
ninja explain: subprojects/mir-core/libmir-core.so.1.1.1 is dirty
ninja explain: subprojects/mir-core/libmir-core.so.1.1.1.p/libmir-core.so.1.1.1.symbols is dirty
ninja explain: subprojects/mir-algorithm/libmir-algorithm.so.3.7.0 is dirty
ninja explain: subprojects/mir-core/libmir-core.so.1.1.1.p/libmir-core.so.1.1.1.symbols is dirty
ninja explain: subprojects/mir-cpuid/libmir-cpuid.so.1.2.3 is dirty
ninja explain: subprojects/mir-algorithm/libmir-algorithm.so.3.7.0 is dirty
ninja explain: subprojects/mir-algorithm/libmir-algorithm.so.3.7.0.p/libmir-algorithm.so.3.7.0.symbols is dirty
ninja explain: subprojects/mir-core/libmir-core.so.1.1.1.p/libmir-core.so.1.1.1.symbols is dirty
ninja explain: subprojects/mir-cpuid/libmir-cpuid.so.1.2.3 is dirty
ninja explain: subprojects/mir-cpuid/libmir-cpuid.so.1.2.3.p/libmir-cpuid.so.1.2.3.symbols is dirty
ninja explain: subprojects/mir-ion/libmir-ion.so.0.0.0 is dirty

There is a format.d in mir.algorithm, but that one obviously exists.

@Panke
Copy link
Author

Panke commented Mar 4, 2022

I tracked it down a bit. In mir.core the module mir.exception contains

private enum HASFORMAT = __traits(compiles, (()@nogc {import mir.format;})());

which makes ldc2 emit a makedependency on 'mir/format.d', which indeed does not exist.

@Panke
Copy link
Author

Panke commented Mar 4, 2022

Since this is only used with version(mir_test) can I move the HASFORMAT under that as well?

@Panke Panke closed this as completed Mar 4, 2022
@Panke
Copy link
Author

Panke commented Mar 4, 2022

Closed accidentally.

@Panke Panke reopened this Mar 4, 2022
@9il
Copy link
Member

9il commented Mar 5, 2022

Since this is only used with version(mir_test) can I move the HASFORMAT under that as well?

Yes please

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

No branches or pull requests

2 participants