summaryrefslogtreecommitdiff
path: root/xmake/rules/python/xmake.lua
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/rules/python/xmake.lua')
-rw-r--r--xmake/rules/python/xmake.lua68
1 files changed, 0 insertions, 68 deletions
diff --git a/xmake/rules/python/xmake.lua b/xmake/rules/python/xmake.lua
deleted file mode 100644
index 20c30c6b5..000000000
--- a/xmake/rules/python/xmake.lua
+++ /dev/null
@@ -1,68 +0,0 @@
---!A cross-platform build utility based on Lua
---
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- Copyright (C) 2015-present, TBOOX Open Source Group.
---
--- @author ruki
--- @file xmake.lua
---
-
--- @see https://github.com/xmake-io/xmake/issues/1896
-rule("python.library")
- on_config(function (target)
- target:set("kind", "shared")
- target:set("prefixname", "")
- target:add("runenvs", "PYTHONPATH", target:targetdir())
- local soabi = target:extraconf("rules", "python.library", "soabi")
- if soabi then
- import("lib.detect.find_tool")
- local python = assert(find_tool("python3"), "python not found!")
- local result = try { function() return os.iorunv(python.program, {"-c", "import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))"}) end}
- if result then
- result = result:trim()
- if result ~= "None" then
- target:set("extension", result)
- end
- end
- else
- if target:is_plat("windows", "mingw") then
- target:set("extension", ".pyd")
- else
- target:set("extension", ".so")
- end
- end
- -- fix segmentation fault for macosx
- -- @see https://github.com/xmake-io/xmake/issues/2177#issuecomment-1209398292
- if target:is_plat("macosx", "linux") then
- if target:is_plat("macosx") then
- target:add("shflags", "-undefined dynamic_lookup", {force = true})
- end
- for _, pkg in pairs(target:pkgs()) do
- local links = pkg:get("links")
- if links then
- local with_python = false
- for _, link in ipairs(links) do
- if link:startswith("python") then
- with_python = true
- break
- end
- end
- if with_python then
- pkg:set("links", nil)
- pkg:set("linkdirs", nil)
- end
- end
- end
- end
- end)