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-1.0.tar.gz luarocks-1.0.tar.bz2 luarocks-1.0.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 | ||
