mir-algorithm icon indicating copy to clipboard operation
mir-algorithm copied to clipboard

mir/format.d triggers recompilation with meson/ninja

Open Panke opened this issue 2 years ago • 4 comments

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 avatar Mar 04 '22 08:03 Panke

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 avatar Mar 04 '22 09:03 Panke

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

Panke avatar Mar 04 '22 09:03 Panke

Closed accidentally.

Panke avatar Mar 04 '22 09:03 Panke

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

Yes please

9il avatar Mar 05 '22 04:03 9il