X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Ftools%2Frbuild%2Frbuild.h;h=c9cd87930e6ee4b99e19ed60ae20d202e95b8795;hp=80357cf516b73ed5c50ba8d737b3a796145cfb81;hb=77e8078452b29f5215a1a74945b0e36f48bd04f4;hpb=5e8cfa7579fa84e7407f25c73dcb58cb9f945d90;ds=sidebyside diff --git a/reactos/tools/rbuild/rbuild.h b/reactos/tools/rbuild/rbuild.h index 80357cf516b..c9cd87930e6 100644 --- a/reactos/tools/rbuild/rbuild.h +++ b/reactos/tools/rbuild/rbuild.h @@ -38,6 +38,7 @@ #include "ssprintf.h" #include "exception.h" #include "XML.h" +#include typedef std::vector string_list; @@ -94,6 +95,7 @@ class StubbedComponent; class StubbedSymbol; class CompilationUnit; class FileLocation; +class AutoRegister; class SourceFileTest; @@ -276,6 +278,7 @@ public: bool mangledSymbols; bool isUnicode; Bootstrap* bootstrap; + AutoRegister* autoRegister; IfableData non_if_data; std::vector invocations; std::vector dependencies; @@ -866,6 +869,48 @@ public: }; +enum AutoRegisterType +{ + DllRegisterServer, + DllInstall, + Both +}; + +class AutoRegister +{ +public: + const Project& project; + const Module* module; + const XMLElement& node; + std::string infSection; + AutoRegisterType type; + AutoRegister ( const Project& project_, + const Module* module_, + const XMLElement& node_ ); + ~AutoRegister (); + void ProcessXML(); +private: + bool IsSupportedModuleType ( ModuleType type ); + AutoRegisterType GetAutoRegisterType( std::string type ); + void Initialize (); +}; + + +class SysSetupGenerator +{ +public: + const Project& project; + SysSetupGenerator ( const Project& project ); + ~SysSetupGenerator (); + void Generate (); +private: + std::string GetDirectoryId ( const Module& module ); + std::string GetFlags ( const Module& module ); + void Generate ( HINF inf, + const Module& module ); +}; + + extern void InitializeEnvironment (); @@ -912,4 +957,7 @@ GetFilename ( const std::string& filename ); extern std::string NormalizeFilename ( const std::string& filename ); +extern std::string +ToLower ( std::string filename ); + #endif /* __RBUILD_H */