diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/luarocks/build/builtin.lua | 12 | ||||
-rw-r--r-- | src/luarocks/cfg.lua | 18 |
2 files changed, 18 insertions, 12 deletions
diff --git a/src/luarocks/build/builtin.lua b/src/luarocks/build/builtin.lua index 96ce35a6..f9cc0302 100644 --- a/src/luarocks/build/builtin.lua +++ b/src/luarocks/build/builtin.lua | |||
@@ -88,8 +88,10 @@ function run(rockspec) | |||
88 | make_rc(fullname, fullbasename..".rc") | 88 | make_rc(fullname, fullbasename..".rc") |
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.CC.." "..variables.CFLAGS, "-I"..variables.LUA_INCDIR, |
92 | dir.path(variables.LUA_LIBDIR, variables.LUALIB), "-l" .. (variables.MSVCRT or "m"), "-luser32") | 92 | "-o", wrapname, resname, variables.WRAPPER, |
93 | dir.path(variables.LUA_LIBDIR, variables.LUALIB), | ||
94 | "-l" .. (variables.MSVCRT or "m"), "-luser32") | ||
93 | return ok, wrapname | 95 | return ok, wrapname |
94 | end | 96 | end |
95 | elseif cfg.is_platform("win32") then | 97 | elseif cfg.is_platform("win32") then |
@@ -119,13 +121,17 @@ function run(rockspec) | |||
119 | compile_wrapper_binary = function(fullname, name) | 121 | compile_wrapper_binary = function(fullname, name) |
120 | local fullbasename = fullname:gsub("%.lua$", ""):gsub("/", "\\") | 122 | local fullbasename = fullname:gsub("%.lua$", ""):gsub("/", "\\") |
121 | local basename = name:gsub("%.lua$", ""):gsub("/", "\\") | 123 | local basename = name:gsub("%.lua$", ""):gsub("/", "\\") |
124 | local object = basename..".obj" | ||
122 | local rcname = basename..".rc" | 125 | local rcname = basename..".rc" |
123 | local resname = basename..".res" | 126 | local resname = basename..".res" |
124 | local wrapname = basename..".exe" | 127 | local wrapname = basename..".exe" |
125 | make_rc(fullname, fullbasename..".rc") | 128 | make_rc(fullname, fullbasename..".rc") |
126 | local ok = execute(variables.RC, "-r", "-fo"..resname, rcname) | 129 | local ok = execute(variables.RC, "-r", "-fo"..resname, rcname) |
127 | if not ok then return ok end | 130 | if not ok then return ok end |
128 | ok = execute(variables.LD, "-out:"..wrapname, resname, variables.WRAPPER, | 131 | ok = execute(variables.CC.." "..variables.CFLAGS, "-c", "-Fo"..object, |
132 | "-I"..variables.LUA_INCDIR, variables.WRAPPER) | ||
133 | if not ok then return ok end | ||
134 | ok = execute(variables.LD, "-out:"..wrapname, resname, object, | ||
129 | dir.path(variables.LUA_LIBDIR, variables.LUALIB), "user32.lib") | 135 | dir.path(variables.LUA_LIBDIR, variables.LUALIB), "user32.lib") |
130 | local manifestfile = wrapname..".manifest" | 136 | local manifestfile = wrapname..".manifest" |
131 | if ok and fs.exists(manifestfile) then | 137 | if ok and fs.exists(manifestfile) then |
diff --git a/src/luarocks/cfg.lua b/src/luarocks/cfg.lua index e16079f4..12a477a0 100644 --- a/src/luarocks/cfg.lua +++ b/src/luarocks/cfg.lua | |||
@@ -193,18 +193,18 @@ local defaults = { | |||
193 | MAKE = "make", | 193 | MAKE = "make", |
194 | CC = "cc", | 194 | CC = "cc", |
195 | LD = "ld", | 195 | LD = "ld", |
196 | 196 | ||
197 | CVS = "cvs", | 197 | CVS = "cvs", |
198 | GIT = "git", | 198 | GIT = "git", |
199 | SSCM = "sscm", | 199 | SSCM = "sscm", |
200 | SVN = "svn", | 200 | SVN = "svn", |
201 | HG = "hg", | 201 | HG = "hg", |
202 | 202 | ||
203 | RSYNC = "rsync", | 203 | RSYNC = "rsync", |
204 | WGET = "wget", | 204 | WGET = "wget", |
205 | SCP = "scp", | 205 | SCP = "scp", |
206 | CURL = "curl", | 206 | CURL = "curl", |
207 | 207 | ||
208 | PWD = "pwd", | 208 | PWD = "pwd", |
209 | MKDIR = "mkdir", | 209 | MKDIR = "mkdir", |
210 | RMDIR = "rmdir", | 210 | RMDIR = "rmdir", |
@@ -221,18 +221,18 @@ local defaults = { | |||
221 | GUNZIP = "gunzip", | 221 | GUNZIP = "gunzip", |
222 | BUNZIP2 = "bunzip2", | 222 | BUNZIP2 = "bunzip2", |
223 | TAR = "tar", | 223 | TAR = "tar", |
224 | 224 | ||
225 | MD5SUM = "md5sum", | 225 | MD5SUM = "md5sum", |
226 | OPENSSL = "openssl", | 226 | OPENSSL = "openssl", |
227 | MD5 = "md5", | 227 | MD5 = "md5", |
228 | STAT = "stat", | 228 | STAT = "stat", |
229 | 229 | ||
230 | CMAKE = "cmake", | 230 | CMAKE = "cmake", |
231 | SEVENZ = "7z", | 231 | SEVENZ = "7z", |
232 | 232 | ||
233 | STATFLAG = "-c '%a'", | 233 | STATFLAG = "-c '%a'", |
234 | }, | 234 | }, |
235 | 235 | ||
236 | external_deps_subdirs = { | 236 | external_deps_subdirs = { |
237 | bin = "bin", | 237 | bin = "bin", |
238 | lib = "lib", | 238 | lib = "lib", |
@@ -262,7 +262,7 @@ if detected.windows then | |||
262 | defaults.variables.MAKE = "nmake" | 262 | defaults.variables.MAKE = "nmake" |
263 | defaults.variables.CC = "cl" | 263 | defaults.variables.CC = "cl" |
264 | defaults.variables.RC = "rc" | 264 | defaults.variables.RC = "rc" |
265 | defaults.variables.WRAPPER = site_config.LUAROCKS_PREFIX .. "\\2.0\\rclauncher.obj" | 265 | defaults.variables.WRAPPER = site_config.LUAROCKS_PREFIX .. "\\2.0\\rclauncher.c" |
266 | defaults.variables.LD = "link" | 266 | defaults.variables.LD = "link" |
267 | defaults.variables.MT = "mt" | 267 | defaults.variables.MT = "mt" |
268 | defaults.variables.LUALIB = "lua"..lua_version..".lib" | 268 | defaults.variables.LUALIB = "lua"..lua_version..".lib" |
@@ -293,7 +293,7 @@ if detected.mingw32 then | |||
293 | defaults.variables.MAKE = "mingw32-make" | 293 | defaults.variables.MAKE = "mingw32-make" |
294 | defaults.variables.CC = "mingw32-gcc" | 294 | defaults.variables.CC = "mingw32-gcc" |
295 | defaults.variables.RC = "windres" | 295 | defaults.variables.RC = "windres" |
296 | defaults.variables.WRAPPER = site_config.LUAROCKS_PREFIX .. "\\2.0\\rclauncher.o" | 296 | defaults.variables.WRAPPER = site_config.LUAROCKS_PREFIX .. "\\2.0\\rclauncher.c" |
297 | defaults.variables.LD = "mingw32-gcc" | 297 | defaults.variables.LD = "mingw32-gcc" |
298 | defaults.variables.CFLAGS = "-O2" | 298 | defaults.variables.CFLAGS = "-O2" |
299 | defaults.variables.LIBFLAG = "-shared" | 299 | defaults.variables.LIBFLAG = "-shared" |