diff options
author | Fabio Mascarenhas <mascarenhas@lambda-2.local> | 2010-01-22 14:57:23 -0200 |
---|---|---|
committer | Fabio Mascarenhas <mascarenhas@lambda-2.local> | 2010-01-22 14:57:23 -0200 |
commit | acb4296d3cdd3b5017c3c39e04ecc12c55e49ed5 (patch) | |
tree | 7d06a5af831c31927d1a13597cf79029976002df | |
parent | 47fea74335776d0d05de6225fcb3a8baa33e7f01 (diff) | |
download | luarocks-acb4296d3cdd3b5017c3c39e04ecc12c55e49ed5.tar.gz luarocks-acb4296d3cdd3b5017c3c39e04ecc12c55e49ed5.tar.bz2 luarocks-acb4296d3cdd3b5017c3c39e04ecc12c55e49ed5.zip |
mingw as build system
-rw-r--r-- | install.bat | 24 | ||||
-rw-r--r-- | src/luarocks/build/builtin.lua | 9 | ||||
-rw-r--r-- | src/luarocks/cfg.lua | 14 |
3 files changed, 30 insertions, 17 deletions
diff --git a/install.bat b/install.bat index 5644fa2a..09d96b8c 100644 --- a/install.bat +++ b/install.bat | |||
@@ -31,9 +31,9 @@ IF [%1]==[/?] ( | |||
31 | ECHO /P [dir] Where to install. | 31 | ECHO /P [dir] Where to install. |
32 | ECHO Default is %PREFIX% | 32 | ECHO Default is %PREFIX% |
33 | ECHO /CONFIG [dir] Location where the config file should be installed. | 33 | ECHO /CONFIG [dir] Location where the config file should be installed. |
34 | ECHO Default is %SYSCONFDIR% | 34 | ECHO Default is same place of installation |
35 | ECHO /TREE [dir] Root of the local tree of installed rocks. | 35 | ECHO /TREE [dir] Root of the local tree of installed rocks. |
36 | ECHO Default is %ROCKS_TREE% | 36 | ECHO Default is same place of installation |
37 | ECHO /SCRIPTS [dir] Where to install scripts installed by rocks. | 37 | ECHO /SCRIPTS [dir] Where to install scripts installed by rocks. |
38 | ECHO Default is TREE/bin. | 38 | ECHO Default is TREE/bin. |
39 | ECHO. | 39 | ECHO. |
@@ -56,6 +56,8 @@ IF [%1]==[/?] ( | |||
56 | ) | 56 | ) |
57 | IF /I [%1]==[/P] ( | 57 | IF /I [%1]==[/P] ( |
58 | SET PREFIX=%2 | 58 | SET PREFIX=%2 |
59 | SET SYSCONFDIR=%2 | ||
60 | SET ROCKS_TREE=%2 | ||
59 | SHIFT /1 | 61 | SHIFT /1 |
60 | SHIFT /1 | 62 | SHIFT /1 |
61 | GOTO PARSE_LOOP | 63 | GOTO PARSE_LOOP |
@@ -240,7 +242,11 @@ IF ERRORLEVEL 1 GOTO ERROR | |||
240 | IF [%INSTALL_LUA%]==[ON] ( | 242 | IF [%INSTALL_LUA%]==[ON] ( |
241 | IF NOT EXIST "%LUA_BINDIR%" %MKDIR% "%LUA_BINDIR%" | 243 | IF NOT EXIST "%LUA_BINDIR%" %MKDIR% "%LUA_BINDIR%" |
242 | IF NOT EXIST "%LUA_INCDIR%" %MKDIR% "%LUA_INCDIR%" | 244 | IF NOT EXIST "%LUA_INCDIR%" %MKDIR% "%LUA_INCDIR%" |
243 | COPY lua5.1\bin\*.* "%LUA_BINDIR%" >NUL | 245 | REM IF [%USE_MINGW%]==[ON] ( |
246 | REM COPY lua5.1\mingw32-bin\*.* "%LUA_BINDIR%" >NUL | ||
247 | REM ) ELSE ( | ||
248 | COPY lua5.1\bin\*.* "%LUA_BINDIR%" >NUL | ||
249 | REM ) | ||
244 | COPY lua5.1\include\*.* "%LUA_INCDIR%" >NUL | 250 | COPY lua5.1\include\*.* "%LUA_INCDIR%" >NUL |
245 | ) | 251 | ) |
246 | COPY bin\*.* "%BINDIR%" >NUL | 252 | COPY bin\*.* "%BINDIR%" >NUL |
@@ -301,11 +307,19 @@ IF NOT EXIST "%CONFIG_FILE%" ( | |||
301 | 307 | ||
302 | IF [%SCRIPTS_DIR%]==[] ( | 308 | IF [%SCRIPTS_DIR%]==[] ( |
303 | %MKDIR% "%ROCKS_TREE%"\bin >NUL | 309 | %MKDIR% "%ROCKS_TREE%"\bin >NUL |
304 | COPY lua5.1\bin\*.dll "%ROCKS_TREE%"\bin >NUL | 310 | REM IF [%USE_MINGW%]==[ON] ( |
311 | REM COPY lua5.1\mingw32-bin\*.dll "%ROCKS_TREE%"\bin >NUL | ||
312 | REM ) ELSE ( | ||
313 | COPY lua5.1\bin\*.dll "%ROCKS_TREE%"\bin >NUL | ||
314 | REM ) | ||
305 | ) | 315 | ) |
306 | IF NOT [%SCRIPTS_DIR%]==[] ( | 316 | IF NOT [%SCRIPTS_DIR%]==[] ( |
307 | %MKDIR% "%SCRIPTS_DIR%" >NUL | 317 | %MKDIR% "%SCRIPTS_DIR%" >NUL |
308 | COPY lua5.1\bin\*.dll "%SCRIPTS_DIR%" >NUL | 318 | REM IF [%USE_MINGW%]==[ON] ( |
319 | REM COPY lua5.1\mingw32-bin\*.dll "%SCRIPTS_DIR%" >NUL | ||
320 | REM ) ELSE ( | ||
321 | COPY lua5.1\bin\*.dll "%SCRIPTS_DIR%" >NUL | ||
322 | REM ) | ||
309 | ) | 323 | ) |
310 | 324 | ||
311 | IF NOT EXIST "%ROCKS_TREE%" %MKDIR% "%ROCKS_TREE%" | 325 | IF NOT EXIST "%ROCKS_TREE%" %MKDIR% "%ROCKS_TREE%" |
diff --git a/src/luarocks/build/builtin.lua b/src/luarocks/build/builtin.lua index dacaad0a..b6f42eab 100644 --- a/src/luarocks/build/builtin.lua +++ b/src/luarocks/build/builtin.lua | |||
@@ -86,10 +86,9 @@ function run(rockspec) | |||
86 | compile_library = function(library, objects, libraries, libdirs, name) | 86 | compile_library = function(library, objects, libraries, libdirs, name) |
87 | local extras = { unpack(objects) } | 87 | local extras = { unpack(objects) } |
88 | add_flags(extras, "-L%s", libdirs) | 88 | add_flags(extras, "-L%s", libdirs) |
89 | add_flags(extras, "-l%s", libraries) | 89 | add_flags(extras, "%s.lib", libraries) |
90 | extras[#extras+1] = "-L" .. variables.LUA_LIBDIR | 90 | extras[#extras+1] = dir.path(variables.LUA_LIBDIR, "lua5.1.lib") |
91 | extras[#extras+1] = "-llua51" | 91 | extras[#extras+1] = "-l" .. (variables.MSVCRT or "msvcr80") |
92 | extras[#extras+1] = "-lmsvcrt" | ||
93 | local ok = execute(variables.LD.." "..variables.LIBFLAG, "-o", library, unpack(extras)) | 92 | local ok = execute(variables.LD.." "..variables.LIBFLAG, "-o", library, unpack(extras)) |
94 | return ok | 93 | return ok |
95 | end | 94 | end |
@@ -103,7 +102,7 @@ function run(rockspec) | |||
103 | local ok = execute(variables.RC, "-o", resname, rcname) | 102 | local ok = execute(variables.RC, "-o", resname, rcname) |
104 | if not ok then return ok end | 103 | if not ok then return ok end |
105 | ok = execute(variables.LD, "-o", wrapname, resname, variables.WRAPPER, | 104 | ok = execute(variables.LD, "-o", wrapname, resname, variables.WRAPPER, |
106 | "-L"..variables.LUA_LIBDIR, "-llua51", "-lmsvcrt", "-luser32") | 105 | dir.path(variables.LUA_LIBDIR, "lua5.1.lib"), "-l" .. (variables.MSVCRT or "msvcr80"), "-luser32") |
107 | return ok, wrapname | 106 | return ok, wrapname |
108 | end | 107 | end |
109 | elseif is_platform("win32") then | 108 | elseif is_platform("win32") then |
diff --git a/src/luarocks/cfg.lua b/src/luarocks/cfg.lua index 5ec87bf5..ae07f905 100644 --- a/src/luarocks/cfg.lua +++ b/src/luarocks/cfg.lua | |||
@@ -176,12 +176,12 @@ if detected.windows then | |||
176 | defaults.variables.LIBFLAG = "/dll" | 176 | defaults.variables.LIBFLAG = "/dll" |
177 | defaults.external_deps_patterns = { | 177 | defaults.external_deps_patterns = { |
178 | bin = { "?.exe", "?.bat" }, | 178 | bin = { "?.exe", "?.bat" }, |
179 | lib = { "?.lib", "?.dll" }, | 179 | lib = { "?.lib", "?.dll", "lib?.dll" }, |
180 | include = { "?.h" } | 180 | include = { "?.h" } |
181 | } | 181 | } |
182 | defaults.runtime_external_deps_patterns = { | 182 | defaults.runtime_external_deps_patterns = { |
183 | bin = { "?.exe", "?.bat" }, | 183 | bin = { "?.exe", "?.bat" }, |
184 | lib = { "?.dll" }, | 184 | lib = { "?.dll", "lib?.dll" }, |
185 | include = { "?.h" } | 185 | include = { "?.h" } |
186 | } | 186 | } |
187 | defaults.local_cache = home.."/cache/luarocks" | 187 | defaults.local_cache = home.."/cache/luarocks" |
@@ -189,7 +189,7 @@ end | |||
189 | 189 | ||
190 | if detected.mingw32 then | 190 | if detected.mingw32 then |
191 | home_config_file = home_config_file:gsub("\\","/") | 191 | home_config_file = home_config_file:gsub("\\","/") |
192 | defaults.arch = "mingw32-"..proc | 192 | defaults.arch = "win32-"..proc |
193 | defaults.platforms = { "win32", "mingw32" } | 193 | defaults.platforms = { "win32", "mingw32" } |
194 | defaults.lib_extension = "dll" | 194 | defaults.lib_extension = "dll" |
195 | defaults.external_lib_extension = "dll" | 195 | defaults.external_lib_extension = "dll" |
@@ -201,15 +201,15 @@ if detected.mingw32 then | |||
201 | defaults.cmake_generator = "MinGW Makefiles" | 201 | defaults.cmake_generator = "MinGW Makefiles" |
202 | defaults.make = "mingw32-make" -- TODO: Split Windows flavors between mingw and msvc | 202 | defaults.make = "mingw32-make" -- TODO: Split Windows flavors between mingw and msvc |
203 | defaults.makefile = "Makefile.win" | 203 | defaults.makefile = "Makefile.win" |
204 | defaults.variables.CC = "gcc" | 204 | defaults.variables.CC = "mingw32-gcc" |
205 | defaults.variables.RC = "windres" | 205 | defaults.variables.RC = "windres" |
206 | defaults.variables.WRAPPER = config.LUAROCKS_PREFIX .. "\\2.0\\rclauncher.o" | 206 | defaults.variables.WRAPPER = config.LUAROCKS_PREFIX .. "\\2.0\\rclauncher.o" |
207 | defaults.variables.LD = "gcc" | 207 | defaults.variables.LD = "mingw32-gcc" |
208 | defaults.variables.CFLAGS = "-O2" | 208 | defaults.variables.CFLAGS = "-O2" |
209 | defaults.variables.LIBFLAG = "-shared --dll --export-all-symbols" | 209 | defaults.variables.LIBFLAG = "-shared" |
210 | defaults.external_deps_patterns = { | 210 | defaults.external_deps_patterns = { |
211 | bin = { "?.exe", "?.bat" }, | 211 | bin = { "?.exe", "?.bat" }, |
212 | lib = { "lib?.a", "?.dll", "lib?.dll" }, | 212 | lib = { "?.lib", "?.dll", "lib?.dll" }, |
213 | include = { "?.h" } | 213 | include = { "?.h" } |
214 | } | 214 | } |
215 | defaults.runtime_external_deps_patterns = { | 215 | defaults.runtime_external_deps_patterns = { |