diff options
| author | Hisham Muhammad <hisham@gobolinux.org> | 2013-04-06 20:43:15 -0700 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2013-04-06 20:43:15 -0700 |
| commit | f17d742f952bb149877f18a953d4b07d8f973b3d (patch) | |
| tree | 2d08f2a93780163d75594f3549863817f59f6a04 | |
| parent | bee75662424508d617c8b80ab9bbda03e502354c (diff) | |
| parent | a5bb84bbe8581c9c1d1f8ee74b510be54556ea1d (diff) | |
| download | luarocks-f17d742f952bb149877f18a953d4b07d8f973b3d.tar.gz luarocks-f17d742f952bb149877f18a953d4b07d8f973b3d.tar.bz2 luarocks-f17d742f952bb149877f18a953d4b07d8f973b3d.zip | |
Merge pull request #113 from Tieske/MinGW_fix
Mingw fix and windows installer batch file updated
| -rw-r--r-- | install.bat | 203 | ||||
| -rw-r--r-- | src/luarocks/build/builtin.lua | 6 |
2 files changed, 153 insertions, 56 deletions
diff --git a/install.bat b/install.bat index 86766eb1..603ec5ec 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,8 @@ 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% | 36 | ECHO Default is %PREFIX% ^(version; %VERSION%, will be |
| 37 | ECHO appended to this path^) | ||
| 33 | ECHO /CONFIG [dir] Location where the config file should be installed. | 38 | ECHO /CONFIG [dir] Location where the config file should be installed. |
| 34 | ECHO Default is same place of installation | 39 | ECHO Default is same place of installation |
| 35 | ECHO /TREE [dir] Root of the local tree of installed rocks. | 40 | ECHO /TREE [dir] Root of the local tree of installed rocks. |
| @@ -38,10 +43,18 @@ IF [%1]==[/?] ( | |||
| 38 | ECHO Default is TREE/bin. | 43 | ECHO Default is TREE/bin. |
| 39 | ECHO. | 44 | ECHO. |
| 40 | ECHO /L Install LuaRocks' own copy of Lua even if detected. | 45 | ECHO /L Install LuaRocks' own copy of Lua even if detected. |
| 46 | ECHO ^(/LUA, /INC, /LIB, /BIN cannot be used with /L^) | ||
| 41 | 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\ |
| 48 | ECHO This is the base directory, the installer will look | ||
| 49 | ECHO for subdirectories bin, lib, include. Alternatively | ||
| 50 | ECHO these can be specified explicitly using the /INC, | ||
| 51 | ECHO /LIB, and /BIN options. | ||
| 42 | ECHO /INC [dir] Location of Lua includes - e.g. c:\lua\5.1\include | 52 | ECHO /INC [dir] Location of Lua includes - e.g. c:\lua\5.1\include |
| 53 | ECHO If provided overrides sub directory found using /LUA. | ||
| 43 | ECHO /LIB [dir] Location of Lua libraries -e.g. c:\lua\5.1\lib | 54 | ECHO /LIB [dir] Location of Lua libraries -e.g. c:\lua\5.1\lib |
| 55 | ECHO If provided overrides sub directory found using /LUA. | ||
| 44 | ECHO /BIN [dir] Location of Lua executables - e.g. c:\lua\5.1\bin | 56 | ECHO /BIN [dir] Location of Lua executables - e.g. c:\lua\5.1\bin |
| 57 | ECHO If provided overrides sub directory found using /LUA. | ||
| 45 | ECHO. | 58 | ECHO. |
| 46 | ECHO /MW Use mingw as build system instead of MSVC | 59 | ECHO /MW Use mingw as build system instead of MSVC |
| 47 | ECHO. | 60 | ECHO. |
| @@ -55,27 +68,27 @@ IF [%1]==[/?] ( | |||
| 55 | GOTO QUIT | 68 | GOTO QUIT |
| 56 | ) | 69 | ) |
| 57 | IF /I [%1]==[/P] ( | 70 | IF /I [%1]==[/P] ( |
| 58 | SET PREFIX=%2 | 71 | SET PREFIX=%~2 |
| 59 | SET SYSCONFDIR=%2 | 72 | SET SYSCONFDIR=%~2 |
| 60 | SET ROCKS_TREE=%2 | 73 | SET ROCKS_TREE=%~2 |
| 61 | SHIFT /1 | 74 | SHIFT /1 |
| 62 | SHIFT /1 | 75 | SHIFT /1 |
| 63 | GOTO PARSE_LOOP | 76 | GOTO PARSE_LOOP |
| 64 | ) | 77 | ) |
| 65 | IF /I [%1]==[/CONFIG] ( | 78 | IF /I [%1]==[/CONFIG] ( |
| 66 | SET SYSCONFDIR=%2 | 79 | SET SYSCONFDIR=%~2 |
| 67 | SHIFT /1 | 80 | SHIFT /1 |
| 68 | SHIFT /1 | 81 | SHIFT /1 |
| 69 | GOTO PARSE_LOOP | 82 | GOTO PARSE_LOOP |
| 70 | ) | 83 | ) |
| 71 | IF /I [%1]==[/TREE] ( | 84 | IF /I [%1]==[/TREE] ( |
| 72 | SET ROCKS_TREE=%2 | 85 | SET ROCKS_TREE=%~2 |
| 73 | SHIFT /1 | 86 | SHIFT /1 |
| 74 | SHIFT /1 | 87 | SHIFT /1 |
| 75 | GOTO PARSE_LOOP | 88 | GOTO PARSE_LOOP |
| 76 | ) | 89 | ) |
| 77 | IF /I [%1]==[/SCRIPTS] ( | 90 | IF /I [%1]==[/SCRIPTS] ( |
| 78 | SET SCRIPTS_DIR=%2 | 91 | SET SCRIPTS_DIR=%~2 |
| 79 | SHIFT /1 | 92 | SHIFT /1 |
| 80 | SHIFT /1 | 93 | SHIFT /1 |
| 81 | GOTO PARSE_LOOP | 94 | GOTO PARSE_LOOP |
| @@ -91,25 +104,25 @@ IF /I [%1]==[/MW] ( | |||
| 91 | GOTO PARSE_LOOP | 104 | GOTO PARSE_LOOP |
| 92 | ) | 105 | ) |
| 93 | IF /I [%1]==[/LUA] ( | 106 | IF /I [%1]==[/LUA] ( |
| 94 | SET LUA_PREFIX=%2 | 107 | SET LUA_PREFIX=%~2 |
| 95 | SHIFT /1 | 108 | SHIFT /1 |
| 96 | SHIFT /1 | 109 | SHIFT /1 |
| 97 | GOTO PARSE_LOOP | 110 | GOTO PARSE_LOOP |
| 98 | ) | 111 | ) |
| 99 | IF /I [%1]==[/LIB] ( | 112 | IF /I [%1]==[/LIB] ( |
| 100 | SET LUA_LIBDIR=%2 | 113 | SET LUA_LIBDIR=%~2 |
| 101 | SHIFT /1 | 114 | SHIFT /1 |
| 102 | SHIFT /1 | 115 | SHIFT /1 |
| 103 | GOTO PARSE_LOOP | 116 | GOTO PARSE_LOOP |
| 104 | ) | 117 | ) |
| 105 | IF /I [%1]==[/INC] ( | 118 | IF /I [%1]==[/INC] ( |
| 106 | SET LUA_INCDIR=%2 | 119 | SET LUA_INCDIR=%~2 |
| 107 | SHIFT /1 | 120 | SHIFT /1 |
| 108 | SHIFT /1 | 121 | SHIFT /1 |
| 109 | GOTO PARSE_LOOP | 122 | GOTO PARSE_LOOP |
| 110 | ) | 123 | ) |
| 111 | IF /I [%1]==[/BIN] ( | 124 | IF /I [%1]==[/BIN] ( |
| 112 | SET LUA_BINDIR=%2 | 125 | SET LUA_BINDIR=%~2 |
| 113 | SHIFT /1 | 126 | SHIFT /1 |
| 114 | SHIFT /1 | 127 | SHIFT /1 |
| 115 | GOTO PARSE_LOOP | 128 | GOTO PARSE_LOOP |
| @@ -128,6 +141,14 @@ ECHO Unrecognized option: %1 | |||
| 128 | GOTO ERROR | 141 | GOTO ERROR |
| 129 | :DONE_PARSING | 142 | :DONE_PARSING |
| 130 | 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 | |||
| 131 | SET FULL_PREFIX=%PREFIX%\%VERSION% | 152 | SET FULL_PREFIX=%PREFIX%\%VERSION% |
| 132 | 153 | ||
| 133 | SET BINDIR=%FULL_PREFIX% | 154 | SET BINDIR=%FULL_PREFIX% |
| @@ -141,23 +162,28 @@ REM *********************************************************** | |||
| 141 | 162 | ||
| 142 | IF [%INSTALL_LUA%]==[ON] GOTO USE_OWN_LUA | 163 | IF [%INSTALL_LUA%]==[ON] GOTO USE_OWN_LUA |
| 143 | 164 | ||
| 165 | ECHO Looking for Lua interpreter | ||
| 144 | 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 | ||
| 145 | SET CURR=%%L | 168 | SET CURR=%%L |
| 146 | IF EXIST "%%L" ( | 169 | IF EXIST "%%L" ( |
| 147 | IF NOT [%LUA_BINDIR%]==[] ( | 170 | IF NOT [%LUA_BINDIR%]==[] ( |
| 148 | IF EXIST %LUA_BINDIR%\lua5.1.exe ( | 171 | IF EXIST %LUA_BINDIR%\lua5.1.exe ( |
| 149 | SET LUA_INTERPRETER=lua5.1.exe | 172 | SET LUA_INTERPRETER=lua5.1.exe |
| 173 | ECHO Found .\!LUA_INTERPRETER! | ||
| 150 | GOTO INTERPRETER_IS_SET | 174 | GOTO INTERPRETER_IS_SET |
| 151 | ) | 175 | ) |
| 152 | IF EXIST %LUA_BINDIR%\lua.exe ( | 176 | IF EXIST %LUA_BINDIR%\lua.exe ( |
| 153 | SET LUA_INTERPRETER=lua.exe | 177 | SET LUA_INTERPRETER=lua.exe |
| 178 | ECHO Found .\!LUA_INTERPRETER! | ||
| 154 | GOTO INTERPRETER_IS_SET | 179 | GOTO INTERPRETER_IS_SET |
| 155 | ) | 180 | ) |
| 156 | IF EXIST %LUA_BINDIR%\luajit.exe ( | 181 | IF EXIST %LUA_BINDIR%\luajit.exe ( |
| 157 | SET LUA_INTERPRETER=luajit.exe | 182 | SET LUA_INTERPRETER=luajit.exe |
| 183 | ECHO Found .\!LUA_INTERPRETER! | ||
| 158 | GOTO INTERPRETER_IS_SET | 184 | GOTO INTERPRETER_IS_SET |
| 159 | ) | 185 | ) |
| 160 | ECHO Lua executable lua.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% |
| 161 | GOTO ERROR | 187 | GOTO ERROR |
| 162 | ) | 188 | ) |
| 163 | SET CURR=%%L | 189 | SET CURR=%%L |
| @@ -165,51 +191,78 @@ FOR %%L IN (%LUA_PREFIX% c:\lua\5.1.2 c:\lua c:\kepler\1.1) DO ( | |||
| 165 | IF EXIST "%%L%%E\lua5.1.exe" ( | 191 | IF EXIST "%%L%%E\lua5.1.exe" ( |
| 166 | SET LUA_INTERPRETER=lua5.1.exe | 192 | SET LUA_INTERPRETER=lua5.1.exe |
| 167 | SET LUA_BINDIR=%%L%%E | 193 | SET LUA_BINDIR=%%L%%E |
| 194 | ECHO Found .\%%E\!LUA_INTERPRETER! | ||
| 168 | GOTO INTERPRETER_IS_SET | 195 | GOTO INTERPRETER_IS_SET |
| 169 | ) | 196 | ) |
| 170 | IF EXIST "%%L%%E\lua.exe" ( | 197 | IF EXIST "%%L%%E\lua.exe" ( |
| 171 | SET LUA_INTERPRETER=lua.exe | 198 | SET LUA_INTERPRETER=lua.exe |
| 172 | SET LUA_BINDIR=%%L%%E | 199 | SET LUA_BINDIR=%%L%%E |
| 200 | ECHO Found .\%%E\!LUA_INTERPRETER! | ||
| 173 | GOTO INTERPRETER_IS_SET | 201 | GOTO INTERPRETER_IS_SET |
| 174 | ) | 202 | ) |
| 175 | IF EXIST "%%L%%E\luajit.exe" ( | 203 | IF EXIST "%%L%%E\luajit.exe" ( |
| 176 | SET LUA_INTERPRETER=luajit.exe | 204 | SET LUA_INTERPRETER=luajit.exe |
| 177 | SET LUA_BINDIR=%%L%%E | 205 | SET LUA_BINDIR=%%L%%E |
| 206 | ECHO Found .\%%E\!LUA_INTERPRETER! | ||
| 178 | GOTO INTERPRETER_IS_SET | 207 | GOTO INTERPRETER_IS_SET |
| 179 | ) | 208 | ) |
| 180 | ) | 209 | ) |
| 210 | ECHO No Lua interpreter found | ||
| 181 | GOTO TRY_NEXT_LUA_DIR | 211 | GOTO TRY_NEXT_LUA_DIR |
| 182 | :INTERPRETER_IS_SET | 212 | :INTERPRETER_IS_SET |
| 183 | IF NOT "%LUA_LIBDIR%"=="" ( | 213 | ECHO Interpreter found, now looking for link libraries... |
| 184 | IF EXIST %LUA_LIBDIR%\lua5.1.lib GOTO LIBDIR_IS_SET | 214 | IF NOT [%LUA_LIBDIR%]==[] ( |
| 185 | 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% | ||
| 186 | GOTO ERROR | 224 | GOTO ERROR |
| 187 | ) | 225 | ) |
| 188 | FOR %%E IN (\ \lib\ \bin\) DO ( | 226 | FOR %%E IN (\ \lib\ \bin\) DO ( |
| 189 | IF EXIST "%CURR%%%E\lua5.1.lib" ( | 227 | FOR %%S IN (%LUA_LIB_NAMES%) DO ( |
| 190 | SET LUA_LIBDIR=%CURR%%%E | 228 | ECHO checking for %CURR%%%E\%%S |
| 191 | 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 | ) | ||
| 192 | ) | 235 | ) |
| 193 | ) | 236 | ) |
| 194 | GOTO TRY_NEXT_LUA_DIR | 237 | GOTO TRY_NEXT_LUA_DIR |
| 195 | :LIBDIR_IS_SET | 238 | :LIBDIR_IS_SET |
| 239 | ECHO Link library found, now looking for headers... | ||
| 196 | IF NOT [%LUA_INCDIR%]==[] ( | 240 | IF NOT [%LUA_INCDIR%]==[] ( |
| 197 | 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 | ) | ||
| 198 | ECHO lua.h not found in %LUA_INCDIR% | 246 | ECHO lua.h not found in %LUA_INCDIR% |
| 199 | GOTO ERROR | 247 | GOTO ERROR |
| 200 | ) | 248 | ) |
| 201 | FOR %%E IN (\ \include\) DO ( | 249 | FOR %%E IN (\ \include\) DO ( |
| 250 | ECHO checking for %CURR%%%E\lua.h | ||
| 202 | IF EXIST "%CURR%%%E\lua.h" ( | 251 | IF EXIST "%CURR%%%E\lua.h" ( |
| 203 | SET LUA_INCDIR=%CURR%%%E | 252 | SET LUA_INCDIR=%CURR%%%E |
| 253 | ECHO Found lua.h | ||
| 204 | GOTO INCDIR_IS_SET | 254 | GOTO INCDIR_IS_SET |
| 205 | ) | 255 | ) |
| 206 | ) | 256 | ) |
| 207 | GOTO TRY_NEXT_LUA_DIR | 257 | GOTO TRY_NEXT_LUA_DIR |
| 208 | :INCDIR_IS_SET | 258 | :INCDIR_IS_SET |
| 209 | %LUA_BINDIR%\%LUA_INTERPRETER% -v 2>NUL | 259 | ECHO Headers found, now testing interpreter... |
| 260 | %LUA_BINDIR%\%LUA_INTERPRETER% -v 2>NUL | ||
| 210 | IF NOT ERRORLEVEL 1 ( | 261 | IF NOT ERRORLEVEL 1 ( |
| 262 | ECHO Ok | ||
| 211 | GOTO LUA_IS_SET | 263 | GOTO LUA_IS_SET |
| 212 | ) | 264 | ) |
| 265 | ECHO Interpreter returned an error, not ok | ||
| 213 | ) | 266 | ) |
| 214 | :TRY_NEXT_LUA_DIR | 267 | :TRY_NEXT_LUA_DIR |
| 215 | REM wtf | 268 | REM wtf |
| @@ -222,13 +275,16 @@ SET LUA_INTERPRETER=lua5.1 | |||
| 222 | SET LUA_BINDIR=%BINDIR% | 275 | SET LUA_BINDIR=%BINDIR% |
| 223 | SET LUA_LIBDIR=%LIBDIR% | 276 | SET LUA_LIBDIR=%LIBDIR% |
| 224 | SET LUA_INCDIR=%INCDIR% | 277 | SET LUA_INCDIR=%INCDIR% |
| 278 | SET LUA_LIBNAME=lua5.1.lib | ||
| 225 | :LUA_IS_SET | 279 | :LUA_IS_SET |
| 226 | ECHO. | 280 | ECHO. |
| 227 | ECHO Will configure LuaRocks with the following paths: | 281 | ECHO Will configure LuaRocks with the following paths: |
| 228 | ECHO Lua interpreter: %LUA_INTERPRETER% | 282 | ECHO LuaRocks : %FULL_PREFIX% |
| 229 | ECHO Lua binaries: %LUA_BINDIR% | 283 | ECHO Lua interpreter: %LUA_BINDIR%\%LUA_INTERPRETER% |
| 230 | ECHO Lua libraries: %LUA_LIBDIR% | 284 | ECHO Lua binaries : %LUA_BINDIR% |
| 231 | 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% | ||
| 232 | ECHO. | 288 | ECHO. |
| 233 | 289 | ||
| 234 | REM *********************************************************** | 290 | REM *********************************************************** |
| @@ -238,6 +294,7 @@ REM *********************************************************** | |||
| 238 | IF [%FORCE%]==[ON] ( | 294 | IF [%FORCE%]==[ON] ( |
| 239 | ECHO Removing %FULL_PREFIX%... | 295 | ECHO Removing %FULL_PREFIX%... |
| 240 | RD /S /Q "%FULL_PREFIX%" | 296 | RD /S /Q "%FULL_PREFIX%" |
| 297 | ECHO. | ||
| 241 | ) | 298 | ) |
| 242 | 299 | ||
| 243 | IF NOT EXIST "%FULL_PREFIX%" GOTO NOT_EXIST_PREFIX | 300 | IF NOT EXIST "%FULL_PREFIX%" GOTO NOT_EXIST_PREFIX |
| @@ -249,22 +306,29 @@ ECHO Installing LuaRocks in %FULL_PREFIX%... | |||
| 249 | IF NOT EXIST "%BINDIR%" %MKDIR% "%BINDIR%" | 306 | IF NOT EXIST "%BINDIR%" %MKDIR% "%BINDIR%" |
| 250 | IF ERRORLEVEL 1 GOTO ERROR | 307 | IF ERRORLEVEL 1 GOTO ERROR |
| 251 | IF [%INSTALL_LUA%]==[ON] ( | 308 | IF [%INSTALL_LUA%]==[ON] ( |
| 309 | REM Copy the included Lua interpreter binaries | ||
| 252 | IF NOT EXIST "%LUA_BINDIR%" %MKDIR% "%LUA_BINDIR%" | 310 | IF NOT EXIST "%LUA_BINDIR%" %MKDIR% "%LUA_BINDIR%" |
| 253 | IF NOT EXIST "%LUA_INCDIR%" %MKDIR% "%LUA_INCDIR%" | 311 | IF NOT EXIST "%LUA_INCDIR%" %MKDIR% "%LUA_INCDIR%" |
| 254 | REM IF [%USE_MINGW%]==[ON] ( | 312 | COPY lua5.1\bin\*.* "%LUA_BINDIR%" >NUL |
| 255 | REM COPY lua5.1\mingw32-bin\*.* "%LUA_BINDIR%" >NUL | ||
| 256 | REM ) ELSE ( | ||
| 257 | COPY lua5.1\bin\*.* "%LUA_BINDIR%" >NUL | ||
| 258 | REM ) | ||
| 259 | COPY lua5.1\include\*.* "%LUA_INCDIR%" >NUL | 313 | COPY lua5.1\include\*.* "%LUA_INCDIR%" >NUL |
| 314 | ECHO Installed the LuaRocks bundled Lua interpreter in %LUA_BINDIR% | ||
| 260 | ) | 315 | ) |
| 316 | REM Copy the LuaRocks binaries | ||
| 261 | COPY bin\*.* "%BINDIR%" >NUL | 317 | COPY bin\*.* "%BINDIR%" >NUL |
| 262 | IF ERRORLEVEL 1 GOTO ERROR | 318 | IF ERRORLEVEL 1 GOTO ERROR |
| 319 | REM Copy the LuaRocks lua source files | ||
| 320 | IF NOT EXIST "%LUADIR%\luarocks" %MKDIR% "%LUADIR%\luarocks" | ||
| 321 | IF ERRORLEVEL 1 GOTO ERROR | ||
| 322 | XCOPY /S src\luarocks\*.* "%LUADIR%\luarocks" >NUL | ||
| 323 | IF ERRORLEVEL 1 GOTO ERROR | ||
| 324 | REM Create start scripts | ||
| 263 | COPY src\bin\*.* "%BINDIR%" >NUL | 325 | COPY src\bin\*.* "%BINDIR%" >NUL |
| 264 | IF ERRORLEVEL 1 GOTO ERROR | 326 | IF ERRORLEVEL 1 GOTO ERROR |
| 265 | FOR %%C IN (luarocks luarocks-admin) DO ( | 327 | FOR %%C IN (luarocks luarocks-admin) DO ( |
| 328 | REM rename unix-lua scripts to .lua files | ||
| 266 | RENAME "%BINDIR%\%%C" %%C.lua | 329 | RENAME "%BINDIR%\%%C" %%C.lua |
| 267 | IF ERRORLEVEL 1 GOTO ERROR | 330 | IF ERRORLEVEL 1 GOTO ERROR |
| 331 | REM create a bootstrap batch file for the lua file, to start them | ||
| 268 | DEL /F /Q "%BINDIR%\%%C.bat" 2>NUL | 332 | DEL /F /Q "%BINDIR%\%%C.bat" 2>NUL |
| 269 | ECHO @ECHO OFF>> "%BINDIR%\%%C.bat" | 333 | ECHO @ECHO OFF>> "%BINDIR%\%%C.bat" |
| 270 | ECHO SETLOCAL>> "%BINDIR%\%%C.bat" | 334 | ECHO SETLOCAL>> "%BINDIR%\%%C.bat" |
| @@ -272,12 +336,29 @@ FOR %%C IN (luarocks luarocks-admin) DO ( | |||
| 272 | ECHO SET PATH=%BINDIR%\;%%PATH%%>> "%BINDIR%\%%C.bat" | 336 | ECHO SET PATH=%BINDIR%\;%%PATH%%>> "%BINDIR%\%%C.bat" |
| 273 | ECHO "%LUA_INTERPRETER%" "%BINDIR%\%%C.lua" %%*>> "%BINDIR%\%%C.bat" | 337 | ECHO "%LUA_INTERPRETER%" "%BINDIR%\%%C.lua" %%*>> "%BINDIR%\%%C.bat" |
| 274 | ECHO ENDLOCAL>> "%BINDIR%\%%C.bat" | 338 | ECHO ENDLOCAL>> "%BINDIR%\%%C.bat" |
| 339 | ECHO Created LuaRocks command: %BINDIR%\%%C.bat | ||
| 275 | ) | 340 | ) |
| 276 | IF NOT EXIST "%LUADIR%\luarocks" %MKDIR% "%LUADIR%\luarocks" | 341 | REM configure 'scripts' directory |
| 277 | IF ERRORLEVEL 1 GOTO ERROR | 342 | IF [%SCRIPTS_DIR%]==[] ( |
| 278 | XCOPY /S src\luarocks\*.* "%LUADIR%\luarocks" >NUL | 343 | %MKDIR% "%ROCKS_TREE%"\bin >NUL |
| 279 | IF ERRORLEVEL 1 GOTO ERROR | 344 | IF [%USE_MINGW%]==[] ( |
| 345 | REM definitly not for MinGW because of conflicting runtimes | ||
| 346 | REM but is it ok to do it for others??? | ||
| 347 | COPY lua5.1\bin\*.dll "%ROCKS_TREE%"\bin >NUL | ||
| 348 | ) | ||
| 349 | ) ELSE ( | ||
| 350 | %MKDIR% "%SCRIPTS_DIR%" >NUL | ||
| 351 | IF [%USE_MINGW%]==[] ( | ||
| 352 | REM definitly not for MinGW because of conflicting runtimes | ||
| 353 | REM but is it ok to do it for others??? | ||
| 354 | COPY lua5.1\bin\*.dll "%SCRIPTS_DIR%" >NUL | ||
| 355 | ) | ||
| 356 | ) | ||
| 357 | |||
| 280 | 358 | ||
| 359 | ECHO. | ||
| 360 | ECHO Configuring LuaRocks... | ||
| 361 | REM Create a site-config file | ||
| 281 | IF EXIST "%LUADIR%\luarocks\site_config.lua" RENAME "%LUADIR%\luarocks\site_config.lua" site_config.lua.bak | 362 | IF EXIST "%LUADIR%\luarocks\site_config.lua" RENAME "%LUADIR%\luarocks\site_config.lua" site_config.lua.bak |
| 282 | ECHO module("luarocks.site_config")>> "%LUADIR%\luarocks\site_config.lua" | 363 | ECHO module("luarocks.site_config")>> "%LUADIR%\luarocks\site_config.lua" |
| 283 | ECHO LUA_INCDIR=[[%LUA_INCDIR%]]>> "%LUADIR%\luarocks\site_config.lua" | 364 | ECHO LUA_INCDIR=[[%LUA_INCDIR%]]>> "%LUADIR%\luarocks\site_config.lua" |
| @@ -299,7 +380,9 @@ IF NOT [%FORCE_CONFIG%]==[] ECHO local LUAROCKS_FORCE_CONFIG=true>> "%LUADIR%\lu | |||
| 299 | IF EXIST "%LUADIR%\luarocks\site_config.lua.bak" TYPE "%LUADIR%\luarocks\site_config.lua.bak">> "%LUADIR%\luarocks\site_config.lua" | 380 | IF EXIST "%LUADIR%\luarocks\site_config.lua.bak" TYPE "%LUADIR%\luarocks\site_config.lua.bak">> "%LUADIR%\luarocks\site_config.lua" |
| 300 | 381 | ||
| 301 | IF EXIST "%LUADIR%\luarocks\site_config.lua.bak" DEL /F /Q "%LUADIR%\luarocks\site_config.lua.bak" | 382 | IF EXIST "%LUADIR%\luarocks\site_config.lua.bak" DEL /F /Q "%LUADIR%\luarocks\site_config.lua.bak" |
| 383 | ECHO Created LuaRocks site-config file: %LUADIR%\luarocks\site_config.lua | ||
| 302 | 384 | ||
| 385 | REM create config file | ||
| 303 | SET CONFIG_FILE=%SYSCONFDIR%\config.lua | 386 | SET CONFIG_FILE=%SYSCONFDIR%\config.lua |
| 304 | 387 | ||
| 305 | IF NOT EXIST "%SYSCONFDIR%" %MKDIR% "%SYSCONFDIR%" | 388 | IF NOT EXIST "%SYSCONFDIR%" %MKDIR% "%SYSCONFDIR%" |
| @@ -312,38 +395,52 @@ IF NOT EXIST "%CONFIG_FILE%" ( | |||
| 312 | ECHO [[%ROCKS_TREE%]]>> "%CONFIG_FILE%" | 395 | ECHO [[%ROCKS_TREE%]]>> "%CONFIG_FILE%" |
| 313 | ECHO }>> "%CONFIG_FILE%" | 396 | ECHO }>> "%CONFIG_FILE%" |
| 314 | 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_LIBNAME%'>> "%CONFIG_FILE%" | ||
| 405 | ECHO }>> "%CONFIG_FILE%" | ||
| 406 | ECHO Created LuaRocks config file: %CONFIG_FILE% | ||
| 407 | ) ELSE ( | ||
| 408 | ECHO LuaRocks config file already exists: %CONFIG_FILE% | ||
| 315 | ) | 409 | ) |
| 316 | 410 | ||
| 317 | IF [%SCRIPTS_DIR%]==[] ( | 411 | ECHO. |
| 318 | %MKDIR% "%ROCKS_TREE%"\bin >NUL | 412 | ECHO Creating rocktrees... |
| 319 | REM IF [%USE_MINGW%]==[ON] ( | 413 | IF NOT EXIST "%ROCKS_TREE%" ( |
| 320 | REM COPY lua5.1\mingw32-bin\*.dll "%ROCKS_TREE%"\bin >NUL | 414 | %MKDIR% "%ROCKS_TREE%" |
| 321 | REM ) ELSE ( | 415 | ECHO Created rocktree: "%ROCKS_TREE%" |
| 322 | COPY lua5.1\bin\*.dll "%ROCKS_TREE%"\bin >NUL | 416 | ) ELSE ( |
| 323 | REM ) | 417 | ECHO Rocktree exists: "%ROCKS_TREE%" |
| 324 | ) | 418 | ) |
| 325 | IF NOT [%SCRIPTS_DIR%]==[] ( | 419 | IF NOT EXIST "%APPDATA%/luarocks" ( |
| 326 | %MKDIR% "%SCRIPTS_DIR%" >NUL | 420 | %MKDIR% "%APPDATA%/luarocks" |
| 327 | REM IF [%USE_MINGW%]==[ON] ( | 421 | ECHO Created rocktree: "%APPDATA%\luarocks" |
| 328 | REM COPY lua5.1\mingw32-bin\*.dll "%SCRIPTS_DIR%" >NUL | 422 | ) ELSE ( |
| 329 | REM ) ELSE ( | 423 | ECHO Rocktree exists: "%APPDATA%\luarocks" |
| 330 | COPY lua5.1\bin\*.dll "%SCRIPTS_DIR%" >NUL | ||
| 331 | REM ) | ||
| 332 | ) | 424 | ) |
| 333 | 425 | ||
| 334 | IF NOT EXIST "%ROCKS_TREE%" %MKDIR% "%ROCKS_TREE%" | ||
| 335 | IF NOT EXIST "%APPDATA%/luarocks" %MKDIR% "%APPDATA%/luarocks" | ||
| 336 | |||
| 337 | REM *********************************************************** | 426 | REM *********************************************************** |
| 338 | REM Exit handlers | 427 | REM Exit handlers |
| 339 | REM *********************************************************** | 428 | REM *********************************************************** |
| 340 | 429 | ||
| 341 | ECHO LuaRocks is installed! | 430 | ECHO. |
| 431 | ECHO *** LuaRocks is installed! *** | ||
| 432 | ECHO. | ||
| 433 | ECHO You may want to add the following elements to your paths; | ||
| 434 | ECHO PATH : %LUA_BINDIR%;%FULL_PREFIX% | ||
| 435 | ECHO LUA_PATH : %ROCKS_TREE%\share\lua\5.1\?.lua;%ROCKS_TREE%\share\lua\5.1\?\init.lua | ||
| 436 | ECHO LUA_CPATH: %LUA_LIBDIR%\lua\5.1\?.dll | ||
| 437 | ECHO. | ||
| 342 | :QUIT | 438 | :QUIT |
| 343 | ENDLOCAL | 439 | ENDLOCAL |
| 344 | EXIT /B 0 | 440 | EXIT /B 0 |
| 345 | 441 | ||
| 346 | :ERROR | 442 | :ERROR |
| 347 | ECHO Failed installing LuaRocks. | 443 | ECHO. |
| 444 | ECHO Failed installing LuaRocks. Run with /? for help. | ||
| 348 | ENDLOCAL | 445 | ENDLOCAL |
| 349 | EXIT /B 1 | 446 | EXIT /B 1 |
diff --git a/src/luarocks/build/builtin.lua b/src/luarocks/build/builtin.lua index f65774fd..853b0361 100644 --- a/src/luarocks/build/builtin.lua +++ b/src/luarocks/build/builtin.lua | |||
| @@ -73,9 +73,9 @@ function run(rockspec) | |||
| 73 | compile_library = function(library, objects, libraries, libdirs, name) | 73 | compile_library = function(library, objects, libraries, libdirs, name) |
| 74 | local extras = { unpack(objects) } | 74 | local extras = { unpack(objects) } |
| 75 | add_flags(extras, "-L%s", libdirs) | 75 | add_flags(extras, "-L%s", libdirs) |
| 76 | add_flags(extras, "%s.lib", libraries) | 76 | add_flags(extras, "-l%s", libraries) |
| 77 | extras[#extras+1] = dir.path(variables.LUA_LIBDIR, variables.LUALIB) | 77 | extras[#extras+1] = dir.path(variables.LUA_LIBDIR, variables.LUALIB) |
| 78 | extras[#extras+1] = "-l" .. (variables.MSVCRT or "msvcr80") | 78 | extras[#extras+1] = "-l" .. (variables.MSVCRT or "m") |
| 79 | local ok = execute(variables.LD.." "..variables.LIBFLAG, "-o", library, unpack(extras)) | 79 | local ok = execute(variables.LD.." "..variables.LIBFLAG, "-o", library, unpack(extras)) |
| 80 | return ok | 80 | return ok |
| 81 | end | 81 | end |
| @@ -89,7 +89,7 @@ function run(rockspec) | |||
| 89 | local ok = execute(variables.RC, "-o", resname, rcname) | 89 | local ok = execute(variables.RC, "-o", resname, rcname) |
| 90 | if not ok then return ok end | 90 | if not ok then return ok end |
| 91 | ok = execute(variables.LD, "-o", wrapname, resname, variables.WRAPPER, | 91 | ok = execute(variables.LD, "-o", wrapname, resname, variables.WRAPPER, |
| 92 | dir.path(variables.LUA_LIBDIR, variables.LUALIB), "-l" .. (variables.MSVCRT or "msvcr80"), "-luser32") | 92 | dir.path(variables.LUA_LIBDIR, variables.LUALIB), "-l" .. (variables.MSVCRT or "m"), "-luser32") |
| 93 | return ok, wrapname | 93 | return ok, wrapname |
| 94 | end | 94 | end |
| 95 | elseif cfg.is_platform("win32") then | 95 | elseif cfg.is_platform("win32") then |
