forked from Mirrors/freeswitch
179 lines
5.7 KiB
Plaintext
179 lines
5.7 KiB
Plaintext
On Error Resume Next
|
|
Set WshShell = CreateObject("WScript.Shell")
|
|
Set FSO = CreateObject("Scripting.FileSystemObject")
|
|
Set WshSysEnv = WshShell.Environment("SYSTEM")
|
|
Set xml = CreateObject("Microsoft.XMLHTTP")
|
|
Set oStream = createobject("Adodb.Stream")
|
|
|
|
ScriptDir=Left(WScript.ScriptFullName,Len(WScript.ScriptFullName)-Len(WScript.ScriptName))
|
|
|
|
LibDestDir=Showpath(ScriptDir & "..\..\libs")
|
|
UtilsDir=Showpath(ScriptDir & "Tools")
|
|
|
|
GetTarGZObjects UtilsDir
|
|
|
|
If Not FSO.FolderExists(LibDestDir & "osip") Then
|
|
WgetUnTarGz "http://www.antisip.com/download/libosip2-2.2.1.tar.gz", LibDestDir
|
|
RenameFolder LibDestDir & "libosip2-2.2.1", "osip"
|
|
FSO.CopyFile Utilsdir & "osipparser2.vcproj", LibDestDir & "osip\platform\vsnet\", True
|
|
Upgrade LibDestDir & "osip\platform\vsnet\osipparser2.vcproj", LibDestDir & "osip\platform\vsnet\osipparser2.vcproj"
|
|
Upgrade LibDestDir & "osip\platform\vsnet\osip2.vcproj", LibDestDir & "osip\platform\vsnet\osip2.vcproj"
|
|
End If
|
|
|
|
If Not FSO.FolderExists(LibDestDir & "libeXosip2") Then
|
|
WgetUnTarGz "http://www.antisip.com/download/libeXosip2-1.9.1-pre17.tar.gz", LibDestDir
|
|
RenameFolder LibDestDir & "libeXosip2-1.9.1-pre17", "libeXosip2"
|
|
Upgrade LibDestDir & "libeXosip2\platform\vsnet\eXosip.vcproj", LibDestDir & "libeXosip2\platform\vsnet\eXosip.vcproj"
|
|
End If
|
|
|
|
If Not FSO.FolderExists(LibDestDir & "jthread-1.1.2") Then
|
|
WgetUnTarGz "http://research.edm.luc.ac.be/jori/jthread/jthread-1.1.2.tar.gz", LibDestDir
|
|
End If
|
|
|
|
If Not FSO.FolderExists(LibDestDir & "jrtplib") Then
|
|
WgetUnTarGz "http://research.edm.luc.ac.be/jori/jrtplib/jrtplib-3.3.0.tar.gz", LibDestDir
|
|
RenameFolder LibDestDir & "jrtplib-3.3.0", "jrtplib"
|
|
End If
|
|
|
|
If Not FSO.FolderExists(LibDestDir & "apr") Then
|
|
WgetUnTarGz "ftp://ftp.wayne.edu/apache/apr/apr-1.2.2.tar.gz", LibDestDir
|
|
RenameFolder LibDestDir & "apr-1.2.2", "apr"
|
|
Unix2dos LibDestDir & "apr\libapr.dsp"
|
|
Upgrade LibDestDir & "apr\libapr.dsp", LibDestDir & "apr\libapr.vcproj"
|
|
End If
|
|
|
|
WScript.Echo "Download Complete"
|
|
|
|
Sub RenameFolder(FolderName, NewFolderName)
|
|
Set Folder=FSO.GetFolder(FolderName)
|
|
Folder.Name = NewFolderName
|
|
End Sub
|
|
|
|
Sub Upgrade(OldFileName, NewFileName)
|
|
|
|
If WshSysEnv("VS80COMNTOOLS")<> "" Then
|
|
Set vcProj = CreateObject("VisualStudio.VCProjectEngine.8.0")
|
|
Else If WshSysEnv("VS71COMNTOOLS")<> "" Then
|
|
Set vcProj = CreateObject("VisualStudio.VCProjectEngine.7.1")
|
|
Else
|
|
Wscript.Echo("Did not find any Visual Studio .net 2003 or 2005 on your machine")
|
|
WScript.Quit(1)
|
|
End If
|
|
End If
|
|
|
|
|
|
' WScript.Echo("Converting: "+ OldFileName)
|
|
|
|
Set vcProject = vcProj.LoadProject(OldFileName)
|
|
If Not FSO.FileExists(vcProject.ProjectFile) Then
|
|
' // specify name and location of new project file
|
|
vcProject.ProjectFile = NewFileName
|
|
End If
|
|
' // call the project engine to save this off.
|
|
' // when no name is shown, it will create one with the .vcproj name
|
|
vcProject.Save()
|
|
' WScript.Echo("New Project Name: "+vcProject.ProjectFile+"")
|
|
|
|
End Sub
|
|
|
|
|
|
Sub Unix2dos(FileName)
|
|
Const OpenAsASCII = 0 ' Opens the file as ASCII (TristateFalse)
|
|
Const OpenAsUnicode = -1 ' Opens the file as Unicode (TristateTrue)
|
|
Const OpenAsDefault = -2 ' Opens the file using the system default
|
|
|
|
Const OverwriteIfExist = -1
|
|
Const FailIfNotExist = 0
|
|
Const ForReading = 1
|
|
|
|
Set fOrgFile = FSO.OpenTextFile(FileName, ForReading, FailIfNotExist, OpenAsASCII)
|
|
sText = fOrgFile.ReadAll
|
|
fOrgFile.Close
|
|
sText = Replace(sText, vbLf, vbCrLf)
|
|
Set fNewFile = FSO.CreateTextFile(FileName, OverwriteIfExist, OpenAsASCII)
|
|
fNewFile.WriteLine sText
|
|
fNewFile.Close
|
|
End Sub
|
|
|
|
Sub WgetUnTarGZ(URL, DestFolder)
|
|
If Right(DestFolder, 1) <> "\" Then DestFolder = DestFolder & "\" End If
|
|
StartPos = InstrRev(URL, "/", -1, 1)
|
|
strlength = Len(URL)
|
|
filename=Right(URL,strlength-StartPos)
|
|
Wget URL, DestFolder
|
|
UnTarGZ Destfolder & filename, DestFolder
|
|
End Sub
|
|
|
|
Sub GetTarGZObjects(DestFolder)
|
|
Dim oExec
|
|
|
|
If Right(DestFolder, 1) <> "\" Then DestFolder = DestFolder & "\" End If
|
|
|
|
If Not FSO.FileExists(DestFolder & "XTar.dll") Then
|
|
Wget "http://www.sofaswitch.org/mikej/XTar.dll", DestFolder
|
|
End If
|
|
|
|
If Not FSO.FileExists(DestFolder & "XGzip.dll") Then
|
|
Wget "http://www.sofaswitch.org/mikej/XGZip.dll", DestFolder
|
|
End If
|
|
|
|
Set oExec = WshShell.Exec("regsvr32 /s " & DestFolder & "XTar.dll")
|
|
|
|
Do While oExec.Status = 0
|
|
WScript.Sleep 100
|
|
Loop
|
|
|
|
Set oExec = WshShell.Exec("regsvr32 /s " & DestFolder & "XGZip.dll")
|
|
|
|
Do While oExec.Status = 0
|
|
WScript.Sleep 100
|
|
Loop
|
|
End Sub
|
|
|
|
Sub UnTarGZ(TGZfile, DestFolder)
|
|
|
|
Set objTAR = WScript.CreateObject("XStandard.TAR")
|
|
Set objGZip = WScript.CreateObject("XStandard.GZip")
|
|
' wscript.echo("Extracting: " & TGZfile)
|
|
objGZip.Decompress TGZfile, Destfolder
|
|
objTAR.UnPack Left(TGZfile, Len(TGZfile)-3), Destfolder
|
|
|
|
Set objTAR = Nothing
|
|
Set objGZip = Nothing
|
|
End Sub
|
|
|
|
|
|
Sub Wget(URL, DestFolder)
|
|
|
|
StartPos = InstrRev(URL, "/", -1, 1)
|
|
strlength = Len(URL)
|
|
filename=Right(URL,strlength-StartPos)
|
|
If Right(DestFolder, 1) <> "\" Then DestFolder = DestFolder & "\" End If
|
|
|
|
' Wscript.echo("Downloading: " & URL)
|
|
xml.Open "GET", URL, False
|
|
xml.Send
|
|
|
|
Const adTypeBinary = 1
|
|
Const adSaveCreateOverWrite = 2
|
|
Const adSaveCreateNotExist = 1
|
|
|
|
oStream.type = adTypeBinary
|
|
oStream.open
|
|
oStream.write xml.responseBody
|
|
|
|
' Do not overwrite an existing file
|
|
'oStream.savetofile DestFolder & filename, adSaveCreateNotExist
|
|
|
|
' Use this form to overwrite a file if it already exists
|
|
oStream.savetofile DestFolder & filename, adSaveCreateOverWrite
|
|
|
|
oStream.close
|
|
|
|
End Sub
|
|
|
|
|
|
Function Showpath(folderspec)
|
|
Set f = FSO.GetFolder(folderspec)
|
|
showpath = f.path
|
|
End Function |