]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
* Fixed IOCPEngine under x64 (because of incorrect pointer sizes)
authorburlex <burlex@e03df62e-2008-0410-955e-edbf42e46eb7>
Wed, 13 Jun 2007 20:58:51 +0000 (20:58 +0000)
committerburlex <burlex@e03df62e-2008-0410-955e-edbf42e46eb7>
Wed, 13 Jun 2007 20:58:51 +0000 (20:58 +0000)
- Fixed configure / VC8 projects for x64 compiling.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7293 e03df62e-2008-0410-955e-edbf42e46eb7

src/socketengine_iocp.cpp
win/configure.cpp
win/configureVC80.vcproj
win/inspircdVC80.vcproj
win/m_spanningtreeVC80.vcproj

index 58ce36177e94ed653074ec1ea6cd30c0d8c077ad..82462f8b93088b8caf18b502cd0edf7c5da214c0 100644 (file)
@@ -46,8 +46,9 @@ bool IOCPEngine::AddFd(EventHandler* eh)
        eh->m_writeEvent = 0;
        eh->m_acceptEvent = 0;
 
+       unsigned long completion_key = (ULONG_PTR)eh->m_internalFd;
        /* assign the socket to the completion port */
-       if(!CreateIoCompletionPort((HANDLE)eh->GetFd(), m_completionPort, (ULONG_PTR)eh->m_internalFd, 0))
+       if(!CreateIoCompletionPort((HANDLE)eh->GetFd(), m_completionPort, completion_key, 0))
                return false;
 
        /* set up binding, increase set size */
@@ -124,16 +125,18 @@ void IOCPEngine::WantWrite(EventHandler* eh)
        /* Post event - write begin */
        if(!eh->m_writeEvent)
        {
+               ULONG_PTR completion_key = (ULONG_PTR)eh->m_internalFd;
                Overlapped * ov = new Overlapped(SOCKET_IO_EVENT_WRITE_READY, 0);
                eh->m_writeEvent = (void*)ov;
-               PostQueuedCompletionStatus(m_completionPort, 0, (ULONG_PTR)eh->m_internalFd, &ov->m_overlap);
+               PostQueuedCompletionStatus(m_completionPort, 0, completion_key, &ov->m_overlap);
        }
 }
 
 bool IOCPEngine::PostCompletionEvent(EventHandler * eh, SocketIOEvent type, int param)
 {
        Overlapped * ov = new Overlapped(type, param);
-       return PostQueuedCompletionStatus(m_completionPort, 0, (ULONG_PTR)eh->m_internalFd, &ov->m_overlap);
+       ULONG_PTR completion_key = (ULONG_PTR)eh->m_internalFd;
+       return PostQueuedCompletionStatus(m_completionPort, 0, completion_key, &ov->m_overlap);
 }
 
 void IOCPEngine::PostReadEvent(EventHandler * eh)
@@ -206,11 +209,11 @@ int IOCPEngine::DispatchEvents()
        LPOVERLAPPED overlap;
        Overlapped * ov;
        EventHandler * eh;
-       int intfd;
+       ULONG_PTR intfd;
        int ret;
        unsigned long bytes_recv;
 
-       while(GetQueuedCompletionStatus(m_completionPort, &len, (PULONG_PTR)&intfd, &overlap, 1000))
+       while(GetQueuedCompletionStatus(m_completionPort, &len, &intfd, &overlap, 1000))
        {
                // woot, we got an event on a socket :P
                eh = ref[intfd];
index debd659b8a2656bb030cde5b1ee46310b5ec8c2e..6f0396bae5d8d502417c8829d2f469b036776543 100644 (file)
@@ -405,13 +405,13 @@ void WriteCompileCommands()
 #ifdef WIN64\r
        // /MACHINE:X64\r
        #ifdef _DEBUG\r
-               fprintf(f, "  cl /nologo /LD /Od /I \".\" /I \"../include\" /I \"../include/modes\" /I \"../include/commands\" /I \"../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /Gm /RTC1 /MTd /Fo\"Debug/\" /Fd\"Debug/vc70.pdb\" /W2 /Wp64 /Zi /TP $*.cpp ..\\win\\inspircd_memory_functions.cpp /link ..\\bin\\debug\\bin\\inspircd.lib /OUT:\"..\\bin\\debug\\lib\\$*.so\" /PDB:\"..\\bin\\debug\\lib\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\bin\\debug\\lib\\$*.lib\"\n\n");\r
+               fprintf(f, "  cl /nologo /LD /Od /I \".\" /I \"../include\" /I \"../include/modes\" /I \"../include/commands\" /I \"../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /Gm /RTC1 /MTd /Fo\"Debug/\" /Fd\"Debug/vc70.pdb\" /W2 /Wp64 /Zi /TP $*.cpp ..\\win\\inspircd_memory_functions.cpp /link ..\\bin\\debug_x64\\bin\\inspircd.lib /OUT:\"..\\bin\\debug_x64\\lib\\$*.so\" /PDB:\"..\\bin\\debug_x64\\lib\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\bin\\debug_x64\\lib\\$*.lib\"\n\n");\r
                CreateDirectory("..\\src\\debug", NULL);\r
                CreateDirectory("..\\bin\\debug\\bin", NULL);\r
                CreateDirectory("..\\bin\\debug\\lib", NULL);\r
                CreateDirectory("..\\bin\\debug\\modules", NULL);\r
        #else\r
-               fprintf(f, "  cl /nologo /LD /Od /I \".\" /I \"../include\" /I \"../include/modes\" /I \"../include/commands\" /I \"../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /EHsc /Gm /MT /Fo\"Release/\" /Fd\"Release/vc70.pdb\" /W2 /Wp64 /Zi /TP $*.cpp ..\\win\\inspircd_memory_functions.cpp /link ..\\bin\\release\\bin\\inspircd.lib /OUT:\"..\\bin\\release\\lib\\$*.so\" /PDB:\"..\\bin\\release\\lib\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\bin\\release\\lib\\$*.lib\"\n\n");\r
+               fprintf(f, "  cl /nologo /LD /Od /I \".\" /I \"../include\" /I \"../include/modes\" /I \"../include/commands\" /I \"../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /EHsc /Gm /MT /Fo\"Release/\" /Fd\"Release/vc70.pdb\" /W2 /Wp64 /Zi /TP $*.cpp ..\\win\\inspircd_memory_functions.cpp /link ..\\bin\\release_x64\\bin\\inspircd.lib /OUT:\"..\\bin\\release_x64\\lib\\$*.so\" /PDB:\"..\\bin\\release_x64\\lib\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\bin\\release_x64\\lib\\$*.lib\"\n\n");\r
                CreateDirectory("..\\src\\release", NULL);\r
                CreateDirectory("..\\bin\\release\\bin", NULL);\r
                CreateDirectory("..\\bin\\release\\lib", NULL);\r
@@ -482,11 +482,11 @@ void WriteCompileModules()
 #ifdef WIN64\r
        // /MACHINE:X64\r
        #ifdef _DEBUG\r
-               fprintf(f, "  cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /Gm /RTC1 /MTd /Fo\"Debug/\" /Fd\"Debug/vc70.pdb\" /W2 /Wp64 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug\\bin\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\debug\\modules\\$*.so\" /PDB:\"..\\..\\bin\\debug\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\debug\\modules\\$*.lib\"\n\n");\r
-               CreateDirectory("..\\src\\modules\\debug", NULL);\r
+               fprintf(f, "  cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /Gm /RTC1 /MTd /Fo\"Debug/\" /Fd\"Debug/vc70.pdb\" /W2 /Wp64 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug_x64\\bin\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\debug_x64\\modules\\$*.so\" /PDB:\"..\\..\\bin\\debug_x64\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\debug_x64\\modules\\$*.lib\"\n\n");\r
+               CreateDirectory("..\\src\\modules\\debug_x64", NULL);\r
        #else\r
-               fprintf(f, "  cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /EHsc /Gm /MT /Fo\"Release/\" /Fd\"Release/vc70.pdb\" /W2 /Wp64 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release\\bin\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\release\\modules\\$*.so\" /PDB:\"..\\..\\bin\\release\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\release\\modules\\$*.lib\"\n\n");\r
-               CreateDirectory("..\\src\\modules\\release", NULL);\r
+               fprintf(f, "  cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /EHsc /Gm /MT /Fo\"Release/\" /Fd\"Release/vc70.pdb\" /W2 /Wp64 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release_x64\\bin\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\release_x64\\modules\\$*.so\" /PDB:\"..\\..\\bin\\release_x64\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\release_x64\\modules\\$*.lib\"\n\n");\r
+               CreateDirectory("..\\src\\modules\\release_x64", NULL);\r
        #endif\r
 #else\r
        #ifdef _DEBUG\r
index 23cbac5c27f204a4fc7a00fbc4925a745bc156a6..b16492523a7898ade0ef1b9f32727c53c43759b2 100644 (file)
@@ -97,9 +97,9 @@
                        />\r
                </Configuration>\r
                <Configuration\r
-                       Name="Release|Win32"\r
+                       Name="Debug|x64"\r
                        OutputDirectory="."\r
-                       IntermediateDirectory="Release"\r
+                       IntermediateDirectory="x64Debug_Configure"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
                        CharacterSet="2"\r
                        />\r
                        <Tool\r
                                Name="VCMIDLTool"\r
+                               TargetEnvironment="3"\r
                        />\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"\r
+                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WIN64"\r
                                MinimalRebuild="true"\r
-                               RuntimeLibrary="0"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="1"\r
                                UsePrecompiledHeader="0"\r
                                WarningLevel="3"\r
                                Detect64BitPortabilityProblems="true"\r
                        <Tool\r
                                Name="VCLinkerTool"\r
                                OutputFile="$(OutDir)/configure.exe"\r
-                               LinkIncremental="1"\r
+                               LinkIncremental="2"\r
                                GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="$(OutDir)/configure.pdb"\r
                                SubSystem="2"\r
-                               OptimizeReferences="2"\r
-                               EnableCOMDATFolding="2"\r
-                               TargetMachine="1"\r
+                               TargetMachine="17"\r
                        />\r
                        <Tool\r
                                Name="VCALinkTool"\r
                        />\r
                </Configuration>\r
                <Configuration\r
-                       Name="Debug|x64"\r
-                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
-                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="."\r
+                       IntermediateDirectory="Release"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
                        CharacterSet="2"\r
                        />\r
                        <Tool\r
                                Name="VCMIDLTool"\r
-                               TargetEnvironment="3"\r
                        />\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"\r
+                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"\r
                                MinimalRebuild="true"\r
-                               BasicRuntimeChecks="3"\r
-                               RuntimeLibrary="1"\r
+                               RuntimeLibrary="0"\r
                                UsePrecompiledHeader="0"\r
                                WarningLevel="3"\r
                                Detect64BitPortabilityProblems="true"\r
                        <Tool\r
                                Name="VCLinkerTool"\r
                                OutputFile="$(OutDir)/configure.exe"\r
-                               LinkIncremental="2"\r
+                               LinkIncremental="1"\r
                                GenerateDebugInformation="true"\r
-                               ProgramDatabaseFile="$(OutDir)/configure.pdb"\r
                                SubSystem="2"\r
-                               TargetMachine="17"\r
+                               OptimizeReferences="2"\r
+                               EnableCOMDATFolding="2"\r
+                               TargetMachine="1"\r
                        />\r
                        <Tool\r
                                Name="VCALinkTool"\r
                </Configuration>\r
                <Configuration\r
                        Name="Release|x64"\r
-                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
-                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       OutputDirectory="."\r
+                       IntermediateDirectory="x64Release_Configure"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
                        CharacterSet="2"\r
index d7e396976104e05daf9538368f7c8b6ed6242bca..6a1cde8ee8fafff8b1f2eead8f698e6ec98505d0 100644 (file)
                        />\r
                </Configuration>\r
                <Configuration\r
-                       Name="Release|Win32"\r
-                       OutputDirectory="..\bin\release\bin"\r
-                       IntermediateDirectory="Release"\r
+                       Name="Debug|x64"\r
+                       OutputDirectory="..\bin\debug_x64\bin"\r
+                       IntermediateDirectory="x64DebugVc80"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
                        CharacterSet="2"\r
                        >\r
                        <Tool\r
                                Name="VCPreBuildEventTool"\r
-                               Description="running configure..."\r
-                               CommandLine="$(InputDir)\configure.exe&#x0D;&#x0A;"\r
+                               Description=""\r
+                               CommandLine=""\r
                        />\r
                        <Tool\r
                                Name="VCCustomBuildTool"\r
                        />\r
                        <Tool\r
                                Name="VCMIDLTool"\r
+                               TargetEnvironment="3"\r
                        />\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
                                AdditionalIncludeDirectories=".;../include;../../include;../include/modes;../include/commands;../../include/modes;../../include/commands;../win"\r
-                               PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"\r
+                               PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN64"\r
                                MinimalRebuild="true"\r
-                               RuntimeLibrary="0"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="1"\r
                                UsePrecompiledHeader="0"\r
                                WarningLevel="3"\r
                                Detect64BitPortabilityProblems="true"\r
                        <Tool\r
                                Name="VCLinkerTool"\r
                                AdditionalDependencies="ws2_32.lib mswsock.lib"\r
+                               ShowProgress="0"\r
                                OutputFile="$(OutDir)/inspircd.exe"\r
                                LinkIncremental="1"\r
+                               IgnoreDefaultLibraryNames=""\r
                                GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="$(OutDir)/inspircd.pdb"\r
                                SubSystem="1"\r
-                               OptimizeReferences="2"\r
-                               EnableCOMDATFolding="2"\r
-                               TargetMachine="1"\r
+                               TargetMachine="17"\r
+                               FixedBaseAddress="1"\r
                        />\r
                        <Tool\r
                                Name="VCALinkTool"\r
                        />\r
                        <Tool\r
                                Name="VCPostBuildEventTool"\r
-                               CommandLine="@echo off&#x0D;&#x0A;echo Compiling Command Modules...&#x0D;&#x0A;cd ..\src&#x0D;&#x0A;nmake -f commands.mak&#x0D;&#x0A;echo Compiling Modules...&#x0D;&#x0A;cd modules&#x0D;&#x0A;nmake -f modules.mak&#x0D;&#x0A;"\r
+                               CommandLine=""\r
                        />\r
                </Configuration>\r
                <Configuration\r
-                       Name="Debug|x64"\r
-                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
-                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="..\bin\release\bin"\r
+                       IntermediateDirectory="Release"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
                        CharacterSet="2"\r
                        <Tool\r
                                Name="VCPreBuildEventTool"\r
                                Description="running configure..."\r
-                               CommandLine="&quot;$(InputDir)\configure.exe&quot;"\r
+                               CommandLine="$(InputDir)\configure.exe&#x0D;&#x0A;"\r
                        />\r
                        <Tool\r
                                Name="VCCustomBuildTool"\r
                        />\r
                        <Tool\r
                                Name="VCMIDLTool"\r
-                               TargetEnvironment="3"\r
                        />\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
                                AdditionalIncludeDirectories=".;../include;../../include;../include/modes;../include/commands;../../include/modes;../../include/commands;../win"\r
-                               PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"\r
+                               PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"\r
                                MinimalRebuild="true"\r
-                               BasicRuntimeChecks="3"\r
-                               RuntimeLibrary="1"\r
+                               RuntimeLibrary="0"\r
                                UsePrecompiledHeader="0"\r
                                WarningLevel="3"\r
                                Detect64BitPortabilityProblems="true"\r
                        <Tool\r
                                Name="VCLinkerTool"\r
                                AdditionalDependencies="ws2_32.lib mswsock.lib"\r
-                               ShowProgress="0"\r
                                OutputFile="$(OutDir)/inspircd.exe"\r
                                LinkIncremental="1"\r
-                               IgnoreDefaultLibraryNames=""\r
                                GenerateDebugInformation="true"\r
-                               ProgramDatabaseFile="$(OutDir)/inspircd.pdb"\r
                                SubSystem="1"\r
-                               TargetMachine="17"\r
-                               FixedBaseAddress="1"\r
+                               OptimizeReferences="2"\r
+                               EnableCOMDATFolding="2"\r
+                               TargetMachine="1"\r
                        />\r
                        <Tool\r
                                Name="VCALinkTool"\r
                </Configuration>\r
                <Configuration\r
                        Name="Release|x64"\r
-                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
-                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       OutputDirectory="..\bin\release_x64\bin"\r
+                       IntermediateDirectory="x64ReleaseVc80"\r
                        ConfigurationType="1"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
                        CharacterSet="2"\r
index 8755650d28112e82adb3a56263b78a4ac8d6d748..8674ddf30eb5ba96ac164e66df7303ccb55d9edb 100644 (file)
                        />\r
                </Configuration>\r
                <Configuration\r
-                       Name="Release|Win32"\r
-                       OutputDirectory="..\bin\release\modules"\r
-                       IntermediateDirectory="Release"\r
+                       Name="Debug|x64"\r
+                       OutputDirectory="..\bin\debug_x64\modules"\r
+                       IntermediateDirectory="x64Debug_spanningtree"\r
                        ConfigurationType="2"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
                        CharacterSet="2"\r
                        />\r
                        <Tool\r
                                Name="VCMIDLTool"\r
+                               TargetEnvironment="3"\r
                        />\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
                                AdditionalIncludeDirectories="..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules"\r
-                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;M_SPANNINGTREE_EXPORTS;DLL_BUILD"\r
+                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DLL_BUILD;WIN64"\r
                                MinimalRebuild="true"\r
-                               RuntimeLibrary="0"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="1"\r
                                UsePrecompiledHeader="0"\r
-                               WarningLevel="2"\r
+                               WarningLevel="3"\r
                                Detect64BitPortabilityProblems="true"\r
                                DebugInformationFormat="3"\r
                        />\r
                                AdditionalDependencies="ws2_32.lib inspircd.lib cmd_whois.lib cmd_stats.lib"\r
                                OutputFile="$(OutDir)/m_spanningtree.so"\r
                                LinkIncremental="1"\r
-                               AdditionalLibraryDirectories="..\bin\release\bin;..\bin\release\lib"\r
+                               AdditionalLibraryDirectories="..\bin\debug_x64\bin;..\bin\debug_x64\lib"\r
                                GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="$(OutDir)/m_spanningtree.pdb"\r
                                SubSystem="2"\r
-                               OptimizeReferences="2"\r
-                               EnableCOMDATFolding="2"\r
                                ImportLibrary="$(OutDir)/m_spanningtree.lib"\r
-                               TargetMachine="1"\r
+                               TargetMachine="17"\r
                        />\r
                        <Tool\r
                                Name="VCALinkTool"\r
                        />\r
                </Configuration>\r
                <Configuration\r
-                       Name="Debug|x64"\r
-                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
-                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="..\bin\release\modules"\r
+                       IntermediateDirectory="Release"\r
                        ConfigurationType="2"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
                        CharacterSet="2"\r
                        />\r
                        <Tool\r
                                Name="VCMIDLTool"\r
-                               TargetEnvironment="3"\r
                        />\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
                                AdditionalIncludeDirectories="..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules"\r
-                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DLL_BUILD"\r
+                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;M_SPANNINGTREE_EXPORTS;DLL_BUILD"\r
                                MinimalRebuild="true"\r
-                               BasicRuntimeChecks="3"\r
-                               RuntimeLibrary="1"\r
+                               RuntimeLibrary="0"\r
                                UsePrecompiledHeader="0"\r
-                               WarningLevel="3"\r
+                               WarningLevel="2"\r
                                Detect64BitPortabilityProblems="true"\r
                                DebugInformationFormat="3"\r
                        />\r
                                AdditionalDependencies="ws2_32.lib inspircd.lib cmd_whois.lib cmd_stats.lib"\r
                                OutputFile="$(OutDir)/m_spanningtree.so"\r
                                LinkIncremental="1"\r
-                               AdditionalLibraryDirectories="..\bin\debug\bin;..\bin\debug\lib"\r
+                               AdditionalLibraryDirectories="..\bin\release\bin;..\bin\release\lib"\r
                                GenerateDebugInformation="true"\r
-                               ProgramDatabaseFile="$(OutDir)/m_spanningtree.pdb"\r
                                SubSystem="2"\r
+                               OptimizeReferences="2"\r
+                               EnableCOMDATFolding="2"\r
                                ImportLibrary="$(OutDir)/m_spanningtree.lib"\r
-                               TargetMachine="17"\r
+                               TargetMachine="1"\r
                        />\r
                        <Tool\r
                                Name="VCALinkTool"\r
                </Configuration>\r
                <Configuration\r
                        Name="Release|x64"\r
-                       OutputDirectory="$(PlatformName)\$(ConfigurationName)"\r
-                       IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"\r
+                       OutputDirectory="..\bin\release_x64\modules"\r
+                       IntermediateDirectory="x64Release_spanningtree"\r
                        ConfigurationType="2"\r
                        InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
                        CharacterSet="2"\r
                                AdditionalDependencies="ws2_32.lib inspircd.lib cmd_whois.lib cmd_stats.lib"\r
                                OutputFile="$(OutDir)/m_spanningtree.so"\r
                                LinkIncremental="1"\r
-                               AdditionalLibraryDirectories="..\bin\release\bin;..\bin\release\lib"\r
+                               AdditionalLibraryDirectories="..\bin\release_x64\bin;..\bin\release_x64\lib"\r
                                GenerateDebugInformation="true"\r
                                SubSystem="2"\r
                                OptimizeReferences="2"\r