From a16aa9ec6015b82e2209a0639c0ecda3e00817ec Mon Sep 17 00:00:00 2001 From: treeform Date: Mon, 6 Sep 2021 11:18:27 -0700 Subject: [PATCH] Add universal dylib. --- pixie.nimble | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pixie.nimble b/pixie.nimble index f0c64b8..081bbc6 100644 --- a/pixie.nimble +++ b/pixie.nimble @@ -17,10 +17,17 @@ task docs, "Generate API documents": exec "nim doc --index:on --project --out:docs --hints:off src/pixie.nim" task bindings, "Generate bindings": + + proc compile(libName: string, flags = "") = + exec "nim c -f " & flags & " -d:release --app:lib --gc:arc --tlsEmulation:off --out:" & libName & ".arm --outdir:bindings/generated bindings/bindings.nim" + when defined(windows): - const libName = "pixie.dll" + compile "pixie.dll" + elif defined(macosx): - const libName = "libpixie.dylib" + compile "libpixie.dylib.arm", "-l:'-target arm64-apple-macos11' -t:'-target arm64-apple-macos11'" + compile "libpixie.dylib.x64", "-l:'-target x86_64-apple-macos10.12' -t:'-target x86_64-apple-macos10.12'" + exec "lipo bindings/generated/libpixie.dylib.arm bindings/generated/libpixie.dylib.x64 -output bindings/generated/libpixie.dylib -create" + else: - const libName = "libpixie.so" - exec "nim c -f -d:release --app:lib --gc:arc --tlsEmulation:off --out:" & libName & " --outdir:bindings/generated bindings/bindings.nim" + compile "libpixie.so"