diff options
Diffstat (limited to 'install.vbs')
-rw-r--r-- | install.vbs | 273 |
1 files changed, 273 insertions, 0 deletions
diff --git a/install.vbs b/install.vbs new file mode 100644 index 000000000..fb298dd85 --- /dev/null +++ b/install.vbs @@ -0,0 +1,273 @@ +' Configuration for Anope +' +' (C) 2003-2005 Anope Team +' Contact us at info@anope.org +' +' This program is free but copyrighted software; see the file COPYING for +' details. +' +' Based on the original code of Epona by Lara. +' Based on the original code of Services by Andy Church. + + +' Required Variables +Dim StdIn +Dim UseMySQL, UseDBEnc, CompilerVer +Dim fso +Set fso = CreateObject("Scripting.FileSystemObject") + +' Setup StdIn for use +Set StdIn = WScript.StdIn + +' Display introductory header +WScript.Echo "" +WScript.Echo " ___" +WScript.Echo " / _ \ http://www.anope.org" +WScript.Echo " | /_\ | _ __ _ _ _ _ ___" +WScript.Echo " | _ || '_ \/ _ \/ _ \ / _ \" +WScript.Echo " | | | || | | |_| |_| | __/" +WScript.Echo " |_| |_||_| |_\___/| _/ \___|" +WScript.Echo " | |" +WScript.Echo " |_| IRC Services" +WScript.Echo " v1.7.9" +WScript.Echo "" +WScript.Echo "" +WScript.Echo "This program will help you to compile your Services, and ask you" +WScript.Echo "questions regarding the compile-time settings of it during the" +WScript.Echo "process." +WScript.Echo "" +WScript.Echo "Anope is a set of Services for IRC networks that allows users to" +WScript.Echo "manage their nicks and channels in a secure and efficient way," +WScript.Echo "and administrators to manage their network with powerful tools." +WScript.Echo "" +WScript.Echo "Do not forget to read all the documents located in docs/," +WScript.Echo "especially the README and INSTALL files." +WScript.Echo "" +WScript.Echo "For all your Anope needs please visit our portal at" +WScript.Echo "http://www.anope.org/" +WScript.Echo "" +WScript.Echo "Press Enter to Continue..." +StdIn.ReadLine + +' Enable MySQL Support? +Do While (UseMySQL <> "Y" AND UseMySQL <> "N" AND UseMySQL <> "YES" AND UseMySQL <> "NO") + WScript.Echo "Would you like to compile Anope with MySQL Support?" + WScript.Echo "(NOTE: You must have MySQL 3.23 or Later installed)" + WScript.Echo "" + WScript.Echo "Yes / No (Default)" + UseMySQL = UCase(Trim(StdIn.ReadLine)) + If (UseMySQL = "") Then + UseMySQL = "N" + End If + If (UseMySQL <> "Y" AND UseMySQL <> "N" AND UseMySQL <> "YES" AND UseMySQL <> "NO") Then + WScript.Echo "" + WScript.Echo "Invalid Selection!" + WScript.Echo "" + End If +Loop + +WScript.Echo "" + +If (UseMySQL = "Y" OR UseMySQL = "YES") Then + If (fso.FileExists("C:\mysql\lib\opt\libmysql.lib") = False) Then + WScript.Echo "ERROR: Cannot find LibMySQL.lib in c:\mysql\lib\opt!" + WScript.Echo "MySQL Support Disabled.." + UseMySQL = "0" + ElseIf (fso.FileExists("C:\mysql\include\mysql.h") = False) Then + WScript.Echo "ERROR: Cannot find mysql.h in c:\mysql\include!" + WScript.Echo "MySQL Support Disabled.." + UseMySQL = "0" + Else + WScript.Echo "All required files for MySQL Support have been located!" + WScript.Echo "MySQL Support Enabled.." + UseMySQL = "1" + End If +Else + WScript.Echo "MySQL Support Disabled.." + UseMySQL = "0" +End If + +WScript.Echo "" + +' Enable Database Encryption Support? +Do While (UseDBEnc <> "Y" AND UseDBEnc <> "N" AND UseDBEnc <> "YES" AND UseDBEnc <> "NO") + WScript.Echo "Would you like to enable Database Encryption?" + WScript.Echo "(NOTE: If you enable encryption, you will NOT be able to recover" + WScript.Echo "passwords at a later date. GETPASS and SENDPASS will also be useless)" + WScript.Echo "" + WScript.Echo "Yes / No (Default)" + UseDBEnc = UCase(Trim(StdIn.ReadLine)) + If (UseDBEnc = "") Then + UseDBEnc = "N" + End If + If (UseDBEnc <> "Y" AND UseDBEnc <> "N" AND UseDBEnc <> "YES" AND UseDBEnc <> "NO") Then + WScript.Echo "" + WScript.Echo "Invalid Selection!" + WScript.Echo "" + End If +Loop + +WScript.Echo "" + +If (UseDBEnc = "Y" OR UseDBEnc = "YES") Then + WScript.Echo "Database Encryption Enabled.." + UseDBEnc = "1" +Else + WScript.Echo "Database Encryption Disabled.." + UseDBEnc = "0" +End If + +WScript.Echo "" +WScript.Echo "I will now check you have all the things I need..." + +Dim libPath, libPath2 +If (fso.FolderExists("C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\Lib")) Then + WScript.Echo "I found a copy of Microsoft Visual Studio .NET 2003.." + libPath = "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\Lib" + libPath2 = "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib" + If (fso.FileExists(libPath & "/MSVCRT.lib") = False And fso.FileExists(libPath2 & "/MSVCRT.lib") = False) Then + WScript.Echo "Hm. I can't seem to find the default library.. Are you sure this is installed properly?" + libPath = "" + libPath2 = "" + ElseIf (fso.FileExists(libPath & "/wsock32.lib") = False And fso.FileExists(libPath2 & "/wsock32.lib") = False) Then + WScript.Echo "I couldn't seem to find wsock32.lib.. We kind of need this.." + libPath = "" + libPath2 = "" + ElseIf (fso.FileExists(libPath & "/advapi32.lib") = False And fso.FileExists(libPath2 & "/advapi32.lib") = False) Then + WScript.Echo "I couldn't seem to find advapi32.lib.. We kind of need this.." + libPath = "" + libPath2 = "" + ElseIf (fso.FileExists(libPath & "/uuid.lib") = False And fso.FileExists(libPath2 & "/uuid.lib") = False) Then + WScript.Echo "I couldn't seem to find uuid.lib.. We kind of need this.." + libPath = "" + libPath2 = "" + End If +End If + +If (fso.FolderExists("C:\Program Files\Microsoft Visual Studio\VC98\Lib") And LibPath = "") Then + WScript.Echo "I found a copy of Microsoft Visual Studio 6.. It's old, but we can use it.." + libPath = "C:\Program Files\Microsoft Visual Studio\VC98\Lib" + CompilerVer = "VC6" + If (fso.FileExists(libPath & "/MSVCRT.lib") = False) Then + WScript.Echo "Hm. I can't seem to find the default library.. Are you sure this is installed properly?" + libPath = "" + ElseIf (fso.FileExists(libPath & "/wsock32.lib") = False) Then + WScript.Echo "I couldn't seem to find wsock32.lib.. We kind of need this.." + libPath = "" + ElseIf (fso.FileExists(libPath & "/advapi32.lib") = False) Then + WScript.Echo "I couldn't seem to find advapi32.lib.. We kind of need this.." + libPath = "" + ElseIf (fso.FileExists(libPath & "/uuid.lib") = False) Then + WScript.Echo "I couldn't seem to find uuid.lib.. We kind of need this.." + libPath = "" + End If +End If + +If (fso.FileExists("C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\Bin\nmake.exe") = False AND fso.FileExists("C:\Program Files\Microsoft Visual Studio\VC98\Bin\nmake.exe") = False AND fso.FileExists("C:\nmake.exe") = False) Then + WScript.Echo "" + WScript.Echo "I couldn't seem to find a copy of nmake.exe on your system.." + WScript.Echo "" + WScript.Echo "I can continue without it for now, but you'll need it when you want to compile." + WScript.Echo "I suggest downloading a copy from the URL below, and placing it in your C:\ drive." + WScript.Echo "" + WScript.Echo "http://download.microsoft.com/download/vc15/patch/1.52/w95/en-us/nmake15.exe" + WScript.Echo "" +End If + +If (libPath = "") Then + Dim tmpPath + WScript.Echo "I couldn't find any of the paths I was looking for.." + WScript.Echo "If you have installed the Visual C++ Libraries in a non-standard location, enter" + WScript.Echo "this location below, and I will try and look there.." + WScript.Echo "(NOTE: Do NOT enter a trailing slash)" + WScript.Echo "" + WScript.Echo "Path to Visual C++ Libraries: " + tmpPath = Trim(StdIn.ReadLine) + If (fso.FolderExists(tmpPath) AND fso.FileExists(tmpPath & "/MSVCRT.lib")) Then + libPath = tmpPath + If (fso.FileExists(libPath & "/wsock32.lib") = False) Then + WScript.Echo "I couldn't seem to find wsock32.lib.. We kind of need this.." + libPath = "" + ElseIf (fso.FileExists(libPath & "/advapi32.lib") = False) Then + WScript.Echo "I couldn't seem to find advapi32.lib.. We kind of need this.." + libPath = "" + ElseIf (fso.FileExists(libPath & "/uuid.lib") = False) Then + WScript.Echo "I couldn't seem to find uuid.lib.. We kind of need this.." + libPath = "" + Else + WScript.Echo "Okay, I found what I was looking for.." + End If + Else + WScript.Echo "I couldn't find the default library in that folder." + End If +End If + +If (libPath <> "") Then + Dim f, f2, i, verMaj, verMin, verPatch, verBuild + Const ForReading = 1, ForWriting = 2 + WScript.Echo "Looks like you've got all the libraries I need.." + Set f2 = fso.OpenTextFile("version.log", ForReading) + Do While (i < 7) + f2.SkipLine() + i = i + 1 + Loop + verMaj = Replace(Replace(Trim(f2.ReadLine), "VERSION_MAJOR=" & chr(34), ""), chr(34), "") + verMin = Replace(Replace(Trim(f2.ReadLine), "VERSION_MINOR=" & chr(34), ""), chr(34), "") + verPatch = Replace(Replace(Trim(f2.ReadLine), "VERSION_PATCH=" & chr(34), ""), chr(34), "") + verBuild = Replace(Replace(Trim(f2.ReadLine), "VERSION_BUILD=" & chr(34), ""), chr(34), "") + verStr = Replace(verStr, chr(34), "") + f2.close + Set f = fso.OpenTextFile("Makefile.inc.win32", ForWriting) + f.WriteLine("USE_MYSQL=" & UseMySQL) + If (UseMySQL = "1") Then + f.WriteLine("MYSQL_LIB=" & chr(34) & "c:\\mysql\\lib\\opt" & chr(34)) + f.WriteLine("MYSQL_INC=" & chr(34) & "c:\\mysql\\include" & chr(34)) + End If + f.WriteLine("DB_ENCRYPTION=" & UseDBEnc) + If (CompilerVer = "VC6") Then + f.WriteLine("VC6=/QIfist") + End If + if (libPath2 <> "") Then + libPath = libPath2 & chr(34) & " /LIBPATH:" & chr(34) & libPath + End If + f.WriteLine("VERSION=" & verMaj & "." & verMin & "." & verPatch & "." & verBuild) + f.WriteLine("LIBPATH=" & libPath) + f.WriteLine("PROGRAM=anope.exe") + f.WriteLine("DATDEST=data") + f.WriteLine("CC=cl") + f.WriteLine("RC=rc") + f.WriteLine("MAKE=nmake -f Makefile.win32") + f.WriteLine("BASE_CFLAGS=/O2 /MD") + f.WriteLine("LIBS=wsock32.lib advapi32.lib /NODEFAULTLIB:libcmtd.lib") + f.WriteLine("LFLAGS=/LIBPATH:" & chr(34) & "$(LIBPATH)" & chr(34)) + If (UseMySQL = "1") Then + f.WriteLine("LIBS=$(LIBS) /LIBPATH:$(MYSQL_LIB)") + f.WriteLine("MYSQL_LIB_PATH=/LIBPATH:$(MYSQL_LIB)") + f.WriteLine("BASE_CFLAGS=$(BASE_CFLAGS) /I $(MYSQL_INC)") + f.WriteLine("MYSQL_INC_PATH=/I $(MYSQL_INC)") + f.WriteLine("RDB_C=rdb.c") + f.WriteLine("RDB_O=rdb.obj") + f.WriteLine("MYSQL_C=mysql.c") + f.WriteLine("MYSQL_O=mysql.obj") + f.WriteLine("BASE_CFLAGS=/D USE_MYSQL /D USE_RDB $(BASE_CFLAGS) /D HAVE_MYSQL_MYSQL_H") + f.WriteLine("MYPASQL_BUILD=$(CC) /LD $(MYSQL_INC_PATH) src\mypasql.c /link $(MYSQL_LIB_PATH) $(LFLAGS) \") + f.WriteLine("/DEF:src\mypasql.def libmysql.lib zlib.lib ws2_32.lib advapi32.lib /NODEFAULTLIB:LIBCMTD.lib") + f.WriteLine("LIBS=$(LIBS) libmysql.lib zlib.lib") + End If + If (UseDBEnc = "1") Then + f.WriteLine("BASE_CFLAGS=/D USE_ENCRYPTION /D ENCRYPT_MD5 $(BASE_CFLAGS)") + End If + f.WriteLine("MORE_CFLAGS = /I" & chr(34) & "../include" & chr(34)) + f.WriteLine("CFLAGS = /nologo $(VC6) $(CDEFS) $(BASE_CFLAGS) $(MORE_CFLAGS)") + f.close() + WScript.Echo "Configuration Complete!" + WScript.Echo "" + WScript.Echo "Type nmake -f Makefile.win32 to Compile Anope" +Else + WScript.Echo "" + WScript.Echo "Sorry, but you didn't have all the required libraries installed." + WScript.Echo "" + WScript.Echo "See http://windows.anope.org for a list of downloads needed to install Anope" + WScript.Echo "" +End If + |