secretflow / heu

A high-performance homomorphic encryption algorithm library.
https://www.secretflow.org.cn/docs/heu/en/
Apache License 2.0
83 stars 39 forks source link

如何将openfhe作为第三方库集成到heu中 #153

Open HeyGap opened 4 weeks ago

HeyGap commented 4 weeks ago

问题背景

您好!目前我在本地通过 makefile 编译好openfhe及openfhe-python库后,已经实现了from heu import openfhe的功能

但本地编译对环境的依赖度比较高,我在third-party/openfhe下放置的openfhe.so不能适配给每个用户,所以我希望用户在他们本地 install heu 库时能够先编译 openfhe 及 openfhe-python 库,然后将 openfhe-python 库的 openfhe.so 文件放入 third-party/openfhe 中,再去编译 heu.so

因此我想通过修改 WORKSPACE 的方式来引入第三方库,但可惜的是openfhe并没有自带的 bazel 编译方式,只支持CMake

一般来说我可以通过sh脚本来实现自动化,但我觉得并不适合 heu 整体的 install 方式

问题

因此我的问题是,我该通过什么方式来在heu中自动化实现 openfhe 这种不支持bazel build的第三方库的编译?

usafchn commented 4 weeks ago

可以参考一下这个文件夹下的文件 https://github.com/secretflow/heu/blob/main/third_party/bazel_cpp/seal.BUILD bazel 可以调用 cmake,make 等外部工具来编译

HeyGap commented 4 weeks ago

好的好的,感谢!