#include "ssprintf.h"
#include "exception.h"
#include "XML.h"
+#include <infhost.h>
typedef std::vector<std::string> string_list;
class StubbedSymbol;
class CompilationUnit;
class FileLocation;
+class AutoRegister;
class SourceFileTest;
bool mangledSymbols;
bool isUnicode;
Bootstrap* bootstrap;
+ AutoRegister* autoRegister;
IfableData non_if_data;
std::vector<Invoke*> invocations;
std::vector<Dependency*> dependencies;
};
+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 ();
extern std::string
NormalizeFilename ( const std::string& filename );
+extern std::string
+ToLower ( std::string filename );
+
#endif /* __RBUILD_H */