aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorApoorv Sachan <71246790+clitic@users.noreply.github.com>2022-12-08 19:40:45 +0530
committerGitHub <noreply@github.com>2022-12-08 11:10:45 -0300
commit525a3bccf105190c4b78c5c8eee9821e9951583d (patch)
treea08f97f64a5c2ba4cb46bcf66e1fc62edda899ca
parent500aeba152d6da90331788885df99ea314081c6f (diff)
downloadluarocks-525a3bccf105190c4b78c5c8eee9821e9951583d.tar.gz
luarocks-525a3bccf105190c4b78c5c8eee9821e9951583d.tar.bz2
luarocks-525a3bccf105190c4b78c5c8eee9821e9951583d.zip
build.builtin: added support for clang on Windows (#1466)
-rw-r--r--src/luarocks/build/builtin.lua12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/luarocks/build/builtin.lua b/src/luarocks/build/builtin.lua
index e7c0ae38..cd4d4486 100644
--- a/src/luarocks/build/builtin.lua
+++ b/src/luarocks/build/builtin.lua
@@ -180,12 +180,20 @@ function builtin.run(rockspec, no_install)
180 add_flags(extras, "-I%s", incdirs) 180 add_flags(extras, "-I%s", incdirs)
181 return execute(variables.CC.." "..variables.CFLAGS, "-c", "-o", object, "-I"..variables.LUA_INCDIR, source, unpack(extras)) 181 return execute(variables.CC.." "..variables.CFLAGS, "-c", "-o", object, "-I"..variables.LUA_INCDIR, source, unpack(extras))
182 end 182 end
183 compile_library = function(library, objects, libraries, libdirs) 183 compile_library = function(library, objects, libraries, libdirs, name)
184 local extras = { unpack(objects) } 184 local extras = { unpack(objects) }
185 add_flags(extras, "-L%s", libdirs) 185 add_flags(extras, "-L%s", libdirs)
186 add_flags(extras, "-l%s", libraries) 186 add_flags(extras, "-l%s", libraries)
187 extras[#extras+1] = dir.path(variables.LUA_LIBDIR, variables.LUALIB) 187 extras[#extras+1] = dir.path(variables.LUA_LIBDIR, variables.LUALIB)
188 extras[#extras+1] = "-l" .. (variables.MSVCRT or "m") 188
189 if variables.CC == "clang" or variables.CC == "clang-cl" then
190 local exported_name = name:gsub("%.", "_")
191 exported_name = exported_name:match('^[^%-]+%-(.+)$') or exported_name
192 extras[#extras+1] = string.format("-Wl,-export:luaopen_%s", exported_name)
193 else
194 extras[#extras+1] = "-l" .. (variables.MSVCRT or "m")
195 end
196
189 local ok = execute(variables.LD.." "..variables.LDFLAGS.." "..variables.LIBFLAG, "-o", library, unpack(extras)) 197 local ok = execute(variables.LD.." "..variables.LDFLAGS.." "..variables.LIBFLAG, "-o", library, unpack(extras))
190 return ok 198 return ok
191 end 199 end