return true;
}
-/* gets the svn revision */
-int get_svn_revision(char * buffer, size_t len)
+string get_git_commit()
{
- /* again.. I am lazy :p cbf to pipe output of svn info to us, so i'll just read the file */
- /*
- 8
-
- dir
- 7033
- */
- char buf[1000];
- int rev = 0;
-
- FILE * f = fopen("..\\.svn\\entries", "r");
+ char buf[128];
+ char *ref = NULL, *commit = NULL;
+ FILE *f = fopen("../.git/HEAD", "r");
if (f)
{
- for (int q = 0; q < 4; ++q)
- fgets(buf, 1000, f);
-
- rev = atoi(buf);
- sprintf(buffer, "%u", rev);
+ if (fgets(buf, sizeof(buf), f))
+ {
+ while (isspace(buf[strlen(buf) - 1]))
+ buf[strlen(buf) - 1] = 0;
+ char *p = strchr(buf, ' ');
+ if (p)
+ ref = ++p;
+ }
fclose(f);
}
-
- return rev;
+ if (ref == NULL)
+ return "";
+ string ref_file = string("../.git/") + string(ref);
+ f = fopen(ref_file.c_str(), "r");
+ if (f)
+ {
+ if (fgets(buf, sizeof(buf), f))
+ {
+ while (isspace(buf[strlen(buf) - 1]))
+ buf[strlen(buf) - 1] = 0;
+ commit = buf;
+ }
+ fclose(f);
+ }
+
+ return commit != NULL ? commit : "";
}
void get_machine_info(char * buffer, size_t len)
bool ipv6 = true;
char mod_path[MAX_PATH];
char config_file[MAX_PATH];
- char library_dir[MAX_PATH];
char base_path[MAX_PATH];
char bin_dir[MAX_PATH];
- char revision_text[MAX_PATH];
char openssl_inc_path[MAX_PATH];
char openssl_lib_path[MAX_PATH];
- int revision = get_svn_revision(revision_text, MAX_PATH);
+ string revision = get_git_commit();
char version[514];
char machine_text[MAX_PATH];
get_machine_info(machine_text, MAX_PATH);
#else
printf_c("Your operating system is: \033[1;32mwindows_x32 \033[0m\n");
#endif
- printf_c("InspIRCd revision ID: \033[1;32m%s \033[0m\n\n", revision ? revision_text : "(Non-SVN build)");
+ printf_c("InspIRCd revision ID: \033[1;32m%s \033[0m\n\n", !revision.empty() ? revision.c_str() : "(Non-GIT build)");
ipv6 = get_bool_option("Do you want to enable IPv6?", false);
printf_c("\033[1mAll paths are relative to the binary directory.\033[0m\n");
get_string_option("In what directory do you wish to install the InspIRCd base?", "..", base_path);
- get_string_option("In what directory are the configuration files?", "../conf", config_file);
- get_string_option("In what directory are the modules to be compiled to?", "../modules", mod_path);
+ get_string_option("In what directory are the configuration files?", "conf", config_file);
+ get_string_option("In what directory are the modules to be compiled to?", "modules", mod_path);
get_string_option("In what directory is the IRCd binary to be placed?", ".", bin_dir);
- get_string_option("In what directory are the IRCd libraries to be placed?", "../lib", library_dir);
// NOTE: this may seem hackish (generating a batch build script), but it assures the user knows
// what they're doing, and we don't have to mess with copying files and changing around modules.mak
printf_c("\033[0mBase install path:\033[1;32m %s\n", base_path);
printf_c("\033[0mConfig path:\033[1;32m %s\n", config_file);
printf_c("\033[0mModule path:\033[1;32m %s\n", mod_path);
- printf_c("\033[0mLibrary path:\033[1;32m %s\n", library_dir);
printf_c("\033[0mSocket Engine:\033[1;32m %s\n", "select");
printf("\n"); sc(TNORMAL);
// escape the pathes
escape_string(config_file, MAX_PATH);
escape_string(mod_path, MAX_PATH);
- escape_string(library_dir, MAX_PATH);
printf("\nWriting inspircd_config.h...");
FILE * f = fopen("inspircd_config.h", "w");
fprintf(f, "#ifndef __CONFIGURATION_AUTO__\n");
fprintf(f, "#define __CONFIGURATION_AUTO__\n\n");
- fprintf(f, "#define CONFIG_FILE \"%s/inspircd.conf\"\n", config_file);
fprintf(f, "#define MOD_PATH \"%s\"\n", mod_path);
fprintf(f, "#define SOMAXCONN_S \"128\"\n");
- fprintf(f, "#define LIBRARYDIR \"%s\"\n", library_dir);
fprintf(f, "#define MAXBUF 514\n");
fprintf(f, "\n#include \"inspircd_win32wrapper.h\"");
printf("Writing inspircd_version.h...");
f = fopen("inspircd_version.h", "w");
fprintf(f, "#define VERSION \"%s\"\n", version);
- fprintf(f, "#define REVISION \"%d\"\n", revision);
+ fprintf(f, "#define REVISION \"%s\"\n", revision.c_str());
fprintf(f, "#define SYSTEM \"%s\"\n", machine_text);
fclose(f);
char dest[65535];
char command[65535];
- *dest = 0;
-
WIN32_FIND_DATA fd;
-#ifdef _DEBUG
- HANDLE fh = FindFirstFile("..\\bin\\debug\\lib\\*.so", &fd);
-#else
- HANDLE fh = FindFirstFile("..\\bin\\release\\lib\\*.so", &fd);
-#endif
- if(fh == INVALID_HANDLE_VALUE)
- return;
- do
- {
#ifdef _DEBUG
- strcat(dest, " ..\\bin\\debug\\lib\\");
+ HANDLE fh = FindFirstFile("..\\bin\\debug\\modules\\*.so", &fd);
#else
- strcat(dest, " ..\\bin\\release\\lib\\");
-#endif
- strcat(dest, fd.cFileName);
- }
- while (FindNextFile(fh, &fd));
-
- FindClose(fh);
-
- sprintf(command, "rebase.exe -v -b 10000000 -c baseaddr_commands.txt %s", dest);
- printf("%s\n", command);
- system(command);
-
-#ifdef _DEBUG
- fh = FindFirstFile("..\\bin\\debug\\modules\\*.so", &fd);
-#else
- fh = FindFirstFile("..\\bin\\release\\modules\\*.so", &fd);
+ HANDLE fh = FindFirstFile("..\\bin\\release\\modules\\*.so", &fd);
#endif
if(fh == INVALID_HANDLE_VALUE)
return;
system(command);
FindClose(fh);
-
}
void WriteCompileCommands()
#ifdef WIN64
// /MACHINE:X64
#ifdef _DEBUG
- 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 /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /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");
+ 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 /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug_x64\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\debug_x64\\modules\\$*.so\" /PDB:\"..\\..\\bin\\debug_x64\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\debug_x64\\modules\\$*.lib\"\n\n");
CreateDirectory("..\\src\\debug", NULL);
CreateDirectory("..\\bin\\debug\\bin", NULL);
- CreateDirectory("..\\bin\\debug\\lib", NULL);
CreateDirectory("..\\bin\\debug\\modules", NULL);
#else
- 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\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /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");
+ 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\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release_x64\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\release_x64\\modules\\$*.so\" /PDB:\"..\\..\\bin\\release_x64\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\release_x64\\modules\\$*.lib\"\n\n");
CreateDirectory("..\\src\\release", NULL);
CreateDirectory("..\\bin\\release\\bin", NULL);
- CreateDirectory("..\\bin\\release\\lib", NULL);
CreateDirectory("..\\bin\\release\\modules", NULL);
#endif
#else
#ifdef _DEBUG
- 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 /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /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");
+ 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 /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\debug\\modules\\$*.so\" /PDB:\"..\\..\\bin\\debug\\modules\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\debug\\modules\\$*.lib\"\n\n");
CreateDirectory("..\\src\\debug", NULL);
CreateDirectory("..\\bin\\debug\\bin", NULL);
- CreateDirectory("..\\bin\\debug\\lib", NULL);
CreateDirectory("..\\bin\\debug\\modules", NULL);
#else
- 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\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /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");
+ 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\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\release\\modules\\$*.so\" /PDB:\"..\\..\\bin\\release\\modules\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\release\\modules\\$*.lib\"\n\n");
CreateDirectory("..\\src\\release", NULL);
CreateDirectory("..\\bin\\release\\bin", NULL);
- CreateDirectory("..\\bin\\release\\lib", NULL);
CreateDirectory("..\\bin\\release\\modules", NULL);
#endif
#endif
+ fprintf(f, "makedir:\n");
#ifdef _DEBUG
- fprintf(f, "makedir:\n if not exist debug mkdir debug\n if not exist ..\\..\\bin\\debug\\lib mkdir ..\\..\\bin\\debug\\lib\n\n");
+ fprintf(f, " if not exist ..\\..\\bin\\debug mkdir ..\\..\\bin\\debug\n");
+ fprintf(f, " if not exist ..\\..\\bin\\debug\\modules mkdir ..\\..\\bin\\debug\\modules\n");
#else
- fprintf(f, "makedir:\n if not exist release mkdir release\n if not exist ..\\..\\bin\\release\\lib mkdir ..\\..\\bin\\release\\lib\n\n");
+ fprintf(f, " if not exist ..\\..\\bin\\release mkdir ..\\..\\bin\\release\n");
+ fprintf(f, " if not exist ..\\..\\bin\\release\\modules mkdir ..\\..\\bin\\release\\modules\n");
#endif
// dump modules.. again the second and last time :)
#ifdef _DEBUG
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 /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /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");
CreateDirectory("..\\src\\modules\\debug", NULL);
- CreateDirectory("..\\src\\modules\\debug\\lib", NULL);
CreateDirectory("..\\src\\modules\\debug\\modules", NULL);
CreateDirectory("..\\src\\modules\\debug\\bin", NULL);
#else
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\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /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");
CreateDirectory("..\\src\\modules\\release", NULL);
- CreateDirectory("..\\src\\modules\\release\\lib", NULL);
CreateDirectory("..\\src\\modules\\release\\modules", NULL);
CreateDirectory("..\\src\\modules\\release\\bin", NULL);
#endif
; * | Inspire Internet Relay Chat Daemon |
; * +------------------------------------+
; *
-; * InspIRCd: (C) 2002-2009 InspIRCd Development Team
+; * InspIRCd: (C) 2002-2011 InspIRCd Development Team
; * See: http://wiki.inspircd.org/Credits
; *
; * This program is free but copyrighted software; see
!insertmacro MUI_PAGE_COMPONENTS
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
-; Finish page
-!define MUI_FINISHPAGE_RUN "$INSTDIR\InspGUI.exe"
-!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES
; MUI end ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
-OutFile "Setup.exe"
+OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}-Setup.exe"
InstallDir "$PROGRAMFILES\InspIRCd"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show
Section "Binary Executable" SEC01
Call IsDotNetInstalled
- SetOutPath "$TEMP"
- SetOverwrite ifnewer
- File "vcredist_x86.exe"
- ExecWait "$TEMP\vcredist_x86.exe"
- SetOutPath "$INSTDIR"
- SetOverwrite ifnewer
- File "..\bin\${BUILD}\InspGUI.exe"
CreateDirectory "$SMPROGRAMS\InspIRCd"
- CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" "$INSTDIR\InspGUI.exe"
- SetOutPath "$INSTDIR\bin"
+ CreateDirectory "$INSTDIR\logs"
+ CreateDirectory "$INSTDIR\data"
+ CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" "$INSTDIR\inspircd.exe"
+ SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "..\bin\${BUILD}\bin\inspircd.exe"
DetailPrint "Installing InspIRCd service..."
- nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\bin\inspircd.exe" --installservice'
+ nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\inspircd.exe" --installservice'
SectionEnd
Section "Config Files" SEC02
SetOutPath "$INSTDIR\conf"
- File "..\conf\inspircd.motd.example"
- File "..\conf\inspircd.helpop-full.example"
- File "..\conf\inspircd.helpop.example"
- File "..\conf\inspircd.filter.example"
- File "..\conf\inspircd.conf.example"
- File "..\conf\opers.conf.example"
- File "..\conf\modules.conf.example"
- File "..\conf\links.conf.example"
- File "..\conf\inspircd.censor.example"
- File "..\conf\inspircd.rules.example"
- File "..\conf\inspircd.quotes.example"
- SetOutPath "$INSTDIR\conf\test"
- File "..\conf\test\test.conf"
+ File "..\docs\*.example"
SectionEnd
Section "Command Handlers" SEC03
- SetOutPath "$INSTDIR\lib"
- File "..\bin\${BUILD}\lib\cmd_*.so"
+ SetOutPath "$INSTDIR\modules"
+ File "..\bin\${BUILD}\modules\cmd_*.so"
SectionEnd
Section "Modules" SEC04
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
- WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\bin\inspircd.exe"
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\inspircd.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\bin\inspircd.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\inspircd.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
Section Uninstall
DetailPrint "Uninstalling InspIRCd service..."
- nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\bin\inspircd.exe" --removeservice'
+ nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\inspircd.exe" --removeservice'
Delete "$INSTDIR\${PRODUCT_NAME}.url"
Delete "$INSTDIR\uninst.exe"
- Delete "$INSTDIR\modules\m_*.so"
- Delete "$INSTDIR\lib\cmd_*.so"
- Delete "$INSTDIR\conf\inspircd.quotes.example"
- Delete "$INSTDIR\conf\inspircd.rules.example"
- Delete "$INSTDIR\conf\inspircd.censor.example"
- Delete "$INSTDIR\conf\inspircd.conf.example"
- Delete "$INSTDIR\conf\inspircd.filter.example"
- Delete "$INSTDIR\conf\inspircd.helpop.example"
- Delete "$INSTDIR\conf\inspircd.helpop-full.example"
- Delete "$INSTDIR\conf\inspircd.motd.example"
- Delete "$INSTDIR\bin\inspircd.exe"
- Delete "$INSTDIR\InspGUI.exe"
+ Delete "$INSTDIR\modules\*.so"
+ Delete "$INSTDIR\conf\*.example"
+ Delete "$INSTDIR\*.log"
+ Delete "$INSTDIR\logs\*"
+ Delete "$INSTDIR\data\*"
+ Delete "$INSTDIR\inspircd.exe"
Delete "$SMPROGRAMS\InspIRCd\Uninstall.lnk"
Delete "$SMPROGRAMS\InspIRCd\InspIRCd Website.lnk"
Delete "$SMPROGRAMS\InspIRCd\InspIRCd.lnk"
RMDir "$SMPROGRAMS\InspIRCd"
RMDir "$INSTDIR\modules"
- RMDir "$INSTDIR\lib"
RMDir "$INSTDIR\conf"
- RMDir "$INSTDIR\bin"
+ RMDir "$INSTDIR\logs"
+ RMDir "$INSTDIR\data"
RMDir "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
; * | Inspire Internet Relay Chat Daemon |
; * +------------------------------------+
; *
-; * InspIRCd: (C) 2002-2009 InspIRCd Development Team
+; * InspIRCd: (C) 2002-2011 InspIRCd Development Team
; * See: http://wiki.inspircd.org/Credits
; *
; * This program is free but copyrighted software; see
!insertmacro MUI_PAGE_COMPONENTS
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
-; Finish page
-!define MUI_FINISHPAGE_RUN "$INSTDIR\InspGUI.exe"
-!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES
; MUI end ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
-OutFile "Setup.exe"
+OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}-Setup.exe"
InstallDir "$PROGRAMFILES\InspIRCd"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show
Section "Binary Executable" SEC01
Call IsDotNetInstalled
- SetOutPath "$TEMP"
- SetOverwrite ifnewer
- File "vcredist_x86.exe"
- ExecWait "$TEMP\vcredist_x86.exe"
- SetOutPath "$INSTDIR"
- SetOverwrite ifnewer
- File "..\bin\${BUILD}\InspGUI.exe"
CreateDirectory "$SMPROGRAMS\InspIRCd"
- CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" "$INSTDIR\InspGUI.exe"
- SetOutPath "$INSTDIR\bin"
+ CreateDirectory "$INSTDIR\logs"
+ CreateDirectory "$INSTDIR\data"
+ CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" "$INSTDIR\inspircd.exe"
+ SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "..\bin\${BUILD}\bin\inspircd.exe"
DetailPrint "Installing InspIRCd service..."
- nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\bin\inspircd.exe" --installservice'
+ nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\inspircd.exe" --installservice'
SectionEnd
Section "Config Files" SEC02
SetOutPath "$INSTDIR\conf"
- File "..\conf\inspircd.motd.example"
- File "..\conf\inspircd.helpop-full.example"
- File "..\conf\inspircd.helpop.example"
- File "..\conf\inspircd.filter.example"
- File "..\conf\inspircd.conf.example"
- File "..\conf\opers.conf.example"
- File "..\conf\modules.conf.example"
- File "..\conf\links.conf.example"
- File "..\conf\inspircd.censor.example"
- File "..\conf\inspircd.rules.example"
- File "..\conf\inspircd.quotes.example"
- SetOutPath "$INSTDIR\conf\test"
- File "..\conf\test\test.conf"
+ File "..\docs\*.example"
SectionEnd
Section "Command Handlers" SEC03
- SetOutPath "$INSTDIR\lib"
- File "..\bin\${BUILD}\lib\cmd_*.so"
+ SetOutPath "$INSTDIR\modules"
+ File "..\bin\${BUILD}\modules\cmd_*.so"
SectionEnd
Section "Modules" SEC04
SectionEnd
Section "SSL Modules" SEC05
- SetOutPath "$INSTDIR\bin"
+ SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "..\bin\${BUILD}\bin\libgcrypt-11.dll"
File "..\bin\${BUILD}\bin\libgnutls-13.dll"
SectionEnd
Section "Regexp Modules" SEC06
- SetOutPath "$INSTDIR\bin"
+ SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "..\bin\${BUILD}\bin\pcre.dll"
SetOutPath "$INSTDIR\modules"
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
- WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\bin\inspircd.exe"
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\inspircd.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\bin\inspircd.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\inspircd.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
Section Uninstall
DetailPrint "Uninstalling InspIRCd service..."
- nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\bin\inspircd.exe" --removeservice'
+ nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\inspircd.exe" --removeservice'
Delete "$INSTDIR\${PRODUCT_NAME}.url"
Delete "$INSTDIR\uninst.exe"
- Delete "$INSTDIR\modules\m_*.so"
- Delete "$INSTDIR\lib\cmd_*.so"
- Delete "$INSTDIR\conf\inspircd.quotes.example"
- Delete "$INSTDIR\conf\inspircd.rules.example"
- Delete "$INSTDIR\conf\inspircd.censor.example"
- Delete "$INSTDIR\conf\inspircd.conf.example"
- Delete "$INSTDIR\conf\inspircd.filter.example"
- Delete "$INSTDIR\conf\inspircd.helpop.example"
- Delete "$INSTDIR\conf\inspircd.helpop-full.example"
- Delete "$INSTDIR\conf\inspircd.motd.example"
- Delete "$INSTDIR\bin\inspircd.exe"
- Delete "$INSTDIR\bin\*.dll"
- Delete "$INSTDIR\InspGUI.exe"
+ Delete "$INSTDIR\modules\*.so"
+ Delete "$INSTDIR\conf\*.example"
+ Delete "$INSTDIR\*.dll"
+ Delete "$INSTDIR\*.log"
+ Delete "$INSTDIR\logs\*"
+ Delete "$INSTDIR\data\*"
+ Delete "$INSTDIR\inspircd.exe"
Delete "$SMPROGRAMS\InspIRCd\Uninstall.lnk"
Delete "$SMPROGRAMS\InspIRCd\InspIRCd Website.lnk"
Delete "$SMPROGRAMS\InspIRCd\InspIRCd.lnk"
RMDir "$SMPROGRAMS\InspIRCd"
RMDir "$INSTDIR\modules"
- RMDir "$INSTDIR\lib"
RMDir "$INSTDIR\conf"
- RMDir "$INSTDIR\bin"
+ RMDir "$INSTDIR\logs"
+ RMDir "$INSTDIR\data"
RMDir "$INSTDIR"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
+++ /dev/null
-Microsoft Visual Studio Solution File, Format Version 10.00\r
-# Visual Studio 2008\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inspircd", "inspircdVC90.vcproj", "{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}"\r
- ProjectSection(ProjectDependencies) = postProject\r
- {B922B569-727E-4EB0-827A-04E133A91DE7} = {B922B569-727E-4EB0-827A-04E133A91DE7}\r
- EndProjectSection\r
-EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "configure", "configureVC90.vcproj", "{B922B569-727E-4EB0-827A-04E133A91DE7}"\r
-EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "m_spanningtree", "m_spanningtreeVC90.vcproj", "{1EC86B60-AB2A-4984-8A7E-0422C15601E0}"\r
- ProjectSection(ProjectDependencies) = postProject\r
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8} = {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}\r
- EndProjectSection\r
-EndProject\r
-Global\r
- GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
- Debug|Win32 = Debug|Win32\r
- Debug|x64 = Debug|x64\r
- Release|Win32 = Release|Win32\r
- Release|x64 = Release|x64\r
- EndGlobalSection\r
- GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Debug|Win32.ActiveCfg = Debug|Win32\r
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Debug|Win32.Build.0 = Debug|Win32\r
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Debug|x64.ActiveCfg = Debug|x64\r
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Debug|x64.Build.0 = Debug|x64\r
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Release|Win32.ActiveCfg = Release|Win32\r
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Release|Win32.Build.0 = Release|Win32\r
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Release|x64.ActiveCfg = Release|x64\r
- {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Release|x64.Build.0 = Release|x64\r
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Debug|Win32.ActiveCfg = Debug|Win32\r
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Debug|Win32.Build.0 = Debug|Win32\r
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Debug|x64.ActiveCfg = Debug|x64\r
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Debug|x64.Build.0 = Debug|x64\r
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Release|Win32.ActiveCfg = Release|Win32\r
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Release|Win32.Build.0 = Release|Win32\r
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Release|x64.ActiveCfg = Release|x64\r
- {B922B569-727E-4EB0-827A-04E133A91DE7}.Release|x64.Build.0 = Release|x64\r
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Debug|Win32.ActiveCfg = Debug|Win32\r
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Debug|Win32.Build.0 = Debug|Win32\r
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Debug|x64.ActiveCfg = Debug|x64\r
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Debug|x64.Build.0 = Debug|x64\r
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Release|Win32.ActiveCfg = Release|Win32\r
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Release|Win32.Build.0 = Release|Win32\r
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Release|x64.ActiveCfg = Release|x64\r
- {1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Release|x64.Build.0 = Release|x64\r
- EndGlobalSection\r
- GlobalSection(SolutionProperties) = preSolution\r
- HideSolutionNode = FALSE\r
- EndGlobalSection\r
-EndGlobal\r
+++ /dev/null
-<?xml version="1.0" encoding="Windows-1252"?>\r
-<VisualStudioProject\r
- ProjectType="Visual C++"\r
- Version="8.00"\r
- Name="inspircd_site_release"\r
- ProjectGUID="{FF843150-D896-4EAD-BA0F-164C17687153}"\r
- RootNamespace="inspircd_site_release"\r
- >\r
- <Platforms>\r
- <Platform\r
- Name="Win32"\r
- />\r
- </Platforms>\r
- <ToolFiles>\r
- </ToolFiles>\r
- <Configurations>\r
- <Configuration\r
- Name="Debug|Win32"\r
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
- IntermediateDirectory="$(ConfigurationName)"\r
- ConfigurationType="1"\r
- CharacterSet="2"\r
- >\r
- <Tool\r
- Name="VCPreBuildEventTool"\r
- />\r
- <Tool\r
- Name="VCCustomBuildTool"\r
- />\r
- <Tool\r
- Name="VCXMLDataGeneratorTool"\r
- />\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"\r
- />\r
- <Tool\r
- Name="VCMIDLTool"\r
- />\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- Optimization="0"\r
- MinimalRebuild="true"\r
- BasicRuntimeChecks="3"\r
- RuntimeLibrary="3"\r
- WarningLevel="3"\r
- Detect64BitPortabilityProblems="true"\r
- DebugInformationFormat="4"\r
- />\r
- <Tool\r
- Name="VCManagedResourceCompilerTool"\r
- />\r
- <Tool\r
- Name="VCResourceCompilerTool"\r
- />\r
- <Tool\r
- Name="VCPreLinkEventTool"\r
- />\r
- <Tool\r
- Name="VCLinkerTool"\r
- GenerateDebugInformation="true"\r
- TargetMachine="1"\r
- />\r
- <Tool\r
- Name="VCALinkTool"\r
- />\r
- <Tool\r
- Name="VCManifestTool"\r
- />\r
- <Tool\r
- Name="VCXDCMakeTool"\r
- />\r
- <Tool\r
- Name="VCBscMakeTool"\r
- />\r
- <Tool\r
- Name="VCFxCopTool"\r
- />\r
- <Tool\r
- Name="VCAppVerifierTool"\r
- />\r
- <Tool\r
- Name="VCWebDeploymentTool"\r
- />\r
- <Tool\r
- Name="VCPostBuildEventTool"\r
- />\r
- </Configuration>\r
- <Configuration\r
- Name="Release|Win32"\r
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"\r
- IntermediateDirectory="$(ConfigurationName)"\r
- ConfigurationType="1"\r
- CharacterSet="2"\r
- WholeProgramOptimization="1"\r
- >\r
- <Tool\r
- Name="VCPreBuildEventTool"\r
- />\r
- <Tool\r
- Name="VCCustomBuildTool"\r
- />\r
- <Tool\r
- Name="VCXMLDataGeneratorTool"\r
- />\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"\r
- />\r
- <Tool\r
- Name="VCMIDLTool"\r
- />\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- RuntimeLibrary="2"\r
- WarningLevel="3"\r
- Detect64BitPortabilityProblems="true"\r
- DebugInformationFormat="3"\r
- />\r
- <Tool\r
- Name="VCManagedResourceCompilerTool"\r
- />\r
- <Tool\r
- Name="VCResourceCompilerTool"\r
- />\r
- <Tool\r
- Name="VCPreLinkEventTool"\r
- />\r
- <Tool\r
- Name="VCLinkerTool"\r
- GenerateDebugInformation="true"\r
- OptimizeReferences="2"\r
- EnableCOMDATFolding="2"\r
- TargetMachine="1"\r
- />\r
- <Tool\r
- Name="VCALinkTool"\r
- />\r
- <Tool\r
- Name="VCManifestTool"\r
- />\r
- <Tool\r
- Name="VCXDCMakeTool"\r
- />\r
- <Tool\r
- Name="VCBscMakeTool"\r
- />\r
- <Tool\r
- Name="VCFxCopTool"\r
- />\r
- <Tool\r
- Name="VCAppVerifierTool"\r
- />\r
- <Tool\r
- Name="VCWebDeploymentTool"\r
- />\r
- <Tool\r
- Name="VCPostBuildEventTool"\r
- />\r
- </Configuration>\r
- <Configuration\r
- Name="Site Release|Win32"\r
- OutputDirectory="Release"\r
- IntermediateDirectory="Release"\r
- ConfigurationType="1"\r
- CharacterSet="2"\r
- WholeProgramOptimization="1"\r
- >\r
- <Tool\r
- Name="VCPreBuildEventTool"\r
- Description=""\r
- CommandLine=""\r
- />\r
- <Tool\r
- Name="VCCustomBuildTool"\r
- Description="Releasing to website"\r
- CommandLine="..\site_release.bat"\r
- Outputs="..\release.log"\r
- />\r
- <Tool\r
- Name="VCXMLDataGeneratorTool"\r
- />\r
- <Tool\r
- Name="VCWebServiceProxyGeneratorTool"\r
- />\r
- <Tool\r
- Name="VCMIDLTool"\r
- />\r
- <Tool\r
- Name="VCCLCompilerTool"\r
- RuntimeLibrary="2"\r
- WarningLevel="3"\r
- Detect64BitPortabilityProblems="true"\r
- DebugInformationFormat="3"\r
- />\r
- <Tool\r
- Name="VCManagedResourceCompilerTool"\r
- />\r
- <Tool\r
- Name="VCResourceCompilerTool"\r
- />\r
- <Tool\r
- Name="VCPreLinkEventTool"\r
- />\r
- <Tool\r
- Name="VCLinkerTool"\r
- GenerateDebugInformation="true"\r
- OptimizeReferences="2"\r
- EnableCOMDATFolding="2"\r
- TargetMachine="1"\r
- />\r
- <Tool\r
- Name="VCALinkTool"\r
- />\r
- <Tool\r
- Name="VCManifestTool"\r
- />\r
- <Tool\r
- Name="VCXDCMakeTool"\r
- />\r
- <Tool\r
- Name="VCBscMakeTool"\r
- />\r
- <Tool\r
- Name="VCFxCopTool"\r
- />\r
- <Tool\r
- Name="VCAppVerifierTool"\r
- />\r
- <Tool\r
- Name="VCWebDeploymentTool"\r
- />\r
- <Tool\r
- Name="VCPostBuildEventTool"\r
- Description=""\r
- CommandLine=""\r
- />\r
- </Configuration>\r
- </Configurations>\r
- <References>\r
- </References>\r
- <Files>\r
- <Filter\r
- Name="Source Files"\r
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
- >\r
- </Filter>\r
- <Filter\r
- Name="Header Files"\r
- Filter="h;hpp;hxx;hm;inl;inc;xsd"\r
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"\r
- >\r
- </Filter>\r
- <Filter\r
- Name="Resource Files"\r
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"\r
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
- >\r
- </Filter>\r
- </Files>\r
- <Globals>\r
- </Globals>\r
-</VisualStudioProject>\r
+++ /dev/null
-#!perl\r
-\r
-open(FH,"<../src/version.sh") or die("Can't open version.sh");\r
-while (chomp($v = <FH>))\r
-{\r
- $version = $v if $v =~ /^echo/;\r
-}\r
-close FH;\r
-\r
-print "Version: '$version'\n";\r
-\r
-$version =~ /InspIRCd-(\d+)\.(\d+)\.(\d+)([ab\+]|RC|rc)/;\r
-\r
-$v1 = $1;\r
-$v2 = $2;\r
-$v3 = $3;\r
-$type = $4;\r
-\r
-print "v1=$1 v2=$2 v3=$3 type=$4\n";\r
-\r
-if ($type =~ /^[ab]|rc|RC$/)\r
-{\r
- $version =~ /InspIRCd-\d+\.\d+\.\d+([ab]|RC|rc)(\d+)/;\r
- $alphabeta = $2;\r
- print "Version sub is $type $alphabeta\n";\r
- $name = "InspIRCd-$v1.$v2.$v3$type$alphabeta.exe";\r
- $rel = "$v1.$v2.$v3$type$alphabeta";\r
-}\r
-else\r
-{\r
- $name = "InspIRCd-$v1.$v2.$v3.exe";\r
- $rel = "$v1.$v2.$v3";\r
-}\r
-\r
-print "del $name\n";\r
-print "ren Setup.exe $name\n";\r
-\r
-system("del $name");\r
-system("ren Setup.exe $name");\r
-\r
-system("upload_release.bat $name $rel");\r
VALUE "FileDescription", "InspIRCd\0"\r
VALUE "FileVersion", "2, 0, 0, 0\0"\r
VALUE "InternalName", "InspIRCd\0"\r
- VALUE "LegalCopyright", "Copyright (c) 2009 InspIRCd Development Team\0"\r
+ VALUE "LegalCopyright", "Copyright (c) 2011 InspIRCd Development Team\0"\r
VALUE "LegalTrademarks", "\0"\r
VALUE "OriginalFilename", "inspircd.exe\0"\r
VALUE "PrivateBuild", "\0"\r
+++ /dev/null
-@echo off\r
-\r
-echo Release commencing...\r
-\r
-cd ..\r
-\r
-rem make binary\r
-"c:\program files\nsis\makensis.exe" inspircd-noextras.nsi\r
-\r
-rem determine name for the binary\r
-perl rename_installer.pl\r
-\r
-@echo on
\ No newline at end of file
+++ /dev/null
-@echo off\r
-\r
-echo release/makereleasetrunk.sh %2 > remote.txt\r
-start "Linux build" "c:\Program Files\PuTTY\putty.exe" -load "inspircd release" -m remote.txt\r
-\r
-echo option batch on > upload.scp\r
-echo option confirm off >> upload.scp\r
-echo put -speed=4 -nopermissions -preservetime %1 /usr/home/inspircd/www/downloads/ >> upload.scp\r
-echo exit >> upload.scp\r
-start "File upload" "c:\program files\winscp\winscp.com" "inspircd release" /script=upload.scp\r
-\r
-@echo on\r