|
@@ -1,5 +1,4 @@
|
|
package("icu4c")
|
|
package("icu4c")
|
|
-
|
|
|
|
set_homepage("http://site.icu-project.org/")
|
|
set_homepage("http://site.icu-project.org/")
|
|
set_description("C/C++ libraries for Unicode and globalization.")
|
|
set_description("C/C++ libraries for Unicode and globalization.")
|
|
|
|
|
|
@@ -23,6 +22,14 @@ package("icu4c")
|
|
add_patches(">=69.1", path.join(os.scriptdir(), "patches", "72.1", "mingw.patch"), "9ddbe7f691224ccf69f8c0218f788f0a39ab8f1375cc9aad2cc92664ffcf46a5")
|
|
add_patches(">=69.1", path.join(os.scriptdir(), "patches", "72.1", "mingw.patch"), "9ddbe7f691224ccf69f8c0218f788f0a39ab8f1375cc9aad2cc92664ffcf46a5")
|
|
end
|
|
end
|
|
|
|
|
|
|
|
+ if is_plat("mingw") and is_subhost("msys") then
|
|
|
|
+ add_extsources("pacman::icu")
|
|
|
|
+ elseif is_plat("linux") then
|
|
|
|
+ add_extsources("pacman::icu", "apt::libicu-dev")
|
|
|
|
+ elseif is_plat("macosx") then
|
|
|
|
+ add_extsources("brew::icu4c")
|
|
|
|
+ end
|
|
|
|
+
|
|
add_configs("tools", {description = "Build tools.", default = false, type = "boolean"})
|
|
add_configs("tools", {description = "Build tools.", default = false, type = "boolean"})
|
|
if is_plat("windows") then
|
|
if is_plat("windows") then
|
|
add_configs("shared", {description = "Build shared library.", default = true, type = "boolean", readonly = true})
|
|
add_configs("shared", {description = "Build shared library.", default = true, type = "boolean", readonly = true})
|
|
@@ -33,8 +40,15 @@ package("icu4c")
|
|
end
|
|
end
|
|
|
|
|
|
on_load(function (package)
|
|
on_load(function (package)
|
|
- if package:config("tools") and package:is_plat("windows") then
|
|
|
|
- package:add("deps", "python 3.x", {kind = "binary"})
|
|
|
|
|
|
+ if package:is_plat("windows") then
|
|
|
|
+ if package:config("tools") then
|
|
|
|
+ package:add("deps", "python 3.x", {kind = "binary"})
|
|
|
|
+ end
|
|
|
|
+
|
|
|
|
+ if package:has_runtime("MTd", "MDd") then
|
|
|
|
+ wprint("MTd/MDd runtime force to use debug package")
|
|
|
|
+ package:config_set("debug", true)
|
|
|
|
+ end
|
|
end
|
|
end
|
|
|
|
|
|
local libsuffix = package:is_debug() and package:is_plat("mingw", "windows") and "d" or ""
|
|
local libsuffix = package:is_debug() and package:is_plat("mingw", "windows") and "d" or ""
|
|
@@ -67,10 +81,24 @@ package("icu4c")
|
|
package:arch_set(arch_prev)
|
|
package:arch_set(arch_prev)
|
|
end
|
|
end
|
|
|
|
|
|
|
|
+ if package:has_runtime("MT", "MTd") then
|
|
|
|
+ local files = {
|
|
|
|
+ "source/common/common.vcxproj",
|
|
|
|
+ "source/i18n/i18n.vcxproj",
|
|
|
|
+ "source/extra/uconv/uconv.vcxproj",
|
|
|
|
+ "source/io/io.vcxproj",
|
|
|
|
+ "source/stubdata/stubdata.vcxproj",
|
|
|
|
+ }
|
|
|
|
+ for _, vcxproj in ipairs(files) do
|
|
|
|
+ io.replace(vcxproj, "MultiThreadedDLL", "MultiThreaded", {plain = true})
|
|
|
|
+ io.replace(vcxproj, "MultiThreadedDebugDLL", "MultiThreadedDebug", {plain = true})
|
|
|
|
+ end
|
|
|
|
+ end
|
|
|
|
+
|
|
local configs = {
|
|
local configs = {
|
|
sln,
|
|
sln,
|
|
"/p:SkipUWP=True",
|
|
"/p:SkipUWP=True",
|
|
- "/p:_IsNativeEnvironment=true"
|
|
|
|
|
|
+ "/p:_IsNativeEnvironment=true",
|
|
}
|
|
}
|
|
|
|
|
|
if not package:config("tools") then
|
|
if not package:config("tools") then
|