diff options
author | hisham <hisham@9ca3f7c1-7366-0410-b1a3-b5c78f85698c> | 2009-04-01 17:11:57 +0000 |
---|---|---|
committer | hisham <hisham@9ca3f7c1-7366-0410-b1a3-b5c78f85698c> | 2009-04-01 17:11:57 +0000 |
commit | a88d6f2eeba2b3355c33fac6d736cf6086342f47 (patch) | |
tree | 03ebfa0ced0186e091609cf337e290580fab8c11 /install.bat | |
download | luarocks-a88d6f2eeba2b3355c33fac6d736cf6086342f47.tar.gz luarocks-a88d6f2eeba2b3355c33fac6d736cf6086342f47.tar.bz2 luarocks-a88d6f2eeba2b3355c33fac6d736cf6086342f47.zip |
Import latest revision from CVS at luaforge.netv1.0v0.5.2v0.5.1v0.5v0.4.3v0.4.2v0.4.1v0.4v0.3.2v0.3.1v0.3v0.2v0.1
git-svn-id: http://luarocks.org/svn/luarocks/trunk@1 9ca3f7c1-7366-0410-b1a3-b5c78f85698c
Diffstat (limited to 'install.bat')
-rw-r--r-- | install.bat | 312 |
1 files changed, 312 insertions, 0 deletions
diff --git a/install.bat b/install.bat new file mode 100644 index 00000000..141fe0f8 --- /dev/null +++ b/install.bat | |||
@@ -0,0 +1,312 @@ | |||
1 | @ECHO OFF | ||
2 | |||
3 | REM Boy, it feels like 1994 all over again. | ||
4 | |||
5 | SETLOCAL | ||
6 | |||
7 | SET PREFIX=C:\LuaRocks | ||
8 | SET VERSION=1.0 | ||
9 | SET SYSCONFDIR=C:\LuaRocks | ||
10 | SET ROCKS_TREE=C:\LuaRocks | ||
11 | SET SCRIPTS_DIR= | ||
12 | SET FORCE=OFF | ||
13 | SET INSTALL_LUA=OFF | ||
14 | SET LUA_INTERPRETER= | ||
15 | SET LUA_PREFIX= | ||
16 | SET LUA_BINDIR= | ||
17 | SET LUA_INCDIR= | ||
18 | SET LUA_LIBDIR= | ||
19 | SET FORCE_CONFIG= | ||
20 | SET MKDIR=.\bin\mkdir -p | ||
21 | |||
22 | REM *********************************************************** | ||
23 | REM Option parser | ||
24 | REM *********************************************************** | ||
25 | |||
26 | :PARSE_LOOP | ||
27 | IF [%1]==[] GOTO DONE_PARSING | ||
28 | IF [%1]==[/?] ( | ||
29 | ECHO Installs LuaRocks. | ||
30 | ECHO. | ||
31 | ECHO /P [dir] Where to install. | ||
32 | ECHO Default is %PREFIX% | ||
33 | ECHO /CONFIG [dir] Location where the config file should be installed. | ||
34 | ECHO Default is %SYSCONFDIR% | ||
35 | ECHO /TREE [dir] Root of the local tree of installed rocks. | ||
36 | ECHO Default is %ROCKS_TREE% | ||
37 | ECHO /SCRIPTS [dir] Where to install scripts installed by rocks. | ||
38 | ECHO Default is TREE/bin. | ||
39 | ECHO. | ||
40 | ECHO /L Install LuaRocks' own copy of Lua even if detected. | ||
41 | ECHO /LUA [dir] Location where Lua is installed - e.g. c:\lua\5.1\ | ||
42 | ECHO /INC [dir] Location of Lua includes - e.g. c:\lua\5.1\include | ||
43 | ECHO /LIB [dir] Location of Lua libraries -e.g. c:\lua\5.1\lib | ||
44 | ECHO /BIN [dir] Location of Lua executables - e.g. c:\lua\5.1\bin | ||
45 | ECHO. | ||
46 | ECHO /FORCECONFIG Use a single config location. Do not use the | ||
47 | ECHO LUAROCKS_CONFIG variable or the user's home directory. | ||
48 | ECHO Useful to avoid conflicts when LuaRocks | ||
49 | ECHO is embedded within an application. | ||
50 | ECHO. | ||
51 | ECHO /F Remove installation directory if it already exists. | ||
52 | ECHO. | ||
53 | GOTO QUIT | ||
54 | ) | ||
55 | IF /I [%1]==[/P] ( | ||
56 | SET PREFIX=%2 | ||
57 | SHIFT /1 | ||
58 | SHIFT /1 | ||
59 | GOTO PARSE_LOOP | ||
60 | ) | ||
61 | IF /I [%1]==[/CONFIG] ( | ||
62 | SET SYSCONFDIR=%2 | ||
63 | SHIFT /1 | ||
64 | SHIFT /1 | ||
65 | GOTO PARSE_LOOP | ||
66 | ) | ||
67 | IF /I [%1]==[/TREE] ( | ||
68 | SET ROCKS_TREE=%2 | ||
69 | SHIFT /1 | ||
70 | SHIFT /1 | ||
71 | GOTO PARSE_LOOP | ||
72 | ) | ||
73 | IF /I [%1]==[/SCRIPTS] ( | ||
74 | SET SCRIPTS_DIR=%2 | ||
75 | SHIFT /1 | ||
76 | SHIFT /1 | ||
77 | GOTO PARSE_LOOP | ||
78 | ) | ||
79 | IF /I [%1]==[/L] ( | ||
80 | SET INSTALL_LUA=ON | ||
81 | SHIFT /1 | ||
82 | GOTO PARSE_LOOP | ||
83 | ) | ||
84 | IF /I [%1]==[/LUA] ( | ||
85 | SET LUA_PREFIX=%2 | ||
86 | SHIFT /1 | ||
87 | SHIFT /1 | ||
88 | GOTO PARSE_LOOP | ||
89 | ) | ||
90 | IF /I [%1]==[/LIB] ( | ||
91 | SET LUA_LIBDIR=%2 | ||
92 | SHIFT /1 | ||
93 | SHIFT /1 | ||
94 | GOTO PARSE_LOOP | ||
95 | ) | ||
96 | IF /I [%1]==[/INC] ( | ||
97 | SET LUA_INCDIR=%2 | ||
98 | SHIFT /1 | ||
99 | SHIFT /1 | ||
100 | GOTO PARSE_LOOP | ||
101 | ) | ||
102 | IF /I [%1]==[/BIN] ( | ||
103 | SET LUA_BINDIR=%2 | ||
104 | SHIFT /1 | ||
105 | SHIFT /1 | ||
106 | GOTO PARSE_LOOP | ||
107 | ) | ||
108 | IF /I [%1]==[/FORCECONFIG] ( | ||
109 | SET FORCE_CONFIG=ON | ||
110 | SHIFT /1 | ||
111 | GOTO PARSE_LOOP | ||
112 | ) | ||
113 | IF /I [%1]==[/F] ( | ||
114 | SET FORCE=ON | ||
115 | SHIFT /1 | ||
116 | GOTO PARSE_LOOP | ||
117 | ) | ||
118 | ECHO Unrecognized option: %1 | ||
119 | GOTO ERROR | ||
120 | :DONE_PARSING | ||
121 | |||
122 | SET FULL_PREFIX=%PREFIX%\%VERSION% | ||
123 | |||
124 | SET BINDIR=%FULL_PREFIX% | ||
125 | SET LIBDIR=%FULL_PREFIX% | ||
126 | SET LUADIR=%FULL_PREFIX%\lua | ||
127 | SET INCDIR=%FULL_PREFIX%\include | ||
128 | |||
129 | REM *********************************************************** | ||
130 | REM Detect Lua | ||
131 | REM *********************************************************** | ||
132 | |||
133 | IF [%INSTALL_LUA%]==[ON] GOTO USE_OWN_LUA | ||
134 | |||
135 | FOR %%L IN (%LUA_PREFIX% c:\lua\5.1.2 c:\lua c:\kepler\1.1) DO ( | ||
136 | SET CURR=%%L | ||
137 | IF EXIST "%%L" ( | ||
138 | IF NOT [%LUA_BINDIR%]==[] ( | ||
139 | IF EXIST %LUA_BINDIR%\lua5.1.exe ( | ||
140 | SET LUA_INTERPRETER=%LUA_BINDIR%\lua5.1.exe | ||
141 | GOTO INTERPRETER_IS_SET | ||
142 | ) | ||
143 | IF EXIST %LUA_BINDIR%\lua.exe ( | ||
144 | SET LUA_INTERPRETER=%LUA_BINDIR%\lua.exe | ||
145 | GOTO INTERPRETER_IS_SET | ||
146 | ) | ||
147 | ECHO Lua executable lua.exe or lua5.1.exe not found in %LUA_BINDIR% | ||
148 | GOTO ERROR | ||
149 | ) | ||
150 | SET CURR=%%L | ||
151 | FOR %%E IN (\ \bin\) DO ( | ||
152 | IF EXIST "%%L%%E\lua5.1.exe" ( | ||
153 | SET LUA_INTERPRETER=%%L%%E\lua5.1.exe | ||
154 | SET LUA_BINDIR=%%L%%E | ||
155 | GOTO INTERPRETER_IS_SET | ||
156 | ) | ||
157 | IF EXIST "%%L%%E\lua.exe" ( | ||
158 | SET LUA_INTERPRETER=%%L%%E\lua.exe | ||
159 | SET LUA_BINDIR=%%L%%E | ||
160 | GOTO INTERPRETER_IS_SET | ||
161 | ) | ||
162 | ) | ||
163 | GOTO TRY_NEXT_LUA_DIR | ||
164 | :INTERPRETER_IS_SET | ||
165 | IF NOT "%LUA_LIBDIR%"=="" ( | ||
166 | IF EXIST %LUA_LIBDIR%\lua5.1.lib GOTO LIBDIR_IS_SET | ||
167 | ECHO lua5.1.lib not found in %LUA_LIBDIR% | ||
168 | GOTO ERROR | ||
169 | ) | ||
170 | FOR %%E IN (\ \lib\ \bin\) DO ( | ||
171 | IF EXIST "%CURR%%%E\lua5.1.lib" ( | ||
172 | SET LUA_LIBDIR=%CURR%%%E | ||
173 | GOTO LIBDIR_IS_SET | ||
174 | ) | ||
175 | ) | ||
176 | GOTO TRY_NEXT_LUA_DIR | ||
177 | :LIBDIR_IS_SET | ||
178 | IF NOT [%LUA_INCDIR%]==[] ( | ||
179 | IF EXIST %LUA_INCDIR%\lua.h GOTO INCDIR_IS_SET | ||
180 | ECHO lua.h not found in %LUA_INCDIR% | ||
181 | GOTO ERROR | ||
182 | ) | ||
183 | FOR %%E IN (\ \include\) DO ( | ||
184 | IF EXIST "%CURR%%%E\lua.h" ( | ||
185 | SET LUA_INCDIR=%CURR%%%E | ||
186 | GOTO INCDIR_IS_SET | ||
187 | ) | ||
188 | ) | ||
189 | GOTO TRY_NEXT_LUA_DIR | ||
190 | :INCDIR_IS_SET | ||
191 | %LUA_INTERPRETER% -v 2>NUL | ||
192 | IF NOT ERRORLEVEL 1 ( | ||
193 | GOTO LUA_IS_SET | ||
194 | ) | ||
195 | ) | ||
196 | :TRY_NEXT_LUA_DIR | ||
197 | REM wtf | ||
198 | ) | ||
199 | ECHO Could not find Lua. Will install its own copy. | ||
200 | ECHO See /? for options for specifying the location of Lua. | ||
201 | :USE_OWN_LUA | ||
202 | SET INSTALL_LUA=ON | ||
203 | SET LUA_INTERPRETER=lua5.1 | ||
204 | SET LUA_BINDIR=%BINDIR% | ||
205 | SET LUA_LIBDIR=%LIBDIR% | ||
206 | SET LUA_INCDIR=%INCDIR% | ||
207 | :LUA_IS_SET | ||
208 | ECHO. | ||
209 | ECHO Will configure LuaRocks with the following paths: | ||
210 | ECHO Lua interpreter: %LUA_INTERPRETER% | ||
211 | ECHO Lua binaries: %LUA_BINDIR% | ||
212 | ECHO Lua libraries: %LUA_LIBDIR% | ||
213 | ECHO Lua includes: %LUA_INCDIR% | ||
214 | ECHO. | ||
215 | |||
216 | REM *********************************************************** | ||
217 | REM Install LuaRocks files | ||
218 | REM *********************************************************** | ||
219 | |||
220 | IF [%FORCE%]==[ON] ( | ||
221 | ECHO Removing %FULL_PREFIX%... | ||
222 | RD /S /Q "%FULL_PREFIX%" | ||
223 | ) | ||
224 | |||
225 | IF NOT EXIST "%FULL_PREFIX%" GOTO NOT_EXIST_PREFIX | ||
226 | ECHO %FULL_PREFIX% exists. Use /F to force removal and reinstallation. | ||
227 | GOTO ERROR | ||
228 | :NOT_EXIST_PREFIX | ||
229 | |||
230 | ECHO Installing LuaRocks in %FULL_PREFIX%... | ||
231 | IF NOT EXIST "%BINDIR%" %MKDIR% "%BINDIR%" | ||
232 | IF ERRORLEVEL 1 GOTO ERROR | ||
233 | IF [%INSTALL_LUA%]==[ON] ( | ||
234 | IF NOT EXIST "%LUA_BINDIR%" %MKDIR% "%LUA_BINDIR%" | ||
235 | IF NOT EXIST "%LUA_INCDIR%" %MKDIR% "%LUA_INCDIR%" | ||
236 | COPY lua5.1\bin\*.* "%LUA_BINDIR%" >NUL | ||
237 | COPY lua5.1\include\*.* "%LUA_INCDIR%" >NUL | ||
238 | ) | ||
239 | COPY bin\*.* "%BINDIR%" >NUL | ||
240 | IF ERRORLEVEL 1 GOTO ERROR | ||
241 | COPY src\bin\*.* "%BINDIR%" >NUL | ||
242 | IF ERRORLEVEL 1 GOTO ERROR | ||
243 | FOR %%C IN (luarocks luarocks-admin) DO ( | ||
244 | RENAME "%BINDIR%\%%C" %%C.lua | ||
245 | IF ERRORLEVEL 1 GOTO ERROR | ||
246 | DEL /F /Q "%BINDIR%\%%C.bat" 2>NUL | ||
247 | ECHO @ECHO OFF>> "%BINDIR%\%%C.bat" | ||
248 | ECHO SETLOCAL>> "%BINDIR%\%%C.bat" | ||
249 | ECHO SET LUA_PATH=%LUADIR%\?.lua;%LUADIR%\?\init.lua;%%LUA_PATH%%>> "%BINDIR%\%%C.bat" | ||
250 | ECHO SET PATH=%BINDIR%\;%%PATH%%>> "%BINDIR%\%%C.bat" | ||
251 | ECHO "%LUA_INTERPRETER%" "%BINDIR%\%%C.lua" %%*>> "%BINDIR%\%%C.bat" | ||
252 | ECHO ENDLOCAL>> "%BINDIR%\%%C.bat" | ||
253 | ) | ||
254 | IF NOT EXIST "%LUADIR%\luarocks" %MKDIR% "%LUADIR%\luarocks" | ||
255 | IF ERRORLEVEL 1 GOTO ERROR | ||
256 | XCOPY /S src\luarocks\*.* "%LUADIR%\luarocks" >NUL | ||
257 | IF ERRORLEVEL 1 GOTO ERROR | ||
258 | |||
259 | RENAME "%LUADIR%\luarocks\cfg.lua" "cfg.lua.bak" | ||
260 | ECHO local LUA_INCDIR=[[%LUA_INCDIR%]]>> "%LUADIR%\luarocks\cfg.lua" | ||
261 | ECHO local LUA_LIBDIR=[[%LUA_LIBDIR%]]>> "%LUADIR%\luarocks\cfg.lua" | ||
262 | ECHO local LUA_BINDIR=[[%LUA_BINDIR%]]>> "%LUADIR%\luarocks\cfg.lua" | ||
263 | ECHO local LUA_INTERPRETER=[[%LUA_INTERPRETER%]]>> "%LUADIR%\luarocks\cfg.lua" | ||
264 | ECHO local LUAROCKS_UNAME_S=[[WindowsNT]]>> "%LUADIR%\luarocks\cfg.lua" | ||
265 | ECHO local LUAROCKS_UNAME_M=[[x86]]>> "%LUADIR%\luarocks\cfg.lua" | ||
266 | ECHO local LUAROCKS_SYSCONFIG=[[%SYSCONFDIR%/config.lua]]>> "%LUADIR%\luarocks\cfg.lua" | ||
267 | ECHO local LUAROCKS_ROCKS_TREE=[[%ROCKS_TREE%]]>> "%LUADIR%\luarocks\cfg.lua" | ||
268 | ECHO local LUAROCKS_PREFIX=[[%PREFIX%]]>> "%LUADIR%\luarocks\cfg.lua" | ||
269 | IF NOT [%FORCE_CONFIG%]==[] ECHO local LUAROCKS_FORCE_CONFIG=true>> "%LUADIR%\luarocks\cfg.lua" | ||
270 | TYPE "%LUADIR%\luarocks\cfg.lua.bak">> "%LUADIR%\luarocks\cfg.lua" | ||
271 | |||
272 | DEL /F /Q "%LUADIR%\luarocks\cfg.lua.bak" | ||
273 | |||
274 | SET CONFIG_FILE=%SYSCONFDIR%\config.lua | ||
275 | |||
276 | IF NOT EXIST "%SYSCONFDIR%" %MKDIR% "%SYSCONFDIR%" | ||
277 | IF NOT EXIST "%CONFIG_FILE%" ( | ||
278 | ECHO rocks_servers = {>> "%CONFIG_FILE%" | ||
279 | ECHO [[http://luarocks.luaforge.net/rocks]]>> "%CONFIG_FILE%" | ||
280 | ECHO }>> "%CONFIG_FILE%" | ||
281 | ECHO rocks_trees = {>> "%CONFIG_FILE%" | ||
282 | IF [%FORCE_CONFIG%]==[] ECHO home..[[/luarocks]],>> "%CONFIG_FILE%" | ||
283 | ECHO [[%ROCKS_TREE%]]>> "%CONFIG_FILE%" | ||
284 | ECHO }>> "%CONFIG_FILE%" | ||
285 | IF NOT [%SCRIPTS_DIR%]==[] ECHO scripts_dir=[[%SCRIPTS_DIR%]]>> "%CONFIG_FILE%" | ||
286 | ) | ||
287 | |||
288 | IF [%SCRIPTS_DIR%]==[] ( | ||
289 | %MKDIR% "%ROCKS_TREE%"\bin >NUL | ||
290 | COPY lua5.1\bin\*.dll "%ROCKS_TREE%"\bin >NUL | ||
291 | ) | ||
292 | IF NOT [%SCRIPTS_DIR%]==[] ( | ||
293 | %MKDIR% "%SCRIPTS_DIR%" >NUL | ||
294 | COPY lua5.1\bin\*.dll "%SCRIPTS_DIR%" >NUL | ||
295 | ) | ||
296 | |||
297 | IF NOT EXIST "%ROCKS_TREE%" %MKDIR% "%ROCKS_TREE%" | ||
298 | IF NOT EXIST "%APPDATA%/luarocks" %MKDIR% "%APPDATA%/luarocks" | ||
299 | |||
300 | REM *********************************************************** | ||
301 | REM Exit handlers | ||
302 | REM *********************************************************** | ||
303 | |||
304 | ECHO LuaRocks is installed! | ||
305 | :QUIT | ||
306 | ENDLOCAL | ||
307 | EXIT /B 0 | ||
308 | |||
309 | :ERROR | ||
310 | ECHO Failed installing LuaRocks. | ||
311 | ENDLOCAL | ||
312 | EXIT /B 1 | ||