diff options
| author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2026-01-26 15:36:04 +0900 |
|---|---|---|
| committer | Nobuyoshi Nakada <nobu.nakada@gmail.com> | 2026-01-26 18:17:45 +0900 |
| commit | b839989fd22fef85e2af19de1bc83aa72a5b22bd (patch) | |
| tree | 5da7c750e8cf139166783992ced0765ca1ad20c8 | |
| parent | ace5b10de44acc7ce7717d4109beaeba9a130700 (diff) | |
win32: Add CR to all batch files.
This reverts commit 23f9a0d655c4d405bb2397a147a1523436205486, "win32:
Strip CR from batch files", and add CR to the other batch files too.
`cmd.exe` seems to work well with LF at a glance, but sometimes `goto`
jumps to an unexpected line. This is probably because it is looking
for the beginning of a line, assuming that all lines end with CRLF,
and as a result mistaking the `goto` operand for a label.
| -rwxr-xr-x | win32/configure.bat | 642 | ||||
| -rwxr-xr-x | win32/ifchange.bat | 274 | ||||
| -rwxr-xr-x | win32/install-buildtools.cmd | 28 | ||||
| -rwxr-xr-x | win32/install-msys-packages.cmd | 58 | ||||
| -rwxr-xr-x | win32/lastrev.bat | 60 | ||||
| -rwxr-xr-x | win32/makedirs.bat | 6 | ||||
| -rwxr-xr-x | win32/rm.bat | 128 | ||||
| -rwxr-xr-x | win32/rmdirs.bat | 68 | ||||
| -rwxr-xr-x | win32/rtname.cmd | 72 | ||||
| -rwxr-xr-x | win32/vssetup.cmd | 112 |
10 files changed, 724 insertions, 724 deletions
diff --git a/win32/configure.bat b/win32/configure.bat index a22630385b..9355caa4d8 100755 --- a/win32/configure.bat +++ b/win32/configure.bat @@ -1,321 +1,321 @@ -@echo off -@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1 -set PROMPT=$E[94m+$E[m$S -set witharg= - -if "%~dp0" == "%CD%\" ( - echo don't run in win32 directory. - exit /b 999 -) else if "%0" == "%~nx0" ( - set "WIN32DIR=%~$PATH:0" -) else if "%0" == "%~n0" ( - set "WIN32DIR=%~$PATH:0" -) else ( - set "WIN32DIR=%0" -) - -set "WIN32DIR=%WIN32DIR:\=/%:/:" -call set "WIN32DIR=%%WIN32DIR:%~x0:/:=:/:%%" -call set "WIN32DIR=%%WIN32DIR:/%~n0:/:=:/:%%" -set "WIN32DIR=%WIN32DIR:~0,-3%" - -set XINCFLAGS= -set XLDFLAGS= -set pathlist= -set config_make=confargs~%RANDOM%.mak -set confargs=%config_make:.mak=.c% -echo>%config_make% # CONFIGURE -( - echo #define $ $$ // - echo !ifndef CONFIGURE_ARGS - echo #define CONFIGURE_ARGS \ -) >%confargs% -:loop -set opt=%1 -if "%1" == "" goto :end -if "%1" == "--debug-configure" (echo on & shift & goto :loop) -if "%1" == "--no-debug-configure" (echo off & shift & goto :loop) -if "%1" == "--prefix" goto :prefix -if "%1" == "--srcdir" goto :srcdir -if "%1" == "srcdir" goto :srcdir -if "%1" == "--target" goto :target -if "%1" == "target" goto :target -if "%1" == "--with-static-linked-ext" goto :extstatic -if "%1" == "--program-prefix" goto :pprefix -if "%1" == "--program-suffix" goto :suffix -if "%1" == "--program-transform-name" goto :transform_name -if "%1" == "--program-name" goto :installname -if "%1" == "--install-name" goto :installname -if "%1" == "--so-name" goto :soname -if "%1" == "--enable-install-doc" goto :enable-rdoc -if "%1" == "--disable-install-doc" goto :disable-rdoc -if "%1" == "--enable-install-static-library" goto :enable-lib -if "%1" == "--disable-install-static-library" goto :disable-lib -if "%1" == "--enable-debug-env" goto :enable-debug-env -if "%1" == "--disable-debug-env" goto :disable-debug-env -if "%1" == "--enable-devel" goto :enable-devel -if "%1" == "--disable-devel" goto :disable-devel -if "%1" == "--enable-rubygems" goto :enable-rubygems -if "%1" == "--disable-rubygems" goto :disable-rubygems -if "%1" == "--extout" goto :extout -if "%1" == "--path" goto :path -if "%1" == "--with-baseruby" goto :baseruby -if "%1" == "--without-baseruby" goto :nobaseruby -if "%1" == "--with-ntver" goto :ntver -if "%1" == "--with-libdir" goto :libdir -if "%1" == "--with-git" goto :git -if "%1" == "--without-git" goto :nogit -if "%1" == "--without-ext" goto :witharg -if "%1" == "--without-extensions" goto :witharg -if "%1" == "--with-opt-dir" goto :opt-dir -if "%1" == "--with-gmp" goto :gmp -if "%1" == "--with-gmp-dir" goto :gmp-dir -if "%opt:~0,10%" == "--without-" goto :withoutarg -if "%opt:~0,7%" == "--with-" goto :witharg -if "%1" == "-h" goto :help -if "%1" == "--help" goto :help - if "%opt:~0,1%" == "-" ( - echo>>%confargs% %1 \ - set witharg= - ) else if "%witharg%" == "" ( - echo>>%confargs% %1 \ - ) else ( - echo>>%confargs% ,%1\ - ) - shift -goto :loop ; -:srcdir - echo>> %config_make% srcdir = %~2 - echo>>%confargs% --srcdir=%2 \ - shift - shift -goto :loop ; -:prefix - echo>> %config_make% prefix = %~2 - echo>>%confargs% %1=%2 \ - shift - shift -goto :loop ; -:pprefix - echo>> %config_make% PROGRAM_PREFIX = %~2 - echo>>%confargs% %1=%2 \ - shift - shift -goto :loop ; -:suffix - echo>> %config_make% PROGRAM_SUFFIX = %~2 - echo>>%confargs% %1=%2 \ - shift - shift -goto :loop ; -:installname - echo>> %config_make% RUBY_INSTALL_NAME = %~2 - echo>>%confargs% %1=%2 \ - shift - shift -goto :loop ; -:soname - echo>> %config_make% RUBY_SO_NAME = %~2 - echo>>%confargs% %1=%2 \ - shift - shift -goto :loop ; -:transform_name - - shift - shift -goto :loop ; -:target - echo>> %config_make% target = %~2 - echo>>%confargs% --target=%2 \ - if "%~2" == "x64-mswin64" ( - echo>> %config_make% TARGET_OS = mswin64 - ) - shift - shift -goto :loop ; -:extstatic - echo>> %config_make% EXTSTATIC = static - echo>>%confargs% %1 \ - shift -goto :loop ; -:enable-rdoc - echo>> %config_make% RDOCTARGET = rdoc - echo>>%confargs% %1 \ - shift -goto :loop ; -:disable-rdoc - echo>> %config_make% RDOCTARGET = nodoc - echo>>%confargs% %1 \ - shift -goto :loop ; -:enable-lib - echo>> %config_make% INSTALL_STATIC_LIBRARY = yes - echo>>%confargs% %1 \ - shift -goto :loop ; -:disable-lib - echo>> %config_make% INSTALL_STATIC_LIBRARY = no - echo>>%confargs% %1 \ - shift -goto :loop ; -:enable-debug-env - echo>> %config_make% ENABLE_DEBUG_ENV = yes - echo>>%confargs% %1 \ - shift -goto :loop ; -:disable-debug-env - echo>> %config_make% ENABLE_DEBUG_ENV = no - echo>>%confargs% %1 \ - shift -goto :loop ; -:enable-devel - echo>> %config_make% RUBY_DEVEL = yes - echo>>%confargs% %1 \ - shift -goto :loop ; -:disable-devel - echo>> %config_make% RUBY_DEVEL = no - echo>>%confargs% %1 \ - shift -goto :loop ; -:enable-rubygems - echo>> %config_make% USE_RUBYGEMS = yes - echo>>%confargs% %1 \ - shift -goto :loop ; -:disable-rubygems - echo>> %config_make% USE_RUBYGEMS = no - echo>>%confargs% %1 \ - shift -goto :loop ; -:ntver - ::- For version constants, see - ::- https://learn.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt#remarks - set NTVER=%~2 - if /i not "%NTVER:~0,2%" == "0x" if /i not "%NTVER:~0,13%" == "_WIN32_WINNT_" ( - for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( - call set NTVER=%%NTVER:%%i=%%i%% - ) - call set NTVER=_WIN32_WINNT_%%NTVER%% - ) - echo>> %config_make% NTVER = %NTVER% - echo>>%confargs% %1=%2 \ - shift - shift -goto :loop ; -:extout - if not "%~2" == ".ext" (echo>> %config_make% EXTOUT = %~2) - echo>>%confargs% %1=%2 \ - shift - shift -goto :loop ; -:path - set pathlist=%pathlist%%~2; - echo>>%confargs% %1=%2 \ - shift - shift -goto :loop ; -:baseruby - echo>> %config_make% HAVE_BASERUBY = yes - echo>> %config_make% BASERUBY = %~2 - echo>>%confargs% %1=%2 \ - shift - shift -goto :loop ; -:nobaseruby - echo>> %config_make% HAVE_BASERUBY = no - echo>> %config_make% BASERUBY = - echo>>%confargs% %1 \ - shift -goto :loop ; -:libdir - echo>> %config_make% libdir_basename = %~2 - echo>>%confargs% %1=%2 \ - shift - shift -goto :loop ; -:git - echo>> %config_make% GIT = %~2 - echo>>%confargs% %1=%2 \ - shift - shift -goto :loop ; -:nogit - echo>> %config_make% GIT = never-use - echo>> %config_make% HAVE_GIT = no - echo>>%confargs% %1 \ - shift -goto :loop ; -:gmp - echo>> %config_make% WITH_GMP = yes - echo>>%confargs% %1 \ - shift -goto :loop ; -:gmp-dir -:opt-dir - set opt=%~2 - for %%I in (%opt:;= %) do ( - set d=%%I - call pushd %%d:/=\%% && ( - call set XINCFLAGS=%%XINCFLAGS%% -I%%CD:\=/%%/include - call set XLDFLAGS=%%XLDFLAGS%% -libpath:%%CD:\=/%%/lib - popd - ) - ) -:witharg - echo>>%confargs% %1=%2\ - set witharg=1 - shift - shift -goto :loop ; -:withoutarg - echo>>%confargs% %1 \ - shift -goto :loop ; -:help - echo Configuration: - echo --help display this help - echo --srcdir=DIR find the sources in DIR [configure dir or `..'] - echo Installation directories: - echo --prefix=PREFIX install files in PREFIX [/usr] - echo System types: - echo --target=TARGET configure for TARGET [i386-mswin32] - echo Optional Package: - echo --with-baseruby=RUBY use RUBY as baseruby [ruby] - echo --with-static-linked-ext link external modules statically - echo --with-ext="a,b,..." use extensions a, b, ... - echo --without-ext="a,b,..." ignore extensions a, b, ... - echo --with-opt-dir="DIR-LIST" add optional headers and libraries directories separated by `;' - echo --disable-install-doc do not install rdoc indexes during install - echo --with-ntver=0xXXXX target NT version (shouldn't use with old SDK) - echo --with-ntver=_WIN32_WINNT_XXXX - echo --with-ntver=XXXX same as --with-ntver=_WIN32_WINNT_XXXX - echo Note that `,' and `;' need to be enclosed within double quotes in batch file command line. - del %confargs% %config_make% -goto :exit -:end -( - echo // - echo configure_args = CONFIGURE_ARGS - echo !endif - echo #undef $ -) >> %confargs% -( - cl -EP %confargs% 2>nul | findstr "! =" - echo. - if NOT "%XINCFLAGS%" == "" echo XINCFLAGS = %XINCFLAGS% - if NOT "%XLDFLAGS%" == "" echo XLDFLAGS = %XLDFLAGS% - if NOT "%pathlist%" == "" ( - call echo PATH = %%pathlist:;=/bin;%%$^(PATH^) - call echo INCLUDE = %%pathlist:;=/include;%%$^(INCLUDE^) - call echo LIB = %%pathlist:;=/lib;%%$^(LIB^) - ) -) >> %config_make% -del %confargs% > nul - -nmake -al -f %WIN32DIR%/setup.mak "WIN32DIR=%WIN32DIR%" ^ - config_make=%config_make% ^ - MAKEFILE=Makefile.new MAKEFILE_BACK=Makefile.old MAKEFILE_NEW=Makefile -:exit -@endlocal +@echo off
+@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1
+set PROMPT=$E[94m+$E[m$S
+set witharg=
+
+if "%~dp0" == "%CD%\" (
+ echo don't run in win32 directory.
+ exit /b 999
+) else if "%0" == "%~nx0" (
+ set "WIN32DIR=%~$PATH:0"
+) else if "%0" == "%~n0" (
+ set "WIN32DIR=%~$PATH:0"
+) else (
+ set "WIN32DIR=%0"
+)
+
+set "WIN32DIR=%WIN32DIR:\=/%:/:"
+call set "WIN32DIR=%%WIN32DIR:%~x0:/:=:/:%%"
+call set "WIN32DIR=%%WIN32DIR:/%~n0:/:=:/:%%"
+set "WIN32DIR=%WIN32DIR:~0,-3%"
+
+set XINCFLAGS=
+set XLDFLAGS=
+set pathlist=
+set config_make=confargs~%RANDOM%.mak
+set confargs=%config_make:.mak=.c%
+echo>%config_make% # CONFIGURE
+(
+ echo #define $ $$ //
+ echo !ifndef CONFIGURE_ARGS
+ echo #define CONFIGURE_ARGS \
+) >%confargs%
+:loop
+set opt=%1
+if "%1" == "" goto :end
+if "%1" == "--debug-configure" (echo on & shift & goto :loop)
+if "%1" == "--no-debug-configure" (echo off & shift & goto :loop)
+if "%1" == "--prefix" goto :prefix
+if "%1" == "--srcdir" goto :srcdir
+if "%1" == "srcdir" goto :srcdir
+if "%1" == "--target" goto :target
+if "%1" == "target" goto :target
+if "%1" == "--with-static-linked-ext" goto :extstatic
+if "%1" == "--program-prefix" goto :pprefix
+if "%1" == "--program-suffix" goto :suffix
+if "%1" == "--program-transform-name" goto :transform_name
+if "%1" == "--program-name" goto :installname
+if "%1" == "--install-name" goto :installname
+if "%1" == "--so-name" goto :soname
+if "%1" == "--enable-install-doc" goto :enable-rdoc
+if "%1" == "--disable-install-doc" goto :disable-rdoc
+if "%1" == "--enable-install-static-library" goto :enable-lib
+if "%1" == "--disable-install-static-library" goto :disable-lib
+if "%1" == "--enable-debug-env" goto :enable-debug-env
+if "%1" == "--disable-debug-env" goto :disable-debug-env
+if "%1" == "--enable-devel" goto :enable-devel
+if "%1" == "--disable-devel" goto :disable-devel
+if "%1" == "--enable-rubygems" goto :enable-rubygems
+if "%1" == "--disable-rubygems" goto :disable-rubygems
+if "%1" == "--extout" goto :extout
+if "%1" == "--path" goto :path
+if "%1" == "--with-baseruby" goto :baseruby
+if "%1" == "--without-baseruby" goto :nobaseruby
+if "%1" == "--with-ntver" goto :ntver
+if "%1" == "--with-libdir" goto :libdir
+if "%1" == "--with-git" goto :git
+if "%1" == "--without-git" goto :nogit
+if "%1" == "--without-ext" goto :witharg
+if "%1" == "--without-extensions" goto :witharg
+if "%1" == "--with-opt-dir" goto :opt-dir
+if "%1" == "--with-gmp" goto :gmp
+if "%1" == "--with-gmp-dir" goto :gmp-dir
+if "%opt:~0,10%" == "--without-" goto :withoutarg
+if "%opt:~0,7%" == "--with-" goto :witharg
+if "%1" == "-h" goto :help
+if "%1" == "--help" goto :help
+ if "%opt:~0,1%" == "-" (
+ echo>>%confargs% %1 \
+ set witharg=
+ ) else if "%witharg%" == "" (
+ echo>>%confargs% %1 \
+ ) else (
+ echo>>%confargs% ,%1\
+ )
+ shift
+goto :loop ;
+:srcdir
+ echo>> %config_make% srcdir = %~2
+ echo>>%confargs% --srcdir=%2 \
+ shift
+ shift
+goto :loop ;
+:prefix
+ echo>> %config_make% prefix = %~2
+ echo>>%confargs% %1=%2 \
+ shift
+ shift
+goto :loop ;
+:pprefix
+ echo>> %config_make% PROGRAM_PREFIX = %~2
+ echo>>%confargs% %1=%2 \
+ shift
+ shift
+goto :loop ;
+:suffix
+ echo>> %config_make% PROGRAM_SUFFIX = %~2
+ echo>>%confargs% %1=%2 \
+ shift
+ shift
+goto :loop ;
+:installname
+ echo>> %config_make% RUBY_INSTALL_NAME = %~2
+ echo>>%confargs% %1=%2 \
+ shift
+ shift
+goto :loop ;
+:soname
+ echo>> %config_make% RUBY_SO_NAME = %~2
+ echo>>%confargs% %1=%2 \
+ shift
+ shift
+goto :loop ;
+:transform_name
+
+ shift
+ shift
+goto :loop ;
+:target
+ echo>> %config_make% target = %~2
+ echo>>%confargs% --target=%2 \
+ if "%~2" == "x64-mswin64" (
+ echo>> %config_make% TARGET_OS = mswin64
+ )
+ shift
+ shift
+goto :loop ;
+:extstatic
+ echo>> %config_make% EXTSTATIC = static
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:enable-rdoc
+ echo>> %config_make% RDOCTARGET = rdoc
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:disable-rdoc
+ echo>> %config_make% RDOCTARGET = nodoc
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:enable-lib
+ echo>> %config_make% INSTALL_STATIC_LIBRARY = yes
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:disable-lib
+ echo>> %config_make% INSTALL_STATIC_LIBRARY = no
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:enable-debug-env
+ echo>> %config_make% ENABLE_DEBUG_ENV = yes
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:disable-debug-env
+ echo>> %config_make% ENABLE_DEBUG_ENV = no
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:enable-devel
+ echo>> %config_make% RUBY_DEVEL = yes
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:disable-devel
+ echo>> %config_make% RUBY_DEVEL = no
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:enable-rubygems
+ echo>> %config_make% USE_RUBYGEMS = yes
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:disable-rubygems
+ echo>> %config_make% USE_RUBYGEMS = no
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:ntver
+ ::- For version constants, see
+ ::- https://learn.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt#remarks
+ set NTVER=%~2
+ if /i not "%NTVER:~0,2%" == "0x" if /i not "%NTVER:~0,13%" == "_WIN32_WINNT_" (
+ for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
+ call set NTVER=%%NTVER:%%i=%%i%%
+ )
+ call set NTVER=_WIN32_WINNT_%%NTVER%%
+ )
+ echo>> %config_make% NTVER = %NTVER%
+ echo>>%confargs% %1=%2 \
+ shift
+ shift
+goto :loop ;
+:extout
+ if not "%~2" == ".ext" (echo>> %config_make% EXTOUT = %~2)
+ echo>>%confargs% %1=%2 \
+ shift
+ shift
+goto :loop ;
+:path
+ set pathlist=%pathlist%%~2;
+ echo>>%confargs% %1=%2 \
+ shift
+ shift
+goto :loop ;
+:baseruby
+ echo>> %config_make% HAVE_BASERUBY = yes
+ echo>> %config_make% BASERUBY = %~2
+ echo>>%confargs% %1=%2 \
+ shift
+ shift
+goto :loop ;
+:nobaseruby
+ echo>> %config_make% HAVE_BASERUBY = no
+ echo>> %config_make% BASERUBY =
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:libdir
+ echo>> %config_make% libdir_basename = %~2
+ echo>>%confargs% %1=%2 \
+ shift
+ shift
+goto :loop ;
+:git
+ echo>> %config_make% GIT = %~2
+ echo>>%confargs% %1=%2 \
+ shift
+ shift
+goto :loop ;
+:nogit
+ echo>> %config_make% GIT = never-use
+ echo>> %config_make% HAVE_GIT = no
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:gmp
+ echo>> %config_make% WITH_GMP = yes
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:gmp-dir
+:opt-dir
+ set opt=%~2
+ for %%I in (%opt:;= %) do (
+ set d=%%I
+ call pushd %%d:/=\%% && (
+ call set XINCFLAGS=%%XINCFLAGS%% -I%%CD:\=/%%/include
+ call set XLDFLAGS=%%XLDFLAGS%% -libpath:%%CD:\=/%%/lib
+ popd
+ )
+ )
+:witharg
+ echo>>%confargs% %1=%2\
+ set witharg=1
+ shift
+ shift
+goto :loop ;
+:withoutarg
+ echo>>%confargs% %1 \
+ shift
+goto :loop ;
+:help
+ echo Configuration:
+ echo --help display this help
+ echo --srcdir=DIR find the sources in DIR [configure dir or `..']
+ echo Installation directories:
+ echo --prefix=PREFIX install files in PREFIX [/usr]
+ echo System types:
+ echo --target=TARGET configure for TARGET [i386-mswin32]
+ echo Optional Package:
+ echo --with-baseruby=RUBY use RUBY as baseruby [ruby]
+ echo --with-static-linked-ext link external modules statically
+ echo --with-ext="a,b,..." use extensions a, b, ...
+ echo --without-ext="a,b,..." ignore extensions a, b, ...
+ echo --with-opt-dir="DIR-LIST" add optional headers and libraries directories separated by `;'
+ echo --disable-install-doc do not install rdoc indexes during install
+ echo --with-ntver=0xXXXX target NT version (shouldn't use with old SDK)
+ echo --with-ntver=_WIN32_WINNT_XXXX
+ echo --with-ntver=XXXX same as --with-ntver=_WIN32_WINNT_XXXX
+ echo Note that `,' and `;' need to be enclosed within double quotes in batch file command line.
+ del %confargs% %config_make%
+goto :exit
+:end
+(
+ echo //
+ echo configure_args = CONFIGURE_ARGS
+ echo !endif
+ echo #undef $
+) >> %confargs%
+(
+ cl -EP %confargs% 2>nul | findstr "! ="
+ echo.
+ if NOT "%XINCFLAGS%" == "" echo XINCFLAGS = %XINCFLAGS%
+ if NOT "%XLDFLAGS%" == "" echo XLDFLAGS = %XLDFLAGS%
+ if NOT "%pathlist%" == "" (
+ call echo PATH = %%pathlist:;=/bin;%%$^(PATH^)
+ call echo INCLUDE = %%pathlist:;=/include;%%$^(INCLUDE^)
+ call echo LIB = %%pathlist:;=/lib;%%$^(LIB^)
+ )
+) >> %config_make%
+del %confargs% > nul
+
+nmake -al -f %WIN32DIR%/setup.mak "WIN32DIR=%WIN32DIR%" ^
+ config_make=%config_make% ^
+ MAKEFILE=Makefile.new MAKEFILE_BACK=Makefile.old MAKEFILE_NEW=Makefile
+:exit
+@endlocal
diff --git a/win32/ifchange.bat b/win32/ifchange.bat index fa10c58703..f3fc9ea37c 100755 --- a/win32/ifchange.bat +++ b/win32/ifchange.bat @@ -1,137 +1,137 @@ -@echo off -:: usage: ifchange target temporary - -@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1 - -:: @set PROMPT=$T:$S -for %%I in (%0) do set progname=%%~nI -set timestamp= -set keepsuffix= -set empty= -set color=auto -:optloop -set optarg= -:optnext -for %%I in (%1) do set opt=%%~I - if not "%opt:~0,2%" == "--" ( - if not "%optarg%" == "" ( - call set %optarg%=%%opt%% - shift - goto :optloop - ) - goto :optend - ) - if "%opt%" == "--" ( - shift - goto :optend - ) - if "%opt%" == "--timestamp" ( - set timestamp=. - set optarg=timestamp - shift - goto :optnext - ) - if "%opt:~0,12%" == "--timestamp=" ( - set timestamp=%opt:~12% - shift - goto :optloop - ) - if "%opt%" == "--keep" ( - set keepsuffix=.old - set optarg=keep - shift - goto :optnext - ) - if "%opt:~0,7%" == "--keep=" ( - set keepsuffix=%opt:~7% - shift - goto :optloop - ) - if "%opt%" == "--empty" ( - set empty=yes - shift - goto :optloop - ) - if "%opt%" == "--color" ( - set color=always - set optarg=color - shift - goto :optnext - ) - if "%opt:~0,8%" == "--color=" ( - set color=%opt:~8% - shift - goto :optloop - ) - if "%opt%" == "--debug" ( - shift - echo on - goto :optloop - ) - if "%opt%" == "--help" ( - call :help - exit /b - ) - echo %progname%: unknown option: %1 1>&2 - exit /b 1 -:optend - -if "%2" == "" ( - call :help 1>&2 - exit /b 1 -) - -set dest=%1 -set src=%2 -set dest=%dest:/=\% -set src=%src:/=\% - -if not "%src%" == "-" goto :srcfile - if not "%TMPDIR%" == "" ( - set src=%TMPDIR%\ifchange%RANDOM%.tmp - ) else if not "%TEMP%" == "" ( - set src=%TEMP%\ifchange%RANDOM%.tmp - ) else if not "%TMP%" == "" ( - set src=%TMP%\ifchange%RANDOM%.tmp - ) else ( - set src=.\ifchange%RANDOM%.tmp - ) - findstr -r -c:"^" > "%src%" -:srcfile - -if exist %dest% ( - if not exist %src% goto :nt_unchanged1 - if not "%empty%" == "" for %%I in (%src%) do if %%~zI == 0 goto :nt_unchanged - fc.exe %dest% %src% > nul && ( - :nt_unchanged - del %src% - :nt_unchanged1 - for %%I in (%1) do echo %%~I unchanged - goto :nt_end - ) -) -for %%I in (%1) do echo %%~I updated -del /f %dest% 2> nul -copy %src% %dest% > nul -del %src% - -:nt_end -if "%timestamp%" == "" goto :end - if "%timestamp%" == "." ( - for %%I in ("%dest%") do set timestamp=%%~dpI.time.%%~nxI - ) - goto :end > "%timestamp%" - -:help - for %%I in ( - "usage: %progname% [options] target new-file" - "options:" - " --timestamp[=file] touch timestamp file. (default: prefixed with '.time')" - " under the directory of the target)" - " --keep[=suffix] keep old file with suffix. (default: '.old')" - " --empty assume unchanged if the new file is empty." - " --color[=always|auto|never] colorize output." - ) do echo.%%~I - goto :eof - -:end +@echo off
+:: usage: ifchange target temporary
+
+@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1
+
+:: @set PROMPT=$T:$S
+for %%I in (%0) do set progname=%%~nI
+set timestamp=
+set keepsuffix=
+set empty=
+set color=auto
+:optloop
+set optarg=
+:optnext
+for %%I in (%1) do set opt=%%~I
+ if not "%opt:~0,2%" == "--" (
+ if not "%optarg%" == "" (
+ call set %optarg%=%%opt%%
+ shift
+ goto :optloop
+ )
+ goto :optend
+ )
+ if "%opt%" == "--" (
+ shift
+ goto :optend
+ )
+ if "%opt%" == "--timestamp" (
+ set timestamp=.
+ set optarg=timestamp
+ shift
+ goto :optnext
+ )
+ if "%opt:~0,12%" == "--timestamp=" (
+ set timestamp=%opt:~12%
+ shift
+ goto :optloop
+ )
+ if "%opt%" == "--keep" (
+ set keepsuffix=.old
+ set optarg=keep
+ shift
+ goto :optnext
+ )
+ if "%opt:~0,7%" == "--keep=" (
+ set keepsuffix=%opt:~7%
+ shift
+ goto :optloop
+ )
+ if "%opt%" == "--empty" (
+ set empty=yes
+ shift
+ goto :optloop
+ )
+ if "%opt%" == "--color" (
+ set color=always
+ set optarg=color
+ shift
+ goto :optnext
+ )
+ if "%opt:~0,8%" == "--color=" (
+ set color=%opt:~8%
+ shift
+ goto :optloop
+ )
+ if "%opt%" == "--debug" (
+ shift
+ echo on
+ goto :optloop
+ )
+ if "%opt%" == "--help" (
+ call :help
+ exit /b
+ )
+ echo %progname%: unknown option: %1 1>&2
+ exit /b 1
+:optend
+
+if "%2" == "" (
+ call :help 1>&2
+ exit /b 1
+)
+
+set dest=%1
+set src=%2
+set dest=%dest:/=\%
+set src=%src:/=\%
+
+if not "%src%" == "-" goto :srcfile
+ if not "%TMPDIR%" == "" (
+ set src=%TMPDIR%\ifchange%RANDOM%.tmp
+ ) else if not "%TEMP%" == "" (
+ set src=%TEMP%\ifchange%RANDOM%.tmp
+ ) else if not "%TMP%" == "" (
+ set src=%TMP%\ifchange%RANDOM%.tmp
+ ) else (
+ set src=.\ifchange%RANDOM%.tmp
+ )
+ findstr -r -c:"^" > "%src%"
+:srcfile
+
+if exist %dest% (
+ if not exist %src% goto :nt_unchanged1
+ if not "%empty%" == "" for %%I in (%src%) do if %%~zI == 0 goto :nt_unchanged
+ fc.exe %dest% %src% > nul && (
+ :nt_unchanged
+ del %src%
+ :nt_unchanged1
+ for %%I in (%1) do echo %%~I unchanged
+ goto :nt_end
+ )
+)
+for %%I in (%1) do echo %%~I updated
+del /f %dest% 2> nul
+copy %src% %dest% > nul
+del %src%
+
+:nt_end
+if "%timestamp%" == "" goto :end
+ if "%timestamp%" == "." (
+ for %%I in ("%dest%") do set timestamp=%%~dpI.time.%%~nxI
+ )
+ goto :end > "%timestamp%"
+
+:help
+ for %%I in (
+ "usage: %progname% [options] target new-file"
+ "options:"
+ " --timestamp[=file] touch timestamp file. (default: prefixed with '.time')"
+ " under the directory of the target)"
+ " --keep[=suffix] keep old file with suffix. (default: '.old')"
+ " --empty assume unchanged if the new file is empty."
+ " --color[=always|auto|never] colorize output."
+ ) do echo.%%~I
+ goto :eof
+
+:end
diff --git a/win32/install-buildtools.cmd b/win32/install-buildtools.cmd index fbbe051f71..7f5e20293b 100755 --- a/win32/install-buildtools.cmd +++ b/win32/install-buildtools.cmd @@ -1,14 +1,14 @@ -@echo off -@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1 - -set components=VC.Tools.x86.x64 VC.Redist.14.Latest CoreBuildTools -set components=%components% Windows11SDK.26100 -if /i "%PROCESSOR_ARCHITECTURE%" == "ARM64" ( - set components=%components% VC.Tools.ARM64 VC.Tools.ARM64EC -) -set override=--passive -for %%I in (%components%) do ( - call set override=%%override%% --add Microsoft.VisualStudio.Component.%%I -) -echo on -winget install --id Microsoft.VisualStudio.2022.BuildTools --override "%override%" +@echo off
+@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1
+
+set components=VC.Tools.x86.x64 VC.Redist.14.Latest CoreBuildTools
+set components=%components% Windows11SDK.26100
+if /i "%PROCESSOR_ARCHITECTURE%" == "ARM64" (
+ set components=%components% VC.Tools.ARM64 VC.Tools.ARM64EC
+)
+set override=--passive
+for %%I in (%components%) do (
+ call set override=%%override%% --add Microsoft.VisualStudio.Component.%%I
+)
+echo on
+winget install --id Microsoft.VisualStudio.2022.BuildTools --override "%override%"
diff --git a/win32/install-msys-packages.cmd b/win32/install-msys-packages.cmd index d3adbaf595..f388de5692 100755 --- a/win32/install-msys-packages.cmd +++ b/win32/install-msys-packages.cmd @@ -1,29 +1,29 @@ -::- Install msys packages for rubygems -::- The dependencies are taken from vcpkg.json to share the common info. - -@setlocal EnableExtensions DisableDelayedExpansion || exit /b - 1 -@set PROMPT=$h$e[96m$g$e[39m$s -@set script=%0 -@call set "srcdir=%%script:\win32\%~nx0=%%" - -@if not defined MINGW_PACKAGE_PREFIX ( - ::- Enable msys environment by ridk (from RubyInstaller-DevKit) - where ridk >nul 2>&1 || ( - (echo MINGW_PACKAGE_PREFIX is not set, you have to enable development environment.) 1>&2 - exit /b 1 - ) - call ridk enable %* - echo: -) else if not "%1" == "" ( - ::- Switch msys environment by ridk (from RubyInstaller-DevKit) - call ridk enable %* - echo: -) - -@set pkgs= -@( - for /f %%I in ('powershell -c "(ConvertFrom-Json $input).dependencies"') do @( - call set "pkgs=%%pkgs%% %%MINGW_PACKAGE_PREFIX%%-%%%%I" - ) -) < "%srcdir%\vcpkg.json" -pacman -S --needed --noconfirm %pkgs:~1% +::- Install msys packages for rubygems
+::- The dependencies are taken from vcpkg.json to share the common info.
+
+@setlocal EnableExtensions DisableDelayedExpansion || exit /b - 1
+@set PROMPT=$h$e[96m$g$e[39m$s
+@set script=%0
+@call set "srcdir=%%script:\win32\%~nx0=%%"
+
+@if not defined MINGW_PACKAGE_PREFIX (
+ ::- Enable msys environment by ridk (from RubyInstaller-DevKit)
+ where ridk >nul 2>&1 || (
+ (echo MINGW_PACKAGE_PREFIX is not set, you have to enable development environment.) 1>&2
+ exit /b 1
+ )
+ call ridk enable %*
+ echo:
+) else if not "%1" == "" (
+ ::- Switch msys environment by ridk (from RubyInstaller-DevKit)
+ call ridk enable %*
+ echo:
+)
+
+@set pkgs=
+@(
+ for /f %%I in ('powershell -c "(ConvertFrom-Json $input).dependencies"') do @(
+ call set "pkgs=%%pkgs%% %%MINGW_PACKAGE_PREFIX%%-%%%%I"
+ )
+) < "%srcdir%\vcpkg.json"
+pacman -S --needed --noconfirm %pkgs:~1%
diff --git a/win32/lastrev.bat b/win32/lastrev.bat index c4ce61e34a..48e5750c6e 100755 --- a/win32/lastrev.bat +++ b/win32/lastrev.bat @@ -1,30 +1,30 @@ -@echo off -@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1 - -if "%1" == "" (set gitdir=.) else (set gitdir=%1) -set TZ=UTC -for /f "usebackq tokens=1-3" %%I in ( - `git -C "%gitdir%" log -1 --no-show-signature "--date=format-local:%%F %%T" "--format=%%H %%cd" HEAD` -) do ( - set rev=%%I - set dt=%%J - set tm=%%K -) -if not "%dt%" == "" ( - set /a yy=%dt:-=% / 10000 - set /a mm=%dt:-=% / 100 %% 100 - set /a dd=%dt:-=% %% 100 -) -for /f "usebackq tokens=1" %%I in ( - `git -C "%gitdir%" symbolic-ref --short HEAD` -) do set branch=%%I -if not "%rev%" == "" ( - echo #define RUBY_REVISION "%rev:~,10%" - echo #define RUBY_FULL_REVISION "%rev%" - echo #define RUBY_BRANCH_NAME "%branch%" - echo #define RUBY_RELEASE_DATETIME "%dt%T%tm%Z" - echo #define RUBY_RELEASE_YEAR %yy% - echo #define RUBY_RELEASE_MONTH %mm% - echo #define RUBY_RELEASE_DAY %dd% -) -@endlocal +@echo off
+@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1
+
+if "%1" == "" (set gitdir=.) else (set gitdir=%1)
+set TZ=UTC
+for /f "usebackq tokens=1-3" %%I in (
+ `git -C "%gitdir%" log -1 --no-show-signature "--date=format-local:%%F %%T" "--format=%%H %%cd" HEAD`
+) do (
+ set rev=%%I
+ set dt=%%J
+ set tm=%%K
+)
+if not "%dt%" == "" (
+ set /a yy=%dt:-=% / 10000
+ set /a mm=%dt:-=% / 100 %% 100
+ set /a dd=%dt:-=% %% 100
+)
+for /f "usebackq tokens=1" %%I in (
+ `git -C "%gitdir%" symbolic-ref --short HEAD`
+) do set branch=%%I
+if not "%rev%" == "" (
+ echo #define RUBY_REVISION "%rev:~,10%"
+ echo #define RUBY_FULL_REVISION "%rev%"
+ echo #define RUBY_BRANCH_NAME "%branch%"
+ echo #define RUBY_RELEASE_DATETIME "%dt%T%tm%Z"
+ echo #define RUBY_RELEASE_YEAR %yy%
+ echo #define RUBY_RELEASE_MONTH %mm%
+ echo #define RUBY_RELEASE_DAY %dd%
+)
+@endlocal
diff --git a/win32/makedirs.bat b/win32/makedirs.bat index 6688457139..8c06d94041 100755 --- a/win32/makedirs.bat +++ b/win32/makedirs.bat @@ -1,3 +1,3 @@ -@echo off -@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1 -for %%I in (%*) do if not exist "%%~I/." mkdir "%%~I" +@echo off
+@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1
+for %%I in (%*) do if not exist "%%~I/." mkdir "%%~I"
diff --git a/win32/rm.bat b/win32/rm.bat index 0207791991..c41ebfa5ee 100755 --- a/win32/rm.bat +++ b/win32/rm.bat @@ -1,64 +1,64 @@ -@echo off -@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1 - -set prog=%~n0 -set dryrun= -set recursive= -set debug= -set error=0 -set parent= - -:optloop -if "%1" == "-f" shift -if "%1" == "-n" (shift & set "dryrun=%1" & goto :optloop) -if "%1" == "-r" (shift & set "recursive=%1" & goto :optloop) -if "%1" == "--debug" (shift & set "debug=%1" & set PROMPT=$E[34m+$E[m$S & echo on & goto :optloop) -:begin -if "%1" == "" goto :EOF - set p=%1 - shift - set p=%p:/=\% - call :remove %p% -goto :begin - -:remove -setlocal - -::- Split %1 by '?' and '*', wildcard characters -for /f "usebackq delims=?* tokens=1*" %%I in ('%1') do (set "par=%%I" & set "sub=%%J") -if "%sub%" == "" goto :remove_plain -if "%sub:\=%" == "%sub%" goto :remove_plain - ::- Extract the first wildcard - set "q=%1" - call set "q=%%q:%par%=%%" - set q=%q:~0,1% - - ::- `delims` chars at the beginning are removed in `for` - if "%sub:~0,1%" == "\" ( - set "sub=%sub:~1%" - set "par=%par%%q%" - ) else ( - for /f "usebackq delims=\\ tokens=1*" %%I in ('%sub%') do (set "par=%par%%q%%%I" & set "sub=%%J") - ) - - ::- Recursive search - for /d %%D in (%par%) do ( - call :remove %sub% %2%%D\ - ) -goto :remove_end -:remove_plain - set p=%2%1 - if not exist "%1" goto :remove_end - if not "%dryrun%" == "" ( - echo Removing %p:\=/% - goto :remove_end - ) - ::- Try `rd` first for symlink to a directory; `del` attemps to remove all - ::- files under the target directory, instead of the symlink itself. - (rd /q "%p%" || del /q "%p%") 2> nul && goto :remove_end - - if "%recursive%" == "-r" for /D %%I in (%p%) do ( - rd /s /q %%I || call set error=%%ERRORLEVEL%% - ) -:remove_end -endlocal & set "error=%error%" & goto :EOF +@echo off
+@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1
+
+set prog=%~n0
+set dryrun=
+set recursive=
+set debug=
+set error=0
+set parent=
+
+:optloop
+if "%1" == "-f" shift
+if "%1" == "-n" (shift & set "dryrun=%1" & goto :optloop)
+if "%1" == "-r" (shift & set "recursive=%1" & goto :optloop)
+if "%1" == "--debug" (shift & set "debug=%1" & set PROMPT=$E[34m+$E[m$S & echo on & goto :optloop)
+:begin
+if "%1" == "" goto :EOF
+ set p=%1
+ shift
+ set p=%p:/=\%
+ call :remove %p%
+goto :begin
+
+:remove
+setlocal
+
+::- Split %1 by '?' and '*', wildcard characters
+for /f "usebackq delims=?* tokens=1*" %%I in ('%1') do (set "par=%%I" & set "sub=%%J")
+if "%sub%" == "" goto :remove_plain
+if "%sub:\=%" == "%sub%" goto :remove_plain
+ ::- Extract the first wildcard
+ set "q=%1"
+ call set "q=%%q:%par%=%%"
+ set q=%q:~0,1%
+
+ ::- `delims` chars at the beginning are removed in `for`
+ if "%sub:~0,1%" == "\" (
+ set "sub=%sub:~1%"
+ set "par=%par%%q%"
+ ) else (
+ for /f "usebackq delims=\\ tokens=1*" %%I in ('%sub%') do (set "par=%par%%q%%%I" & set "sub=%%J")
+ )
+
+ ::- Recursive search
+ for /d %%D in (%par%) do (
+ call :remove %sub% %2%%D\
+ )
+goto :remove_end
+:remove_plain
+ set p=%2%1
+ if not exist "%1" goto :remove_end
+ if not "%dryrun%" == "" (
+ echo Removing %p:\=/%
+ goto :remove_end
+ )
+ ::- Try `rd` first for symlink to a directory; `del` attemps to remove all
+ ::- files under the target directory, instead of the symlink itself.
+ (rd /q "%p%" || del /q "%p%") 2> nul && goto :remove_end
+
+ if "%recursive%" == "-r" for /D %%I in (%p%) do (
+ rd /s /q %%I || call set error=%%ERRORLEVEL%%
+ )
+:remove_end
+endlocal & set "error=%error%" & goto :EOF
diff --git a/win32/rmdirs.bat b/win32/rmdirs.bat index a1a97fde14..a8abebd383 100755 --- a/win32/rmdirs.bat +++ b/win32/rmdirs.bat @@ -1,34 +1,34 @@ -@echo off -@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1 -set parents=1 -:optloop -if "%1" == "--debug" (shift & set PROMPT=$E[34m+$E[m$S & echo on & goto :optloop) -if "%1" == "-p" (shift & (set parents=1) & goto :optloop) -:begin -if "%1" == "" goto :end - set dir=%1 - shift - set dir=%dir:/=\% - :rmdirs - if /%dir:~-2%/ == /\./ set dir=%dir:~0,-2% - if not exist "%dir%\." goto :begin - if "%dir%" == "." goto :begin - if "%dir%" == ".." goto :begin - rd "%dir%" 2> nul || goto :begin - if "%parents%" == "" goto :begin - :trim_sep - if not /%dir:~-1%/ == /\/ goto :trim_base - set dir=%dir:~0,-1% - if not "%dir%" == "" goto :trim_sep - :trim_base - if /%dir:~-1%/ == /\/ goto :parent - set dir=%dir:~0,-1% - if not "%dir%" == "" goto :trim_base - :parent - set dir=%dir:~0,-1% - if "%dir%" == "" goto :begin - if "%dir:~-1%" == ":" goto :begin - goto :rmdirs -shift -goto :begin -:end +@echo off
+@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1
+set parents=1
+:optloop
+if "%1" == "--debug" (shift & set PROMPT=$E[34m+$E[m$S & echo on & goto :optloop)
+if "%1" == "-p" (shift & (set parents=1) & goto :optloop)
+:begin
+if "%1" == "" goto :end
+ set dir=%1
+ shift
+ set dir=%dir:/=\%
+ :rmdirs
+ if /%dir:~-2%/ == /\./ set dir=%dir:~0,-2%
+ if not exist "%dir%\." goto :begin
+ if "%dir%" == "." goto :begin
+ if "%dir%" == ".." goto :begin
+ rd "%dir%" 2> nul || goto :begin
+ if "%parents%" == "" goto :begin
+ :trim_sep
+ if not /%dir:~-1%/ == /\/ goto :trim_base
+ set dir=%dir:~0,-1%
+ if not "%dir%" == "" goto :trim_sep
+ :trim_base
+ if /%dir:~-1%/ == /\/ goto :parent
+ set dir=%dir:~0,-1%
+ if not "%dir%" == "" goto :trim_base
+ :parent
+ set dir=%dir:~0,-1%
+ if "%dir%" == "" goto :begin
+ if "%dir:~-1%" == ":" goto :begin
+ goto :rmdirs
+shift
+goto :begin
+:end
diff --git a/win32/rtname.cmd b/win32/rtname.cmd index 1ac008ebf0..b85c6a0c7c 100755 --- a/win32/rtname.cmd +++ b/win32/rtname.cmd @@ -1,36 +1,36 @@ -@echo off -@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1 -set rt= -set rtver= -set osver= -for /f "usebackq" %%I in (` - dumpbin -dependents %1 ^| - findstr -r -i -c:"\<vcruntime.*\.dll$" -c:"\<msvcr.*\.dll$" -`) do ( - set rt=%%~nI -) - -for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do @( - ::- downcase - call set rt=%%rt:%%i=%%i%% -) - -if "%rt%" == "msvcrt" ( - call set rtver=60 -) else if "%rt:~0,5%" == "msvcr" ( - call set rtver=%%rt:msvcr=%% - call set osver=_%%rtver%% -) else if "%rt:~0,9%" == "vcruntime" ( - call set rtver=%%rt:vcruntime=%% - call set osver=_%%rtver%% -) else ( - (echo %0: %1 is not linked to msvcrt nor vcruntime) 1>&2 - exit 1 -) -for %%I in ( - "PLATFORM = $(TARGET_OS)%osver%" - "RT = %rt%" - "RT_VER = %rtver%" -) do @( - echo %%~I -) +@echo off
+@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1
+set rt=
+set rtver=
+set osver=
+for /f "usebackq" %%I in (`
+ dumpbin -dependents %1 ^|
+ findstr -r -i -c:"\<vcruntime.*\.dll$" -c:"\<msvcr.*\.dll$"
+`) do (
+ set rt=%%~nI
+)
+
+for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do @(
+ ::- downcase
+ call set rt=%%rt:%%i=%%i%%
+)
+
+if "%rt%" == "msvcrt" (
+ call set rtver=60
+) else if "%rt:~0,5%" == "msvcr" (
+ call set rtver=%%rt:msvcr=%%
+ call set osver=_%%rtver%%
+) else if "%rt:~0,9%" == "vcruntime" (
+ call set rtver=%%rt:vcruntime=%%
+ call set osver=_%%rtver%%
+) else (
+ (echo %0: %1 is not linked to msvcrt nor vcruntime) 1>&2
+ exit 1
+)
+for %%I in (
+ "PLATFORM = $(TARGET_OS)%osver%"
+ "RT = %rt%"
+ "RT_VER = %rtver%"
+) do @(
+ echo %%~I
+)
diff --git a/win32/vssetup.cmd b/win32/vssetup.cmd index 2bbfbf1384..f9f49fb276 100755 --- a/win32/vssetup.cmd +++ b/win32/vssetup.cmd @@ -1,56 +1,56 @@ -@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1 -::- do not `echo off` that affects the called batch files - -::- check for vswhere -@set vswhere=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe -@if not exist "%vswhere%" ( - echo 1>&2 vswhere.exe not found - exit /b 1 -) - -::- find the latest build tool and its setup batch file. -@set VSDEVCMD= -@set VSDEV_ARGS= -@set where_opt= -@set arch= -:argloop -@(set arg=%1) & if defined arg (shift) else (goto :argend) - @if "%arg%" == "-prerelease" ( - set where_opt=-prerelease - goto :argloop - ) - @if /i "%arg%" == "-arch" ( - set arch=%1 - shift - goto :argloop - ) - @if /i "%arg:~0,6%" == "-arch=" ( - set arch=%arg:~6% - goto :argloop - ) - - @set VSDEV_ARGS=%VSDEV_ARGS% %arg% - @goto :argloop -:argend -@if defined VSDEV_ARGS set VSDEV_ARGS=%VSDEV_ARGS:~1% - -@for /f "delims=" %%I in ('"%vswhere%" -products * -latest -property installationPath %where_opt%') do @( - set VSDEVCMD=%%I\Common7\Tools\VsDevCmd.bat -) -@if not defined VSDEVCMD ( - echo 1>&2 Visual Studio not found - exit /b 1 -) - -::- default to the current processor. -@set host_arch=%PROCESSOR_ARCHITECTURE% -@if not defined arch set arch=%PROCESSOR_ARCHITECTURE% -::- `vsdevcmd.bat` requires arch names to be lowercase -@for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do @( - call set arch=%%arch:%%i=%%i%% - call set host_arch=%%host_arch:%%i=%%i%% -) -@if "%arch%" == "x86_64" set arch=amd64 - -::- chain to `vsdevcmd.bat` -@(endlocal && "%VSDEVCMD%" -arch=%arch% -host_arch=%host_arch% %VSDEV_ARGS%) +@setlocal EnableExtensions DisableDelayedExpansion || exit /b -1
+::- do not `echo off` that affects the called batch files
+
+::- check for vswhere
+@set vswhere=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe
+@if not exist "%vswhere%" (
+ echo 1>&2 vswhere.exe not found
+ exit /b 1
+)
+
+::- find the latest build tool and its setup batch file.
+@set VSDEVCMD=
+@set VSDEV_ARGS=
+@set where_opt=
+@set arch=
+:argloop
+@(set arg=%1) & if defined arg (shift) else (goto :argend)
+ @if "%arg%" == "-prerelease" (
+ set where_opt=-prerelease
+ goto :argloop
+ )
+ @if /i "%arg%" == "-arch" (
+ set arch=%1
+ shift
+ goto :argloop
+ )
+ @if /i "%arg:~0,6%" == "-arch=" (
+ set arch=%arg:~6%
+ goto :argloop
+ )
+
+ @set VSDEV_ARGS=%VSDEV_ARGS% %arg%
+ @goto :argloop
+:argend
+@if defined VSDEV_ARGS set VSDEV_ARGS=%VSDEV_ARGS:~1%
+
+@for /f "delims=" %%I in ('"%vswhere%" -products * -latest -property installationPath %where_opt%') do @(
+ set VSDEVCMD=%%I\Common7\Tools\VsDevCmd.bat
+)
+@if not defined VSDEVCMD (
+ echo 1>&2 Visual Studio not found
+ exit /b 1
+)
+
+::- default to the current processor.
+@set host_arch=%PROCESSOR_ARCHITECTURE%
+@if not defined arch set arch=%PROCESSOR_ARCHITECTURE%
+::- `vsdevcmd.bat` requires arch names to be lowercase
+@for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do @(
+ call set arch=%%arch:%%i=%%i%%
+ call set host_arch=%%host_arch:%%i=%%i%%
+)
+@if "%arch%" == "x86_64" set arch=amd64
+
+::- chain to `vsdevcmd.bat`
+@(endlocal && "%VSDEVCMD%" -arch=%arch% -host_arch=%host_arch% %VSDEV_ARGS%)
|
