summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--win32/rtname.cmd44
1 files changed, 24 insertions, 20 deletions
diff --git a/win32/rtname.cmd b/win32/rtname.cmd
index f7a52b8..775e816 100644
--- a/win32/rtname.cmd
+++ b/win32/rtname.cmd
@@ -2,30 +2,34 @@
set rt=
set rtver=
set osver=
-for /f "usebackq" %%I in (`dumpbin -dependents %1 ^| findstr -r -i "\<msvcr.*\.dll$"`) do set rt=%%~nI
-if "%rt%" NEQ "" goto :msvcr
-for /f "usebackq" %%I in (`dumpbin -dependents %1 ^| findstr -r -i "\<vcruntime.*\.dll$"`) do set rt=%%~nI
-if "%rt%" NEQ "" goto :vcruntime
+for /f "usebackq" %%I in (`
+ dumpbin -dependents %1 ^|
+ findstr -r -i -c:"\<vcruntime.*\.dll$" -c:"\<msvcr.*\.dll$"
+`) do (
+ set rt=%%~nI
+)
-(echo %0: %1 is not linked to msvcrt nor vcruntime) 1>&2
-exit 1
+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%%
+)
-:msvcr
-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 rt=%%rt:%%i=%%i%%
if "%rt%" == "msvcrt" (
call set rtver=60
-) else (
+) else if "%rt:~0,5%" == "msvcr" (
call set rtver=%%rt:msvcr=%%
- call set rt=msvcr%%rtver%%
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
)
-goto :exit
-
-:vcruntime
-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 rt=%%rt:%%i=%%i%%
-call set rtver=%%rt:vcruntime=%%
-call set rt=vcruntime%%rtver%%
-call set osver=_%%rtver%%
-
-:exit
-for %%I in ("PLATFORM = $(TARGET_OS)%osver%" "RT = %rt%" "RT_VER = %rtver%") do @echo %%~I