|
1 | | -package("bdwgc") |
2 | | - set_homepage("https://www.hboehm.info/gc/") |
3 | | - set_description("The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (bdwgc, also known as bdw-gc, boehm-gc, libgc)") |
4 | | - |
5 | | - add_urls("https://github.com/ivmai/bdwgc/archive/refs/tags/$(version).tar.gz", |
6 | | - "https://github.com/ivmai/bdwgc.git") |
7 | | - |
8 | | - add_versions("v8.2.6", "3bfc2b1dd385bfb46d2dab029211a66249a309795b6893f4e00554904999e40a") |
9 | | - add_versions("v8.2.4", "18e63ab1428bd52e691da107a6a56651c161210b11fbe22e2aa3c31f7fa00ca5") |
10 | | - |
11 | | - add_deps("cmake") |
12 | | - add_deps("libatomic_ops") |
13 | | - |
14 | | - if on_check then |
15 | | - on_check("android", function (package) |
16 | | - if package:is_arch("armeabi-v7a") then |
17 | | - local ndk = package:toolchain("ndk") |
18 | | - local ndk_sdkver = ndk:config("ndk_sdkver") |
19 | | - assert(ndk_sdkver and tonumber(ndk_sdkver) > 21, "package(bdwgc/armeabi-v7a): need ndk api level > 21") |
20 | | - end |
21 | | - end) |
22 | | - end |
23 | | - |
24 | | - on_install("!wasm", function (package) |
25 | | - local configs = {"-Denable_docs=OFF", "-Dwith_libatomic_ops=ON"} |
26 | | - table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) |
27 | | - table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) |
28 | | - import("package.tools.cmake").install(package, configs, {packagedeps = "libatomic_ops"}) |
29 | | - |
30 | | - if package:is_plat("windows", "mingw", "cygwin") then |
31 | | - package:add("defines", (package:config("shared") and "GC_DLL" or "GC_NOT_DLL")) |
32 | | - end |
33 | | - end) |
34 | | - |
35 | | - on_test(function (package) |
36 | | - assert(package:has_cfuncs("GC_init", {includes = "gc/gc.h"})) |
37 | | - end) |
| 1 | +package("bdwgc") |
| 2 | + set_homepage("https://www.hboehm.info/gc/") |
| 3 | + set_description("The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (bdwgc, also known as bdw-gc, boehm-gc, libgc)") |
| 4 | + |
| 5 | + add_urls("https://github.com/ivmai/bdwgc/archive/refs/tags/$(version).tar.gz", |
| 6 | + "https://github.com/ivmai/bdwgc.git") |
| 7 | + |
| 8 | + add_versions("v8.2.10", "5858a417ab3eaac2add0daf79cd29ddf248c9f648e6c08092b775dcbfcbe1edb") |
| 9 | + add_versions("v8.2.6", "3bfc2b1dd385bfb46d2dab029211a66249a309795b6893f4e00554904999e40a") |
| 10 | + add_versions("v8.2.4", "18e63ab1428bd52e691da107a6a56651c161210b11fbe22e2aa3c31f7fa00ca5") |
| 11 | + |
| 12 | + add_deps("cmake") |
| 13 | + add_deps("libatomic_ops") |
| 14 | + |
| 15 | + if on_check then |
| 16 | + on_check("android", function (package) |
| 17 | + if package:is_arch("armeabi-v7a") then |
| 18 | + local ndk = package:toolchain("ndk") |
| 19 | + local ndk_sdkver = ndk:config("ndk_sdkver") |
| 20 | + assert(ndk_sdkver and tonumber(ndk_sdkver) > 21, "package(bdwgc/armeabi-v7a): need ndk api level > 21") |
| 21 | + end |
| 22 | + end) |
| 23 | + on_check("mingw", function (target) |
| 24 | + if package:version() and package:version():eq("8.2.4") then |
| 25 | + raise("package(bdwgc 8.2.4) unsupported mingw") |
| 26 | + end |
| 27 | + end) |
| 28 | + end |
| 29 | + |
| 30 | + on_install("!wasm", function (package) |
| 31 | + local configs = {"-Denable_docs=OFF", "-Dwith_libatomic_ops=ON"} |
| 32 | + table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) |
| 33 | + table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) |
| 34 | + import("package.tools.cmake").install(package, configs, {packagedeps = "libatomic_ops"}) |
| 35 | + |
| 36 | + if package:is_plat("windows", "mingw", "cygwin") then |
| 37 | + package:add("defines", (package:config("shared") and "GC_DLL" or "GC_NOT_DLL")) |
| 38 | + end |
| 39 | + end) |
| 40 | + |
| 41 | + on_test(function (package) |
| 42 | + assert(package:has_cfuncs("GC_init", {includes = "gc/gc.h"})) |
| 43 | + end) |
0 commit comments