X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuildinfo.h;h=1bba8195bc536014270ba8eff7664d31e63e7069;hb=8f8f10fe41bbb68866e8fb05f8cbab0b325dc7da;hp=595fe1a55ccd5bb414ebbe5febec8f86431465b2;hpb=f76c063eb9b792088e034ffb4c2f173b843e8c57;p=builder.git diff --git a/source/buildinfo.h b/source/buildinfo.h index 595fe1a..1bba819 100644 --- a/source/buildinfo.h +++ b/source/buildinfo.h @@ -28,8 +28,13 @@ public: private: void incpath(const std::string &); void define(const std::string &, const std::string &); + void keep_symbol(const std::string &); + void libmode_for_lib(const std::string &, LibraryMode); void libpath(const std::string &); void library(const std::string &); + void local_incpath(const std::string &); + void standard(Msp::DataFile::Symbol, const std::string &); + void sysroot(const std::string &); }; enum UpdateLevel @@ -68,12 +73,19 @@ public: 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; + LibModeMap libmodes; + WordList keep_symbols; + StandardMap standards; Tracked threads; Tracked debug; Tracked optimize; @@ -83,6 +95,11 @@ public: BuildInfo(); + /** Returns the library mode for linking a particular library. If no mode + has been specified for that library, the the global library mode is + returned. */ + LibraryMode get_libmode_for(const std::string &) const; + /** Updates the BuildInfo from another one. Lists are concatenated, with the first occurrence of each item preserved. Scalars are overwritten.