diff options
-rw-r--r-- | libbuild2/cc/compile-rule.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libbuild2/cc/compile-rule.cxx b/libbuild2/cc/compile-rule.cxx index 35d77f8..128fe14 100644 --- a/libbuild2/cc/compile-rule.cxx +++ b/libbuild2/cc/compile-rule.cxx @@ -946,7 +946,9 @@ namespace build2 // // Note: ut is still unrefined. // - if (ut == unit_type::module_intf && cast_true<bool> (t[b_binless])) + if ((ut == unit_type::module_intf || + ut == unit_type::module_intf_part || + ut == unit_type::module_impl_part) && cast_true<bool> (t[b_binless])) { // The module interface unit can be the same as an implementation // (e.g., foo.mxx and foo.cxx) which means obj*{} targets could @@ -7759,7 +7761,10 @@ namespace build2 // // @@ MODPART: Clang (all of this is probably outdated). // - if (ctype == compiler_type::clang && ut == unit_type::module_intf) + if (ctype == compiler_type::clang && + (ut == unit_type::module_intf || + ut == unit_type::module_intf_part || + ut == unit_type::module_impl_part)) { // Adjust the command line. First discard everything after -o then // build the new "tail". |