waf

FORK: waf with some random patches
git clone https://git.neptards.moe/neptards/waf.git
Log | Files | Refs | README

waf.bat (2064B)


      1 @echo off
      2 
      3 rem from issue #964
      4 
      5 Setlocal EnableDelayedExpansion
      6 
      7 rem Check Windows Version
      8 set TOKEN=tokens=3*
      9 ver | findstr /i "5\.0\." > nul
     10 if %ERRORLEVEL% EQU 0 SET TOKEN=tokens=3*
     11 ver | findstr /i "5\.1\." > nul
     12 if %ERRORLEVEL% EQU 0 SET TOKEN=tokens=3*
     13 ver | findstr /i "5\.2\." > nul
     14 if %ERRORLEVEL% EQU 0 SET TOKEN=tokens=3*
     15 ver | findstr /i "6\.0\." > nul
     16 if %ERRORLEVEL% EQU 0 SET TOKEN=tokens=2*
     17 ver | findstr /i "6\.1\." > nul
     18 if %ERRORLEVEL% EQU 0 SET TOKEN=tokens=2*
     19 
     20 rem Start calculating PYTHON and PYTHON_DIR
     21 set PYTHON=
     22 set PYTHON_DIR=
     23 
     24 Setlocal EnableDelayedExpansion
     25 
     26 set PYTHON_DIR_OK=FALSE
     27 set REGPATH=
     28 
     29 for %%i in (3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0 2.7 2.6 2.5) do (
     30 for %%j in (HKCU HKLM) do (
     31 for %%k in (SOFTWARE\Wow6432Node SOFTWARE) do (
     32 for %%l in (Python\PythonCore IronPython) do (
     33 set REG_PYTHON_EXE=python.exe
     34 if "%%l"=="IronPython" (
     35 set REG_PYTHON_EXE=ipy.exe
     36 )
     37 
     38 @echo on
     39 
     40 set REGPATH=%%j\%%k\%%l\%%i\InstallPath
     41 rem @echo Regpath !REGPATH!
     42 REG QUERY "!REGPATH!" /ve 1>nul 2>nul
     43 if !ERRORLEVEL! equ 0 (
     44   for /F "%TOKEN% delims=	 " %%A IN ('REG QUERY "!REGPATH!" /ve') do @set REG_PYTHON_DIR=%%B
     45   if exist !REG_PYTHON_DIR!  (
     46     IF NOT "!REG_PYTHON_DIR:~-1!"=="\" SET REG_PYTHON_DIR=!REG_PYTHON_DIR!\
     47     set REG_PYTHON=!REG_PYTHON_DIR!!REG_PYTHON_EXE!
     48     rem set PYTHON_DIR_OK=TRUE
     49     if "!PYTHON_DIR_OK!"=="FALSE" (
     50       set PYTHON_DIR=!REG_PYTHON_DIR!
     51       set PYTHON=!REG_PYTHON!
     52       set PYTHON_DIR_OK=TRUE
     53     )
     54 
     55     rem set PYTHON_DIR_OK=FALSE
     56     rem @echo Find !REG_PYTHON!
     57     rem goto finished
     58   )
     59 )
     60 
     61 echo off
     62 
     63 )
     64 rem for l
     65 )
     66 rem for k
     67 )
     68 rem for j
     69 )
     70 rem for i
     71 
     72 
     73 
     74 :finished
     75 
     76 Endlocal & SET PYTHON_DIR=%PYTHON_DIR% & SET PYTHON=%PYTHON%
     77 
     78 if "%PYTHON_DIR%" == "" (
     79 rem @echo No Python dir
     80 set PYTHON=python
     81 goto running
     82 )
     83 
     84 rem @echo %PYTHON_DIR%
     85 
     86 if "%PYTHON%" == "" (
     87 rem @echo No Python
     88 set PYTHON=python
     89 goto running
     90 )
     91 
     92 :running
     93 
     94 @echo Using %PYTHON%
     95 
     96 "%PYTHON%" -x "%~dp0waf" %*
     97 Endlocal
     98 exit /b %ERRORLEVEL%