X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuildinfo.h;h=691ec549589889aeca464aab8be32c3c88892af0;hb=6c2db179b5d94ddc32ba1a9b631d59d056e594fc;hp=595fe1a55ccd5bb414ebbe5febec8f86431465b2;hpb=f76c063eb9b792088e034ffb4c2f173b843e8c57;p=builder.git diff --git a/source/buildinfo.h b/source/buildinfo.h index 595fe1a..691ec54 100644 --- a/source/buildinfo.h +++ b/source/buildinfo.h @@ -28,8 +28,11 @@ public: private: void incpath(const std::string &); void define(const std::string &, 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 sysroot(const std::string &); }; enum UpdateLevel @@ -68,12 +71,16 @@ public: typedef std::map DefineMap; typedef std::list PathList; typedef std::list WordList; + typedef std::map LibModeMap; + Tracked sysroot; DefineMap defines; PathList incpath; + PathList local_incpath; PathList libpath; WordList libs; Tracked libmode; + LibModeMap libmodes; Tracked threads; Tracked debug; Tracked optimize; @@ -83,6 +90,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.