X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Farchitecture.h;h=2d7ca5f18c8f51017b82ecebc96f3b15c730d321;hb=b067981c0da0c1a4616ed175d0ce8ac5564cbdbf;hp=c07297a8940153fa7551e6a62c1c956c66852f33;hpb=be6c1ae1dcc97cb3e3019c0384f1bc933fcd321c;p=builder.git diff --git a/source/architecture.h b/source/architecture.h index c07297a..2d7ca5f 100644 --- a/source/architecture.h +++ b/source/architecture.h @@ -7,18 +7,17 @@ class Builder; -// XXX Add lib/exe prefix/suffix fields. Some archs may need multiple alternatives, how to handle this? +/** +Stores information about an architecture. This includes CPU type, model and +bitness and operating system. +*/ class Architecture { public: - class Loader: public Msp::DataFile::Loader + class Loader: public Msp::DataFile::ObjectLoader { - private: - Architecture &arch; - public: Loader(Architecture &); - Architecture &get_object() { return arch; } }; typedef std::list PatternList; @@ -45,8 +44,8 @@ public: const std::string &get_cpu() const { return cpu; } bool match_name(const std::string &) const; bool is_native() const { return native; } + bool is_cross() const { return !cross_prefix.empty(); } - void set_cross_prefix(const std::string &); const std::string &get_cross_prefix() const { return cross_prefix; } const PatternList &get_shared_library_patterns() const { return sharedlib_patterns; }