]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/toolsetup.bat
BaseTools: Various typo
[mirror_edk2.git] / BaseTools / toolsetup.bat
index b58560d4d7d5d62538bfd1cdd6a8088c75f2f294..5629bbaa41da03d6a1ab768c0e7a813c3faf7ce2 100755 (executable)
@@ -270,11 +270,11 @@ goto check_build_environment
 \r
 :check_c_tools\r
   echo.\r
-  echo !!! ERROR !!! Binary C tools are missing. They are requried to be built from BaseTools Source.\r
+  echo !!! ERROR !!! Binary C tools are missing. They are required to be built from BaseTools Source.\r
   echo.\r
 \r
 :check_build_environment\r
-  if defined BASETOOLS_PYTHON_SOURCE goto VisualStudioAvailable\r
+  set PYTHONHASHSEED=1\r
 \r
   if not defined BASE_TOOLS_PATH (\r
      if not exist "Source\C\Makefile" (\r
@@ -285,24 +285,92 @@ goto check_build_environment
      )\r
   )\r
 \r
-  if not defined PYTHON_HOME (\r
-    if defined PYTHONHOME (\r
-      set PYTHON_HOME=%PYTHONHOME%\r
-    ) else (\r
+:defined_python\r
+if defined PYTHON_COMMAND if not defined PYTHON3_ENABLE (\r
+  goto check_python_available\r
+)\r
+if defined PYTHON3_ENABLE (\r
+  if "%PYTHON3_ENABLE%" EQU "TRUE" (\r
+    set PYTHON_COMMAND=py -3\r
+    goto check_python_available\r
+  ) else (\r
+    goto check_python2\r
+  )\r
+)\r
+if not defined PYTHON_COMMAND if not defined PYTHON3_ENABLE (\r
+  set PYTHON_COMMAND=py -3\r
+  py -3 %BASE_TOOLS_PATH%\Tests\PythonTest.py >PythonCheck.txt 2>&1\r
+  setlocal enabledelayedexpansion\r
+  set /p PythonCheck=<"PythonCheck.txt"\r
+  del PythonCheck.txt\r
+  if "!PythonCheck!" NEQ "TRUE" (\r
+    if not defined PYTHON_HOME if not defined PYTHONHOME (\r
+      endlocal\r
+      set PYTHON_COMMAND=\r
       echo.\r
-      echo !!! ERROR !!! Binary python tools are missing. PYTHON_HOME environment variable is not set.\r
-      echo PYTHON_HOME is required to build or execute the python tools.\r
+      echo !!! ERROR !!! Binary python tools are missing.\r
+      echo PYTHON_COMMAND, PYTHON3_ENABLE or PYTHON_HOME\r
+      echo Environment variable is not set successfully.\r
+      echo They is required to build or execute the python tools.\r
       echo.\r
       goto end\r
+    ) else (\r
+      goto check_python2\r
     )\r
+  ) else (\r
+    goto check_freezer_path\r
+  )\r
+)\r
+\r
+:check_python2\r
+endlocal\r
+if defined PYTHON_HOME (\r
+  if EXIST "%PYTHON_HOME%" (\r
+    set PYTHON_COMMAND=%PYTHON_HOME%\python.exe\r
+    goto check_python_available\r
+  )\r
+)\r
+if defined PYTHONHOME (\r
+  if EXIST "%PYTHONHOME%" (\r
+    set PYTHON_HOME=%PYTHONHOME%\r
+    set PYTHON_COMMAND=%PYTHON_HOME%\python.exe\r
+    goto check_python_available\r
+  )\r
+)\r
+echo.\r
+echo !!! ERROR !!!  PYTHON_HOME is not defined or The value of this variable does not exist\r
+echo.\r
+goto end\r
+:check_python_available\r
+%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Tests\PythonTest.py >PythonCheck.txt 2>&1\r
+  setlocal enabledelayedexpansion\r
+  set /p PythonCheck=<"PythonCheck.txt"\r
+  del PythonCheck.txt\r
+  if "!PythonCheck!" NEQ "TRUE" (\r
+    echo.\r
+    echo ! ERROR !  "%PYTHON_COMMAND%" is not installed or added to environment variables\r
+    echo.\r
+    goto end\r
+  ) else (\r
+    goto check_freezer_path\r
   )\r
 \r
+:check_freezer_path\r
+  endlocal\r
+  if defined BASETOOLS_PYTHON_SOURCE goto print_python_info\r
   set "PATH=%BASE_TOOLS_PATH%\BinWrappers\WindowsLike;%PATH%"\r
   set BASETOOLS_PYTHON_SOURCE=%BASE_TOOLS_PATH%\Source\Python\r
   set PYTHONPATH=%BASETOOLS_PYTHON_SOURCE%;%PYTHONPATH%\r
 \r
+:print_python_info\r
   echo                PATH = %PATH%\r
-  echo         PYTHON_HOME = %PYTHON_HOME%\r
+  if defined PYTHON3_ENABLE if "%PYTHON3_ENABLE%" EQU "TRUE" (\r
+    echo      PYTHON3_ENABLE = %PYTHON3_ENABLE%\r
+    echo             PYTHON3 = %PYTHON_COMMAND%\r
+  ) else (\r
+    echo      PYTHON3_ENABLE = FALSE\r
+    echo      PYTHON_COMMAND = %PYTHON_COMMAND%\r
+  )\r
   echo          PYTHONPATH = %PYTHONPATH%\r
   echo.\r
 \r