File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / miniupnpc / msvc / genminiupnpcstrings.vbs
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Sep 27 11:21:37 2023 UTC (10 months, 2 weeks ago) by misho
Branches: miniupnpc, MAIN
CVS tags: v2_2_5p0, HEAD
Version 2.2.5p0

    1: ' VBScript to generate miniupnpcstrings.h
    2: ' Copyright 2018 Thomas Bernard
    3: 'Set WshShell = CreateObject("WScript.Shell")
    4: Set FSO = CreateObject("Scripting.FileSystemObject")
    5: versionfile = "..\version"
    6: infile = "..\miniupnpcstrings.h.in"
    7: outfile = "..\miniupnpcstrings.h"
    8: outfilerc = "..\rc_version.h"
    9: 
   10: On Error Resume Next
   11: 
   12: 'Wscript.Echo revision
   13: 
   14: Err.Clear
   15: Set f = FSO.OpenTextFile(versionfile, 1, False) ' 1 = Read
   16: If Err.Number = 0 Then
   17: 	version = f.ReadLine
   18: 	f.Close
   19: Else
   20: 	' Exit error
   21: 	WScript.Quit 1
   22: End If
   23: 
   24: os_version = "0.0.0"
   25: strComputer = "."
   26: Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
   27: Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
   28: For Each objOperatingSystem in colOperatingSystems
   29:     'Wscript.Echo objOperatingSystem.Caption & " -- " 
   30: 	os_version = objOperatingSystem.Version
   31: Next
   32: 
   33: 'Wscript.Echo os_version
   34: 
   35: Dim array
   36: needWrite = True
   37: 
   38: ' First Check if the file already contains the right versions
   39: Err.Clear
   40: Set f_in = FSO.OpenTextFile(outfile, 1, False)
   41: If Err.Number = 0 Then
   42: 	old_version = ""
   43: 	old_os_version = ""
   44: 	Do Until f_in.AtEndOfStream
   45: 		line = f_in.ReadLine
   46: 		If Len(line) > 0 Then
   47: 			array = Split(line, " ")
   48: 			If UBound(array) >= 2 And array(0) = "#define" Then
   49: 				If array(1) = "OS_STRING" Then
   50: 					old_os_version = Replace(array(2), Chr(34), "")
   51: 				ElseIf array(1) = "MINIUPNPC_VERSION_STRING" Then
   52: 					old_version = Replace(array(2), Chr(34), "")
   53: 				End if
   54: 			End if
   55: 		End If
   56: 	Loop
   57: 	f_in.Close
   58: 	If old_version = version And old_os_version = "MSWindows/" & os_version Then
   59: 		needWrite = False
   60: 	Else
   61: 		needWrite = True
   62: 	End If
   63: End If
   64: 
   65: If Not needWrite Then
   66: 	' check files dates
   67: 	Set fIn1 = FSO.GetFile(versionfile)
   68: 	Set fIn2 = FSO.GetFile(infile)
   69: 	Set fOut = FSO.GetFile(outfile)
   70: 	If DateDiff("s", fIn1.DateLastModified, fOut.DateLastModified) < 0 Then
   71: 		needWrite = True
   72: 	End If
   73: 	If DateDiff("s", fIn2.DateLastModified, fOut.DateLastModified) < 0 Then
   74: 		needWrite = True
   75: 	End If
   76: End If
   77: 
   78: If Not needWrite Then
   79:     ' nothing to do
   80: 	WScript.Quit 0
   81: End if
   82: 
   83: ' generate the file
   84: Err.Clear
   85: Set f_in = FSO.OpenTextFile(infile, 1, False)
   86: If Err.Number = 0 Then
   87: 	Set f_out = FSO.OpenTextFile(outfile, 2, True) ' 2 = Write
   88: 	Do Until f_in.AtEndOfStream
   89: 		line = f_in.ReadLine
   90: 		If Len(line) > 0 Then
   91: 			array = Split(line, " ")
   92: 			If UBound(array) >= 2 And array(0) = "#define" Then
   93: 				If array(1) = "OS_STRING" Then
   94: 					line = "#define OS_STRING " & Chr(34) & "MSWindows/" & os_version & Chr(34)
   95: 				ElseIf array(1) = "MINIUPNPC_VERSION_STRING" Then
   96: 					line = "#define MINIUPNPC_VERSION_STRING " & Chr(34) & version & Chr(34)
   97: 				End if
   98: 			End if
   99: 		End If
  100: 		f_out.WriteLine line
  101: 	Loop
  102: 	f_in.Close
  103: 	f_out.Close
  104: End If
  105: 
  106: Set f_out = FSO.OpenTextFile(outfilerc, 2, True) ' 2 = Write
  107: f_out.WriteLine "#define LIBMINIUPNPC_DOTTED_VERSION " & Chr(34) & version & Chr(34)
  108: ver = Split(version, ".")
  109: f_out.WriteLine "#define LIBMINIUPNPC_MAJOR_VERSION " & ver(0)
  110: f_out.WriteLine "#define LIBMINIUPNPC_MINOR_VERSION " & ver(1)
  111: f_out.WriteLine "#define LIBMINIUPNPC_MICRO_VERSION " & ver(2)
  112: f_out.Close

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>