@@ -34,6 +34,10 @@ STABLEDIFFUSION_VERSION?=4a3cd6aeae6f66ee57eae9a0075f8c58c3a6a38f
34
34
TINYDREAM_REPO? =https://github.com/M0Rf30/go-tiny-dream
35
35
TINYDREAM_VERSION? =c04fa463ace9d9a6464313aa5f9cd0f953b6c057
36
36
37
+ ONNX_VERSION? =1.20.0
38
+ ONNX_ARCH? =x64
39
+ ONNX_OS? =linux
40
+
37
41
export BUILD_TYPE? =
38
42
export STABLE_BUILD_TYPE? =$(BUILD_TYPE )
39
43
export CMAKE_ARGS? =
@@ -89,7 +93,20 @@ ifeq ($(NATIVE),false)
89
93
CMAKE_ARGS+=-DGGML_NATIVE=OFF
90
94
endif
91
95
96
+ # Detect if we are running on arm64
97
+ ifneq (,$(findstring aarch64,$(shell uname -m) ) )
98
+ ONNX_ARCH=aarch64
99
+ endif
100
+
92
101
ifeq ($(OS ) ,Darwin)
102
+ ONNX_OS=osx
103
+ ifneq (,$(findstring aarch64,$(shell uname -m)))
104
+ ONNX_ARCH=arm64
105
+ else ifneq (,$(findstring arm64,$(shell uname -m)))
106
+ ONNX_ARCH=arm64
107
+ else
108
+ ONNX_ARCH=x86_64
109
+ endif
93
110
94
111
ifeq ($(OSX_SIGNING_IDENTITY),)
95
112
OSX_SIGNING_IDENTITY := $(shell security find-identity -v -p codesigning | grep '"' | head -n 1 | sed -E 's/.*"(.*)"/\1/')
@@ -195,6 +212,7 @@ ALL_GRPC_BACKENDS+=backend-assets/util/llama-cpp-rpc-server
195
212
ALL_GRPC_BACKENDS+ =backend-assets/grpc/rwkv
196
213
ALL_GRPC_BACKENDS+ =backend-assets/grpc/whisper
197
214
ALL_GRPC_BACKENDS+ =backend-assets/grpc/local-store
215
+ ALL_GRPC_BACKENDS+ =backend-assets/grpc/silero-vad
198
216
ALL_GRPC_BACKENDS+ =$(OPTIONAL_GRPC )
199
217
# Use filter-out to remove the specified backends
200
218
ALL_GRPC_BACKENDS := $(filter-out $(SKIP_GRPC_BACKEND ) ,$(ALL_GRPC_BACKENDS ) )
@@ -281,6 +299,20 @@ sources/go-stable-diffusion:
281
299
sources/go-stable-diffusion/libstablediffusion.a : sources/go-stable-diffusion
282
300
CPATH=" $( CPATH) :/usr/include/opencv4" $(MAKE ) -C sources/go-stable-diffusion libstablediffusion.a
283
301
302
+ sources/onnxruntime :
303
+ mkdir -p sources/onnxruntime
304
+ curl -L https://github.com/microsoft/onnxruntime/releases/download/v$(ONNX_VERSION ) /onnxruntime-$(ONNX_OS ) -$(ONNX_ARCH ) -$(ONNX_VERSION ) .tgz -o sources/onnxruntime/onnxruntime-$(ONNX_OS ) -$(ONNX_ARCH ) -$(ONNX_VERSION ) .tgz
305
+ cd sources/onnxruntime && tar -xvf onnxruntime-$(ONNX_OS ) -$(ONNX_ARCH ) -$(ONNX_VERSION ) .tgz && rm onnxruntime-$(ONNX_OS ) -$(ONNX_ARCH ) -$(ONNX_VERSION ) .tgz
306
+ cd sources/onnxruntime && mv onnxruntime-$(ONNX_OS ) -$(ONNX_ARCH ) -$(ONNX_VERSION ) /* ./
307
+
308
+ backend-assets/lib/libonnxruntime.so.1 : backend-assets/lib sources/onnxruntime
309
+ cp -rfv sources/onnxruntime/lib/* backend-assets/lib/
310
+ ifeq ($(OS ) ,Darwin)
311
+ mv backend-assets/lib/libonnxruntime.$(ONNX_VERSION).dylib backend-assets/lib/libonnxruntime.dylib
312
+ else
313
+ mv backend-assets/lib/libonnxruntime.so.$(ONNX_VERSION) backend-assets/lib/libonnxruntime.so.1
314
+ endif
315
+
284
316
# # tiny-dream
285
317
sources/go-tiny-dream :
286
318
mkdir -p sources/go-tiny-dream
@@ -837,6 +869,13 @@ ifneq ($(UPX),)
837
869
$(UPX) backend-assets/grpc/stablediffusion
838
870
endif
839
871
872
+ backend-assets/grpc/silero-vad : backend-assets/grpc backend-assets/lib/libonnxruntime.so.1
873
+ CGO_LDFLAGS=" $( CGO_LDFLAGS) " CPATH=" $( CPATH) :$( CURDIR) /sources/onnxruntime/include/" LIBRARY_PATH=$(CURDIR ) /backend-assets/lib \
874
+ $(GOCMD ) build -ldflags " $( LD_FLAGS) " -tags " $( GO_TAGS) " -o backend-assets/grpc/silero-vad ./backend/go/vad/silero
875
+ ifneq ($(UPX ) ,)
876
+ $(UPX) backend-assets/grpc/silero-vad
877
+ endif
878
+
840
879
backend-assets/grpc/tinydream : sources/go-tiny-dream sources/go-tiny-dream/libtinydream.a backend-assets/grpc
841
880
CGO_LDFLAGS=" $( CGO_LDFLAGS) " LIBRARY_PATH=$(CURDIR ) /go-tiny-dream \
842
881
$(GOCMD ) build -ldflags " $( LD_FLAGS) " -tags " $( GO_TAGS) " -o backend-assets/grpc/tinydream ./backend/go/image/tinydream
0 commit comments