diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2019-08-26 07:34:15 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2019-08-26 07:34:15 +0200 |
commit | 8e0e8edb727a5367d991880b033eb13060f4c8eb (patch) | |
tree | 75916dbef9b7a0dc6ef0fa939b9f748fc353d5cc /build2/bin | |
parent | 113c43a42d20073428d46c04a1aa1cb305ea12d7 (diff) |
Make target types project-wide
Diffstat (limited to 'build2/bin')
-rw-r--r-- | build2/bin/init.cxx | 69 |
1 files changed, 35 insertions, 34 deletions
diff --git a/build2/bin/init.cxx b/build2/bin/init.cxx index 4e80834..54bd84a 100644 --- a/build2/bin/init.cxx +++ b/build2/bin/init.cxx @@ -402,7 +402,7 @@ namespace build2 scope& bs, const location& loc, unique_ptr<module_base>&, - bool, + bool first, bool, const variable_map& hints) { @@ -421,41 +421,41 @@ namespace build2 // Register target types and configure their default "installability". // bool install_loaded (cast_false<bool> (rs["install.loaded"])); - { using namespace install; - auto& t (bs.target_types); - - t.insert<obj> (); - t.insert<obje> (); - t.insert<obja> (); - t.insert<objs> (); - - t.insert<bmi> (); - t.insert<bmie> (); - t.insert<bmia> (); - t.insert<bmis> (); - - t.insert<hbmi> (); - t.insert<hbmie> (); - t.insert<hbmia> (); - t.insert<hbmis> (); - - t.insert<libul> (); - t.insert<libue> (); - t.insert<libua> (); - t.insert<libus> (); - - t.insert<lib> (); - t.insert<liba> (); - t.insert<libs> (); - - // Register the def{} target type. Note that we do it here since it is - // input and can be specified unconditionally (i.e., not only when - // building for Windows). - // - t.insert<def> (); + if (first) + { + rs.insert_target_type<obj> (); + rs.insert_target_type<obje> (); + rs.insert_target_type<obja> (); + rs.insert_target_type<objs> (); + + rs.insert_target_type<bmi> (); + rs.insert_target_type<bmie> (); + rs.insert_target_type<bmia> (); + rs.insert_target_type<bmis> (); + + rs.insert_target_type<hbmi> (); + rs.insert_target_type<hbmie> (); + rs.insert_target_type<hbmia> (); + rs.insert_target_type<hbmis> (); + + rs.insert_target_type<libul> (); + rs.insert_target_type<libue> (); + rs.insert_target_type<libua> (); + rs.insert_target_type<libus> (); + + rs.insert_target_type<lib> (); + rs.insert_target_type<liba> (); + rs.insert_target_type<libs> (); + + // Register the def{} target type. Note that we do it here since it + // is input and can be specified unconditionally (i.e., not only + // when building for Windows). + // + rs.insert_target_type<def> (); + } // Note: libu*{} members are not installable. // @@ -494,7 +494,8 @@ namespace build2 { // Import library. // - t.insert<libi> (); + if (first) + rs.insert_target_type<libi> (); if (install_loaded) { |