nim-circom-compat/circomcompat.nim
Dmitriy Ryajov 39c8891291
Rework ffi (#1)
* rework ffi

* fix types

* fix types

* update ffi

* bump

* bump to master

update ffi

update tests

fix tests

update ffi

update tests
2024-02-09 13:21:38 -06:00

24 lines
697 B
Nim

import std/os
import std/strutils
import std/macros
const
currentDir = currentSourcePath().parentDir()
libDir* = currentDir/"vendor/circom-compat-ffi/target"/"release"
# libDir* = currentDir/"vendor/circom-compat-ffi/target"/"debug" # XXX: uncomment for debug build
libPath* = libDir/"libcircom_compat_ffi.a"
static:
let cmd = "cd vendor/circom-compat-ffi && cargo build --release"
warning "\nBuilding circom compat ffi: " & cmd
let (output, exitCode) = gorgeEx cmd
for ln in output.splitLines():
warning("cargo> " & ln)
if exitCode != 0:
raiseAssert("Failed to build circom-compat-ffi")
{.passl: "-lcircom_compat_ffi -lm" & " -L" & libDir.}
include circomcompatffi