@@ -9,8 +9,8 @@ DETECT_LIBS?=true
9
9
CPPLLAMA_VERSION? =f05a6d71a0f3dbf0730b56a1abbad41c0f42e63d
10
10
11
11
# whisper.cpp version
12
- WHISPER_REPO? =https://github.com/ggerganov /whisper.cpp
13
- WHISPER_CPP_VERSION? =6266a9f9e56a5b925e9892acf650f3eb1245814d
12
+ WHISPER_REPO? =https://github.com/ggml-org /whisper.cpp
13
+ WHISPER_CPP_VERSION? =cb2bd11ee86c6d2a8c8c22ea3043682cbf127bcd
14
14
15
15
# go-piper version
16
16
PIPER_REPO? =https://github.com/mudler/go-piper
@@ -30,8 +30,11 @@ ONNX_OS?=linux
30
30
31
31
export BUILD_TYPE? =
32
32
export STABLE_BUILD_TYPE? =$(BUILD_TYPE )
33
- export CMAKE_ARGS? =
33
+ export CMAKE_ARGS?=-DBUILD_SHARED_LIBS =OFF
34
34
export BACKEND_LIBS? =
35
+ export WHISPER_DIR =$(abspath ./sources/whisper.cpp)
36
+ export WHISPER_INCLUDE_PATH=$(WHISPER_DIR ) /include :$(WHISPER_DIR ) /ggml/include
37
+ export WHISPER_LIBRARY_PATH=$(WHISPER_DIR ) /build/src/ :$(WHISPER_DIR ) /build/ggml/src
35
38
36
39
CGO_LDFLAGS? =
37
40
CGO_LDFLAGS_WHISPER? =
@@ -115,6 +118,15 @@ ifeq ($(OS),Darwin)
115
118
ifeq ($(BUILD_TYPE),metal)
116
119
# -lcblas removed: it seems to always be listed as a duplicate flag.
117
120
CGO_LDFLAGS += -framework Accelerate
121
+ CGO_LDFLAGS_WHISPER+=-lggml-metal -lggml-blas
122
+ CMAKE_ARGS+=-DGGML_METAL=ON
123
+ CMAKE_ARGS+=-DGGML_METAL_USE_BF16=ON
124
+ CMAKE_ARGS+=-DGGML_METAL_EMBED_LIBRARY=ON
125
+ CMAKE_ARGS+=-DWHISPER_BUILD_EXAMPLES=OFF
126
+ CMAKE_ARGS+=-DWHISPER_BUILD_TESTS=OFF
127
+ CMAKE_ARGS+=-DWHISPER_BUILD_SERVER=OFF
128
+ CMAKE_ARGS+=-DGGML_OPENMP=OFF
129
+ export WHISPER_LIBRARY_PATH:=$(WHISPER_LIBRARY_PATH):$(WHISPER_DIR)/build/ggml/src/ggml-metal/:$(WHISPER_DIR)/build/ggml/src/ggml-blas
118
130
endif
119
131
else
120
132
CGO_LDFLAGS_WHISPER+ =-lgomp
@@ -128,7 +140,9 @@ endif
128
140
ifeq ($(BUILD_TYPE ) ,cublas)
129
141
CGO_LDFLAGS+=-lcublas -lcudart -L$(CUDA_LIBPATH) -L$(CUDA_LIBPATH)/stubs/ -lcuda
130
142
export GGML_CUDA=1
131
- CGO_LDFLAGS_WHISPER+=-lcufft
143
+ CMAKE_ARGS+=-DGGML_CUDA=ON
144
+ CGO_LDFLAGS_WHISPER+=-lcufft -lggml-cuda
145
+ export WHISPER_LIBRARY_PATH:=$(WHISPER_LIBRARY_PATH):$(WHISPER_DIR)/build/ggml/src/ggml-cuda/
132
146
endif
133
147
134
148
ifeq ($(BUILD_TYPE ) ,vulkan)
@@ -137,10 +151,12 @@ endif
137
151
138
152
ifneq (,$(findstring sycl,$(BUILD_TYPE ) ) )
139
153
export GGML_SYCL=1
154
+ CMAKE_ARGS+=-DGGML_SYCL=ON
140
155
endif
141
156
142
157
ifeq ($(BUILD_TYPE ) ,sycl_f16)
143
158
export GGML_SYCL_F16=1
159
+ CMAKE_ARGS+=-DGGML_SYCL_F16=ON
144
160
endif
145
161
146
162
ifeq ($(BUILD_TYPE ) ,hipblas)
@@ -286,8 +302,9 @@ sources/whisper.cpp:
286
302
git checkout $(WHISPER_CPP_VERSION ) && \
287
303
git submodule update --init --recursive --depth 1 --single-branch
288
304
289
- sources/whisper.cpp/libwhisper.a : sources/whisper.cpp
290
- cd sources/whisper.cpp && $(MAKE ) libwhisper.a libggml.a
305
+ sources/whisper.cpp/build/src/libwhisper.a : sources/whisper.cpp
306
+ cd sources/whisper.cpp && cmake $(CMAKE_ARGS ) . -B ./build
307
+ cd sources/whisper.cpp/build && cmake --build . --config Release
291
308
292
309
get-sources : sources/go-piper sources/stablediffusion-ggml.cpp sources/bark.cpp sources/whisper.cpp backend/cpp/llama/llama.cpp
293
310
@@ -754,8 +771,8 @@ ifneq ($(UPX),)
754
771
$(UPX) backend-assets/grpc/silero-vad
755
772
endif
756
773
757
- backend-assets/grpc/whisper : sources/whisper.cpp sources/whisper.cpp/libwhisper.a backend-assets/grpc
758
- CGO_LDFLAGS=" $( CGO_LDFLAGS) $( CGO_LDFLAGS_WHISPER) " C_INCLUDE_PATH=" $( CURDIR ) /sources/whisper.cpp/include: $( CURDIR ) /sources/whisper.cpp/ggml/include " LIBRARY_PATH=$( CURDIR ) /sources/whisper.cpp \
774
+ backend-assets/grpc/whisper : sources/whisper.cpp sources/whisper.cpp/build/src/ libwhisper.a backend-assets/grpc
775
+ CGO_LDFLAGS=" $( CGO_LDFLAGS) $( CGO_LDFLAGS_WHISPER) " C_INCLUDE_PATH=" ${WHISPER_INCLUDE_PATH} " LIBRARY_PATH=" ${WHISPER_LIBRARY_PATH} " LD_LIBRARY_PATH= " ${WHISPER_LIBRARY_PATH} " \
759
776
$(GOCMD ) build -ldflags " $( LD_FLAGS) " -tags " $( GO_TAGS) " -o backend-assets/grpc/whisper ./backend/go/transcribe/whisper
760
777
ifneq ($(UPX ) ,)
761
778
$(UPX) backend-assets/grpc/whisper
0 commit comments