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 |