diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2023-04-18 09:23:24 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2023-04-18 09:23:24 +0200 |
commit | 8aeae026d112ff9811a424e31621c05682f4a72e (patch) | |
tree | 9dc5c736fb07fb6cafe3a08a7e999b9c084edc18 /libbuild2/cc/target.cxx | |
parent | a1a01cbce316c5da7aa94e6b6a71eae98bffed1c (diff) |
Add support for Assembler with C Preprocessor (.S) compilation
Specifically, the c module now provides the c.as-cpp submodules which can be
loaded in order to register the S{} target type and enable Assembler with C
Preprocessor compilation in the c compile rule. For details, refer to
"Assembler with C Preprocessor Compilation" in the manual.
Diffstat (limited to 'libbuild2/cc/target.cxx')
-rw-r--r-- | libbuild2/cc/target.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libbuild2/cc/target.cxx b/libbuild2/cc/target.cxx index d743752..6c5d7c8 100644 --- a/libbuild2/cc/target.cxx +++ b/libbuild2/cc/target.cxx @@ -66,6 +66,20 @@ namespace build2 target_type::flag::none }; + extern const char S_ext_def[] = "S"; + const target_type S::static_type + { + "S", + &cc::static_type, + &target_factory<S>, + nullptr, /* fixed_extension */ + &target_extension_var<S_ext_def>, + &target_pattern_var<S_ext_def>, + nullptr, + &file_search, + target_type::flag::none + }; + extern const char pc_ext[] = "pc"; // VC14 rejects constexpr. const target_type pc::static_type { |