This is why we can't have nice things. Reverting r40538, r40539, due to RosBE differe...
[reactos.git] / reactos / tools / rbuild / rbuild.h
index a6f0e7c..6ce938a 100644 (file)
@@ -321,15 +321,9 @@ enum HostType
 
 enum CompilerType
 {
+       CompilerTypeDontCare,
        CompilerTypeCC,
-       CompilerTypeCXX,
        CompilerTypeCPP,
-       CompilerTypeAS,
-       CompilerTypeMIDL,
-       CompilerTypeRC,
-       CompilerTypeNASM,
-
-       CompilerTypesCount
 };
 
 class FileLocation
@@ -429,23 +423,8 @@ private:
                                   bool default_value = false );
 };
 
-class CompilerDirective
-{
-private:
-       std::bitset<CompilerTypesCount> compilersSet;
-
-public:
-       void SetCompiler ( CompilerType compiler );
-       void UnsetCompiler ( CompilerType compiler );
-       void SetAllCompilers ();
-       void UnsetAllCompilers ();
 
-       void ParseCompilers ( const XMLElement& node, const std::string& defaultValue );
-
-       bool IsCompilerSet ( CompilerType compiler ) const;
-};
-
-class Include: public CompilerDirective
+class Include
 {
 public:
        FileLocation *directory;
@@ -465,21 +444,19 @@ private:
        const XMLElement* node;
        const Module* module;
        DirectoryLocation GetDefaultDirectoryTree ( const Module* module ) const;
-       void Initialize ();
 };
 
 
-class Define: public CompilerDirective
+class Define
 {
 public:
        const Project& project;
        const Module* module;
        const XMLElement* node;
        std::string name;
-       std::string arguments;
        std::string value;
        std::string backend;
-       bool redefine;
+       bool overridable;
 
        Define ( const Project& project,
                 const XMLElement& defineNode );
@@ -489,8 +466,7 @@ public:
        Define ( const Project& project,
                 const Module* module,
                 const std::string& name_,
-                const std::string& backend_ = "",
-                bool redefine_ = false );
+                const std::string& backend_ = "" );
        ~Define();
        void ProcessXML();
 private:
@@ -633,13 +609,14 @@ public:
 };
 
 
-class CompilerFlag: public CompilerDirective
+class CompilerFlag
 {
 public:
        const Project& project;
        const Module* module;
        const XMLElement& node;
        std::string flag;
+       CompilerType compiler;
 
        CompilerFlag ( const Project& project,
                       const XMLElement& compilerFlagNode );