/yasl

YASL (Yet Another Simple library) is a C++ library contains modules and utilities which other SecretFlow code depends on.

Primary LanguageC++Apache License 2.0Apache-2.0

YASL: Yet Another Simple library

YASL (Yet Another Simple library) is a C++ library that contains modules and utilities which other SecretFlow code depends on.

Build

Prerequisite

Linux

Install gcc>=10.3, cmake, ninja, nasm

macOS

# Install Xcode
https://apps.apple.com/us/app/xcode/id497799835?mt=12

# Select Xcode toolchain version
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

# Install homebrew
https://brew.sh/

# Install dependencies
brew install bazel cmake ninja nasm automake lbtool

Build & UnitTest

# build as debug
bazel build //... -c dbg

# build as release
bazel build //... -c opt

# test
bazel test //...

# [optional] build & test with ASAN
bazel build //... -c dbg --config=asan
bazel test //... --config=asan -c dbg

Bazel build options

  • --define gperf=on enable gperf
  • --define tracelog=on enable link trace log.