X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Farchitecture.h;h=d84173e67029f2bcd7a74a230dc6a7ee388dd090;hb=081e13e6f146d1685bdcb1ec1c82752f4c6d264d;hp=c322c3a580d23d7a676295295c20efc7fbc02e0f;hpb=c51884994862b02613c2c0ae75b1f8d39e0f1ee5;p=builder.git diff --git a/source/architecture.h b/source/architecture.h index c322c3a..d84173e 100644 --- a/source/architecture.h +++ b/source/architecture.h @@ -7,7 +7,10 @@ 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: @@ -35,6 +38,7 @@ private: public: Architecture(Builder &b, const std::string &spec); + const std::string &get_type() const { return type; } const std::string &get_name() const { return name; } const std::string &get_system() const { return system; } unsigned get_bits() const { return bits; } @@ -43,7 +47,6 @@ public: 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; } @@ -51,10 +54,8 @@ public: const PatternList &get_executable_patterns() const { return executable_patterns; } private: - std::string resolve_alias(const std::string &) const; + static void resolve_aliases(std::vector &); void parse_specification(const std::string &); }; -typedef std::map ArchMap; - #endif