aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/luarocks/build/builtin.lua12
-rw-r--r--src/luarocks/cfg.lua18
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"