Explorar o código

improve lua and luajit

ruki %!s(int64=6) %!d(string=hai) anos
pai
achega
659402a9fc

+ 3 - 3
packages/l/lua/xmake.lua

@@ -20,9 +20,9 @@ package("lua")
     end)
 
     on_install("linux", "macosx", "windows", "android", function (package)
-        io.writefile("xmake.lua", [[
+        io.writefile("xmake.lua", format([[
             target("lualib")
-                set_kind("static")
+                set_kind("%s")
                 set_basename("lua")
                 add_headerfiles("src/*.h", {prefixdir = "lua"})
                 add_files("src/*.c|lua.c|luac.c")
@@ -42,7 +42,7 @@ package("lua")
                 if not is_plat("windows") then
                     add_syslinks("dl")
                 end
-        ]])
+        ]], package:config("shared") and "shared" or "static"))
         import("package.tools.xmake").install(package)
     end)
 

+ 20 - 3
packages/l/luajit/xmake.lua

@@ -28,10 +28,18 @@ package("luajit")
 
     on_install("windows", function (package)
         os.cd("src")
-        os.vrun("msvcbuild.bat %s", package:debug() and "debug" and "")
+        if not package:config("shared") then
+            os.vrun("msvcbuild.bat static")
+        elseif package:debug() then
+            os.vrun("msvcbuild.bat debug")
+        else
+            os.vrun("msvcbuild.bat")
+        end
         os.cp("luajit.exe", package:installdir("bin"))
         os.cp("lua51.lib", package:installdir("lib"))
-        os.cp("lua51.dll", package:installdir("lib"))
+        if package:config("shared") then
+            os.cp("lua51.dll", package:installdir("lib"))
+        end
         os.cp("*.h", package:installdir("include/luajit"))
     end)
 
@@ -40,9 +48,18 @@ package("luajit")
         if package:debug() then
             io.gsub("./src/Makefile", "CCDEBUG=", "CCDEBUG= -g")
         end
+        if package:config("shared") then
+            io.gsub("./src/Makefile", "BUILDMODE= mixed", "BUILDMODE= dynamic")
+        else
+            io.gsub("./src/Makefile", "BUILDMODE= mixed", "BUILDMODE= static")
+        end
         os.vrun("make")
         os.cp("src/luajit", package:installdir("bin"))
-        os.cp("src/*.a", package:installdir("lib"))
+        if package:config("shared") then
+            os.cp("src/*" .. (is_plat("macosx") and ".dylib" or ".so"), package:installdir("lib"))
+        else
+            os.cp("src/*.a", package:installdir("lib"))
+        end
         os.cp("src/*.h", package:installdir("include/luajit"))
     end)
 

+ 0 - 1
packages/p/pcre/xmake.lua

@@ -13,7 +13,6 @@ package("pcre")
         add_deps("cmake")
     end
 
-    add_configs("shared", {description = "Enable shared library.", default = false, type = "boolean"})
     add_configs("jit", {description = "Enable jit.", default = true, type = "boolean"})
     add_configs("bitwidth", {description = "Set the code unit width.", default = "8", values = {"8", "16", "32"}})
 

+ 0 - 1
packages/p/pcre2/xmake.lua

@@ -14,7 +14,6 @@ package("pcre2")
         add_deps("cmake")
     end
 
-    add_configs("shared", {description = "Enable shared library.", default = false, type = "boolean"})
     add_configs("jit", {description = "Enable jit.", default = true, type = "boolean"})
     add_configs("bitwidth", {description = "Set the code unit width.", default = "8", values = {"8", "16", "32"}})