12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- 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)
|