summaryrefslogtreecommitdiff
path: root/src/libctor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libctor.h')
-rw-r--r--src/libctor.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/libctor.h b/src/libctor.h
index 6903c6b..6026ffb 100644
--- a/src/libctor.h
+++ b/src/libctor.h
@@ -33,13 +33,27 @@ enum class OutputSystem
Build, // Internal tool during cross-compilation
};
+struct Source
+{
+ Source(const char* file)
+ : file(file) {}
+ Source(const std::string& file)
+ : file(file) {}
+ Source(const char* file, Language language)
+ : file(file), language(language) {}
+ Source(const std::string& file, Language language)
+ : file(file), language(language) {}
+
+ std::string file;
+ Language language{Language::Auto};
+};
+
struct BuildConfiguration
{
TargetType type{TargetType::Auto};
- Language language{Language::Auto};
OutputSystem system{OutputSystem::Host};
std::string target;
- std::vector<std::string> sources; // source list
+ std::vector<Source> sources; // source list
std::vector<std::string> depends; // internal dependencies
std::vector<std::string> cxxflags; // flags for c++ compiler
std::vector<std::string> cflags; // flags for c compiler