summaryrefslogtreecommitdiff
path: root/BaseTools/toolsetup.bat
blob: 3f474a04f3a10fc5c2337b1895db9c8da16e154a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
@REM
@REM Copyright (c) 2006, Intel Corporation
@REM All rights reserved. This program and the accompanying materials
@REM are licensed and made available under the terms and conditions of the BSD License
@REM which accompanies this distribution.  The full text of the license may be found at
@REM http://opensource.org/licenses/bsd-license.php
@REM
@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@REM

@echo off

REM ##############################################################
REM # You should not have to modify anything below this line
REM #

if /I "%1"=="-h" goto usage
if /I "%1"=="-help" goto usage
if /I "%1"=="--help" goto usage
if /I "%1"=="/h" goto usage
if /I "%1"=="/?" goto usage
if /I "%1"=="/help" goto usage

if NOT "%1"=="" set EDK_TOOLS_PATH=%1

REM
REM Check the required system environment variables
REM

:check_vc
if defined VCINSTALLDIR goto setup_workspace
if defined VS71COMNTOOLS (
  call "%VS71COMNTOOLS%\vsvars32.bat"
) else (
  echo.
  echo !!!WARNING!!! Cannot find Visual Studio !!!
  echo.
)

:setup_workspace
REM
REM check the EDK_TOOLS_PATH
REM
if not defined EDK_TOOLS_PATH goto no_tools_path
if exist %EDK_TOOLS_PATH% goto set_path
echo.
echo !!!WARNING!!! %EDK_TOOLS_PATH% doesn't exist. %WORKSPACE%\Tools will be used !!!
echo.

:no_tools_path
if exist %WORKSPACE%\BaseTools (
  set EDK_TOOLS_PATH=%WORKSPACE%\BaseTools
) else (
  echo.
  echo !!!WARNING!!! No tools path found. Please set EDK_TOOLS_PATH !!!
  echo.
  goto end
)

:set_path
if defined WORKSPACE_TOOLS_PATH goto check_path
set PATH=%EDK_TOOLS_PATH%\Bin;%EDK_TOOLS_PATH%\Bin\Win32;%PATH%
set WORKSPACE_TOOLS_PATH=%EDK_TOOLS_PATH%
goto path_ok

:check_path
if "%EDK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto path_ok
set PATH=%EDK_TOOLS_PATH%\Bin;%EDK_TOOLS_PATH%\Bin\Win32;%PATH%
set WORKSPACE_TOOLS_PATH=%EDK_TOOLS_PATH%
echo Resetting the PATH variable to include the EDK_TOOLS_PATH for this WORKSPACE

:path_ok
echo           PATH = %PATH%
echo.
echo      WORKSPACE = %WORKSPACE%
echo EDK_TOOLS_PATH = %EDK_TOOLS_PATH%
echo.

REM
REM copy *.template to %EDK_TOOLS_PATH%\Conf
REM
if NOT exist %EDK_TOOLS_PATH%\Conf mkdir %EDK_TOOLS_PATH%\Conf
if NOT exist %EDK_TOOLS_PATH%\Conf\FrameworkDatabase.db (
  echo copying ... FrameworkDatabase.template to %EDK_TOOLS_PATH%\Conf\FrameworkDatabase.db
  copy %EDK_TOOLS_PATH%\Conf\FrameworkDatabase.template %EDK_TOOLS_PATH%\Conf\FrameworkDatabase.db > nul
)
if NOT exist %EDK_TOOLS_PATH%\Conf\target.txt (
  echo copying ... target.template to %EDK_TOOLS_PATH%\Conf\target.txt
  copy %EDK_TOOLS_PATH%\Conf\target.template %EDK_TOOLS_PATH%\Conf\target.txt > nul
)
if NOT exist %EDK_TOOLS_PATH%\Conf\tools_def.txt (
  echo copying ... tools_def.template to %EDK_TOOLS_PATH%\Conf\tools_def.txt
  copy %EDK_TOOLS_PATH%\Conf\tools_def.template %EDK_TOOLS_PATH%\Conf\tools_def.txt > nul
)
if NOT exist %EDK_TOOLS_PATH%\Conf\build_rule.txt (
  echo copying ... build_rule.template to %EDK_TOOLS_PATH%\Conf\build_rule.txt
  copy %EDK_TOOLS_PATH%\Conf\build_rule.template %EDK_TOOLS_PATH%\Conf\build_rule.txt > nul
)

REM
REM copy XMLSchema to %EDK_TOOLS_PATH%\Conf\XMLSchema
REM
REM echo copying ... XMLSchema to %EDK_TOOLS_PATH%\Conf\XMLSchema
REM xcopy %WORKSPACE%\Conf\XMLSchema %EDK_TOOLS_PATH%\Conf\XMLSchema /S /I /D /F /Q > nul

REM
REM Done!!!
REM
goto end

:usage
echo.
echo  "Usage: %0 [/? | /h | /help | -h | -help | --help] [tools_path]"
echo.
echo                      tools_path       Tools' path. EDK_TOOLS_PATH will be set to this path.
echo.

:end
@echo on