X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuildinfo.h;h=26afabffd4db6f323824ddeba99f98954c78c926;hb=c8c51fac9453a677fc3e6932c4730f35e237af89;hp=c0584002233512392849dd7a6097de40bc02f1a6;hpb=1c66151c44b4f4fb567da5ec8b75f066cccc5421;p=builder.git diff --git a/source/buildinfo.h b/source/buildinfo.h index c058400..26afabf 100644 --- a/source/buildinfo.h +++ b/source/buildinfo.h @@ -1,8 +1,8 @@ #ifndef BUILDINFO_H_ #define BUILDINFO_H_ -#include #include +#include #include #include @@ -54,9 +54,9 @@ public: struct LanguageStandard { std::string type; - unsigned year; + unsigned year = 0; - LanguageStandard(): year(0) { } + LanguageStandard() = default; LanguageStandard(const std::string &); std::string str() const; @@ -73,47 +73,39 @@ public: class Tracked { public: - typedef T LoadType; + using LoadType = T; private: - T value; - bool set; + T value{}; + bool set = false; public: - Tracked(): value(T()), set(false) { } - Tracked(T v): value(v), set(false) { } - Tracked(const Tracked &t): value(t.value), set(t.set) { } + Tracked() = default; + Tracked(T v): value(v) { } + Tracked(const Tracked &t) = default; Tracked &operator=(const Tracked &v) { if(v.set) { value = v.value; set = true; } return *this; } Tracked &operator=(const T &v) { value = v; set = true; return *this; } operator const T &() const { return value; } }; - typedef std::map DefineMap; - typedef std::list PathList; - typedef std::list WordList; - typedef std::map LibModeMap; - typedef std::map StandardMap; - Tracked sysroot; - DefineMap defines; - PathList incpath; - PathList local_incpath; - PathList libpath; - WordList libs; - Tracked libmode; - Tracked rpath_mode; - LibModeMap libmodes; - WordList keep_symbols; - StandardMap standards; - Tracked threads; - Tracked debug; - Tracked optimize; - Tracked strip; - Tracked warning_level; - Tracked fatal_warnings; - - BuildInfo(); + std::map defines; + std::vector incpath; + std::vector local_incpath; + std::vector libpath; + std::vector libs; + Tracked libmode = DYNAMIC; + Tracked rpath_mode = NO_RPATH; + std::map libmodes; + std::vector keep_symbols; + std::map standards; + Tracked threads = false; + Tracked debug = false; + Tracked optimize = 0; + Tracked strip = false; + Tracked warning_level = 0; + Tracked fatal_warnings = false; /** Returns the library mode for linking a particular library. If no mode has been specified for that library, the the global library mode is