summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2013-04-06 20:43:15 -0700
committerHisham Muhammad <hisham@gobolinux.org>2013-04-06 20:43:15 -0700
commitf17d742f952bb149877f18a953d4b07d8f973b3d (patch)
tree2d08f2a93780163d75594f3549863817f59f6a04
parentbee75662424508d617c8b80ab9bbda03e502354c (diff)
parenta5bb84bbe8581c9c1d1f8ee74b510be54556ea1d (diff)
downloadluarocks-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.bat203
-rw-r--r--src/luarocks/build/builtin.lua6
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
3REM Boy, it feels like 1994 all over again. 3REM Boy, it feels like 1994 all over again.
4 4
5SETLOCAL 5SETLOCAL ENABLEDELAYEDEXPANSION
6 6
7SET PREFIX=C:\LuaRocks 7SET PREFIX=C:\LuaRocks
8SET VERSION=2.0 8SET VERSION=2.0
@@ -16,12 +16,16 @@ SET LUA_PREFIX=
16SET LUA_BINDIR= 16SET LUA_BINDIR=
17SET LUA_INCDIR= 17SET LUA_INCDIR=
18SET LUA_LIBDIR= 18SET LUA_LIBDIR=
19SET LUA_LIBNAME=
19SET FORCE_CONFIG= 20SET FORCE_CONFIG=
20SET MKDIR=.\bin\mkdir -p 21SET MKDIR=.\bin\mkdir -p
22SET LUA_LIB_NAMES=lua5.1.lib lua51.dll liblua.dll.a
21 23
22REM *********************************************************** 24REM ***********************************************************
23REM Option parser 25REM Option parser
24REM *********************************************************** 26REM ***********************************************************
27ECHO LuaRocks %VERSION%.x installer.
28ECHO.
25 29
26:PARSE_LOOP 30:PARSE_LOOP
27IF [%1]==[] GOTO DONE_PARSING 31IF [%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)
57IF /I [%1]==[/P] ( 70IF /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)
65IF /I [%1]==[/CONFIG] ( 78IF /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)
71IF /I [%1]==[/TREE] ( 84IF /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)
77IF /I [%1]==[/SCRIPTS] ( 90IF /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)
93IF /I [%1]==[/LUA] ( 106IF /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)
99IF /I [%1]==[/LIB] ( 112IF /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)
105IF /I [%1]==[/INC] ( 118IF /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)
111IF /I [%1]==[/BIN] ( 124IF /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
128GOTO ERROR 141GOTO ERROR
129:DONE_PARSING 142:DONE_PARSING
130 143
144REM check for combination flags
145IF [%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
131SET FULL_PREFIX=%PREFIX%\%VERSION% 152SET FULL_PREFIX=%PREFIX%\%VERSION%
132 153
133SET BINDIR=%FULL_PREFIX% 154SET BINDIR=%FULL_PREFIX%
@@ -141,23 +162,28 @@ REM ***********************************************************
141 162
142IF [%INSTALL_LUA%]==[ON] GOTO USE_OWN_LUA 163IF [%INSTALL_LUA%]==[ON] GOTO USE_OWN_LUA
143 164
165ECHO Looking for Lua interpreter
144FOR %%L IN (%LUA_PREFIX% c:\lua\5.1.2 c:\lua c:\kepler\1.1) DO ( 166FOR %%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
222SET LUA_BINDIR=%BINDIR% 275SET LUA_BINDIR=%BINDIR%
223SET LUA_LIBDIR=%LIBDIR% 276SET LUA_LIBDIR=%LIBDIR%
224SET LUA_INCDIR=%INCDIR% 277SET LUA_INCDIR=%INCDIR%
278SET LUA_LIBNAME=lua5.1.lib
225:LUA_IS_SET 279:LUA_IS_SET
226ECHO. 280ECHO.
227ECHO Will configure LuaRocks with the following paths: 281ECHO Will configure LuaRocks with the following paths:
228ECHO Lua interpreter: %LUA_INTERPRETER% 282ECHO LuaRocks : %FULL_PREFIX%
229ECHO Lua binaries: %LUA_BINDIR% 283ECHO Lua interpreter: %LUA_BINDIR%\%LUA_INTERPRETER%
230ECHO Lua libraries: %LUA_LIBDIR% 284ECHO Lua binaries : %LUA_BINDIR%
231ECHO Lua includes: %LUA_INCDIR% 285ECHO Lua libraries : %LUA_LIBDIR%
286ECHO Lua includes : %LUA_INCDIR%
287ECHO Binaries will be linked against: %LUA_LIBNAME%
232ECHO. 288ECHO.
233 289
234REM *********************************************************** 290REM ***********************************************************
@@ -238,6 +294,7 @@ REM ***********************************************************
238IF [%FORCE%]==[ON] ( 294IF [%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
243IF NOT EXIST "%FULL_PREFIX%" GOTO NOT_EXIST_PREFIX 300IF NOT EXIST "%FULL_PREFIX%" GOTO NOT_EXIST_PREFIX
@@ -249,22 +306,29 @@ ECHO Installing LuaRocks in %FULL_PREFIX%...
249IF NOT EXIST "%BINDIR%" %MKDIR% "%BINDIR%" 306IF NOT EXIST "%BINDIR%" %MKDIR% "%BINDIR%"
250IF ERRORLEVEL 1 GOTO ERROR 307IF ERRORLEVEL 1 GOTO ERROR
251IF [%INSTALL_LUA%]==[ON] ( 308IF [%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%"
254REM IF [%USE_MINGW%]==[ON] ( 312 COPY lua5.1\bin\*.* "%LUA_BINDIR%" >NUL
255REM COPY lua5.1\mingw32-bin\*.* "%LUA_BINDIR%" >NUL
256REM ) ELSE (
257 COPY lua5.1\bin\*.* "%LUA_BINDIR%" >NUL
258REM )
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)
316REM Copy the LuaRocks binaries
261COPY bin\*.* "%BINDIR%" >NUL 317COPY bin\*.* "%BINDIR%" >NUL
262IF ERRORLEVEL 1 GOTO ERROR 318IF ERRORLEVEL 1 GOTO ERROR
319REM Copy the LuaRocks lua source files
320IF NOT EXIST "%LUADIR%\luarocks" %MKDIR% "%LUADIR%\luarocks"
321IF ERRORLEVEL 1 GOTO ERROR
322XCOPY /S src\luarocks\*.* "%LUADIR%\luarocks" >NUL
323IF ERRORLEVEL 1 GOTO ERROR
324REM Create start scripts
263COPY src\bin\*.* "%BINDIR%" >NUL 325COPY src\bin\*.* "%BINDIR%" >NUL
264IF ERRORLEVEL 1 GOTO ERROR 326IF ERRORLEVEL 1 GOTO ERROR
265FOR %%C IN (luarocks luarocks-admin) DO ( 327FOR %%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)
276IF NOT EXIST "%LUADIR%\luarocks" %MKDIR% "%LUADIR%\luarocks" 341REM configure 'scripts' directory
277IF ERRORLEVEL 1 GOTO ERROR 342IF [%SCRIPTS_DIR%]==[] (
278XCOPY /S src\luarocks\*.* "%LUADIR%\luarocks" >NUL 343 %MKDIR% "%ROCKS_TREE%"\bin >NUL
279IF 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
359ECHO.
360ECHO Configuring LuaRocks...
361REM Create a site-config file
281IF EXIST "%LUADIR%\luarocks\site_config.lua" RENAME "%LUADIR%\luarocks\site_config.lua" site_config.lua.bak 362IF EXIST "%LUADIR%\luarocks\site_config.lua" RENAME "%LUADIR%\luarocks\site_config.lua" site_config.lua.bak
282ECHO module("luarocks.site_config")>> "%LUADIR%\luarocks\site_config.lua" 363ECHO module("luarocks.site_config")>> "%LUADIR%\luarocks\site_config.lua"
283ECHO LUA_INCDIR=[[%LUA_INCDIR%]]>> "%LUADIR%\luarocks\site_config.lua" 364ECHO 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
299IF EXIST "%LUADIR%\luarocks\site_config.lua.bak" TYPE "%LUADIR%\luarocks\site_config.lua.bak">> "%LUADIR%\luarocks\site_config.lua" 380IF EXIST "%LUADIR%\luarocks\site_config.lua.bak" TYPE "%LUADIR%\luarocks\site_config.lua.bak">> "%LUADIR%\luarocks\site_config.lua"
300 381
301IF EXIST "%LUADIR%\luarocks\site_config.lua.bak" DEL /F /Q "%LUADIR%\luarocks\site_config.lua.bak" 382IF EXIST "%LUADIR%\luarocks\site_config.lua.bak" DEL /F /Q "%LUADIR%\luarocks\site_config.lua.bak"
383ECHO Created LuaRocks site-config file: %LUADIR%\luarocks\site_config.lua
302 384
385REM create config file
303SET CONFIG_FILE=%SYSCONFDIR%\config.lua 386SET CONFIG_FILE=%SYSCONFDIR%\config.lua
304 387
305IF NOT EXIST "%SYSCONFDIR%" %MKDIR% "%SYSCONFDIR%" 388IF 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
317IF [%SCRIPTS_DIR%]==[] ( 411ECHO.
318 %MKDIR% "%ROCKS_TREE%"\bin >NUL 412ECHO Creating rocktrees...
319REM IF [%USE_MINGW%]==[ON] ( 413IF NOT EXIST "%ROCKS_TREE%" (
320REM COPY lua5.1\mingw32-bin\*.dll "%ROCKS_TREE%"\bin >NUL 414 %MKDIR% "%ROCKS_TREE%"
321REM ) ELSE ( 415 ECHO Created rocktree: "%ROCKS_TREE%"
322 COPY lua5.1\bin\*.dll "%ROCKS_TREE%"\bin >NUL 416) ELSE (
323REM ) 417 ECHO Rocktree exists: "%ROCKS_TREE%"
324) 418)
325IF NOT [%SCRIPTS_DIR%]==[] ( 419IF NOT EXIST "%APPDATA%/luarocks" (
326 %MKDIR% "%SCRIPTS_DIR%" >NUL 420 %MKDIR% "%APPDATA%/luarocks"
327REM IF [%USE_MINGW%]==[ON] ( 421 ECHO Created rocktree: "%APPDATA%\luarocks"
328REM COPY lua5.1\mingw32-bin\*.dll "%SCRIPTS_DIR%" >NUL 422) ELSE (
329REM ) ELSE ( 423 ECHO Rocktree exists: "%APPDATA%\luarocks"
330 COPY lua5.1\bin\*.dll "%SCRIPTS_DIR%" >NUL
331REM )
332) 424)
333 425
334IF NOT EXIST "%ROCKS_TREE%" %MKDIR% "%ROCKS_TREE%"
335IF NOT EXIST "%APPDATA%/luarocks" %MKDIR% "%APPDATA%/luarocks"
336
337REM *********************************************************** 426REM ***********************************************************
338REM Exit handlers 427REM Exit handlers
339REM *********************************************************** 428REM ***********************************************************
340 429
341ECHO LuaRocks is installed! 430ECHO.
431ECHO *** LuaRocks is installed! ***
432ECHO.
433ECHO You may want to add the following elements to your paths;
434ECHO PATH : %LUA_BINDIR%;%FULL_PREFIX%
435ECHO LUA_PATH : %ROCKS_TREE%\share\lua\5.1\?.lua;%ROCKS_TREE%\share\lua\5.1\?\init.lua
436ECHO LUA_CPATH: %LUA_LIBDIR%\lua\5.1\?.dll
437ECHO.
342:QUIT 438:QUIT
343ENDLOCAL 439ENDLOCAL
344EXIT /B 0 440EXIT /B 0
345 441
346:ERROR 442:ERROR
347ECHO Failed installing LuaRocks. 443ECHO.
444ECHO Failed installing LuaRocks. Run with /? for help.
348ENDLOCAL 445ENDLOCAL
349EXIT /B 1 446EXIT /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