]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - win/configure.cpp
Excess flood tidyups
[user/henk/code/inspircd.git] / win / configure.cpp
index 91ffe76f276905ea178c1a18e3727289fe44f730..385af5b9a01ab4668599ec240942f29b8be2bb42 100644 (file)
@@ -3,6 +3,7 @@
 #include <windows.h>\r
 #include <stdio.h>\r
 #include <string>\r
+#include <time.h>\r
 #include "colours.h"\r
 \r
 using namespace std;\r
@@ -17,10 +18,7 @@ bool iswinxp()
        OSVERSIONINFO vi;\r
        vi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);\r
        GetVersionEx(&vi);\r
-       if(vi.dwMajorVersion > 5)\r
-               return true;\r
-\r
-       if(vi.dwMajorVersion >= 5 && vi.dwMinorVersion >= 1)\r
+       if(vi.dwMajorVersion >= 5)\r
                return true;\r
        \r
        return false;\r
@@ -130,14 +128,6 @@ bad_rev:
 \r
 int __stdcall WinMain(IN HINSTANCE hInstance, IN HINSTANCE hPrevInstance, IN LPSTR lpCmdLine, IN int nShowCmd )\r
 {\r
-       // Skip if configure is already-existant.\r
-       FILE * f = fopen("inspircd_config.h", "r");\r
-       if(f)\r
-       {\r
-               fclose(f);\r
-               return 0;\r
-       }\r
-\r
        AllocConsole();\r
 \r
        // pipe standard handles to this console\r
@@ -218,7 +208,7 @@ void Run()
        // detect windows\r
        if(iswinxp())\r
        {\r
-               printf_c("You are running Windows XP or above, and IOCP support is most likely available.\n"\r
+               printf_c("You are running Windows 2000 or above, and IOCP support is most likely available.\n"\r
                             "This removes the socket number limitation of select and is much more efficent.\n"\r
                                 "If you are unsure, answer yes.\n\n");\r
 \r
@@ -370,15 +360,11 @@ void WriteCompileCommands()
     \r
        // Write our spiffy new makefile :D\r
        // I am such a lazy fucker :P\r
-#ifdef _DEBUG\r
        FILE * f = fopen("..\\src\\commands.mak", "w");\r
-#else\r
-       FILE * f = fopen("..\\src\\commands-release.mak", "w");\r
-#endif\r
 \r
-       fprintf(f, "# Generated at SOMETIME\n");\r
-       fprintf(f, "!include <win32.mak>\n\n");\r
-       fprintf(f, "all: ");\r
+       time_t t = time(NULL);\r
+       fprintf(f, "# Generated at %s\n", ctime(&t));\r
+       fprintf(f, "all: makedir ");\r
 \r
        // dump modules.. first time :)\r
        for(int i = 0; i < command_count; ++i)\r
@@ -386,11 +372,20 @@ void WriteCompileCommands()
 \r
        fprintf(f, "\n.cpp.obj:\n");\r
 #ifdef _DEBUG\r
-       fprintf(f, "  $(cc) /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 /GS /RTC1 /MTd /Fo\"Debug/\" /Fd\"Debug/vc70.pdb\" /W3 /Wp64 /Zi /TP $*.cpp ..\\win\\inspircd_memory_functions.cpp /link ..\\bin\\debug\\bin\\inspircd.lib /OUT:\"$*.so\"\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 /GS /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\" /IMPLIB:\"..\\bin\\debug\\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, "  $(cc) /nologo /LD /Od /I \".\" /I \"../include\" /I \"../include/modes\" /I \"../include/commands\" /I \"../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /EHsc /GS /MT /Fo\"Release/\" /Fd\"Release/vc70.pdb\" /W3 /Wp64 /Zi /TP $*.cpp ..\\win\\inspircd_memory_functions.cpp /link ..\\bin\\release\\bin\\inspircd.lib /OUT:\"$*.so\"\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 /GS /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\" /IMPLIB:\"..\\bin\\release\\lib\\$*.lib\"\n\n");\r
+       CreateDirectory("..\\src\\release", NULL);\r
+       CreateDirectory("..\\bin\\release\\bin", NULL);\r
+       CreateDirectory("..\\bin\\release\\lib", NULL);\r
+       CreateDirectory("..\\bin\\release\\modules", NULL);\r
 #endif\r
 \r
+       fprintf(f, "makedir:\n  if not exist debug mkdir debug\n\n");\r
        \r
        // dump modules.. again the second and last time :)\r
        for(int i = 0; i < command_count; ++i)\r
@@ -425,15 +420,11 @@ void WriteCompileModules()
 \r
        // Write our spiffy new makefile :D\r
        // I am such a lazy fucker :P\r
-#ifdef _DEBUG\r
        FILE * f = fopen("..\\src\\modules\\modules.mak", "w");\r
-#else\r
-       FILE * f = fopen("..\\src\\modules\\modules-release.mak", "w");\r
-#endif\r
 \r
-       fprintf(f, "# Generated at SOMETIME\n");\r
-       fprintf(f, "!include <win32.mak>\n\n");\r
-       fprintf(f, "all: ");\r
+       time_t t = time(NULL);\r
+       fprintf(f, "# Generated at %s\n", ctime(&t));\r
+       fprintf(f, "all: makedir ");\r
 \r
        // dump modules.. first time :)\r
        for(int i = 0; i < module_count; ++i)\r
@@ -441,11 +432,14 @@ void WriteCompileModules()
 \r
        fprintf(f, "\n.cpp.obj:\n");\r
 #ifdef _DEBUG\r
-       fprintf(f, "  $(cc) /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 /GS /RTC1 /MTd /Fo\"Debug/\" /Fd\"Debug/vc70.pdb\" /W3 /Wp64 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug\\bin\\inspircd.lib ws2_32.lib /OUT:\"$*.so\"\n\n");\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 /GS /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\" /IMPLIB:\"..\\..\\bin\\debug\\modules\\$*.lib\"\n\n");\r
+       CreateDirectory("..\\src\\modules\\debug", NULL);\r
 #else\r
-       fprintf(f, "  $(cc) /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /EHsc /GS /MT /Fo\"Release/\" /Fd\"Release/vc70.pdb\" /W3 /Wp64 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release\\bin\\inspircd.lib ws2_32.lib /OUT:\"$*.so\"\n\n");\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 /GS /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\" /IMPLIB:\"..\\..\\bin\\release\\modules\\$*.lib\"\n\n");\r
+       CreateDirectory("..\\src\\modules\\release", NULL);\r
 #endif\r
-\r
+       \r
+       fprintf(f, "makedir:\n  if not exist debug mkdir debug\n\n");\r
 \r
        // dump modules.. again the second and last time :)\r
        for(int i = 0; i < module_count; ++i)\r