Back to list
djx-y-z

build-native

by djx-y-z

Dart FFI wrapper for liboqs, delivering post-quantum cryptographic algorithms. Supports NIST-standardized KEMs (e.g., ML-KEM) and signatures (e.g., ML-DSA), optimized for Flutter and cross-platform applications (Android, iOS, Linux, macOS, Windows). MIT Licensed.

3🍴 1📅 Jan 18, 2026

SKILL.md


name: build-native description: Build liboqs native libraries for different platforms. Use when user asks about building, compiling, or creating native libraries for iOS, Android, macOS, Linux, or Windows.

Build Native Libraries

Help with building liboqs native libraries for all supported platforms.

Golden Rule

ALWAYS use Makefile commands. Never call scripts directly.

# CORRECT
make build ARGS="macos"

# WRONG - never do this
fvm dart run scripts/build.dart macos

Quick Reference

PlatformCommandOutput
macOSmake build ARGS="macos"bin/macos/liboqs.dylib
Linuxmake build ARGS="linux"bin/linux/liboqs.so
Windowsmake build ARGS="windows"bin/windows/oqs.dll
iOSmake build ARGS="ios"ios/Frameworks/liboqs.xcframework/
Androidmake build ARGS="android"android/src/main/jniLibs/
Allmake build ARGS="all"All platforms
Listmake build ARGS="list"Show available platforms

Platform-Specific Options

macOS

# Universal binary (arm64 + x86_64) - default
make build ARGS="macos"

# Specific architecture
make build ARGS="macos --arch arm64"
make build ARGS="macos --arch x86_64"

iOS

# Full XCFramework (device + simulators) - default
make build ARGS="ios"

# Specific targets
make build ARGS="ios --target device"
make build ARGS="ios --target simulator"
make build ARGS="ios --target simulator-arm64"
make build ARGS="ios --target simulator-x86_64"

Android

# All ABIs - default
make build ARGS="android"

# Specific ABI
make build ARGS="android --abi arm64-v8a"
make build ARGS="android --abi armeabi-v7a"
make build ARGS="android --abi x86_64"

Android NDK Setup:

export ANDROID_NDK_HOME=/path/to/ndk/26.3.11579264
# Or install via Android Studio SDK Manager

Windows

make build ARGS="windows"

Requirements: Run from "Developer PowerShell for VS" or after vcvars64.bat

Prerequisites

PlatformRequirements
Allcmake, ninja, FVM
Linuxgcc/g++
macOSXcode Command Line Tools
iOSXcode (full)
AndroidAndroid NDK
WindowsVisual Studio with C++

Troubleshooting

"cmake not found"

# macOS
brew install cmake ninja

# Linux
sudo apt install cmake ninja-build

# Windows
choco install cmake ninja

"NDK not found" (Android)

# Check current NDK
echo $ANDROID_NDK_HOME

# Common paths
export ANDROID_NDK_HOME=~/Android/Sdk/ndk/26.3.11579264
export ANDROID_NDK_HOME=~/Library/Android/sdk/ndk/26.3.11579264

Build fails on Windows

  • Ensure you're in "Developer PowerShell for VS"
  • Or run vcvars64.bat first

Output Locations

PlatformLibrary Location
Linux (CLI)bin/linux/liboqs.so
macOS (CLI)bin/macos/liboqs.dylib
Windows (CLI)bin/windows/oqs.dll
macOS (Flutter)macos/Libraries/liboqs.dylib
iOS (Flutter)ios/Frameworks/liboqs.xcframework/
Android (Flutter)android/src/main/jniLibs/{abi}/liboqs.so

Score

Total Score

75/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon