Added support for C sources encoded as UTF-8 with BOM. Updated macro %USE_SDK% to avoid recording duplicates. Fixed macros ADD_POST_MAKE_ACTION & ADD_POST_MAKE_ACTION. Fixed a warning when running on Chinese Windows.

--- C/MsvcLibX/src/configure.bat
+++ C/MsvcLibX/src/configure.bat
@@ -43,7 +43,7 @@
 :#                  98DDK               Windows 98 DDK                        *
 :#                  BOOST               Boost C++ library   www.boost.org     *
 :#                  PTHREADS            www.sourceware.org/pthreads-win32     *
-:#                  LM21PTK             Lan Manager 2.1 Programmer's ToolKit  *
+:#                  LMPTK               Lan Manager 2.1 Programmer's ToolKit  *
 :#                  GNUEFI              gnu-efi.sourceforge.net w. JFL patches*
 :#                  Example:                                                  *
 :#                  %BEGIN_SDK_DEFS%                                          *
@@ -121,17 +121,29 @@
 :#   2016-04-13 JFL Display libraries found in the output summary.            *
 :#                  Generate a list of HAS_<lib> flags for the C compiler.    *
 :#   2016-04-22 JFL Renamed the MULTIOS library as SYSLIB.		      *
+:#   2016-07-12 JFL Added option -o to set the %OUTDIR% path.		      *
+:#   2016-08-24 JFL Added CONV variable definition for the conv.exe tool.     *
+:#   2016-09-01 JFL Merged in the latest batch debugging library updates.     *
+:#   2016-09-05 JFL Updated macro %USE_SDK% to avoid recording duplicates.    *
+:#		    Fixed macros ADD_POST_MAKE_ACTION & ADD_POST_MAKE_ACTION. *
+:#                  Fixed a warning when running on Chinese Windows.          *
 :#                                                                            *
 :#         Copyright 2016 Hewlett Packard Enterprise Development LP          *
 :# Licensed under the Apache 2.0 license  www.apache.org/licenses/LICENSE-2.0 *
 :#*****************************************************************************

 setlocal enableextensions enabledelayedexpansion
-set "VERSION=2016-04-22"
+set "VERSION=2016-09-05"
 set "SCRIPT=%~nx0"
 set "SPATH=%~dp0" & set "SPATH=!SPATH:~0,-1!"
 set "ARG0=%~f0"
 set  ARGS=%*
+:# FOREACHLINE macro. (Change the delimiter to none to catch the whole lines.)
+set FOREACHLINE=for /f "delims="
+
+:# Initialize ERRORLEVEL with known values
+set "TRUE.EXE=(call,)"	&:# Macro to silently set ERRORLEVEL to 0
+set "FALSE.EXE=(call)"	&:# Macro to silently set ERRORLEVEL to 1

 set "POPARG=call :PopArg"
 call :Macro.Init
@@ -264,6 +276,7 @@
 :#  History                                                                   #
 :#   2015-04-15 JFL Initial version, based on dostips.com samples, with       #
 :#                  changes so that they work with DelayedExpansion on.       #
+:#   2015-11-27 JFL Added a primitive macro debugging capability.             #
 :#                                                                            #
 :#----------------------------------------------------------------------------#

@@ -288,18 +301,46 @@
 set ^"LF4=^^^^^^^^^^^^%LF3%%LF3%^^^^%LF3%%LF3%"
 set ^"LF5=^^^^^^^^^^^^^^^^^^^^^^^^%LF4%%LF4%^^^^^^^^%LF4%%LF4%"

-:# Variable for use in inline macro functions
+:# Variables for use in inline macro functions
 set ^"\n=%LF3%^^^"	&:# Insert a LF and continue macro on next line
 set "^!=^^^^^^^!"	&:# Define a %!%DelayedExpansion%!% variable
 set "'^!=^^^!"		&:# Idem, but inside a quoted string
+set ">=^^^>"		&:# Insert a redirection character
 set "&=^^^&"		&:# Insert a command separator in a macro
-set "&2=^^^^^^^^^^^^^^^&"	&:# Idem, to be expanded twice
+:# Idem, to be expanded twice, for use in macros within macros
+set "^!2=^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!"
+set "'^!2=^^^^^^^!"
+set "&2=^^^^^^^^^^^^^^^&"

 set "MACRO=for %%$ in (1 2) do if %%$==2"			&:# Prolog code of a macro
-set "/MACRO=else setlocal enableDelayedExpansion %&% set ARGS="	&:# Epilog code of a macro
+set "/MACRO=else setlocal enableDelayedExpansion %&% set MACRO.ARGS="	&:# Epilog code of a macro

 set "ON_MACRO_EXIT=for /f "delims=" %%r in ('echo"	&:# Begin the return variables definitions
 set "/ON_MACRO_EXIT=') do endlocal %&% %%r"		&:# End the return variables definitions
+
+:# Primitive macro debugging definitions
+:# Macros, usable anywhere, including within other macros, for conditionally displaying debug information
+:# Use option -xd to set a > 0 macro debugging level.
+:# Usage: %IF_XDLEVEL% N command
+:# Runs command if the current macro debugging level is at least N.
+:# Ex: %IF_XDLEVEL% 2 set VARIABLE
+:# Recommended: Use set, instead of echo, to display variable values. This is sometimes
+:# annoying because this displays other unwanted variables. But this is the only way
+:# to be sure to display _all_ tricky characters correctly in any expansion mode.
+:# Note: These debugging macros slow down a lot their enclosing macro.
+:#       They should be removed from the released code.
+set "XDLEVEL=0" &:# 0=No macro debug; 1=medium debug; 2=full debug; 3=Even more debug
+set "IF_XDLEVEL=for /f %%' in ('call echo.%%XDLEVEL%%') do if %%' GEQ"
+
+:# While at it, and although this is unrelated to macros, define other useful ASCII control codes
+:# Define a CR variable containing a Carriage Return ('\x0D')
+for /f %%a in ('copy /Z %COMSPEC% nul') do set "CR=%%a"
+
+:# Define a BS variable containing a BackSpace ('\x08')
+:# Use prompt to store a  backspace+space+backspace into a DEL variable.
+for /F "tokens=1 delims=#" %%a in ('"prompt #$H# & echo on & for %%b in (1) do rem"') do set "DEL=%%a"
+:# Then extract the first backspace
+set "BS=%DEL:~0,1%"

 goto :eof
 :Macro.end
@@ -323,18 +364,16 @@
 :#                  EchoArgs	    Display the values of all arguments       #
 :#                                                                            #
 :#  Macros          %FUNCTION%	    Define and trace the entry in a function. #
+:#                  %UPVAR%         Declare a var. to pass back to the caller.#
 :#                  %RETURN%        Return from a function and trace it       #
-:#                  %RETURN#%       Idem, with comments after the return      #
-:#                  %RETVAL%        Default return value                      #
-:#                  %RETVAR%        Name of the return value. Default=RETVAL  #
 :#                                                                            #
 :#                  Always match uses of %FUNCTION% and %RETURN%. That is     #
 :#                  never use %RETURN% if there was no %FUNCTION% before it.  #
 :#                                                                            #
 :#                  :# Example of a factorial routine using this framework    #
 :#                  :Fact                                                     #
-:#                  %FUNCTION% Fact %*                                        #
-:#                  setlocal enableextensions enabledelayedexpansion          #
+:#                  %FUNCTION% enableextensions enabledelayedexpansion        #
+:#		    %UPVAR% RETVAL					      #
 :#                  set N=%1                                                  #
 :#                  if .%N%.==.0. (                                           #
 :#                    set RETVAL=1                                            #
@@ -343,7 +382,7 @@
 :#                    call :Fact !M!                                          #
 :#                    set /A RETVAL=N*RETVAL                                  #
 :#                  )                                                         #
-:#                  endlocal & set "RETVAL=%RETVAL%" & %RETURN%               #
+:#                  %RETURN%					              #
 :#                                                                            #
 :#                  %ECHO%	    Echo and log a string, indented           #
 :#                  %LOG%	    Log a string, indented                    #
@@ -356,6 +395,10 @@
 :#                                                                            #
 :#                  %IF_DEBUG%      Execute a command in debug mode only      #
 :#                  %IF_VERBOSE%    Execute a command in verbose mode only    #
+:#                                                                            #
+:#                  %FUNCTION0%	    Weak functions with no local variables.   #
+:#                  %RETURN0%       Return from a %FUNCTION0% and trace it    #
+:#                  %RETURN#%       Idem, with comments after the return      #
 :#                                                                            #
 :#  Variables       %>DEBUGOUT%     Debug output redirect. Either "" or ">&2".#
 :#                  %LOGFILE%       Log file name. Inherited. Default=NUL.    #
@@ -394,6 +437,28 @@
 :#   2013-12-04 JFL Added variable %>DEBUGOUT% to allow sending debug output  #
 :#                  either to stdout or to stderr.                            #
 :#   2015-10-29 JFL Added macro %RETURN#% to return with a comment.           #
+:#   2015-11-19 JFL %FUNCTION% now automatically generates its name & %* args.#
+:#                  (Simplifies usage, but comes at a cost of about a 5% slow #
+:#                   down when running in debug mode.)                        #
+:#                  Added an %UPVAR% macro allowing to define the list of     #
+:#                  variables that need to make it back to the caller.        #
+:#                  %RETURN% (Actually the Debug.return routine) now handles  #
+:#                  this variable back propagation using the (goto) trick.    #
+:#                  This works well, but the performance is poor.             #
+:#   2015-11-25 JFL Rewrote the %FUNCTION% and %RETURN% macros to manage      #
+:#                  most common cases without calling a subroutine. This      #
+:#                  resolves the performance issues of the previous version.  #
+:#   2015-11-27 JFL Redesigned the problematic character return mechanism     #
+:#                  using a table of predefined generic entities. Includes    #
+:#                  support for returning strings with CR & LF.		      #
+:#   2015-11-29 JFL Streamlined the macros and added lots of comments.        #
+:#                  The FUNCTION macro now runs with expansion enabled, then  #
+:#                  does a second setlocal in the end as requested.           #
+:#                  The RETURN macro now displays strings in debug mode with  #
+:#                  delayed expansion enabled. This fixes issues with CR & LF.#
+:#                  Added a backspace entity.                                 #
+:#   2015-12-01 JFL Bug fix: %FUNCTION% with no arg did change the exp. mode. #
+:#   2016-09-01 JFL Bug fix: %RETURN% incorrectly returned empty variables.   #
 :#                                                                            #
 :#----------------------------------------------------------------------------#

@@ -401,13 +466,95 @@
 goto :Debug.End

 :Debug.Init
-set "RETVAR=RETVAL"
+:# Preliminary checks to catch common problems
+if exist echo >&2 echo WARNING: The file "echo" in the current directory will cause problems. Please delete it and retry.
+:# Inherited variables from the caller: DEBUG, VERBOSE, INDENT, >DEBUGOUT
+:# Initialize other debug variables
 set "ECHO=call :Echo"
 set "ECHOVARS=call :EchoVars"
-set ">DEBUGOUT=" &:# ""=output debug messages to stdout; ">&2"=output to stderr
+:# Define variables for problematic characters, that cause parsing issues
+:# Use the ASCII control character name, or the html entity name.
+:# Warning: The excl and hat characters need different quoting depending on context.
+set "DEBUG.percnt=%%"	&:# One percent sign
+set "DEBUG.excl=^!"	&:# One exclamation mark
+set "DEBUG.hat=^"	&:# One caret, aka. circumflex accent, or hat sign
+set ^"DEBUG.quot=""	&:# One double quote
+set "DEBUG.apos='"	&:# One apostrophe
+set "DEBUG.amp=&"	&:# One ampersand
+set "DEBUG.vert=|"	&:# One vertical bar
+set "DEBUG.gt=>"	&:# One greater than sign
+set "DEBUG.lt=<"	&:# One less than sign
+set "DEBUG.lpar=("	&:# One left parenthesis
+set "DEBUG.rpar=)"	&:# One right parenthesis
+set "DEBUG.lbrack=["	&:# One left bracket
+set "DEBUG.rbrack=]"	&:# One right bracket
+set "DEBUG.sp= "	&:# One space
+set "DEBUG.tab=	"	&:# One tabulation
+set "DEBUG.cr=!CR!"	&:# One carrier return
+set "DEBUG.lf=!LF!"	&:# One line feed
+set "DEBUG.bs=!BS!"	&:# One backspace
+:# The FUNCTION, UPVAR, and RETURN macros should work with delayed expansion on or off
+set MACRO.GETEXP=(if "%'!2%%'!2%"=="" (set MACRO.EXP=EnableDelayedExpansion) else set MACRO.EXP=DisableDelayedExpansion)
+set UPVAR=call set DEBUG.RETVARS=%%DEBUG.RETVARS%%
+set RETURN=call set "DEBUG.ERRORLEVEL=%%ERRORLEVEL%%" %&% %MACRO% ( %\n%
+  set DEBUG.EXITCODE=%!%MACRO.ARGS%!%%\n%
+  if defined DEBUG.EXITCODE set DEBUG.EXITCODE=%!%DEBUG.EXITCODE: =%!%%\n%
+  if not defined DEBUG.EXITCODE set DEBUG.EXITCODE=%!%DEBUG.ERRORLEVEL%!%%\n%
+  set "DEBUG.SETARGS=" %\n%
+  for %%v in (%!%DEBUG.RETVARS%!%) do ( %\n%
+    set "DEBUG.VALUE=%'!%%%v%'!%" %# We must remove problematic characters in that value #% %\n%
+    if defined DEBUG.VALUE ( %# Else the following lines will generate phantom characters #% %\n%
+      set "DEBUG.VALUE=%'!%DEBUG.VALUE:%%=%%DEBUG.percnt%%%'!%"	%# Encode percent #% %\n%
+      for %%e in (sp tab cr lf quot) do for %%c in ("%'!%DEBUG.%%e%'!%") do ( %# Encode named character entities #% %\n%
+	set "DEBUG.VALUE=%'!%DEBUG.VALUE:%%~c=%%DEBUG.%%e%%%'!%" %\n%
+      ) %\n%
+      set "DEBUG.VALUE=%'!%DEBUG.VALUE:^^=%%DEBUG.hat%%%'!%"	%# Encode carets #% %\n%
+      call set "DEBUG.VALUE=%%DEBUG.VALUE:%!%=^^^^%%" 		%# Encode exclamation points #% %\n%
+      set "DEBUG.VALUE=%'!%DEBUG.VALUE:^^^^=%%DEBUG.excl%%%'!%"	%# Encode exclamation points #% %\n%
+    ) %\n%
+    set DEBUG.SETARGS=%!%DEBUG.SETARGS%!% "%%v=%'!%DEBUG.VALUE%'!%" %\n%
+  ) %\n%
+  if %!%DEBUG%!%==1 ( %# Build the debug message and display it #% %\n%
+    set "DEBUG.MSG=return %'!%DEBUG.EXITCODE%'!%" %\n%
+    for %%v in (%!%DEBUG.SETARGS%!%) do ( %\n%
+      set "DEBUG.MSG=%'!%DEBUG.MSG%'!% %%DEBUG.amp%% set %%v" %!% %\n%
+    ) %\n%
+    call set "DEBUG.MSG=%'!%DEBUG.MSG:%%=%%DEBUG.excl%%%'!%" %# Change all percent to ! #%  %\n%
+    if defined ^^%>%DEBUGOUT ( %# If we use a debugging stream distinct from stdout #% %\n%
+      call :Echo.Eval2DebugOut %!%DEBUG.MSG%!%%# Use a helper routine, as delayed redirection does not work #%%\n%
+    ) else ( %# Output directly here, which is faster #% %\n%
+      for /f "delims=" %%c in ("%'!%INDENT%'!%%'!%DEBUG.MSG%'!%") do echo %%c%# Use a for loop to do a double !variable! expansion #% %\n%
+    ) %\n%
+    if defined LOGFILE ( %# If we have to send a copy to a log file #% %\n%
+      call :Echo.Eval2LogFile %!%DEBUG.MSG%!%%# Use a helper routine, as delayed redirection does not work #%%\n%
+    ) %\n%
+  ) %\n%
+  for %%r in (%!%DEBUG.EXITCODE%!%) do ( %# Carry the return values through the endlocal barriers #% %\n%
+    for /f "delims=" %%a in (""" %'!%DEBUG.SETARGS%'!%") do ( %# The initial "" makes sure the body runs even if the arg list is empty #% %\n%
+      endlocal %&% endlocal %&% endlocal %# Exit the RETURN and FUNCTION local scopes #% %\n%
+      if "%'!%%'!%"=="" ( %# Delayed expansion is ON #% %\n%
+	set "DEBUG.SETARGS=%%a" %\n%
+	call set "DEBUG.SETARGS=%'!%DEBUG.SETARGS:%%=%%DEBUG.excl%%%'!%" %# Change all percent to ! #%  %\n%
+	for %%v in (%!%DEBUG.SETARGS:~3%!%) do ( %\n%
+	  set %%v %# Set each upvar variable in the caller's scope #% %\n%
+	) %\n%
+	set "DEBUG.SETARGS=" %\n%
+      ) else ( %# Delayed expansion is OFF #% %\n%
+	set "DEBUG.hat=^^^^" %# Carets need to be doubled to be set right below #% %\n%
+	for %%v in (%%a) do if not %%v=="" ( %\n%
+	  call set %%v %# Set each upvar variable in the caller's scope #% %\n%
+	) %\n%
+	set "DEBUG.hat=^^" %# Restore the normal value with a single caret #% %\n%
+      ) %\n%
+      exit /b %%r %# Return to the caller #% %\n%
+    ) %\n%
+  ) %\n%
+) %/MACRO%
 :Debug.Init.2
 set "LOG=call :Echo.Log"
-if .%LOGFILE%.==.NUL. set "LOG=rem"
+set ">>LOGFILE=>>%LOGFILE%"
+if not defined LOGFILE set "LOG=rem" & set ">>LOGFILE=rem"
+if .%LOGFILE%.==.NUL. set "LOG=rem" & set ">>LOGFILE=rem"
 set "ECHO.V=call :Echo.Verbose"
 set "ECHO.D=call :Echo.Debug"
 set "ECHOVARS.V=call :EchoVars.Verbose"
@@ -416,7 +563,7 @@
 :# Preserve INDENT if it contains just spaces, else clear it.
 for /f %%s in ('echo.%INDENT%') do set "INDENT="
 :# Preserve the log file name, else by default use NUL.
-if .%LOGFILE%.==.. set "LOGFILE=NUL"
+:# if not defined LOGFILE set "LOGFILE=NUL"
 :# VERBOSE mode can only be 0 or 1. Default is 0.
 if not .%VERBOSE%.==.1. set "VERBOSE=0"
 call :Verbose.%VERBOSE%
@@ -431,28 +578,57 @@
 :Debug.Off
 :Debug.0
 set "DEBUG=0"
+set "DEBUG.ENTRY=rem"
 set "IF_DEBUG=if .%DEBUG%.==.1."
-set "FUNCTION=rem"
-set "RETURN=exit /b"
+set "FUNCTION0=rem"
+set FUNCTION=%MACRO.GETEXP% %&% %MACRO% ( %\n%
+  call set "FUNCTION.NAME=%%0" %\n%
+  call set "ARGS=%%*"%\n%
+  set "DEBUG.RETVARS=" %\n%
+  if not defined MACRO.ARGS set "MACRO.ARGS=%'!%MACRO.EXP%'!%" %\n%
+  setlocal %!%MACRO.ARGS%!% %\n%
+) %/MACRO%
+set "RETURN0=exit /b"
 set "RETURN#=exit /b & rem"
 set "EXEC.ARGS= %EXEC.ARGS%"
 set "EXEC.ARGS=%EXEC.ARGS: -d=%"
 set "EXEC.ARGS=%EXEC.ARGS:~1%"
 :# Optimization to speed things up in non-debug mode
+if not defined LOGFILE set "ECHO.D=rem"
 if .%LOGFILE%.==.NUL. set "ECHO.D=rem"
+if not defined LOGFILE set "ECHOVARS.D=rem"
 if .%LOGFILE%.==.NUL. set "ECHOVARS.D=rem"
 goto :eof

 :Debug.On
 :Debug.1
 set "DEBUG=1"
+set "DEBUG.ENTRY=:Debug.Entry"
 set "IF_DEBUG=if .%DEBUG%.==.1."
-set "FUNCTION=call :Debug.Entry"
-set "RETURN=call :Debug.Return & exit /b"
+set "FUNCTION0=call call :Debug.Entry0 %%0 %%*"
+set FUNCTION=%MACRO.GETEXP% %&% %MACRO% ( %\n%
+  call set "FUNCTION.NAME=%%0" %\n%
+  call set "ARGS=%%*"%\n%
+  if %!%DEBUG%!%==1 ( %# Build the debug message and display it #% %\n%
+    if defined ^^%>%DEBUGOUT ( %# If we use a debugging stream distinct from stdout #% %\n%
+      call :Echo.2DebugOut call %!%FUNCTION.NAME%!% %!%ARGS%!%%# Use a helper routine, as delayed redirection does not work #%%\n%
+    ) else ( %# Output directly here, which is faster #% %\n%
+      echo%!%INDENT%!% call %!%FUNCTION.NAME%!% %!%ARGS%!%%\n%
+    ) %\n%
+    if defined LOGFILE ( %# If we have to send a copy to a log file #% %\n%
+      call :Echo.2LogFile call %!%FUNCTION.NAME%!% %!%ARGS%!%%# Use a helper routine, as delayed redirection does not work #%%\n%
+    ) %\n%
+    call set "INDENT=%'!%INDENT%'!%  " %\n%
+  ) %\n%
+  set "DEBUG.RETVARS=" %\n%
+  if not defined MACRO.ARGS set "MACRO.ARGS=%'!%MACRO.EXP%'!%" %\n%
+  setlocal %!%MACRO.ARGS%!% %\n%
+) %/MACRO%
+set "RETURN0=call :Debug.Return0 & exit /b"
 :# Macro for displaying comments on the return log line
 set RETURN#=set "RETURN#ERR=%'!%ERRORLEVEL%'!%" %&% %MACRO% ( %\n%
-  set RETVAL=%!%ARGS:~1%!%%\n%
-  call :Debug.Return %!%RETURN#ERR%!% %\n%
+  set RETVAL=%!%MACRO.ARGS:~1%!%%\n%
+  call :Debug.Return0 %!%RETURN#ERR%!% %\n%
   %ON_MACRO_EXIT% set "INDENT=%'!%INDENT%'!%" %/ON_MACRO_EXIT% %&% set "RETURN#ERR=" %&% exit /b %\n%
 ) %/MACRO%
 set "EXEC.ARGS= %EXEC.ARGS%"
@@ -463,15 +639,25 @@
 set "ECHOVARS.D=call :EchoVars.Debug"
 goto :eof

+:Debug.Entry0
+setlocal DisableDelayedExpansion
+%>DEBUGOUT% echo %INDENT%call %*
+if defined LOGFILE %>>LOGFILE% echo %INDENT%call %*
+endlocal
+set "INDENT=%INDENT%  "
+goto :eof
+
 :Debug.Entry
-%>DEBUGOUT% echo %INDENT%call :%*
->>%LOGFILE% echo %INDENT%call :%*
+setlocal DisableDelayedExpansion
+%>DEBUGOUT% echo %INDENT%call %FUNCTION.NAME% %ARGS%
+if defined LOGFILE %>>LOGFILE% echo %INDENT%call %FUNCTION.NAME% %ARGS%
+endlocal
 set "INDENT=%INDENT%  "
 goto :eof

-:Debug.Return %1=Optional exit code
+:Debug.Return0 %1=Optional exit code
 %>DEBUGOUT% echo %INDENT%return !RETVAL!
->>%LOGFILE% echo %INDENT%return !RETVAL!
+if defined LOGFILE %>>LOGFILE% echo %INDENT%return !RETVAL!
 set "INDENT=%INDENT:~0,-2%"
 exit /b %1

@@ -484,7 +670,9 @@
 set "EXEC.ARGS=%EXEC.ARGS: -v=%"
 set "EXEC.ARGS=%EXEC.ARGS:~1%"
 :# Optimization to speed things up in non-verbose mode
+if not defined LOGFILE set "ECHO.V=rem"
 if .%LOGFILE%.==.NUL. set "ECHO.V=rem"
+if not defined LOGFILE set "ECHOVARS.V=rem"
 if .%LOGFILE%.==.NUL. set "ECHOVARS.V=rem"
 goto :eof

@@ -504,7 +692,7 @@
 :Echo
 echo.%INDENT%%*
 :Echo.Log
->>%LOGFILE% 2>&1 echo.%INDENT%%*
+if defined LOGFILE %>>LOGFILE% echo.%INDENT%%*
 goto :eof

 :Echo.Verbose
@@ -514,6 +702,18 @@
 :Echo.Debug
 %IF_DEBUG% goto :Echo
 goto :Echo.Log
+
+:Echo.Eval2DebugOut %*=String with variables that need to be evaluated first
+:# Must be called with delayed expansion on, so that !variables! within %* get expanded
+:Echo.2DebugOut	%*=String to output to the DEBUGOUT stream
+%>DEBUGOUT% echo.%INDENT%%*
+goto :eof
+
+:Echo.Eval2LogFile %*=String with variables that need to be evaluated first
+:# Must be called with delayed expansion on, so that !variables! within %* get expanded
+:Echo.2LogFile %*=String to output to the LOGFILE
+%>>LOGFILE% echo.%INDENT%%*
+goto :eof

 :# Echo and log variable values, indented at the same level as the debug output.
 :EchoVars
@@ -521,14 +721,14 @@
 :EchoVars.loop
 if "%~1"=="" endlocal & goto :eof
 %>DEBUGOUT% echo %INDENT%set "%~1=!%~1!"
->>%LOGFILE% echo %INDENT%set "%~1=!%~1!"
+if defined LOGFILE %>>LOGFILE% echo %INDENT%set "%~1=!%~1!"
 shift
 goto EchoVars.loop

 :EchoVars.Verbose
 %IF_VERBOSE% (
   call :EchoVars %*
-) else (
+) else ( :# Make sure the variables are logged
   call :EchoVars %* >NUL 2>NUL
 )
 goto :eof
@@ -536,7 +736,7 @@
 :EchoVars.Debug
 %IF_DEBUG% (
   call :EchoVars %*
-) else (
+) else ( :# Make sure the variables are logged
   call :EchoVars %* >NUL 2>NUL
 )
 goto :eof
@@ -584,6 +784,7 @@
 :#                              modes; Log it always.                         #
 :#                              Useful to display commands in cases where     #
 :#                              %EXEC% can't be used, like in for ('cmd') ... #
+:#                  %IF_EXEC%   Execute a command if _not_ in NOEXEC mode     #
 :#                  %IF_NOEXEC% Execute a command in NOEXEC mode only         #
 :#                                                                            #
 :#  Variables       %LOGFILE%	Log file name.                                #
@@ -627,7 +828,6 @@
 set "EXEC=call :Exec"
 set "ECHO.X=call :Echo.NoExec"
 set "ECHO.XVD=call :Echo.XVD"
-if .%LOGFILE%.==.. set "LOGFILE=NUL"
 if not .%NOEXEC%.==.1. set "NOEXEC=0"
 if not .%NOREDIR%.==.1. set "NOREDIR=0"
 :# Check if there's a tee.exe program available
@@ -683,7 +883,8 @@
 :Exec.Start
 set "Exec.Redir=>>%LOGFILE%,2>&1"
 if .%NOREDIR%.==.1. set "Exec.Redir="
-if .%LOGFILE%.==.NUL. set "Exec.Redir="
+if not defined LOGFILE set "Exec.Redir="
+if /i .%LOGFILE%.==.NUL. set "Exec.Redir="
 :# Process optional arguments
 set "Exec.GotCmd=Exec.GotCmd"   &:# By default, the command line is %* for :Exec
 goto :Exec.GetArgs
@@ -691,7 +892,8 @@
 set "Exec.GotCmd=Exec.BuildCmd" &:# An :Exec argument was found, we'll have to rebuild the command line
 shift
 :Exec.GetArgs
-if "%~1"=="-t" ( :# Tee the output to the log file
+if "%~1"=="-L" set "Exec.Redir=" & goto :Exec.NextArg :# Do not send the output to the log file
+if "%~1"=="-t" if defined LOGFILE ( :# Tee the output to the log file
   :# Warning: This prevents from getting the command exit code!
   if .%Exec.HaveTee%.==.1. set "Exec.Redir= 2>&1 | tee.exe -a %LOGFILE%"
   goto :Exec.NextArg
@@ -728,7 +930,7 @@
 %IF_DEBUG% set "Exec.Echo=echo"
 %IF_VERBOSE% set "Exec.Echo=echo"
 %>DEBUGOUT% %Exec.Echo%.%INDENT%%Exec.toEcho%
->>%LOGFILE% echo.%INDENT%%Exec.toEcho%
+if defined LOGFILE %>>LOGFILE% echo.%INDENT%%Exec.toEcho%
 :# Constraints at this stage:
 :# The command exit code must make it through, back to the caller.
 :# The local variables must disappear before return.
@@ -742,7 +944,7 @@

 :Exec.ShowExitCode
 %IF_DEBUG% %>DEBUGOUT% echo.%INDENT%  exit %ERRORLEVEL%
->>%LOGFILE% echo.%INDENT%  exit %ERRORLEVEL%
+if defined LOGFILE %>>LOGFILE% echo.%INDENT%  exit %ERRORLEVEL%
 exit /b %ERRORLEVEL%

 :Exec.End
@@ -750,6 +952,74 @@
 :#----------------------------------------------------------------------------#
 :#                        End of the debugging library                        #
 :#----------------------------------------------------------------------------#
+
+:#----------------------------------------------------------------------------#
+:#                                                                            #
+:#  Function        Reg.Xxxxx						      #
+:#                                                                            #
+:#  Description     Registry management functions                             #
+:#                                                                            #
+:#  Arguments                                                                 #
+:#                                                                            #
+:#  Notes 	                                                              #
+:#                                                                            #
+:#  History                                                                   #
+:#                                                                            #
+:#----------------------------------------------------------------------------#
+
+:# Get a registry value content. Args: KEY NAME [VALUEVAR [TYPEVAR]]
+:Reg.GetValue
+%FUNCTION% enableextensions enabledelayedexpansion
+set "KEY="
+set "NAME="
+set "VALUEVAR="
+set "TYPEVAR="
+:get_value_args
+if "%~1"=="" goto got_value_args
+if not defined KEY set "KEY=%~1" & shift & goto get_value_args
+if not defined NAME set "NAME=%~1" & shift & goto get_value_args
+if not defined VALUEVAR set "VALUEVAR=%~1" & shift & goto get_value_args
+if not defined TYPEVAR set "TYPEVAR=%~1" & shift & goto get_value_args
+:got_value_args
+if not defined VALUEVAR set "VALUEVAR=VALUE"
+set "%VALUEVAR%="
+:# Returning the type is optional. Do not define a default for TYPEVAR.
+%ECHOVARS.D% KEY NAME VALUEVAR TYPEVAR
+%UPVAR% %VALUEVAR%
+if defined TYPEVAR %UPVAR% %TYPEVAR%
+if "%NAME%"=="" (
+  set CMD=reg query "%KEY%" /ve
+) else (
+  set CMD=reg query "%KEY%" /v "%NAME%"
+)
+%ECHO.D% %CMD%
+:# For each line in CMD output...
+%FOREACHLINE% %%i in ('%CMD% 2^>NUL') do (
+  set "LINE=%%i"
+  %ECHOVARS.D% LINE
+  :# Values are indented by 4 spaces.
+  set "HEAD=!LINE:~0,4!"
+  set "LINE=!LINE:~4!"
+  :# But extra lines of multi-lined values are indented by >20 spaces.
+  set "HEAD2=!LINE:~0,4!"
+  if "!HEAD!"=="    " if not "!HEAD2!"=="    " (
+    :# Some versions of reg.exe use 4 spaces as field separator; others use a TAB.
+    :# Change the 4-spaces around the REG_XX type word to a TAB.
+    set "TOKENS=!LINE:    =	!"
+    %ECHOVARS.D% TOKENS
+    :# Extract the value name as the first item before the first TAB.
+    :# Names can contain spaces, but assume they don't contain TABs.
+    for /f "tokens=1,2* delims=	" %%j in ("!TOKENS!") do (
+      set "NAME=%%j"
+      set "TYPE=%%k"
+      set "VALUE=%%l"
+      %ECHOVARS.D% NAME TYPE VALUE
+    )
+  )
+)
+set %VALUEVAR%=!VALUE!
+if defined TYPEVAR set %TYPEVAR%=%TYPE%
+%RETURN%

 :#----------------------------------------------------------------------------#
 :#                                                                            #
@@ -769,11 +1039,11 @@
 :# %1 = Input/Output variable name
 :# %2 = element value
 :lappend
-:# %FUNCTION% lappend %1 %2
+:# %FUNCTION0%
 if defined %~1 call set "%~1=%%%~1%% "
 call set "%~1=%%%~1%%"%~2""
 :# %ECHOVARS.D% "%~1"
-:# %RETURN%
+:# %RETURN0%
 goto :eof

 :#----------------------------------------------------------------------------#
@@ -808,7 +1078,7 @@
 :# Find Microsoft's 16-bits development tools

 :find16
-%FUNCTION% find16 %*
+%FUNCTION0%
 :# Microsoft assembler
 :# If specified on the command line, and looking reasonably valid, then use it.
 if not "%MASM%" == "" if exist "%MASM%\BIN\ML.EXE" goto :find16.found_masm
@@ -858,7 +1128,7 @@

 :# Find the latest Visual Studio version supporting the specified OS & architecture
 :findvs %1=OS %2=Proc (x86|x64|amd|...) %3=VSNAME %4=VCNAME
-%FUNCTION% findvs %*
+%FUNCTION0%
 set "VS=%~3"
 set "VC=%~4"
 if /i "%~2"=="x86" (
@@ -884,14 +1154,14 @@
 goto :lastvs &:# Scan all Visual Studio versions

 :findvs95	&:# Find the latest Visual Studio version supporting Win95 development
-%FUNCTION% findvs95 %*
+%FUNCTION0%
 set "VS=VS95"
 set "VC=VC95"
 set "SEARCH_IN=call :FindVsIn x86 bin"
 goto :lastvs95	&:# Skip all Visual Studio versions that don't support Win95 development anymore

 :findvsXP	&:# Find the latest Visual Studio version supporting WinXP development
-%FUNCTION% findvsXP %*
+%FUNCTION0%
 set "VS=VSXP"
 set "VC=VSXP"
 set "SEARCH_IN=call :FindVsIn x86 bin"
@@ -928,14 +1198,14 @@
 %SEARCH_IN% "Microsoft Visual Studio .NET"	&& goto :foundvs    &:# VS 7.0
 %SEARCH_IN% "Microsoft Visual Studio"		&& goto :foundvs    &:# VS 6
 SET "%VS%="
-%RETURN%
+%RETURN0%
 :foundvs

 :# Find Visual Studio Common Files, which can have one of two names.
 :# The common files subdirectory can be named Common or Common7 depending on the VS version.
 SET "%VS%.COMMON="
 if exist "!%VS%!\Common*" for %%d in (Common7 Common) do if exist "!%VS%!\%%d\Tools" set "%VS%.COMMON=!%VS%!\%%d"
-if not defined %VS%.COMMON %RETURN%
+if not defined %VS%.COMMON %RETURN0%

 :# Find Visual Studio IDE Files, which can have one of two names.
 set "%VS%.IDE=!%VS%.COMMON!\msdev98\BIN" &:# The location for Visual Studio 6.0
@@ -956,7 +1226,7 @@
 :# Then they were called Windows SDKs, and optionally included libraries for multiple platforms=processors
 :# Then they were called Windows Kits, with a different tree structure.
 :findsdk
-%FUNCTION% findsdk %*
+%FUNCTION0%
 SET WINSDK=
 set "WINSDKMIN=NONE"
 set "WINSDKMAX="
@@ -1051,7 +1321,7 @@
 :# Find 32 or 64-bits Microsoft Visual C++

 :findvc32 %1=OS %2=Proc %3=VSVAR %4=VCVAR
-%FUNCTION% findvc32 %*
+%FUNCTION0%
 set "TOS=%~1" & if not defined TOS set "TOS=WIN32"
 set "PROC=%~2" & if not defined PROC set "PROC=x86"
 set "VS=%~3" & if not defined VS set "VS=VS32"
@@ -1059,12 +1329,12 @@
 call :findvs %TOS% %PROC% %VS% %VC%
 :findvc32.common
 if not defined %VS% set "%VC%="
-if not defined %VC% %RETURN%
+if not defined %VC% %RETURN0%
 %ECHO% %TOS%	CC	%PROC%	!%VC%.CC!
 %RETURN#% "%VC%=!%VC%!"

 :findvc95
-%FUNCTION% findvc95 %*
+%FUNCTION0%
 set "TOS=WIN95"
 set "PROC=x86"
 set "VS=VS95"
@@ -1076,49 +1346,49 @@
 :# Find Microsoft 32 or 64-bits development tools

 :find32
-%FUNCTION% find32 %*
+%FUNCTION0%
 call :findvc32 WIN32 x86 VS32 VC32
 call :findsdk -Platform %PROC%
-if not defined VC32 %RETURN%
+if not defined VC32 %RETURN0%
 goto :find32.common

 :find95
-%FUNCTION% find95 %*
+%FUNCTION0%
 call :findvc95 WIN95 x86 VS95 VC95
 call :findsdk -Platform %PROC% -Max 7.1a
-if not defined VC95 %RETURN%
+if not defined VC95 %RETURN0%
 goto :find32.common

 :findia64
-%FUNCTION% findia64 %*
+%FUNCTION0%
 call :findvc32 IA64 IA64 VSIA64 VCIA64
 call :findsdk -Platform %PROC%
-if not defined VCIA64 %RETURN%
+if not defined VCIA64 %RETURN0%
 goto :find32.common

 :find64
-%FUNCTION% find64 %*
+%FUNCTION0%
 call :findvc32 WIN64 amd64 VS64 VC64
 call :findsdk -Platform x64 &:# Unfortunately this one is named differently in VC and WinSDK
-if not defined VC64 %RETURN%
+if not defined VC64 %RETURN0%
 goto :find32.common

 :findarm
-%FUNCTION% findarm %*
+%FUNCTION0%
 call :findvc32 ARM arm VSARM VCARM
 call :findsdk -Platform %PROC%
-if not defined VCARM %RETURN%
+if not defined VCARM %RETURN0%
 goto :find32.common

 :findarm64
-%FUNCTION% findarm64 %*
+%FUNCTION0%
 call :findvc32 ARM64 arm64 VSARM64 VCARM64
 call :findsdk -Platform %PROC%
-if not defined VCARM64 %RETURN%
+if not defined VCARM64 %RETURN0%
 goto :find32.common

 :FindUCRT
-%FUNCTION% FindUCRT %*
+%FUNCTION0%
 set "UCRT="
 set "UCRT.VER="
 :# Search new Windows Kits.
@@ -1241,6 +1511,7 @@
 echo   -d            Debug mode. Display internal variables and function calls
 echo   -masm PATH    Path to MASM install dir. Default: C:\MASM
 echo   -msvc PATH    Path to MSVC 16-bits tools install dir. Default: C:\MSVC
+echo   -o OUTDIR     Output base directory. Default: .
 echo   -v            Verbose mode. Display what this script does
 echo   -vs PATH      Path to Visual Studio install dir. Default: Latest avail.
 echo   -V            Display %SCRIPT% version
@@ -1266,10 +1537,11 @@
 if "!ARG!"=="-h" goto help
 if "!ARG!"=="-masm" %POPARG% & set "MASM=!ARG!" & goto next_arg
 if "!ARG!"=="-msvc" %POPARG% & set "MSVC=!ARG!" & goto next_arg
+if "!ARG!"=="-o" %POPARG% & set "OUTDIR=!ARG!" & goto next_arg
 if "!ARG!"=="-v" call :Verbose.On & goto next_arg
 if "!ARG!"=="-vs" %POPARG% & set "VSTUDIO=!ARG!" & goto next_arg
 if "!ARG!"=="-V" (echo %VERSION%) & goto :eof
->&2 echo Unexpected argument ignored: %1
+>&2 echo Unexpected argument ignored: !"ARG"!
 goto next_arg

 :go
@@ -1317,18 +1589,24 @@
 set "SDK_LIST=" &:# List of variable names, defining the SDK install directories.
 :# Macro, for use in configure.*.bat scripts, to easily add variables to %SDK_LIST%
 set USE_SDK=%MACRO% ( %\n%
-  if defined SDK_LIST set "SDK_LIST=%'!%SDK_LIST%'!% " %\n%
-  %ON_MACRO_EXIT% set "SDK_LIST=%'!%SDK_LIST%'!%%'!%ARGS:~1%'!%" %/ON_MACRO_EXIT% %\n%
+  for %%a in (%!%MACRO.ARGS%!%) do ( %\n%
+    set "USE_SDK_TMP_LIST= %'!%SDK_LIST%'!% " %\n%
+    if "%'!%USE_SDK_TMP_LIST: %%a =%'!%"=="%'!%USE_SDK_TMP_LIST%'!%" ( %\n%
+      if defined SDK_LIST set "SDK_LIST=%'!%SDK_LIST%'!% " %\n%
+      set "SDK_LIST=%'!%SDK_LIST%'!%%%a" %\n%
+    ) %\n%
+  ) %\n%
+  %ON_MACRO_EXIT% set "SDK_LIST=%'!%SDK_LIST%'!%" %/ON_MACRO_EXIT% %\n%
 ) %/MACRO%
 %IF_DEBUG% set USE_SDK &:# Display the macro, for debugging changes

 :# Define a series of commands, separated by &, to run further down before generating the main sections of config.h
-set "=" &:# Use %% (inverted exclamation mark) instead of ! for declaring delayed expansion variables
+set "=" &:# Use %% (Two inverted exclamation marks - Required for DBCS languages) instead of ! for declaring delayed expansion variables
 set "POST_CONFIG_ACTIONS="
 :# Macro, for use in configure.*.bat scripts, to easily add commands to %POST_CONFIG_ACTIONS%
 set ADD_POST_CONFIG_ACTION=%MACRO% ( %\n%
   if defined POST_CONFIG_ACTIONS set "POST_CONFIG_ACTIONS=%'!%POST_CONFIG_ACTIONS%'!% %&% " %\n%
-  %ON_MACRO_EXIT% set "POST_CONFIG_ACTIONS=%'!%POST_CONFIG_ACTIONS%'!%%'!%ARGS:~1%'!%" %/ON_MACRO_EXIT% %\n%
+  %ON_MACRO_EXIT% set "POST_CONFIG_ACTIONS=%'!%POST_CONFIG_ACTIONS%'!%%'!%MACRO.ARGS:~1%'!%" %/ON_MACRO_EXIT% %\n%
 ) %/MACRO%
 %IF_DEBUG% set ADD_POST_CONFIG_ACTION &:# Display the macro, for debugging changes

@@ -1337,7 +1615,7 @@
 :# Macro, for use in configure.*.bat scripts, to easily add commands to %POST_MAKE_ACTIONS%
 set ADD_POST_MAKE_ACTION=%MACRO% ( %\n%
   if defined POST_MAKE_ACTIONS set "POST_MAKE_ACTIONS=%'!%POST_MAKE_ACTIONS%'!% %&% " %\n%
-  %ON_MACRO_EXIT% set "POST_MAKE_ACTIONS=%'!%POST_MAKE_ACTIONS%'!%%'!%ARGS:~1%'!%" %/ON_MACRO_EXIT% %\n%
+  %ON_MACRO_EXIT% set "POST_MAKE_ACTIONS=%'!%POST_MAKE_ACTIONS%'!%%'!%MACRO.ARGS:~1%'!%" %/ON_MACRO_EXIT% %\n%
 ) %/MACRO%
 %IF_DEBUG% set ADD_POST_MAKE_ACTION &:# Display the macro, for debugging changes

@@ -1369,13 +1647,13 @@
 set "SDK.MSVCLIBX.NAME=MSVC Library eXtensions library"
 set "SDK.MSVCLIBX.FILE=include\msvclibx.h"

-set "SDK.LM21PTK.NAME=LanManager 2.1 Programmer's ToolKit"
-set "SDK.LM21PTK.FILE=DOS\NETSRC\H\lan.h"
+set "SDK.LMPTK.NAME=LanManager 2.1 Programmer's ToolKit"
+set "SDK.LMPTK.FILE=DOS\NETSRC\H\lan.h"

 set "SDK.98DDK.NAME=Windows 98 DDK"
 set "SDK.98DDK.FILE=INC\Win98\vmm.h"

-set "SDK.GNUEFI.NAME=gnu-efi sources with JFL patches"
+set "SDK.GNUEFI.NAME=gnu-efi sources"
 set "SDK.GNUEFI.DIR=gnu-efi"
 set "SDK.GNUEFI.FILE=inc\efi.h"

@@ -1438,8 +1716,8 @@
       SET "%%v.INCPATH=%MSVCLIBX%\include;!%%v.INCPATH!" &:# Include MsvcLibX's _before_ MSVC's own include files
       SET "%%v.LIBPATH=%MSVCLIBX%\lib;!%%v.LIBPATH!"
     )
-    if "%%k"=="LM21PTK" ( :# LanManager 2.1 Programmer's ToolKit
-      SET "%%v.INCPATH=!%%v.INCPATH!;%LM21PTK%\DOS\NETSRC\H"
+    if "%%k"=="LMPTK" ( :# LanManager 2.1 Programmer's ToolKit
+      SET "%%v.INCPATH=!%%v.INCPATH!;%LMPTK%\DOS\NETSRC\H"
     )
     if "%%k"=="98DDK" ( :# Windows 98 DDK
       :# Gotcha: Do not use %98DDK% here, as it's not expanded correctly in set xxxx16 commands
@@ -1551,6 +1829,24 @@
 set PATH16=%MSVC%\bin;%PATH0%
 set PATH32=%MSVC32%\bin;%VSIDE%;%VSTOOLS%;%PATH0%
 set PATH64=%MSVC32%\bin\amd64;%VSIDE%\amd64;%VSTOOLS%\amd64;%PATH0%
+
+:# Find the conv.exe tool, that we use for some builds
+:# set "CONV="
+:# for /f "delims=" %%p in ('where conv.exe') do @if not defined CONV set "CONV=%%p"
+:# for %%p in (WIN32\conv.exe WIN64\conv.exe) do @if not defined CONV set "CONV=%%p"
+
+:# Get the Windows system Code Page
+call :Reg.GetValue HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage ACP WIN.CP
+:# Get the corresponding Character Set
+call :Reg.GetValue HKLM\SOFTWARE\Classes\MIME\Database\Codepage\%WIN.CP% BodyCharset WIN.CS
+if not defined WIN.CS set "WIN.CS=cp%WIN.CP%"
+
+:# Get the DOS cmd.exe Code Page
+for /f "tokens=2 delims=:" %%n in ('chcp') do set "DOS.CP=%%n"
+set "DOS.CP=%DOS.CP: =%" &:# Trim spaces
+:# Get the corresponding Character Set
+call :Reg.GetValue HKLM\SOFTWARE\Classes\MIME\Database\Codepage\%DOS.CP% BodyCharset DOS.CS
+if not defined DOS.CS set "DOS.CS=cp%DOS.CP%"

 :# Optional chance to undo the above, or prepend something _ahead_ of them.
 if defined POST_CONFIG_ACTIONS set "POST_CONFIG_ACTIONS=%POST_CONFIG_ACTIONS:=^!%" &:# Prepare delayed variables expansion
@@ -1577,6 +1873,15 @@
 %CONFIG% SET "VSTOOLS=%VSTOOLS%" ^&:# Microsoft Visual Studio Tools (Short paths)
 %CONFIG% SET "MSVC32LONG=%MSVC32LONG%" ^&:# Microsoft Visual C++ 32/64 bits (Long path)
 %CONFIG% SET "MSVC32=%MSVC32%" ^&:# Microsoft Visual C++ 32/64 bits (Short path)
+:# %CONFIG%.
+:# %CONFIG% SET "CONV=%CONV%" ^&:# SysToolsLib's code page conversion tool
+
+:# Environment variables
+%CONFIG%.
+%CONFIG% SET "WIN_CP=%WIN.CP%" ^&:# Windows Code Page
+%CONFIG% SET "WIN_CS=%WIN.CS%" ^&:# Windows Character Set
+%CONFIG% SET "DOS_CP=%DOS.CP%" ^&:# DOS Code Page
+%CONFIG% SET "DOS_CS=%DOS.CS%" ^&:# DOS Character Set

 :# Clear Target-OS-specific variables that will be selected in OS-specific make files
 %CONFIG%.
@@ -1614,6 +1919,12 @@
   %CONFIG% SET "%%k_WINSDK=!%%l.WINSDK!" ^&:# Microsoft Windows %%m SDK
 )

+:# Output base directory
+if defined OUTDIR (
+  %CONFIG%.
+  %CONFIG% SET "OUTDIR=%OUTDIR%" ^&:# Output base directory
+)
+
 if defined POST_MAKE_ACTIONS (
   %CONFIG%.
   %CONFIG% :# List of commands to run when make.bat exits


commit on 04/02/2019 at 16:06:07

commit on 04/02/2019 at 16:06:07

--- ansys-APDL/fiberCPstress.cmd
+++ ansys-APDL/fiberCPstress.cmd
@@ -199,7 +199,7 @@
 ! LESIZE, NL1, SIZE, ANGSIZ, NDIV, SPACE, KFORC, LAYER1, LAYER2, KYNDIV
 LESIZE, 1, , , 20                                    !1  -- S side, fiber
 LESIZE, 2, , , 50                                    !2  -- S side, matrix
-LESIZE, 3, , , 100+50*nAb                            !3  -- E side, 90 ply
+LESIZE, 3, , , 100+20*nAb                            !3  -- E side, 90 ply
 LESIZE, 4, , , 25                                    !4  -- E side, 0 ply
 LESIZE, 6, , , 70                                    !6  -- Ply interface
 LESIZE, 7, , , 25                                    !7  -- W side, 0 ply
@@ -207,6 +207,10 @@
 LESIZE, 9, , , 100                                   !9  -- W side, 90 ply, first interfiber matrix region

 LESIZE, 2*nAb+10, , angSize
+
+*DO, i, 1, nAb-1, 1
+ LESIZE, 10+i, , , 10                                !10+i -- W side, 90 ply, interfiber matrix regions
+*ENDDO

 ! Define Element Type


Deploy Version Bump

Deploy Version Bump

--- ToUmbracoInstall.cmd
+++ ToUmbracoInstall.cmd
@@ -12,7 +12,7 @@
 REM

-SET UmbracoPath=D:\Development\Web\Umbraco\DevUmbraco7.1.4
+SET UmbracoPath=D:\Development\Web\Umbraco\DevUmbraco7.1.6
 ECHO Copying File %1 to "%UmbracoPath%\%2"
 XCOPY %1 "%UmbracoPath%\%2" /y /i /q


pull topic

pull topic

--- pull_master.bat
+++ pull_master.bat
@@ -1,4 +1,4 @@
-git pull oschina master
+git pull oschina topic:topic
 ::net stop server
 ping /n 8 127.1 >nul
 ::net start server


Fix .bat variables quoting.

Fix .bat variables quoting.

--- scripts/build-appveyor.bat
+++ scripts/build-appveyor.bat
@@ -7,8 +7,8 @@
 SET PATH=%CD%;%PATH%
 SET msvs_version=2013
 IF "%msvs_toolset%"=="14" SET msvs_version=2015
-IF NOT "%NODE_RUNTIME%"=="" SET TOOLSET_ARGS="%TOOLSET_ARGS% --runtime=%NODE_RUNTIME%"
-IF NOT "%NODE_RUNTIME_VERSION%"=="" SET TOOLSET_ARGS="%TOOLSET_ARGS% --target=%NODE_RUNTIME_VERSION%"
+IF NOT "%NODE_RUNTIME%"=="" SET "TOOLSET_ARGS=%TOOLSET_ARGS% --runtime=%NODE_RUNTIME%"
+IF NOT "%NODE_RUNTIME_VERSION%"=="" SET "TOOLSET_ARGS=%TOOLSET_ARGS% --target=%NODE_RUNTIME_VERSION%"

 ECHO APPVEYOR^: %APPVEYOR%
 ECHO nodejs_version^: %nodejs_version%


Updated for single conversion

Updated for single conversion

--- batch/convert_microsoft_office_to_pdf.bat
+++ batch/convert_microsoft_office_to_pdf.bat
@@ -3,7 +3,8 @@
 SETLOCAL EnableExtensions EnableDelayedExpansion

 REM Check that the script can run
-SET script=%~n0
+SET scriptDirectory=%~dp0
+SET script=%scriptDirectory%%~n0
 IF NOT EXIST "%script%.vbs" (
     ECHO [ERROR] VBScript for conversion not found
     GOTO :EOF
@@ -11,21 +12,15 @@
     SET vbs="%script%.vbs"
 )

-REM Get number of documents
-SET count=0
-FOR %%x in (*.doc,*.ppt) DO SET /a count+=1
-
-IF %count% EQU 0 (
-    ECHO [ERROR] No documents found in current folder
+IF "%1" == "" (
+    ECHO [ERROR] No file provided
     GOTO :EOF
+) ELSE (
+    SET name=%1
 )

-SET number=1
-FOR %%f IN (*.doc,*.ppt) DO (
-    ECHO [WORK] Converting "%%f" (!number!/%count%^)
-    cscript //B "%vbs%" "%%~dpnxf"
-    SET /a number+=1
-)
+ECHO [WORK] Converting "%name%"
+cscript //B "%vbs%" "%name%"

 ECHO [INFO] All operations are completed


Update VMware Tools link 12.5.7

Update VMware Tools link 12.5.7

--- scripts/vm-guest-tools.bat
+++ scripts/vm-guest-tools.bat
@@ -15,7 +15,7 @@
 )

 if not exist "C:\Windows\Temp\windows.iso" (
-    powershell -Command "(New-Object System.Net.WebClient).DownloadFile('http://softwareupdate.vmware.com/cds/vmw-desktop/ws/12.5.6/5528349/windows/packages/tools-windows.tar', 'C:\Windows\Temp\vmware-tools.tar')" <NUL
+    powershell -Command "(New-Object System.Net.WebClient).DownloadFile('http://softwareupdate.vmware.com/cds/vmw-desktop/ws/12.5.7/5813279/windows/packages/tools-windows.tar', 'C:\Windows\Temp\vmware-tools.tar')" <NUL
     cmd /c ""C:\Program Files\7-Zip\7z.exe" x C:\Windows\Temp\vmware-tools.tar -oC:\Windows\Temp"
     FOR /r "C:\Windows\Temp" %%a in (VMware-tools-windows-*.iso) DO REN "%%~a" "windows.iso"
     rd /S /Q "C:\Program Files (x86)\VMWare"


wrong package name

wrong package name

git-svn-id: 9146c88ff6d39b48099bf954d15d68f687b3fa69@6630 28e8926c-6b08-0410-baaa-805c5e19b8d6

--- scripts/windows/scheduler/scheduler.bat
+++ scripts/windows/scheduler/scheduler.bat
@@ -35,7 +35,7 @@

 rem This program will enable you to launch the scheduler daemon

-%JAVA_CMD% org.objectweb.proactive.examples.scheduler.LocalSchedulerExample %SCHEDULER_URL% %RM%
+%JAVA_CMD% org.objectweb.proactive.extra.scheduler.examples.LocalSchedulerExample %SCHEDULER_URL% %RM%
 ENDLOCAL

 :end


Add makemap.cmd file for reference

Add makemap.cmd file for reference

error: pathspec 'src/org.scn.community.databound/os/maps/makemap.cmd' did not match any file(s) known to git

--- src/org.scn.community.databound/os/maps/makemap.cmd
+++ src/org.scn.community.databound/os/maps/makemap.cmd
@@ -0,0 +1,2 @@
+del topojson\%3-regions.json
+mapshaper -i shape-files\%1_adm\%1_adm%2.shp encoding=%5 -filter-fields ISO,NAME_0,NAME_1,VARNAME_1 -simplify %4%% -o topojson\%3-regions.json prettify format=topojson


modify package script to build nuget package

--- package.bat
+++ package.bat
@@ -2,6 +2,7 @@

 REM clean up
 del builds\FsEye-%versionNumber%.zip
+del builds\FsEye.%versionNumber%.nupkg
 rd /q /s builds\FsEye-%versionNumber%
 rd /q /s builds\FsEye

@@ -29,7 +30,28 @@
 "tools\7z\7za.exe" x "builds\FsEye-%versionNumber%.zip" -o"builds\FsEye-%versionNumber%"
 "tools\7z\7za.exe" x "builds\FsEye-%versionNumber%.zip" -o"builds\FsEye"

-REM clean up
+REM preparing nuget dirs
+
+mkdir nuget
+mkdir nuget\lib
+mkdir nuget\lib\net40
+copy FsEye.nuspec nuget
+
+REM copy staging builds to nuget package...
+
+copy staging\FsEye.dll nuget\lib\net40\FsEye.dll
+copy staging\plugins\* nuget\lib\net40\
+copy staging\FsEye.xml nuget\lib\net40\FsEye.xml
+
+REM create nuget package...
+
+".nuget\nuget.exe" pack nuget\FsEye.nuspec -Version %versionNumber%
+copy FsEye.%versionNumber%.nupkg builds
+del FsEye.%versionNumber%.nupkg
+
+REM cleanup...
+
 rd /q /s staging
+rd /q /s nuget

 pause


modify buildpackages.cmd to push each release package.

--- BuildPackages.cmd
+++ BuildPackages.cmd
@@ -6,14 +6,16 @@

 set projectname=ClouDeveloper.OpenAPI.KolisNet
 .nuget\nuget.exe pack %projectname%\%projectname%.csproj -Build -Symbols -IncludeReferencedProjects -OutputDirectory "RedistPackages\libs" -Properties configuration=Release
+.nuget\NuGet.exe push RedistPackages\libs\%projectname%.*.nupkg

 set projectname=ClouDeveloper.OpenAPI.TED
 .nuget\nuget.exe pack %projectname%\%projectname%.csproj -Build -Symbols -IncludeReferencedProjects -OutputDirectory "RedistPackages\libs" -Properties configuration=Release
+.nuget\NuGet.exe push RedistPackages\libs\%projectname%.*.nupkg

 set projectname=ClouDeveloper.OpenAPI.Naver
 .nuget\nuget.exe pack %projectname%\%projectname%.csproj -Build -Symbols -IncludeReferencedProjects -OutputDirectory "RedistPackages\libs" -Properties configuration=Release
+.nuget\NuGet.exe push RedistPackages\libs\%projectname%.*.nupkg

-.nuget\NuGet.exe push RedistPackages\libs\ClouDeveloper.OpenAPI.*.nupkg
 start RedistPackages

 popd


Ensure twine is installed on Windows

Ensure twine is installed on Windows

--- tools/run_tests/artifacts/build_artifact_python.bat
+++ tools/run_tests/artifacts/build_artifact_python.bat
@@ -47,7 +47,7 @@
 popd

 @rem Ensure the generate artifacts are valid.
-pip install twine
+python -m pip install twine
 python -m twine check dist\* tools\distrib\python\grpcio_tools\dist\* || goto :error

 xcopy /Y /I /S dist\* %ARTIFACT_DIR% || goto :error


[MERGE #2943 @ddv239] Sort out usage of quotes to properly set path so that it does not contain quotes.

Merge pull request #2943 from ddv239:master

add_msbuild_path.cmd adds quotes to the PATH environment variable  #2942

--- Build/scripts/add_msbuild_path.cmd
+++ Build/scripts/add_msbuild_path.cmd
@@ -21,34 +21,34 @@
 REM Try Dev15 first

 set MSBUILD_VERSION=15.0
-set MSBUILD_PATH="%ProgramFiles%\Microsoft Visual Studio\2017\Enterprise\MSBuild\%MSBUILD_VERSION%\Bin\x86"
+set "MSBUILD_PATH=%ProgramFiles%\Microsoft Visual Studio\2017\Enterprise\MSBuild\%MSBUILD_VERSION%\Bin\x86"

-if not exist %MSBUILD_PATH%\msbuild.exe (
-    set MSBUILD_PATH="%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\%MSBUILD_VERSION%\Bin"
+if not exist "%MSBUILD_PATH%\msbuild.exe" (
+    set "MSBUILD_PATH=%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\%MSBUILD_VERSION%\Bin"
 )

-if not exist %MSBUILD_PATH%\msbuild.exe (
-    set MSBUILD_PATH="%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\%MSBUILD_VERSION%\Bin\amd64"
+if not exist "%MSBUILD_PATH%\msbuild.exe" (
+    set "MSBUILD_PATH=%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\%MSBUILD_VERSION%\Bin\amd64"
 )

-if exist %MSBUILD_PATH%\msbuild.exe (
+if exist "%MSBUILD_PATH%\msbuild.exe" (
     goto :MSBuildFound
 )

 echo Dev15 not found, trying Dev14...

 set MSBUILD_VERSION=14.0
-set MSBUILD_PATH="%ProgramFiles%\msbuild\%MSBUILD_VERSION%\Bin\x86"
+set "MSBUILD_PATH=%ProgramFiles%\msbuild\%MSBUILD_VERSION%\Bin\x86"

-if not exist %MSBUILD_PATH%\msbuild.exe (
-    set MSBUILD_PATH="%ProgramFiles(x86)%\msbuild\%MSBUILD_VERSION%\Bin"
+if not exist "%MSBUILD_PATH%\msbuild.exe" (
+    set "MSBUILD_PATH=%ProgramFiles(x86)%\msbuild\%MSBUILD_VERSION%\Bin"
 )

-if not exist %MSBUILD_PATH%\msbuild.exe (
-    set MSBUILD_PATH="%ProgramFiles(x86)%\msbuild\%MSBUILD_VERSION%\Bin\amd64"
+if not exist "%MSBUILD_PATH%\msbuild.exe" (
+    set "MSBUILD_PATH=%ProgramFiles(x86)%\msbuild\%MSBUILD_VERSION%\Bin\amd64"
 )

-if exist %MSBUILD_PATH%\msbuild.exe (
+if exist "%MSBUILD_PATH%\msbuild.exe" (
     goto :MSBuildFound
 )

@@ -56,26 +56,26 @@

 :LABEL_USE_MSBUILD_12
 set MSBUILD_VERSION=12.0
-set MSBUILD_PATH="%ProgramFiles%\msbuild\%MSBUILD_VERSION%\Bin\x86"
+set "MSBUILD_PATH=%ProgramFiles%\msbuild\%MSBUILD_VERSION%\Bin\x86"
 echo Dev14 not found, trying Dev %MSBUILD_VERSION%

-if not exist %MSBUILD_PATH%\msbuild.exe (
-    set MSBUILD_PATH="%ProgramFiles(x86)%\msbuild\%MSBUILD_VERSION%\Bin"
+if not exist "%MSBUILD_PATH%\msbuild.exe" (
+    set "MSBUILD_PATH=%ProgramFiles(x86)%\msbuild\%MSBUILD_VERSION%\Bin"
 )

-if not exist %MSBUILD_PATH%\msbuild.exe (
-    set MSBUILD_PATH="%ProgramFiles(x86)%\msbuild\%MSBUILD_VERSION%\Bin\amd64"
+if not exist "%MSBUILD_PATH%\msbuild.exe" (
+    set "MSBUILD_PATH=%ProgramFiles(x86)%\msbuild\%MSBUILD_VERSION%\Bin\amd64"
 )

-if not exist %MSBUILD_PATH%\msbuild.exe (
-    echo Can't find msbuild.exe in %MSBUILD_PATH%
+if not exist "%MSBUILD_PATH%\msbuild.exe" (
+    echo Can't find msbuild.exe in "%MSBUILD_PATH%"
     goto :SkipMsBuildSetup
 )

 :MSBuildFound
-echo MSBuild located at %MSBUILD_PATH%
+echo MSBuild located at "%MSBUILD_PATH%"

-set PATH=%MSBUILD_PATH%;%PATH%
+set "PATH=%MSBUILD_PATH%;%PATH%"
 set USE_MSBUILD_12=
 set MSBUILD_PATH=


bundler.cmd sets current directory and handles arguments, defaulting to ../Content ../Scripts if none.

--- NuGet/content/bundler/bundler.cmd
+++ NuGet/content/bundler/bundler.cmd
@@ -1 +1,10 @@
-node bundler.js ../Content ../Scripts+pushd "%~dp0"
+
+:: process Content and Scripts by default
+if "%*" == "" (
+    node bundler.js ../Content ../Scripts
+) else (
+    node bundler.js %*
+)
+
+popd


Add install generator script

Add install generator script

error: pathspec 'Installer/BuildInstaller.bat' did not match any file(s) known to git

--- Installer/BuildInstaller.bat
+++ Installer/BuildInstaller.bat
@@ -0,0 +1,5 @@
+set PATH=%PATH%;%WIX%\bin
+heat dir ../Release -gg -srd -cg 3RVXComponents -dr INSTALLFOLDER -out 3RVXComponents.wxs
+candle ./3RVX.wxs ./3RVXComponents.wxs
+light -b ../Release -ext WixUIExtension ./3RVX.wixobj ./3RVXComponents.wixobj -o 3RVX.msi
+del 3RVX.wixobj 3RVX.wixpdb 3RVXComponents.wixobj cab1.cab


PT-3648: PhenoTips won't run on Windows if username contains space character Fixed

--- resources/jetty/packaging/src/main/resources/start.bat
+++ resources/jetty/packaging/src/main/resources/start.bat
@@ -59,7 +59,7 @@
 if "%JAVA_PATH%"=="" set JAVA_PATH=java

 REM Location where XWiki stores generated data and where database files are.
-set XWIKI_DATA_DIR=%AppData%\PhenoTips
+set XWIKI_DATA_DIR="%AppData%\PhenoTips"
 set START_OPTS=%START_OPTS% -Dxwiki.data.dir=%XWIKI_DATA_DIR%

 REM Ensure the data directory exists so that XWiki can use it for storing permanent data.
@@ -97,8 +97,8 @@
 set JETTY_CONFIGURATION_FILES=
 for /r %%i in (%JETTY_HOME%\etc\jetty-*.xml) do set JETTY_CONFIGURATION_FILES=!JETTY_CONFIGURATION_FILES! "%%i"

-"%JAVA_PATH%" %START_OPTS% %3 %4 %5 %6 %7 %8 %9 -jar %JETTY_HOME%/start.jar %JETTY_HOME%/etc/jetty.xml %JETTY_CONFIGURATION_FILES%
+"%JAVA_PATH%" %START_OPTS% %3 %4 %5 %6 %7 %8 %9 -jar "%JETTY_HOME%/start.jar" "%JETTY_HOME%/etc/jetty.xml" %JETTY_CONFIGURATION_FILES%

 REM Pause so that the command window used to run this script doesn't close automatically in case of problem
 REM (like when the JDK/JRE is not installed)
-PAUSE+PAUSE


add script to build .js and copy to clipboard

error: pathspec 'build.bat' did not match any file(s) known to git

--- build.bat
+++ build.bat
@@ -0,0 +1 @@
+cat src/* | coffee --compile --stdio | tee generated_bundle.js | clip


CI DotVVM.CommandLine.Light

CI DotVVM.CommandLine.Light

--- src/Tools/CI/build.cmd
+++ src/Tools/CI/build.cmd
@@ -24,5 +24,5 @@
 dotnet build ../../DotVVM.Samples.Common

-dotnet restore ../../DotVVM.CommandLine
-dotnet build ../../DotVVM.CommandLine +dotnet restore ../../DotVVM.CommandLine.Light
+dotnet build ../../DotVVM.CommandLine.Light


fix deploy.cmd - ignore scr files

fix deploy.cmd - ignore scr files

--- src/Web/Dogevents.Web.Client/deploy.cmd
+++ src/Web/Dogevents.Web.Client/deploy.cmd
@@ -104,7 +104,7 @@

 :: 2. KuduSync
 IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
-  call :ExecuteCmd "%KUDU_SYNC_CMD%" -v 50 -f "%DEPLOYMENT_SOURCE%" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd;node_modules"
+  call :ExecuteCmd "%KUDU_SYNC_CMD%" -v 50 -f "%DEPLOYMENT_SOURCE%" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd;node_modules;.vue;webpack.config.js"
   IF !ERRORLEVEL! NEQ 0 goto error
 )


Changed the file format of mmx-server.bat to dos

--- src/bin/mmx-server.bat
+++ src/bin/mmx-server.bat
@@ -1,134 +1,134 @@
-@echo off
-
-setlocal
-
-rem Change the following if it has been changed to use another port
-set PORT_TO_CHECK=9090
-
-set check_port=true
-set TITLE="MagnetMessaging"
-set PROG=mmx-server
-set OPENFIRE_HOME=%CD%\..
-
-
-if "%selfWrapped%"=="" (
-  SET selfWrapped=true
-  %ComSpec% /s /c ""%~0" %*"
-  GOTO :EOF
-)
-
-if "-p"=="%1" (
-	set check_port=false
-	shift
-)
-
-if "start"=="%1" (
-	call :start
-) else (
-	if "stop"=="%1" (
-		call :stop
-	) else (
-		if "restart"=="%1" (
-			call :restart
-		) else (
-			call :print_usage
-		)
-	)
-)
-endlocal
-goto :end
-
-
-
-:print_usage
-	echo Usage: mmx-server.bat [-p] {start^|stop^|restart}
-	echo.
-	echo Start, stop, or restart the Magnet Mesaging server.
-	echo.
-	echo Options:
-	echo    -p    No port check when starting.
-	echo.
-exit /b
-
-
-
-:start
-	if %check_port%==true (
-		call :check_ports
-	)
-	call :check_java
-
-	if exist %PROG%.pid (
-		echo Error! %PROG% is already running or you have a stale pid file. If %PROG% is not running delete %PROG%.pid file and try again.
-		exit 1
-	)
-	call :check_java_home
-	start %TITLE% "%JAVA_HOME%\bin\java" -server -DopenfireHome="%OPENFIRE_HOME%" -jar ..\lib\startup.jar
-	FOR /F "usebackq tokens=2" %%i IN (`tasklist /nh /fi "WINDOWTITLE eq %TITLE%"`) DO echo %%i > .\%PROG%.pid
-goto :end
-
-
-
-:check_ports
-	netstat -aon | findstr "%PORT_TO_CHECK%" 1>NUL
-	if %ERRORLEVEL% equ 0 (
-		echo TCP port "%PORT_TO_CHECK%" is already in use, cannot start messaging server
-		exit 1
-	)
-	echo Using ports "%PORT_TO_CHECK%"
-goto :eof
-
-
-
-:stop
-	set /p pid=<.\%PROG%.pid
-	taskkill /f /pid %pid% /t
-	del .\%PROG%.pid
-goto :end
-
-
-
-:restart
-	call :stop
-	call :start
-goto :end
-
-
-
-:check_java
-	setlocal
-	java -version 1>NUL 2>NUL
-	if 0 neq %ERRORLEVEL% (
-		echo java is not installed
-		echo MMX server needs java version 1.6 OR higher
-		echo Please check https://java.com/en/download/
-		exit 1
-	)
-
-	for /f tokens^=2-5^ delims^=.-_^" %%j in ('java -fullversion 2^>^&1') do set "jver=%%j%%k%%l%%m
-	if %jver% LSS 16000 (
-		echo MMX server needs java version 1.6 OR higher
-		echo Please check https://java.com/en/download/
-		exit 1
-	)
-	echo java is installed
-
-	endlocal
-goto :eof
-
-
-
-:check_java_home
-	if "%JAVA_HOME%" == "" goto javaerror
-	if not exist "%JAVA_HOME%\bin\java.exe" goto javaerror
-	set OPENFIRE_HOME=%CD%\..
-goto :eof
-
-
-
-:javaerror
-	echo JAVA_HOME environment variable not set. Please set it and start Magnet Messaging again.
-	exit /b 1
-goto :eof
-
-:end
+@echo off
+
+setlocal
+
+rem Change the following if it has been changed to use another port
+set PORT_TO_CHECK=9090
+
+set check_port=true
+set TITLE="MagnetMessaging"
+set PROG=mmx-server
+set OPENFIRE_HOME=%CD%\..
+
+
+if "%selfWrapped%"=="" (
+  SET selfWrapped=true
+  %ComSpec% /s /c ""%~0" %*"
+  GOTO :EOF
+)
+
+if "-p"=="%1" (
+	set check_port=false
+	shift
+)
+
+if "start"=="%1" (
+	call :start
+) else (
+	if "stop"=="%1" (
+		call :stop
+	) else (
+		if "restart"=="%1" (
+			call :restart
+		) else (
+			call :print_usage
+		)
+	)
+)
+endlocal
+goto :end
+
+
+
+:print_usage
+	echo Usage: mmx-server.bat [-p] {start^|stop^|restart}
+	echo.
+	echo Start, stop, or restart the Magnet Mesaging server.
+	echo.
+	echo Options:
+	echo    -p    No port check when starting.
+	echo.
+exit /b
+
+
+
+:start
+	if %check_port%==true (
+		call :check_ports
+	)
+	call :check_java
+
+	if exist %PROG%.pid (
+		echo Error! %PROG% is already running or you have a stale pid file. If %PROG% is not running delete %PROG%.pid file and try again.
+		exit 1
+	)
+	call :check_java_home
+	start %TITLE% "%JAVA_HOME%\bin\java" -server -DopenfireHome="%OPENFIRE_HOME%" -jar ..\lib\startup.jar
+	FOR /F "usebackq tokens=2" %%i IN (`tasklist /nh /fi "WINDOWTITLE eq %TITLE%"`) DO echo %%i > .\%PROG%.pid
+goto :end
+
+
+
+:check_ports
+	netstat -aon | findstr "%PORT_TO_CHECK%" 1>NUL
+	if %ERRORLEVEL% equ 0 (
+		echo TCP port "%PORT_TO_CHECK%" is already in use, cannot start messaging server
+		exit 1
+	)
+	echo Using ports "%PORT_TO_CHECK%"
+goto :eof
+
+
+
+:stop
+	set /p pid=<.\%PROG%.pid
+	taskkill /f /pid %pid% /t
+	del .\%PROG%.pid
+goto :end
+
+
+
+:restart
+	call :stop
+	call :start
+goto :end
+
+
+
+:check_java
+	setlocal
+	java -version 1>NUL 2>NUL
+	if 0 neq %ERRORLEVEL% (
+		echo java is not installed
+		echo MMX server needs java version 1.6 OR higher
+		echo Please check https://java.com/en/download/
+		exit 1
+	)
+
+	for /f tokens^=2-5^ delims^=.-_^" %%j in ('java -fullversion 2^>^&1') do set "jver=%%j%%k%%l%%m
+	if %jver% LSS 16000 (
+		echo MMX server needs java version 1.6 OR higher
+		echo Please check https://java.com/en/download/
+		exit 1
+	)
+	echo java is installed
+
+	endlocal
+goto :eof
+
+
+
+:check_java_home
+	if "%JAVA_HOME%" == "" goto javaerror
+	if not exist "%JAVA_HOME%\bin\java.exe" goto javaerror
+	set OPENFIRE_HOME=%CD%\..
+goto :eof
+
+
+
+:javaerror
+	echo JAVA_HOME environment variable not set. Please set it and start Magnet Messaging again.
+	exit /b 1
+goto :eof
+
+:end


script6

--- MirrorChanges.bat
+++ MirrorChanges.bat
@@ -16,8 +16,7 @@
 SET mirrorRepoURL=%2

 IF NOT "%3" == "" (
-  SET localDirectory=%3
-  cd %localDirectory%
+  cd %3
 )

 SET mirrorDirName=repoMirror


- Removed pause in CompileAndRun.bat script

--- Setup/Boot/CompileAndRun.bat
+++ Setup/Boot/CompileAndRun.bat
@@ -1,6 +1,4 @@
-CALL CompileHelloWorld.bat
-CALL CreateVirtualDisks.bat
-CD qemu
-CALL LaunchQemu.bat
-
-pause
+CALL CompileHelloWorld.bat
+CALL CreateVirtualDisks.bat
+CD qemu
+CALL LaunchQemu.bat


Added Windows support for node.js versions greater than v0.x.x

--- cdap-standalone/bin/cdap.bat
+++ cdap-standalone/bin/cdap.bat
@@ -119,8 +119,8 @@
 )
 set line=%line:v=!!%

-for /F "delims=. tokens=1,2,3" %%a in ('echo %line%') do (
-  if  NOT %%b GEQ 10 (
+for /F "delims=.,v tokens=1,2,3" %%a in ('echo %line%') do (
+  if %%a LEQ 1 if %%b LEQ 10 (
     echo Node.js version is not supported. The minimum version suported is v0.10.0.
     GOTO :FINALLY
   )


New build/publish scripts [skip ci]

New build/publish scripts [skip ci]

--- publish.bat
+++ publish.bat
@@ -1,7 +1,7 @@
-npm run build
+call npm run build
 cd C:\portable\data\git\ra-ng\dist
 copy ..\package.json .
 copy ..\README-npm.md .\README.md
 dir
-npm publish .
+call npm publish .
 cd ..


vsts start geth

vsts start geth

error: pathspec 'testchain/startgethVsts.bat' did not match any file(s) known to git

--- testchain/startgethVsts.bat
+++ testchain/startgethVsts.bat
@@ -0,0 +1,7 @@
+RD /S /Q %~dp0\devChain\geth\chainData
+RD /S /Q %~dp0\devChain\geth\dapp
+RD /S /Q %~dp0\devChain\geth\nodes
+del %~dp0\devchain\geth\nodekey
+
+D:\a\1\s\testchain\clique\geth.exe  --datadir=devChain init genesis_dev.json
+D:\a\1\s\testchain\clique\geth.exe --mine --rpc --networkid=39318 --cache=2048 --maxpeers=0 --datadir=devChain  --ipcpath "geth.ipc"  --rpccorsdomain "*" --rpcapi "eth,web3,personal,net,miner,admin,debug" --verbosity 0 console


Deleted .git in modzillainstallation

Deleted .git in modzillainstallation

Accidently ran test within the project folder

--- runme.bat
+++ runme.bat
@@ -34,8 +34,9 @@
 :Option-2
 ::mkdir modzillainstallation
 cd modzillainstallation
-git init
-git pull https://github.com/dudeisbrendan03/modzilla.git
+git fetch https://github.com/dudeisbrendan03/modzilla.git
+git reset
+git pull --allow-unrelated-histories https://github.com/dudeisbrendan03/modzilla.git
 cd modzillainstallation
 python modzillainst.py
 :End


create_installer.bat fix (Qt5WinExtras.dll)

--- installer/windows/create_installer.bat
+++ installer/windows/create_installer.bat
@@ -22,6 +22,7 @@
 xcopy /R /Y %QTDIR32%\bin\Qt5Core.dll binaries\32\Qt\
 xcopy /R /Y %QTDIR32%\bin\Qt5Gui.dll binaries\32\Qt\
 xcopy /R /Y %QTDIR32%\bin\Qt5Widgets.dll binaries\32\Qt\
+xcopy /R /Y %QTDIR32%\bin\Qt5WinExtras.dll binaries\32\Qt\

 xcopy /R /Y %QTDIR32%\bin\icu*.dll binaries\32\Qt\

@@ -53,6 +54,7 @@
 xcopy /R /Y %QTDIR64%\bin\Qt5Core.dll binaries\64\Qt\
 xcopy /R /Y %QTDIR64%\bin\Qt5Gui.dll binaries\64\Qt\
 xcopy /R /Y %QTDIR64%\bin\Qt5Widgets.dll binaries\64\Qt\
+xcopy /R /Y %QTDIR64%\bin\Qt5WinExtras.dll binaries\64\Qt\

 xcopy /R /Y %QTDIR64%\bin\icu*.dll binaries\64\Qt\


added basic build script for windows

added basic build script for windows

error: pathspec 'forge/build.bat' did not match any file(s) known to git

--- forge/build.bat
+++ forge/build.bat
@@ -0,0 +1,7 @@
+cd ..
+
+rmdir /S /Q src
+mkdir src
+xcopy  /Y /E src_work\* src\
+
+cmd /C recompile.bat


Updating setup script for Visual Studio 2017.

--- Setup/Publish.cmd
+++ Setup/Publish.cmd
@@ -6,43 +6,40 @@
 SET  FILES_EXECUTABLE="..\Binaries\PuttyRun.exe"
 SET       FILES_OTHER="..\Binaries\ReadMe.txt" "..\Binaries\License.txt"

-SET    COMPILE_TOOL_1="%PROGRAMFILES(X86)%\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"
-SET    COMPILE_TOOL_2="%PROGRAMFILES(X86)%\Microsoft Visual Studio 14.0\Common7\IDE\WDExpress.exe"
-SET    COMPILE_TOOL_3="%PROGRAMFILES(X86)%\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe"
-SET    COMPILE_TOOL_4="%PROGRAMFILES(X86)%\Microsoft Visual Studio 12.0\Common7\IDE\WDExpress.exe"
+SET   COMPILE_TOOL_15="%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe"
+SET   COMPILE_TOOL_14="%PROGRAMFILES(X86)%\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"
+SET  COMPILE_TOOL_14E="%PROGRAMFILES(X86)%\Microsoft Visual Studio 14.0\Common7\IDE\WDExpress.exe"
+
 SET        SETUP_TOOL="%PROGRAMFILES(x86)%\Inno Setup 5\iscc.exe"

-SET       SIGN_TOOL_1="%PROGRAMFILES(X86)%\Windows Kits\10\bin\x86\signtool.exe"
-SET       SIGN_TOOL_2="%PROGRAMFILES(X86)%\Windows Kits\8.1\bin\x86\signtool.exe"
-SET       SIGN_TOOL_3="%PROGRAMFILES(X86)%\Windows Kits\8.0\bin\x86\signtool.exe"
+SET       SIGN_TOOL_1="%PROGRAMFILES(X86)%\Microsoft SDKs\ClickOnce\SignTool\signtool.exe"
+SET       SIGN_TOOL_2="%PROGRAMFILES(X86)%\Windows Kits\10\App Certification Kit\signtool.exe"
+SET       SIGN_TOOL_3="%PROGRAMFILES(X86)%\Windows Kits\10\bin\x86\signtool.exe"
 SET   SIGN_THUMBPRINT="df26e797ffaee47a40c1fab756e995d3763da968"
 SET SIGN_TIMESTAMPURL="http://timestamp.comodoca.com/rfc3161"

 SET        GIT_TOOL_1="%PROGRAMFILES%\Git\mingw64\bin\git.exe"

+SET          RAR_TOOL="%PROGRAMFILES%\WinRAR\WinRAR.exe"
+

 ECHO --- DISCOVER TOOLS
 ECHO.

-IF EXIST %COMPILE_TOOL_1% (
-    ECHO Visual Studio 2015
-    SET COMPILE_TOOL=%COMPILE_TOOL_1%
-) ELSE (
-    IF EXIST %COMPILE_TOOL_2% (
-        ECHO Visual Studio Express 2015
-        SET COMPILE_TOOL=%COMPILE_TOOL_2%
-    ) ELSE (
-        IF EXIST %COMPILE_TOOL_3% (
-            ECHO Visual Studio 2013
-            SET COMPILE_TOOL=%COMPILE_TOOL_3%
+IF EXIST %COMPILE_TOOL_15% (
+    ECHO Visual Studio 2017
+    SET COMPILE_TOOL=%COMPILE_TOOL_15%
+) ELSE (
+    IF EXIST %COMPILE_TOOL_14% (
+        ECHO Visual Studio 2015
+        SET COMPILE_TOOL=%COMPILE_TOOL_14%
+    ) ELSE (
+        IF EXIST %COMPILE_TOOL_14E% (
+            ECHO Visual Studio Express 2015
+            SET COMPILE_TOOL=%COMPILE_TOOL_14E%
         ) ELSE (
-            IF EXIST %COMPILE_TOOL_4% (
-                ECHO Visual Studio Express 2013
-                SET COMPILE_TOOL=%COMPILE_TOOL_4%
-            ) ELSE (
-                ECHO Cannot find Visual Studio^^!
-                PAUSE && EXIT /B 255
-            )
+            ECHO Cannot find Visual Studio^^!
+            PAUSE && EXIT /B 255
         )
     )
 )
@@ -55,15 +52,15 @@
 )

 IF EXIST %SIGN_TOOL_1% (
-    ECHO Windows SignTool 10
+    ECHO Windows SignTool 10 ^(ClickOnce^)
     SET SIGN_TOOL=%SIGN_TOOL_1%
 ) ELSE (
     IF EXIST %SIGN_TOOL_2% (
-        ECHO Windows SignTool 8.1
+        ECHO Windows SignTool 10 ^(App Certification Kit^)
         SET SIGN_TOOL=%SIGN_TOOL_2%
     ) ELSE (
         IF EXIST %SIGN_TOOL_3% (
-            ECHO Windows SignTool 8.0
+            ECHO Windows SignTool 10 ^(SDK^)
             SET SIGN_TOOL=%SIGN_TOOL_3%
         ) ELSE (
             ECHO Cannot find Windows SignTool^^!
@@ -77,6 +74,10 @@
     SET GIT_TOOL=%GIT_TOOL_1%
 ) ELSE (
     GIT_TOOL="git"
+)
+
+IF NOT EXIST %RAR_TOOL% (
+    ECHO WinRAR not present^^!
 )

 ECHO.
@@ -193,9 +194,13 @@
 ECHO --- BUILD ZIP
 ECHO.

-ECHO Zipping into %_SETUPEXE:.exe=.zip%
-"%PROGRAMFILES%\WinRAR\WinRAR.exe" a -afzip -ep -m5 ".\Temp\%_SETUPEXE:.exe=.zip%" %FILES_EXECUTABLE% %FILES_OTHER%
-IF ERRORLEVEL 1 PAUSE && EXIT /B %ERRORLEVEL%
+IF EXIST %RAR_TOOL% (
+    ECHO Zipping into %_SETUPEXE:.exe=.zip%
+    "%PROGRAMFILES%\WinRAR\WinRAR.exe" a -afzip -ep -m5 ".\Temp\%_SETUPEXE:.exe=.zip%" %FILES_EXECUTABLE% %FILES_OTHER%
+    IF ERRORLEVEL 1 PAUSE && EXIT /B %ERRORLEVEL%
+) ELSE (
+    ECHO No WinRAR
+)

 ECHO.
 ECHO.


Add release command.

Add release command.

error: pathspec 'release.cmd' did not match any file(s) known to git

--- release.cmd
+++ release.cmd
@@ -0,0 +1 @@
+dotnet .\sln\Pagination.Release\bin\Debug\netcoreapp3.1\Pagination.Release.dll %*


PT-4032: Keep data folder within standalone on Windows

--- resources/jetty/packaging/src/main/resources/start.bat
+++ resources/jetty/packaging/src/main/resources/start.bat
@@ -59,7 +59,7 @@
 if "%JAVA_PATH%"=="" set JAVA_PATH=java

 REM Location where XWiki stores generated data and where database files are.
-set XWIKI_DATA_DIR="%AppData%\PhenoTips"
+set XWIKI_DATA_DIR="%JETTY_HOME%\data"
 set START_OPTS=%START_OPTS% -Dxwiki.data.dir=%XWIKI_DATA_DIR%

 REM Ensure the data directory exists so that XWiki can use it for storing permanent data.


experimental: simplify script to use only Visual Studio 16 2019

--- conda-recipes/llvmdev/bld.bat
+++ conda-recipes/llvmdev/bld.bat
@@ -9,24 +9,11 @@
 if "%LLVM_TARGETS_TO_BUILD%"=="" (
     set "LLVM_TARGETS_TO_BUILD=host;AMDGPU;NVPTX"
 )
-if "%ARCH%"=="32" (
-    set "ARCH_POSTFIX="
-) else (
-    set "ARCH_POSTFIX= Win64"
-)
-set "CMAKE_GENERATOR[0]=Visual Studio 14 2015%ARCH_POSTFIX%"
-set "CMAKE_GENERATOR[1]=Visual Studio 15 2017%ARCH_POSTFIX%"
-set "CMAKE_GENERATOR[2]=Visual Studio 16 2019"
-set MAX_INDEX_CMAKE_GENERATOR=2
-set CMAKE_GENERATOR_TOOLSET=v141
+set CMAKE_GENERATOR="Visual Studio 16 2019"
+set CMAKE_GENERATOR_TOOLSET="v141"

-REM the platform toolset host arch is set to x64 so as to use the 64bit linker,
-REM the 32bit linker heap is too small for llvm8 so it tries and falls over to
-REM the 64bit linker anyway
-set PreferredToolArchitecture=x64

 REM Reduce build times and package size by removing unused stuff
-REM BENCHMARKS (new for llvm8) don't build under Visual Studio 14 2015
 set CMAKE_CUSTOM=-DLLVM_TARGETS_TO_BUILD="%LLVM_TARGETS_TO_BUILD%" ^
     -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_UTILS=ON -DLLVM_INCLUDE_DOCS=OFF ^
     -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_ENABLE_ASSERTIONS=ON ^
@@ -35,20 +22,11 @@
     -DLLVM_ENABLE_DIA_SDK=OFF ^
     -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly

-REM try all compatible visual studio toolsets to find one that is installed
-setlocal enabledelayedexpansion
-for /l %%n in (0,1,%MAX_INDEX_CMAKE_GENERATOR%) do (
-    cmake -G "!CMAKE_GENERATOR[%%n]!" -T "%CMAKE_GENERATOR_TOOLSET%" ^
-        -DCMAKE_BUILD_TYPE="%BUILD_CONFIG%" -DCMAKE_PREFIX_PATH="%LIBRARY_PREFIX%" ^
-        -DCMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" %CMAKE_CUSTOM% "%SRC_DIR%"
-    if not errorlevel 1 goto configuration_successful
-    del CMakeCache.txt
-)
+cmake -G "%CMAKE_GENERATOR%" -T "%CMAKE_GENERATOR_TOOLSET%" ^
+    -DCMAKE_BUILD_TYPE="%BUILD_CONFIG%" -DCMAKE_PREFIX_PATH="%LIBRARY_PREFIX%" ^
+    -DCMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" %CMAKE_CUSTOM% "%SRC_DIR%"

-REM no compatible visual studio toolset was found

-:configuration_successful
-endlocal
 REM === Build step ===
 cmake --build . --config "%BUILD_CONFIG%"
 if errorlevel 1 exit 1


Published Magick.NET 7.19.0.1.

Published Magick.NET 7.19.0.1.

--- publish/update.version.cmd
+++ publish/update.version.cmd
@@ -1,6 +1,6 @@
 @echo off

-powershell .\update.version.ps1 -library "Magick.NET" -version "7.19.0.0"
+powershell .\update.version.ps1 -library "Magick.NET" -version "7.19.0.1"
 powershell .\update.version.ps1 -library "Magick.NET.Core" -version "2.0.0.0"
 powershell .\update.version.ps1 -library "Magick.NET.SystemDrawing" -version "2.0.0.0"
 powershell .\update.version.ps1 -library "Magick.NET.SystemWindowsMedia" -version "1.0.1.0"


Make sure all taskkills fire.

Make sure all taskkills fire.

--- bin/kill-drivers.bat
+++ bin/kill-drivers.bat
@@ -1,3 +1,7 @@
+@echo off
 REM Run from anywhere, project root or bin folder. E.g. (from root):
 REM   bin\kill-drivers
-tasklist | find /i "driver" && taskkill /f /im "chromedriver.exe" && taskkill /f /im "IEDriverServer.exe"+tasklist | findstr /i "driver phantomjs"
+taskkill /f /im "chromedriver.exe"
+taskkill /f /im "IEDriverServer.exe"
+taskkill /f /im "phantomjs.exe"


apparently I'm hosed because I can't get anything to work within the rake system and I can't get it without it either...

error: pathspec 'bin/metriculator.bat' did not match any file(s) known to git

--- bin/metriculator.bat
+++ bin/metriculator.bat
@@ -0,0 +1,6 @@
+@ECHO OFF
+IF NOT "%~f0" == "~f0" GOTO :WinNT
+ECHO.This version of Ruby has not been built with support for Windows 95/98/Me.
+GOTO :EOF
+:WinNT
+@"%~dp0ruby.exe" "%~dpn0" %*


version number updated

version number updated

git-svn-id: f9726a030cf96f23c68a92ccd14a73e10c8cadff@68622 a5903396-d722-0410-b921-86c7d4935375


Add 2 required dlls to release

Add 2 required dlls to release

--- contrib/easywinbuilder/6_gather_dlls.bat
+++ contrib/easywinbuilder/6_gather_dlls.bat
@@ -10,4 +10,6 @@
 copy %QTDIR%\5.8\mingw53_32\plugins\iconengines\qsvgicon.dll %ROOTPATH%\release\iconengines\qsvgicon.dll
 copy %QTDIR%\5.8\mingw53_32\plugins\imageformats\qsvg.dll %ROOTPATH%\release\imageformats\qsvg.dll
 copy %QTDIR%\5.8\mingw53_32\plugins\platforms\qwindows.dll %ROOTPATH%\release\platforms\qwindows.dll
+copy %QTDIR%\Tools\mingw530_32\opt\bin\libeay32.dll %ROOTPATH%\release\libeay32.dll
+copy %QTDIR%\Tools\mingw530_32\opt\bin\ssleay32.dll %ROOTPATH%\release\ssleay32.dll
 @if not "%RUNALL%"=="1" pause


libjpeg-turbo: Add Windows Batch to Test cjpeg, djpeg and jpegtran

This makes use of Windows items only, with the fciv tool provided by
Microsoft to verify the MD5 of the generated output files.

error: pathspec 'libjpeg-turbo/build/win32/testjpeg.bat' did not match any file(s) known to git

--- libjpeg-turbo/build/win32/testjpeg.bat
+++ libjpeg-turbo/build/win32/testjpeg.bat
@@ -0,0 +1,342 @@
+@echo off
+
+if "%CJPEG%" == "" (echo CJPEG must be set first && goto :eof)
+if "%DJPEG%" == "" (echo DJPEG must be set first && goto :eof)
+if "%JPEGTRAN%" == "" (echo JPEGTRAN must be set first && goto :end)
+
+@fciv > NUL
+if not %errorlevel% == 1 goto :skip
+
+@echo 768e970dd57b340ff1b83c9d3d47c77b > cjpeg-rgb-islow.expected.txt
+%CJPEG% -rgb -dct int -outfile testout_rgb_islow.jpg ..\..\..\testimages\testorig.ppm
+fciv testout_rgb_islow.jpg > cjpeg-rgb-islow.out.tmp
+
+@for /f %%a in ('findstr .jpg cjpeg-rgb-islow.out.tmp') do echo %%a > cjpeg-rgb-islow.out.txt
+
+fc cjpeg-rgb-islow.expected.txt cjpeg-rgb-islow.out.txt
+if not %errorlevel% == 0 (echo cjpeg-rgb-islow Failed) else (echo cjpeg-rgb-islow OK)
+
+@echo 00a257f5393fef8821f2b88ac7421291 > djpeg-rgb-islow.expected.txt
+%DJPEG% -dct int -ppm -outfile testout_rgb_islow.ppm testout_rgb_islow.jpg
+fciv testout_rgb_islow.ppm > djpeg-rgb-islow.out.tmp
+
+@for /f %%a in ('findstr .ppm djpeg-rgb-islow.out.tmp') do echo %%a > djpeg-rgb-islow.out.txt
+
+fc djpeg-rgb-islow.expected.txt djpeg-rgb-islow.out.txt
+if not %errorlevel% == 0 (echo djpeg-rgb-islow Failed) else (echo djpeg-rgb-islow OK)
+
+@echo f07d2e75073e4bb10f6c6f4d36e2e3be > djpeg-rgb-islow-565.expected.txt
+%DJPEG% -dct int -rgb565 -dither none -bmp -outfile testout_rgb_islow_565.bmp testout_rgb_islow.jpg
+fciv testout_rgb_islow_565.bmp > djpeg-rgb-islow-565.out.tmp
+
+@for /f %%a in ('findstr .bmp djpeg-rgb-islow-565.out.tmp') do echo %%a > djpeg-rgb-islow-565.out.txt
+
+fc djpeg-rgb-islow-565.expected.txt djpeg-rgb-islow-565.out.txt
+if not %errorlevel% == 0 (echo djpeg-rgb-islow-565 Failed) else (echo djpeg-rgb-islow-565 OK)
+
+@echo 4cfa0928ef3e6bb626d7728c924cfda4 > djpeg-rgb-islow-565D.expected.txt
+%DJPEG% -dct int -rgb565 -bmp -outfile testout_rgb_islow_565D.bmp testout_rgb_islow.jpg
+fciv testout_rgb_islow_565D.bmp > djpeg-rgb-islow-565D.out.tmp
+
+@for /f %%a in ('findstr .bmp djpeg-rgb-islow-565D.out.tmp') do echo %%a > djpeg-rgb-islow-565D.out.txt
+
+fc djpeg-rgb-islow-565D.expected.txt djpeg-rgb-islow-565D.out.txt
+if not %errorlevel% == 0 (echo djpeg-rgb-islow-565D Failed) else (echo djpeg-rgb-islow-565D OK)
+
+@echo 2540287b79d913f91665e660303ab2c8 > cjpeg-422-ifast-opt.expected.txt
+%CJPEG% -sample 2x1 -dct fast -opt -outfile testout_422_ifast_opt.jpg ..\..\..\testimages\testorig.ppm
+fciv testout_422_ifast_opt.jpg > cjpeg-422-ifast-opt.out.tmp
+
+@for /f %%a in ('findstr .jpg cjpeg-422-ifast-opt.out.tmp') do echo %%a > cjpeg-422-ifast-opt.out.txt
+
+fc cjpeg-422-ifast-opt.expected.txt cjpeg-422-ifast-opt.out.txt
+if not %errorlevel% == 0 (echo cjpeg-422-ifast-opt Failed) else (echo cjpeg-422-ifast-opt OK)
+
+@echo 35bd6b3f833bad23de82acea847129fa > djpeg-422-ifast.expected.txt
+%DJPEG% -dct fast -outfile testout_422_ifast.ppm testout_422_ifast_opt.jpg
+fciv testout_422_ifast.ppm > djpeg-422-ifast.out.tmp
+
+@for /f %%a in ('findstr .ppm djpeg-422-ifast.out.tmp') do echo %%a > djpeg-422-ifast.out.txt
+
+fc djpeg-422-ifast.expected.txt djpeg-422-ifast.out.txt
+if not %errorlevel% == 0 (echo djpeg-422-ifast Failed) else (echo djpeg-422-ifast OK)
+
+@echo 8dbc65323d62cca7c91ba02dd1cfa81d > djpeg-422m-ifast.expected.txt
+%DJPEG% -dct fast -nosmooth -outfile testout_422m_ifast.ppm testout_422_ifast_opt.jpg
+fciv testout_422m_ifast.ppm > djpeg-422m-ifast.out.tmp
+
+@for /f %%a in ('findstr .ppm djpeg-422m-ifast.out.tmp') do echo %%a > djpeg-422m-ifast.out.txt
+
+fc djpeg-422m-ifast.expected.txt djpeg-422m-ifast.out.txt
+if not %errorlevel% == 0 (echo djpeg-422m-ifast Failed) else (echo djpeg-422m-ifast OK)
+
+@echo 3294bd4d9a1f2b3d08ea6020d0db7065 > djpeg-422m-ifast-565.expected.txt
+%DJPEG% -dct int -nosmooth -rgb565 -dither none -bmp -outfile testout_422m_ifast_565.bmp testout_422_ifast_opt.jpg
+fciv testout_422m_ifast_565.bmp > djpeg-422m-ifast-565.out.tmp
+
+@for /f %%a in ('findstr .bmp djpeg-422m-ifast-565.out.tmp') do echo %%a > djpeg-422m-ifast-565.out.txt
+
+fc djpeg-422m-ifast-565.expected.txt djpeg-422m-ifast-565.out.txt
+if not %errorlevel% == 0 (echo djpeg-422m-ifast-565 Failed) else (echo djpeg-422m-ifast-565 OK)
+
+@echo da98c9c7b6039511be4a79a878a9abc1 > djpeg-422m-ifast-565D.expected.txt
+%DJPEG% -dct int -nosmooth -rgb565 -bmp -outfile testout_422m_ifast_565D.bmp testout_422_ifast_opt.jpg
+fciv testout_422m_ifast_565D.bmp > djpeg-422m-ifast-565D.out.tmp
+
+@for /f %%a in ('findstr .bmp djpeg-422m-ifast-565D.out.tmp') do echo %%a > djpeg-422m-ifast-565D.out.txt
+
+fc djpeg-422m-ifast-565D.expected.txt djpeg-422m-ifast-565D.out.txt
+if not %errorlevel% == 0 (echo djpeg-422m-ifast-565D Failed) else (echo djpeg-422m-ifast-565D OK)
+
+@echo 990cbe0329c882420a2094da7e5adade > cjpeg-420-q100-ifast-prog.expected.txt
+%CJPEG% -sample 2x2 -quality 100 -dct fast -prog -outfile testout_420_q100_ifast_prog.jpg ..\..\..\testimages\testorig.ppm
+fciv testout_420_q100_ifast_prog.jpg > cjpeg-420-q100-ifast-prog.out.tmp
+
+@for /f %%a in ('findstr .jpg cjpeg-420-q100-ifast-prog.out.tmp') do echo %%a > cjpeg-420-q100-ifast-prog.out.txt
+
+fc cjpeg-420-q100-ifast-prog.expected.txt cjpeg-420-q100-ifast-prog.out.txt
+if not %errorlevel% == 0 (echo cjpeg-420-q100-ifast-prog Failed) else (echo cjpeg-420-q100-ifast-prog OK)
+
+
+
+@echo 5a732542015c278ff43635e473a8a294 > djpeg-420-q100-ifast-prog.expected.txt
+%DJPEG% -dct fast -outfile testout_420_q100_ifast.ppm testout_420_q100_ifast_prog.jpg
+fciv testout_420_q100_ifast.ppm > djpeg-420-q100-ifast-prog.out.tmp
+
+@for /f %%a in ('findstr .ppm djpeg-420-q100-ifast-prog.out.tmp') do echo %%a > djpeg-420-q100-ifast-prog.out.txt
+
+fc djpeg-420-q100-ifast-prog.expected.txt djpeg-420-q100-ifast-prog.out.txt
+if not %errorlevel% == 0 (echo djpeg-420-q100-ifast-prog Failed) else (echo djpeg-420-q100-ifast-prog OK)
+
+@echo ff692ee9323a3b424894862557c092f1 > djpeg-420m-q100-ifast-prog.expected.txt
+%DJPEG% -dct fast -nosmooth -outfile testout_420m_q100_ifast.ppm testout_420_q100_ifast_prog.jpg
+fciv testout_420m_q100_ifast.ppm > djpeg-420m-q100-ifast-prog.out.tmp
+
+@for /f %%a in ('findstr .ppm djpeg-420m-q100-ifast-prog.out.tmp') do echo %%a > djpeg-420m-q100-ifast-prog.out.txt
+
+fc djpeg-420m-q100-ifast-prog.expected.txt djpeg-420m-q100-ifast-prog.out.txt
+if not %errorlevel% == 0 (echo djpeg-420m-q100-ifast-prog Failed) else (echo djpeg-420m-q100-ifast-prog OK)
+
+@echo 72b51f894b8f4a10b3ee3066770aa38d > cjpeg-gray-islow.expected.txt
+%CJPEG% -gray -dct int -outfile testout_gray_islow.jpg ..\..\..\testimages\testorig.ppm
+fciv testout_gray_islow.jpg > cjpeg-gray-islow.out.tmp
+
+@for /f %%a in ('findstr .jpg cjpeg-gray-islow.out.tmp') do echo %%a > cjpeg-gray-islow.out.txt
+
+fc cjpeg-gray-islow.expected.txt cjpeg-gray-islow.out.txt
+if not %errorlevel% == 0 (echo cjpeg-gray-islow Failed) else (echo cjpeg-gray-islow OK)
+
+@echo 8d3596c56eace32f205deccc229aa5ed > djpeg-gray-islow.expected.txt
+%DJPEG% -dct int -outfile testout_gray_islow.ppm testout_gray_islow.jpg
+fciv testout_gray_islow.ppm > djpeg-gray-islow.out.tmp
+
+@for /f %%a in ('findstr .ppm djpeg-gray-islow.out.tmp') do echo %%a > djpeg-gray-islow.out.txt
+
+fc djpeg-gray-islow.expected.txt djpeg-gray-islow.out.txt
+if not %errorlevel% == 0 (echo djpeg-gray-islow Failed) else (echo djpeg-gray-islow OK)
+
+
+@echo 116424ac07b79e5e801f00508eab48ec > djpeg-gray-islow-rgb.expected.txt
+%DJPEG% -dct int -rgb -outfile testout_gray_islow_rgb.ppm testout_gray_islow.jpg
+fciv testout_gray_islow_rgb.ppm > djpeg-gray-islow-rgb.out.tmp
+
+@for /f %%a in ('findstr .ppm djpeg-gray-islow-rgb.out.tmp') do echo %%a > djpeg-gray-islow-rgb.out.txt
+
+fc djpeg-gray-islow-rgb.expected.txt djpeg-gray-islow-rgb.out.txt
+if not %errorlevel% == 0 (echo djpeg-gray-islow-rgb Failed) else (echo djpeg-gray-islow-rgb OK)
+
+
+@echo 12f78118e56a2f48b966f792fedf23cc > djpeg-gray-islow-565.expected.txt
+%DJPEG% -dct int -rgb565 -dither none -bmp -outfile testout_gray_islow_565.bmp testout_gray_islow.jpg
+fciv testout_gray_islow_565.bmp > djpeg-gray-islow-565.out.tmp
+
+@for /f %%a in ('findstr .bmp djpeg-gray-islow-565.out.tmp') do echo %%a > djpeg-gray-islow-565.out.txt
+
+fc djpeg-gray-islow-565.expected.txt djpeg-gray-islow-565.out.txt
+if not %errorlevel% == 0 (echo djpeg-gray-islow-565 Failed) else (echo djpeg-gray-islow-565 OK)
+
+
+@echo bdbbd616441a24354c98553df5dc82db > djpeg-gray-islow-565D.expected.txt
+%DJPEG% -dct int -rgb565 -bmp -outfile testout_gray_islow_565D.bmp testout_gray_islow.jpg
+fciv testout_gray_islow_565D.bmp > djpeg-gray-islow-565D.out.tmp
+
+@for /f %%a in ('findstr .bmp djpeg-gray-islow-565D.out.tmp') do echo %%a > djpeg-gray-islow-565D.out.txt
+
+fc djpeg-gray-islow-565D.expected.txt djpeg-gray-islow-565D.out.txt
+if not %errorlevel% == 0 (echo djpeg-gray-islow-565D Failed) else (echo djpeg-gray-islow-565D OK)
+
+@echo 388708217ac46273ca33086b22827ed8 > cjpeg-420s-ifast-opt.expected.txt
+%CJPEG% -sample 2x2 -smooth 1 -dct int -opt -outfile testout_420s_ifast_opt.jpg ..\..\..\testimages\testorig.ppm
+fciv testout_420s_ifast_opt.jpg > cjpeg-420s-ifast-opt.out.tmp
+
+@for /f %%a in ('findstr .jpg cjpeg-420s-ifast-opt.out.tmp') do echo %%a > cjpeg-420s-ifast-opt.out.txt
+
+fc cjpeg-420s-ifast-opt.expected.txt cjpeg-420s-ifast-opt.out.txt
+if not %errorlevel% == 0 (echo cjpeg-420s-ifast-opt Failed) else (echo cjpeg-420s-ifast-opt OK)
+
+@echo 343e3f8caf8af5986ebaf0bdc13b5c71 > cjpeg-3x2-float-prog.expected.txt
+%CJPEG% -sample 3x2 -dct float -prog -outfile testout_3x2_float_prog.jpg ..\..\..\testimages\testorig.ppm
+fciv testout_3x2_float_prog.jpg > cjpeg-3x2-float-prog.out.tmp
+
+@for /f %%a in ('findstr .jpg cjpeg-3x2-float-prog.out.tmp') do echo %%a > cjpeg-3x2-float-prog.out.txt
+
+fc cjpeg-3x2-float-prog.expected.txt cjpeg-3x2-float-prog.out.txt
+if not %errorlevel% == 0 (echo cjpeg-3x2-float-prog Failed) else (echo cjpeg-3x2-float-prog OK)
+
+@echo 1a75f36e5904d6fc3a85a43da9ad89bb > djpeg-3x2-float-prog.expected.txt
+%DJPEG% -dct float -outfile testout_3x2_float.ppm testout_3x2_float_prog.jpg
+fciv testout_3x2_float.ppm > djpeg-3x2-float-prog.out.tmp
+
+@for /f %%a in ('findstr .ppm djpeg-3x2-float-prog.out.tmp') do echo %%a > djpeg-3x2-float-prog.out.txt
+
+fc djpeg-3x2-float-prog.expected.txt djpeg-3x2-float-prog.out.txt
+if not %errorlevel% == 0 (echo djpeg-3x2-float-prog Failed) else (echo djpeg-3x2-float-prog OK)
+
+@echo e986fb0a637a8d833d96e8a6d6d84ea1 > cjpeg-420-islow-ari.expected.txt
+%CJPEG% -dct int -arithmetic -outfile testout_420_islow_ari.jpg ..\..\..\testimages\testorig.ppm
+fciv testout_420_islow_ari.jpg > cjpeg-420-islow-ari.out.tmp
+
+@for /f %%a in ('findstr .jpg cjpeg-420-islow-ari.out.tmp') do echo %%a > cjpeg-420-islow-ari.out.txt
+
+fc cjpeg-420-islow-ari.expected.txt cjpeg-420-islow-ari.out.txt
+if not %errorlevel% == 0 (echo cjpeg-420-islow-ari Failed) else (echo cjpeg-420-islow-ari OK)
+
+@echo e986fb0a637a8d833d96e8a6d6d84ea1 > jpegtran-420-islow-ari.expected.txt
+%JPEGTRAN% -arithmetic -outfile testout_420_islow_ari.jpg ..\..\..\testimages\testimgint.jpg
+fciv testout_420_islow_ari.jpg > jpegtran-420-islow-ari.out.tmp
+
+@for /f %%a in ('findstr .jpg jpegtran-420-islow-ari.out.tmp') do echo %%a > jpegtran-420-islow-ari.out.txt
+
+fc jpegtran-420-islow-ari.expected.txt jpegtran-420-islow-ari.out.txt
+if not %errorlevel% == 0 (echo jpegtran-420-islow-ari Failed) else (echo jpegtran-420-islow-ari OK)
+
+@echo 0a8f1c8f66e113c3cf635df0a475a617 > cjpeg-444-islow-progari.expected.txt
+%CJPEG% -sample 1x1 -dct int -progressive -arithmetic -outfile testout_444_islow_progari.jpg ..\..\..\testimages\testorig.ppm
+fciv testout_444_islow_progari.jpg > cjpeg-444-islow-progari.out.tmp
+
+@for /f %%a in ('findstr .jpg cjpeg-444-islow-progari.out.tmp') do echo %%a > cjpeg-444-islow-progari.out.txt
+
+fc cjpeg-444-islow-progari.expected.txt cjpeg-444-islow-progari.out.txt
+if not %errorlevel% == 0 (echo cjpeg-444-islow-progari Failed) else (echo cjpeg-444-islow-progari OK)
+
+@echo 72b59a99bcf1de24c5b27d151bde2437 > djpeg-420m-ifast-ari.expected.txt
+%DJPEG% -fast -ppm -outfile testout_420m_ifast_ari.ppm ..\..\..\testimages\testimgari.jpg
+fciv testout_420m_ifast_ari.ppm > djpeg-420m-ifast-ari.out.tmp
+
+@for /f %%a in ('findstr .ppm djpeg-420m-ifast-ari.out.tmp') do echo %%a > djpeg-420m-ifast-ari.out.txt
+
+fc djpeg-420m-ifast-ari.expected.txt djpeg-420m-ifast-ari.out.txt
+if not %errorlevel% == 0 (echo djpeg-420m-ifast-ari Failed) else (echo djpeg-420m-ifast-ari OK)
+
+@echo 9a68f56bc76e466aa7e52f415d0f4a5f > jpegtran-420-islow.expected.txt
+%JPEGTRAN% -outfile testout_420_islow.jpg ..\..\..\testimages\testimgari.jpg
+fciv testout_420_islow.jpg > jpegtran-420-islow.out.tmp
+
+@for /f %%a in ('findstr .jpg jpegtran-420-islow.out.tmp') do echo %%a > jpegtran-420-islow.out.txt
+
+fc jpegtran-420-islow.expected.txt jpegtran-420-islow.out.txt
+if not %errorlevel% == 0 (echo jpegtran-420-islow Failed) else (echo jpegtran-420-islow OK)
+
+REM *** Looped Tests
+@echo 9f9de8c0612f8d06869b960b05abf9c9 > djpeg-420m-islow-2_1.expected.txt
+@echo b6875bc070720b899566cc06459b63b7 > djpeg-420m-islow-15_8.expected.txt
+@echo bc3452573c8152f6ae552939ee19f82f > djpeg-420m-islow-13_8.expected.txt
+@echo d8cc73c0aaacd4556569b59437ba00a5 > djpeg-420m-islow-11_8.expected.txt
+@echo d25e61bc7eac0002f5b393aa223747b6 > djpeg-420m-islow-9_8.expected.txt
+@echo ddb564b7c74a09494016d6cd7502a946 > djpeg-420m-islow-7_8.expected.txt
+@echo 8ed8e68808c3fbc4ea764fc9d2968646 > djpeg-420m-islow-3_4.expected.txt
+@echo a3363274999da2366a024efae6d16c9b > djpeg-420m-islow-5_8.expected.txt
+@echo e692a315cea26b988c8e8b29a5dbcd81 > djpeg-420m-islow-1_2.expected.txt
+@echo 79eca9175652ced755155c90e785a996 > djpeg-420m-islow-3_8.expected.txt
+@echo 79cd778f8bf1a117690052cacdd54eca > djpeg-420m-islow-1_4.expected.txt
+@echo 391b3d4aca640c8567d6f8745eb2142f > djpeg-420m-islow-1_8.expected.txt
+
+for %%a in (2_1 15_8 13_8 11_8 9_8 7_8 3_4 5_8 1_2 3_8 1_4 1_8) do call :call_loop %%a
+
+goto :continue
+
+:call_loop
+  if not "%1" == "" (
+    set a=%1
+SETLOCAL EnableDelayedExpansion
+    set b=!a:_=/!
+    %DJPEG% -dct int -scale !b! -nosmooth -ppm -outfile testout_420m_islow_%1.ppm ..\..\..\testimages\testorig.jpg
+ENDLOCAL
+    fciv testout_420m_islow_%1.ppm > djpeg-420m-islow-%1.out.tmp
+
+    @for /f %%a in ('findstr .ppm djpeg-420m-islow-%1.out.tmp') do echo %%a > djpeg-420m-islow-%1.out.txt
+
+    fc djpeg-420m-islow-%1.expected.txt djpeg-420m-islow-%1.out.txt
+    if not %errorlevel% == 0 (echo djpeg-420m-islow-%1 Failed) else (echo djpeg-420m-islow-%1 OK)
+  )
+  goto :EOF
+
+:continue
+REM *** End of Looped Tests
+
+
+@echo 4980185e3776e89bd931736e1cddeee6 > djpeg-420-islow-256.expected.txt
+%DJPEG% -dct int -colors 256 -bmp -outfile testout_420_islow_256.bmp ..\..\..\testimages\testorig.jpg
+fciv testout_420_islow_256.bmp > djpeg-420-islow-256.out.tmp
+
+@for /f %%a in ('findstr .bmp djpeg-420-islow-256.out.tmp') do echo %%a > djpeg-420-islow-256.out.txt
+
+fc djpeg-420-islow-256.expected.txt djpeg-420-islow-256.out.txt
+if not %errorlevel% == 0 (echo djpeg-420-islow-256 Failed) else (echo djpeg-420-islow-256 OK)
+
+@echo bf9d13e16c4923b92e1faa604d7922cb > djpeg-420-islow-565.expected.txt
+%DJPEG% -dct int -rgb565 -dither none -bmp -outfile testout_420_islow_565.bmp ..\..\..\testimages\testorig.jpg
+fciv testout_420_islow_565.bmp > djpeg-420-islow-565.out.tmp
+
+@for /f %%a in ('findstr .bmp djpeg-420-islow-565.out.tmp') do echo %%a > djpeg-420-islow-565.out.txt
+
+fc djpeg-420-islow-565.expected.txt djpeg-420-islow-565.out.txt
+if not %errorlevel% == 0 (echo djpeg-420-islow-565 Failed) else (echo djpeg-420-islow-565 OK)
+
+@echo 6bde71526acc44bcff76f696df8638d2 > djpeg-420-islow-565D.expected.txt
+%DJPEG% -dct int -rgb565 -bmp -outfile testout_420_islow_565D.bmp ..\..\..\testimages\testorig.jpg
+fciv testout_420_islow_565D.bmp > djpeg-420-islow-565D.out.tmp
+
+@for /f %%a in ('findstr .bmp djpeg-420-islow-565D.out.tmp') do echo %%a > djpeg-420-islow-565D.out.txt
+
+fc djpeg-420-islow-565D.expected.txt djpeg-420-islow-565D.out.txt
+if not %errorlevel% == 0 (echo djpeg-420-islow-565D Failed) else (echo djpeg-420-islow-565D OK)
+
+@echo 8dc0185245353cfa32ad97027342216f > djpeg-420m-islow-565.expected.txt
+%DJPEG% -dct int -nosmooth -rgb565 -dither none -bmp -outfile testout_420m_islow_565.bmp ..\..\..\testimages\testorig.jpg
+fciv testout_420m_islow_565.bmp > djpeg-420m-islow-565.out.tmp
+
+@for /f %%a in ('findstr .bmp djpeg-420m-islow-565.out.tmp') do echo %%a > djpeg-420m-islow-565.out.txt
+
+fc djpeg-420m-islow-565.expected.txt djpeg-420m-islow-565.out.txt
+if not %errorlevel% == 0 (echo djpeg-420m-islow-565 Failed) else (echo djpeg-420m-islow-565 OK)
+
+@echo d1be3a3339166255e76fa50a0d70d73e > djpeg-420m-islow-565D.expected.txt
+%DJPEG% -dct int -nosmooth -rgb565 -bmp -outfile testout_420m_islow_565.bmp ..\..\..\testimages\testorig.jpg
+fciv testout_420m_islow_565.bmp > djpeg-420m-islow-565D.out.tmp
+
+@for /f %%a in ('findstr .bmp djpeg-420m-islow-565D.out.tmp') do echo %%a > djpeg-420m-islow-565D.out.txt
+
+fc djpeg-420m-islow-565D.expected.txt djpeg-420m-islow-565D.out.txt
+if not %errorlevel% == 0 (echo djpeg-420m-islow-565D Failed) else (echo djpeg-420m-islow-565D OK)
+
+@echo b4197f377e621c4e9b1d20471432610d > jpegtran-crop.expected.txt
+%JPEGTRAN% -crop 120x90+20+50 -transpose -perfect -outfile testout_crop.jpg ..\..\..\testimages\testorig.jpg
+fciv testout_crop.jpg > jpegtran-crop.out.tmp
+
+@for /f %%a in ('findstr .jpg jpegtran-crop.out.tmp') do echo %%a > jpegtran-crop.out.txt
+
+fc jpegtran-crop.expected.txt jpegtran-crop.out.txt
+if not %errorlevel% == 0 (echo jpegtran-crop Failed) else (echo jpegtran-crop OK)
+
+del *.bmp
+del *.jpg
+del *.ppm
+del *.out.txt
+del *.out.tmp
+del *.expected.txt
+
+goto :eof
+
+:skip
+@echo Skipping cjpeg tests as fciv utility is not found in PATH (Program Built Successfully though).


Kokoro: Add ReactorUnitTests to windows presubmits

This appears to be accidentally missing.

Bug: b/145836207
Change-Id: Iaeb71c362f3b8450f91355e8d1f16c8d58c56548
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39108
Tested-by: Ben Clayton <1f693eb7158dc33015048c09d6712f74dabddf79@google.com>
Kokoro-Presubmit: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>
Reviewed-by: Nicolas Capens <51edc787c30f24c4904e8ffbb5523c3a9f7a451d@google.com>

--- tests/kokoro/gcp_windows/continuous.bat
+++ tests/kokoro/gcp_windows/continuous.bat
@@ -28,6 +28,9 @@
 if !ERRORLEVEL! neq 0 exit /b !ERRORLEVEL!
 SET SWIFTSHADER_DISABLE_DEBUGGER_WAIT_DIALOG=1

+build\Debug\ReactorUnitTests.exe
+if !ERRORLEVEL! neq 0 exit /b !ERRORLEVEL!
+
 build\Debug\gles-unittests.exe
 if !ERRORLEVEL! neq 0 exit /b !ERRORLEVEL!


Switch video script to use multiblend

Switch video script to use multiblend

--- gear360video.cmd
+++ gear360video.cmd
@@ -114,7 +114,7 @@
 echo "Stitching frames..."
 for i in $FRAMESTEMPDIR/*.jpg; do
     echo Frame: $i
-    run_command "/bin/bash" "$DIR/gear360pano.cmd" "-o" "$OUTTEMPDIR" "$i" "$PTOTMPL"
+    run_command "/bin/bash" "$DIR/gear360pano.cmd" "-m" "-o" "$OUTTEMPDIR" "$i" "$PTOTMPL"
 done

 # Put stitched frames together
@@ -179,7 +179,7 @@
 :: For whatever reason (this has to be at the beginning of the line!)
   echo Processing frame %FRAMESTEMPDIR%\%%f
 :: TODO: There should be some error checking
-  call gear360pano.cmd /o %OUTTEMPDIR% %FRAMESTEMPDIR%\%%f %PTOTMPL%
+  call gear360pano.cmd /m /o %OUTTEMPDIR% %FRAMESTEMPDIR%\%%f %PTOTMPL%
 )

 echo "Reencoding video..."