Don't add underscore prefix to amd64 symbols
[reactos.git] / reactos / tools / rbuild / module.cpp
index 44389ed..38a104a 100644 (file)
@@ -396,12 +396,6 @@ Module::Module ( const Project& project,
        if ( att != NULL )
        {
                const XMLAttribute* installbase = moduleNode.GetAttribute ( "installbase", false );
-
-        if(installbase)
-            this->installbase = installbase->value;
-        else
-            this->installbase = "";
-
                install = new FileLocation ( InstallDirectory,
                                             installbase ? installbase->value : "",
                                             att->value,
@@ -1119,7 +1113,8 @@ Module::GetDefaultModuleEntrypoint () const
        switch ( type )
        {
                case Kernel:
-                       return "KiSystemStartup";
+                       if (Environment::GetArch() == "arm") return "KiSystemStartup";
+            return "KiSystemStartup@4";
                case KeyboardLayout:
                case KernelModeDLL:
                case KernelModeDriver:
@@ -1363,7 +1358,7 @@ Module::GetEntryPoint() const
        if (entrypoint == "0" || entrypoint == "0x0")
                return "0";
        
-       if (Environment::GetArch() != "arm")
+       if (Environment::GetArch() != "arm" && Environment::GetArch() != "amd64")
                result = "_";
 
        result += entrypoint;
@@ -1435,6 +1430,24 @@ Module::GetDllName () const
                throw new InvalidOperationException ( __FILE__, __LINE__, "Module %s has no dllname." );
 }
 
+SpecFileType
+Module::IsSpecDefinitionFile () const
+{
+       if(!importLibrary)
+               return None;
+
+       std::string ext = GetExtension ( *importLibrary->source );
+
+       if ( ext == ".spec" )
+               return Spec;
+
+       if ( ext == ".pspec" )
+               return PSpec;
+
+       return None;
+}
+
+
 File::File ( DirectoryLocation directory,
              const string& relative_path,
              const string& name,