// file : libbuild2/cc/utility.hxx -*- C++ -*- // license : MIT; see accompanying LICENSE file #ifndef LIBBUILD2_CC_UTILITY_HXX #define LIBBUILD2_CC_UTILITY_HXX #include #include #include #include #include #include #include namespace build2 { namespace cc { using bin::link_type; using bin::link_order; using bin::link_info; using bin::link_member; // To form the complete path do: // // root.out_path () / root.root_extra->build_dir / X_dir // extern const dir_path module_dir; // cc/ extern const dir_path module_build_dir; // cc/build/ extern const dir_path module_build_modules_dir; // cc/build/modules/ // Compile output type from output target type (obj*{}, bmi*{}, etc). // // If input unit type is specified, then restrict the tests only to output // types that can be produced from this input. // otype compile_type (const target_type&, optional = nullopt); inline otype compile_type (const target& t, optional ut = nullopt) { return compile_type (t.type (), ut); } compile_target_types compile_types (otype); } } #include #endif // LIBBUILD2_CC_UTILITY_HXX