+#define _CRT_SECURE_NO_DEPRECATE\r
+\r
#include <windows.h>\r
#include <stdio.h>\r
#include <string>\r
+#include <time.h>\r
#include "colours.h"\r
\r
using namespace std;\r
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
\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
// 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
\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
\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\" /W3 /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\" /W3 /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
\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
\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\" /W3 /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\" /W3 /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