diff options
| author | Thijs Schreijer <thijs@thijsschreijer.nl> | 2013-04-06 07:52:19 +0200 |
|---|---|---|
| committer | Thijs Schreijer <thijs@thijsschreijer.nl> | 2013-04-06 07:52:19 +0200 |
| commit | c3d3e637776ba67c8bfdb202df42938bdee98f48 (patch) | |
| tree | c2bece6c9f72543349f135988c5e1ae017520c45 | |
| parent | c5bffdc43848d00ac97cfd402f33f19b506dd65c (diff) | |
| download | luarocks-c3d3e637776ba67c8bfdb202df42938bdee98f48.tar.gz luarocks-c3d3e637776ba67c8bfdb202df42938bdee98f48.tar.bz2 luarocks-c3d3e637776ba67c8bfdb202df42938bdee98f48.zip | |
Updated installer batch file
library name to link against is now configurable, and a default list to look for is set
Library and runtime will be written into the config files now
/L can no longer be used with /LUA /INC /BIN /LIB (will error and exit)
More verbose output while searching for a Lua installation
| -rw-r--r-- | install.bat | 92 |
1 files changed, 74 insertions, 18 deletions
diff --git a/install.bat b/install.bat index 568bc0f0..88ea283e 100644 --- a/install.bat +++ b/install.bat | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | REM Boy, it feels like 1994 all over again. | 3 | REM Boy, it feels like 1994 all over again. |
| 4 | 4 | ||
| 5 | SETLOCAL | 5 | SETLOCAL ENABLEDELAYEDEXPANSION |
| 6 | 6 | ||
| 7 | SET PREFIX=C:\LuaRocks | 7 | SET PREFIX=C:\LuaRocks |
| 8 | SET VERSION=2.0 | 8 | SET VERSION=2.0 |
| @@ -16,12 +16,16 @@ SET LUA_PREFIX= | |||
| 16 | SET LUA_BINDIR= | 16 | SET LUA_BINDIR= |
| 17 | SET LUA_INCDIR= | 17 | SET LUA_INCDIR= |
| 18 | SET LUA_LIBDIR= | 18 | SET LUA_LIBDIR= |
| 19 | SET LUA_LIBNAME= | ||
| 19 | SET FORCE_CONFIG= | 20 | SET FORCE_CONFIG= |
| 20 | SET MKDIR=.\bin\mkdir -p | 21 | SET MKDIR=.\bin\mkdir -p |
| 22 | SET LUA_LIB_NAMES=lua5.1.lib lua51.dll liblua.dll.a | ||
| 21 | 23 | ||
| 22 | REM *********************************************************** | 24 | REM *********************************************************** |
| 23 | REM Option parser | 25 | REM Option parser |
| 24 | REM *********************************************************** | 26 | REM *********************************************************** |
| 27 | ECHO LuaRocks %VERSION%.x installer. | ||
| 28 | ECHO. | ||
| 25 | 29 | ||
| 26 | :PARSE_LOOP | 30 | :PARSE_LOOP |
| 27 | IF [%1]==[] GOTO DONE_PARSING | 31 | IF [%1]==[] GOTO DONE_PARSING |
| @@ -29,7 +33,7 @@ IF [%1]==[/?] ( | |||
| 29 | ECHO Installs LuaRocks. | 33 | ECHO Installs LuaRocks. |
| 30 | ECHO. | 34 | ECHO. |
| 31 | ECHO /P [dir] Where to install. | 35 | ECHO /P [dir] Where to install. |
| 32 | ECHO Default is %PREFIX% (version; %VERSION%, will be | 36 | ECHO Default is %PREFIX% ^(version; %VERSION%, will be |
| 33 | ECHO appended to this path^) | 37 | ECHO appended to this path^) |
| 34 | ECHO /CONFIG [dir] Location where the config file should be installed. | 38 | ECHO /CONFIG [dir] Location where the config file should be installed. |
| 35 | ECHO Default is same place of installation | 39 | ECHO Default is same place of installation |
| @@ -39,8 +43,7 @@ IF [%1]==[/?] ( | |||
| 39 | ECHO Default is TREE/bin. | 43 | ECHO Default is TREE/bin. |
| 40 | ECHO. | 44 | ECHO. |
| 41 | ECHO /L Install LuaRocks' own copy of Lua even if detected. | 45 | ECHO /L Install LuaRocks' own copy of Lua even if detected. |
| 42 | ECHO (/LUA, /INC, /LIB, /BIN will be ignored when used | 46 | ECHO ^(/LUA, /INC, /LIB, /BIN cannot be used with /L^) |
| 43 | ECHO with /L^) | ||
| 44 | ECHO /LUA [dir] Location where Lua is installed - e.g. c:\lua\5.1\ | 47 | ECHO /LUA [dir] Location where Lua is installed - e.g. c:\lua\5.1\ |
| 45 | ECHO This is the base directory, the installer will look | 48 | ECHO This is the base directory, the installer will look |
| 46 | ECHO for subdirectories bin, lib, include. Alternatively | 49 | ECHO for subdirectories bin, lib, include. Alternatively |
| @@ -138,6 +141,14 @@ ECHO Unrecognized option: %1 | |||
| 138 | GOTO ERROR | 141 | GOTO ERROR |
| 139 | :DONE_PARSING | 142 | :DONE_PARSING |
| 140 | 143 | ||
| 144 | REM check for combination flags | ||
| 145 | IF [%INSTALL_LUA%]==[ON] ( | ||
| 146 | IF NOT [%LUA_INCDIR%%LUA_BINDIR%%LUA_LIBDIR%%LUA_PREFIX%]==[] ( | ||
| 147 | ECHO Cannot combine option /L with any of /LUA /BIN /LIB /INC | ||
| 148 | GOTO ERROR | ||
| 149 | ) | ||
| 150 | ) | ||
| 151 | |||
| 141 | SET FULL_PREFIX=%PREFIX%\%VERSION% | 152 | SET FULL_PREFIX=%PREFIX%\%VERSION% |
| 142 | 153 | ||
| 143 | SET BINDIR=%FULL_PREFIX% | 154 | SET BINDIR=%FULL_PREFIX% |
| @@ -151,20 +162,25 @@ REM *********************************************************** | |||
| 151 | 162 | ||
| 152 | IF [%INSTALL_LUA%]==[ON] GOTO USE_OWN_LUA | 163 | IF [%INSTALL_LUA%]==[ON] GOTO USE_OWN_LUA |
| 153 | 164 | ||
| 165 | ECHO Looking for Lua interpreter | ||
| 154 | FOR %%L IN (%LUA_PREFIX% c:\lua\5.1.2 c:\lua c:\kepler\1.1) DO ( | 166 | FOR %%L IN (%LUA_PREFIX% c:\lua\5.1.2 c:\lua c:\kepler\1.1) DO ( |
| 167 | ECHO checking %%L | ||
| 155 | SET CURR=%%L | 168 | SET CURR=%%L |
| 156 | IF EXIST "%%L" ( | 169 | IF EXIST "%%L" ( |
| 157 | IF NOT [%LUA_BINDIR%]==[] ( | 170 | IF NOT [%LUA_BINDIR%]==[] ( |
| 158 | IF EXIST %LUA_BINDIR%\lua5.1.exe ( | 171 | IF EXIST %LUA_BINDIR%\lua5.1.exe ( |
| 159 | SET LUA_INTERPRETER=lua5.1.exe | 172 | SET LUA_INTERPRETER=lua5.1.exe |
| 173 | ECHO Found .\!LUA_INTERPRETER! | ||
| 160 | GOTO INTERPRETER_IS_SET | 174 | GOTO INTERPRETER_IS_SET |
| 161 | ) | 175 | ) |
| 162 | IF EXIST %LUA_BINDIR%\lua.exe ( | 176 | IF EXIST %LUA_BINDIR%\lua.exe ( |
| 163 | SET LUA_INTERPRETER=lua.exe | 177 | SET LUA_INTERPRETER=lua.exe |
| 178 | ECHO Found .\!LUA_INTERPRETER! | ||
| 164 | GOTO INTERPRETER_IS_SET | 179 | GOTO INTERPRETER_IS_SET |
| 165 | ) | 180 | ) |
| 166 | IF EXIST %LUA_BINDIR%\luajit.exe ( | 181 | IF EXIST %LUA_BINDIR%\luajit.exe ( |
| 167 | SET LUA_INTERPRETER=luajit.exe | 182 | SET LUA_INTERPRETER=luajit.exe |
| 183 | ECHO Found .\!LUA_INTERPRETER! | ||
| 168 | GOTO INTERPRETER_IS_SET | 184 | GOTO INTERPRETER_IS_SET |
| 169 | ) | 185 | ) |
| 170 | ECHO Lua executable lua.exe, luajit.exe or lua5.1.exe not found in %LUA_BINDIR% | 186 | ECHO Lua executable lua.exe, luajit.exe or lua5.1.exe not found in %LUA_BINDIR% |
| @@ -175,51 +191,78 @@ FOR %%L IN (%LUA_PREFIX% c:\lua\5.1.2 c:\lua c:\kepler\1.1) DO ( | |||
| 175 | IF EXIST "%%L%%E\lua5.1.exe" ( | 191 | IF EXIST "%%L%%E\lua5.1.exe" ( |
| 176 | SET LUA_INTERPRETER=lua5.1.exe | 192 | SET LUA_INTERPRETER=lua5.1.exe |
| 177 | SET LUA_BINDIR=%%L%%E | 193 | SET LUA_BINDIR=%%L%%E |
| 194 | ECHO Found .\%%E\!LUA_INTERPRETER! | ||
| 178 | GOTO INTERPRETER_IS_SET | 195 | GOTO INTERPRETER_IS_SET |
| 179 | ) | 196 | ) |
| 180 | IF EXIST "%%L%%E\lua.exe" ( | 197 | IF EXIST "%%L%%E\lua.exe" ( |
| 181 | SET LUA_INTERPRETER=lua.exe | 198 | SET LUA_INTERPRETER=lua.exe |
| 182 | SET LUA_BINDIR=%%L%%E | 199 | SET LUA_BINDIR=%%L%%E |
| 200 | ECHO Found .\%%E\!LUA_INTERPRETER! | ||
| 183 | GOTO INTERPRETER_IS_SET | 201 | GOTO INTERPRETER_IS_SET |
| 184 | ) | 202 | ) |
| 185 | IF EXIST "%%L%%E\luajit.exe" ( | 203 | IF EXIST "%%L%%E\luajit.exe" ( |
| 186 | SET LUA_INTERPRETER=luajit.exe | 204 | SET LUA_INTERPRETER=luajit.exe |
| 187 | SET LUA_BINDIR=%%L%%E | 205 | SET LUA_BINDIR=%%L%%E |
| 206 | ECHO Found .\%%E\!LUA_INTERPRETER! | ||
| 188 | GOTO INTERPRETER_IS_SET | 207 | GOTO INTERPRETER_IS_SET |
| 189 | ) | 208 | ) |
| 190 | ) | 209 | ) |
| 210 | ECHO No Lua interpreter found | ||
| 191 | GOTO TRY_NEXT_LUA_DIR | 211 | GOTO TRY_NEXT_LUA_DIR |
| 192 | :INTERPRETER_IS_SET | 212 | :INTERPRETER_IS_SET |
| 193 | IF NOT "%LUA_LIBDIR%"=="" ( | 213 | ECHO Interpreter found, now looking for link libraries... |
| 194 | IF EXIST %LUA_LIBDIR%\lua5.1.lib GOTO LIBDIR_IS_SET | 214 | IF NOT [%LUA_LIBDIR%]==[] ( |
| 195 | ECHO lua5.1.lib not found in %LUA_LIBDIR% | 215 | FOR %%T IN (%LUA_LIB_NAMES%) DO ( |
| 216 | ECHO checking for %LUA_LIBDIR%\%%T | ||
| 217 | IF EXIST "%LUA_LIBDIR%\%%T" ( | ||
| 218 | SET LUA_LIBNAME=%%T | ||
| 219 | ECHO Found %%T | ||
| 220 | GOTO LIBDIR_IS_SET | ||
| 221 | ) | ||
| 222 | ) | ||
| 223 | ECHO link library ^(one of; %LUA_LIB_NAMES%^) not found in %LUA_LIBDIR% | ||
| 196 | GOTO ERROR | 224 | GOTO ERROR |
| 197 | ) | 225 | ) |
| 198 | FOR %%E IN (\ \lib\ \bin\) DO ( | 226 | FOR %%E IN (\ \lib\ \bin\) DO ( |
| 199 | IF EXIST "%CURR%%%E\lua5.1.lib" ( | 227 | FOR %%S IN (%LUA_LIB_NAMES%) DO ( |
| 200 | SET LUA_LIBDIR=%CURR%%%E | 228 | ECHO checking for %CURR%%%E\%%S |
| 201 | GOTO LIBDIR_IS_SET | 229 | IF EXIST "%CURR%%%E\%%S" ( |
| 230 | SET LUA_LIBDIR=%CURR%%%E | ||
| 231 | SET LUA_LIBNAME=%%S | ||
| 232 | ECHO Found %%S | ||
| 233 | GOTO LIBDIR_IS_SET | ||
| 234 | ) | ||
| 202 | ) | 235 | ) |
| 203 | ) | 236 | ) |
| 204 | GOTO TRY_NEXT_LUA_DIR | 237 | GOTO TRY_NEXT_LUA_DIR |
| 205 | :LIBDIR_IS_SET | 238 | :LIBDIR_IS_SET |
| 239 | ECHO Link library found, now looking for headers... | ||
| 206 | IF NOT [%LUA_INCDIR%]==[] ( | 240 | IF NOT [%LUA_INCDIR%]==[] ( |
| 207 | IF EXIST %LUA_INCDIR%\lua.h GOTO INCDIR_IS_SET | 241 | ECHO checking for %LUA_INCDIR%\lua.h |
| 242 | IF EXIST %LUA_INCDIR%\lua.h ( | ||
| 243 | ECHO Found lua.h | ||
| 244 | GOTO INCDIR_IS_SET | ||
| 245 | ) | ||
| 208 | ECHO lua.h not found in %LUA_INCDIR% | 246 | ECHO lua.h not found in %LUA_INCDIR% |
| 209 | GOTO ERROR | 247 | GOTO ERROR |
| 210 | ) | 248 | ) |
| 211 | FOR %%E IN (\ \include\) DO ( | 249 | FOR %%E IN (\ \include\) DO ( |
| 250 | ECHO checking for %CURR%%%E\lua.h | ||
| 212 | IF EXIST "%CURR%%%E\lua.h" ( | 251 | IF EXIST "%CURR%%%E\lua.h" ( |
| 213 | SET LUA_INCDIR=%CURR%%%E | 252 | SET LUA_INCDIR=%CURR%%%E |
| 253 | ECHO Found lua.h | ||
| 214 | GOTO INCDIR_IS_SET | 254 | GOTO INCDIR_IS_SET |
| 215 | ) | 255 | ) |
| 216 | ) | 256 | ) |
| 217 | GOTO TRY_NEXT_LUA_DIR | 257 | GOTO TRY_NEXT_LUA_DIR |
| 218 | :INCDIR_IS_SET | 258 | :INCDIR_IS_SET |
| 219 | %LUA_BINDIR%\%LUA_INTERPRETER% -v 2>NUL | 259 | ECHO Headers found, now testing interpreter... |
| 260 | %LUA_BINDIR%\%LUA_INTERPRETER% -v 2>NUL | ||
| 220 | IF NOT ERRORLEVEL 1 ( | 261 | IF NOT ERRORLEVEL 1 ( |
| 262 | ECHO Ok | ||
| 221 | GOTO LUA_IS_SET | 263 | GOTO LUA_IS_SET |
| 222 | ) | 264 | ) |
| 265 | ECHO Interpreter returned an error, not ok | ||
| 223 | ) | 266 | ) |
| 224 | :TRY_NEXT_LUA_DIR | 267 | :TRY_NEXT_LUA_DIR |
| 225 | REM wtf | 268 | REM wtf |
| @@ -232,13 +275,16 @@ SET LUA_INTERPRETER=lua5.1 | |||
| 232 | SET LUA_BINDIR=%BINDIR% | 275 | SET LUA_BINDIR=%BINDIR% |
| 233 | SET LUA_LIBDIR=%LIBDIR% | 276 | SET LUA_LIBDIR=%LIBDIR% |
| 234 | SET LUA_INCDIR=%INCDIR% | 277 | SET LUA_INCDIR=%INCDIR% |
| 278 | SET LUA_LIBNAME=lua5.1.lib | ||
| 235 | :LUA_IS_SET | 279 | :LUA_IS_SET |
| 236 | ECHO. | 280 | ECHO. |
| 237 | ECHO Will configure LuaRocks with the following paths: | 281 | ECHO Will configure LuaRocks with the following paths: |
| 238 | ECHO Lua interpreter: %LUA_INTERPRETER% | 282 | ECHO LuaRocks : %FULL_PREFIX% |
| 239 | ECHO Lua binaries: %LUA_BINDIR% | 283 | ECHO Lua interpreter: %LUA_BINDIR%\%LUA_INTERPRETER% |
| 240 | ECHO Lua libraries: %LUA_LIBDIR% | 284 | ECHO Lua binaries : %LUA_BINDIR% |
| 241 | ECHO Lua includes: %LUA_INCDIR% | 285 | ECHO Lua libraries : %LUA_LIBDIR% |
| 286 | ECHO Lua includes : %LUA_INCDIR% | ||
| 287 | ECHO Binaries will be linked against: %LUA_LIBNAME% | ||
| 242 | ECHO. | 288 | ECHO. |
| 243 | 289 | ||
| 244 | REM *********************************************************** | 290 | REM *********************************************************** |
| @@ -248,6 +294,7 @@ REM *********************************************************** | |||
| 248 | IF [%FORCE%]==[ON] ( | 294 | IF [%FORCE%]==[ON] ( |
| 249 | ECHO Removing %FULL_PREFIX%... | 295 | ECHO Removing %FULL_PREFIX%... |
| 250 | RD /S /Q "%FULL_PREFIX%" | 296 | RD /S /Q "%FULL_PREFIX%" |
| 297 | ECHO. | ||
| 251 | ) | 298 | ) |
| 252 | 299 | ||
| 253 | IF NOT EXIST "%FULL_PREFIX%" GOTO NOT_EXIST_PREFIX | 300 | IF NOT EXIST "%FULL_PREFIX%" GOTO NOT_EXIST_PREFIX |
| @@ -348,6 +395,14 @@ IF NOT EXIST "%CONFIG_FILE%" ( | |||
| 348 | ECHO [[%ROCKS_TREE%]]>> "%CONFIG_FILE%" | 395 | ECHO [[%ROCKS_TREE%]]>> "%CONFIG_FILE%" |
| 349 | ECHO }>> "%CONFIG_FILE%" | 396 | ECHO }>> "%CONFIG_FILE%" |
| 350 | IF NOT [%SCRIPTS_DIR%]==[] ECHO scripts_dir=[[%SCRIPTS_DIR%]]>> "%CONFIG_FILE%" | 397 | IF NOT [%SCRIPTS_DIR%]==[] ECHO scripts_dir=[[%SCRIPTS_DIR%]]>> "%CONFIG_FILE%" |
| 398 | ECHO variables = {>> "%CONFIG_FILE%" | ||
| 399 | IF [%USE_MINGW%]==[ON] ( | ||
| 400 | ECHO MSVCRT = 'm',>> "%CONFIG_FILE%" | ||
| 401 | ) ELSE ( | ||
| 402 | ECHO MSVCRT = 'msvcr80',>> "%CONFIG_FILE%" | ||
| 403 | ) | ||
| 404 | ECHO LUALIB = '%LUA_LIB_NAME%'>> "%CONFIG_FILE%" | ||
| 405 | ECHO }>> "%CONFIG_FILE%" | ||
| 351 | ECHO Created LuaRocks config file: %CONFIG_FILE% | 406 | ECHO Created LuaRocks config file: %CONFIG_FILE% |
| 352 | ) ELSE ( | 407 | ) ELSE ( |
| 353 | ECHO LuaRocks config file already exists: %CONFIG_FILE% | 408 | ECHO LuaRocks config file already exists: %CONFIG_FILE% |
| @@ -373,18 +428,19 @@ REM Exit handlers | |||
| 373 | REM *********************************************************** | 428 | REM *********************************************************** |
| 374 | 429 | ||
| 375 | ECHO. | 430 | ECHO. |
| 431 | ECHO *** LuaRocks is installed! *** | ||
| 432 | ECHO. | ||
| 376 | ECHO You may want to add the following elements to your paths; | 433 | ECHO You may want to add the following elements to your paths; |
| 377 | ECHO PATH : %LUA_BINDIR%;%FULL_PREFIX% | 434 | ECHO PATH : %LUA_BINDIR%;%FULL_PREFIX% |
| 378 | ECHO LUA_PATH : %ROCKS_TREE%\share\lua\5.1\?.lua;%ROCKS_TREE%\share\lua\5.1\?\init.lua | 435 | ECHO LUA_PATH : %ROCKS_TREE%\share\lua\5.1\?.lua;%ROCKS_TREE%\share\lua\5.1\?\init.lua |
| 379 | ECHO LUA_CPATH: %LUA_LIBDIR%\lua\5.1\?.dll | 436 | ECHO LUA_CPATH: %LUA_LIBDIR%\lua\5.1\?.dll |
| 380 | ECHO. | 437 | ECHO. |
| 381 | ECHO LuaRocks is installed! | ||
| 382 | :QUIT | 438 | :QUIT |
| 383 | ENDLOCAL | 439 | ENDLOCAL |
| 384 | EXIT /B 0 | 440 | EXIT /B 0 |
| 385 | 441 | ||
| 386 | :ERROR | 442 | :ERROR |
| 387 | ECHO. | 443 | ECHO. |
| 388 | ECHO Failed installing LuaRocks. | 444 | ECHO Failed installing LuaRocks. Run with /? for help. |
| 389 | ENDLOCAL | 445 | ENDLOCAL |
| 390 | EXIT /B 1 | 446 | EXIT /B 1 |
