* Build freeldr
[reactos.git] / reactos / tools / rbuild / rbuild.h
index 176d0d1..e06baf7 100644 (file)
@@ -32,6 +32,7 @@ class InvokeFile;
 class Dependency;\r
 class ImportLibrary;\r
 class If;\r
+class CompilerFlag;\r
 class LinkerFlag;\r
 class Property;\r
 \r
@@ -71,12 +72,14 @@ enum ModuleType
 {\r
        BuildTool,\r
        StaticLibrary,\r
+       ObjectLibrary,\r
        Kernel,\r
        KernelModeDLL,\r
        KernelModeDriver,\r
        NativeDLL,\r
        Win32DLL,\r
-       Win32GUI\r
+       Win32GUI,\r
+       BootLoader\r
 };\r
 \r
 \r
@@ -97,6 +100,7 @@ public:
        std::vector<Invoke*> invocations;\r
        std::vector<Dependency*> dependencies;\r
        std::vector<If*> ifs;\r
+       std::vector<CompilerFlag*> compilerFlags;\r
        std::vector<LinkerFlag*> linkerFlags;\r
 \r
        Module ( const Project& project,\r
@@ -277,6 +281,26 @@ public:
 };\r
 \r
 \r
+class CompilerFlag\r
+{\r
+public:\r
+       const Project& project;\r
+       const Module* module;\r
+       const XMLElement& node;\r
+       std::string flag;\r
+\r
+       CompilerFlag ( const Project& project,\r
+                      const XMLElement& compilerFlagNode );\r
+       CompilerFlag ( const Project& project,\r
+                      const Module* module,\r
+                      const XMLElement& compilerFlagNode );\r
+       ~CompilerFlag ();\r
+       void ProcessXML();\r
+private:\r
+       void Initialize();\r
+};\r
+\r
+\r
 class LinkerFlag\r
 {\r
 public:\r