package An official xmake package repository
https://xrepo.xmake.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.1 KiB
55 lines
2.1 KiB
package("swig") |
|
|
|
set_kind("binary") |
|
set_homepage("http://swig.org/") |
|
set_description("SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.") |
|
set_license("GPL-3.0") |
|
|
|
if is_host("windows") then |
|
add_urls("https://sourceforge.net/projects/swig/files/swigwin/swigwin-$(version)/swigwin-$(version).zip") |
|
add_versions("4.0.2", "daadb32f19fe818cb9b0015243233fc81584844c11a48436385e87c050346559") |
|
add_versions("4.1.1", "2ec3107e24606db535d77ef3dbf246dc6eccbf1d5c868dce365d7f7fb19a1a51") |
|
else |
|
add_urls("https://sourceforge.net/projects/swig/files/swig/swig-$(version)/swig-$(version).tar.gz") |
|
add_versions("4.0.2", "d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc") |
|
add_versions("4.1.1", "2af08aced8fcd65cdb5cc62426768914bedc735b1c250325203716f78e39ac9b") |
|
end |
|
|
|
on_load("@macosx", "@linux", function (package) |
|
if package:version():ge("4.1") then |
|
package:add("deps", "pcre2", {host = true}) |
|
else |
|
package:add("deps", "pcre", {host = true}) |
|
end |
|
end) |
|
|
|
on_fetch(function (package, opt) |
|
if opt.system then |
|
return package:find_tool("swig") |
|
end |
|
end) |
|
|
|
on_install("@windows", function (package) |
|
os.cp("*|Doc|Examples", package:installdir()) |
|
package:addenv("PATH", ".") |
|
end) |
|
|
|
on_install("@macosx", "@linux", function (package) |
|
local configs = {} |
|
if package:version():ge("4.1") then |
|
local pcre2 = package:dep("pcre2") |
|
if pcre2 and not pcre2:is_system() then |
|
table.insert(configs, "--with-pcre2-prefix=" .. pcre2:installdir()) |
|
end |
|
else |
|
local pcre = package:dep("pcre") |
|
if pcre and not pcre:is_system() then |
|
table.insert(configs, "--with-pcre-prefix=" .. pcre:installdir()) |
|
end |
|
end |
|
import("package.tools.autoconf").install(package, configs) |
|
end) |
|
|
|
on_test(function (package) |
|
os.vrun("swig -version") |
|
end)
|
|
|