Skip to content

Commit 0d5eac0

Browse files
committed
fix(build): fix windows hip and cuda linker flags
1 parent 41e887c commit 0d5eac0

1 file changed

Lines changed: 6 additions & 11 deletions

File tree

Makefile

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ CC = gcc
4141
CXX = g++
4242
CFLAGS = -Wall -Wextra -Wno-unused-parameter -I$(SRC_DIR) -I$(LLAMA_DIR)/ggml/include -I$(LLAMA_DIR)/include -I$(WHISPER_DIR)/include -I$(MINIAUDIO_DIR)
4343
LLAMA_OPTIONS = $(LLAMA) -DBUILD_SHARED_LIBS=OFF -DLLAMA_CURL=OFF -DLLAMA_BUILD_EXAMPLES=OFF -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_TOOLS=OFF -DLLAMA_BUILD_SERVER=OFF -DGGML_RPC=OFF
44-
WHISPER_OPTIONS = $(WHISPER) -DBUILD_SHARED_LIBS=OFF -DWHISPER_BUILD_EXAMPLES=OFF -DWHISPER_BUILD_TESTS=OFF -DWHISPER_BUILD_SERVER=OFF -DWHISPER_RPC=OFF -DWHISPER_USE_SYSTEM_GGML=ON
44+
WHISPER_OPTIONS = $(WHISPER) -DBUILD_SHARED_LIBS=OFF -DWHISPER_BUILD_EXAMPLES=OFF -DWHISPER_BUILD_TESTS=OFF -DWHISPER_BUILD_SERVER=OFF -DWHISPER_RPC=OFF
4545
MINIAUDIO_OPTIONS = $(MINIAUDIO) -DBUILD_SHARED_LIBS=OFF -DMINIAUDIO_BUILD_EXAMPLES=OFF -DMINIAUDIO_BUILD_TESTS=OFF
4646
# MinGW produces .a files without lib prefix, use -l:filename.a syntax
4747
ifeq ($(PLATFORM),windows)
@@ -181,14 +181,16 @@ ifneq (,$(findstring CUDA,$(LLAMA)))
181181
LLAMA_LDFLAGS += -ldl
182182
else
183183
#A = .lib
184-
LLAMA_LDFLAGS = -L./$(BUILD_LLAMA)/ggml/src -L./$(BUILD_LLAMA)/src -L./$(BUILD_LLAMA)/ggml/src/ggml-cuda/Release -L./$(BUILD_LLAMA)/ggml/src/Release $(L)ggml$(A) $(L)ggml-base.lib $(L)ggml-cuda.lib
184+
LLAMA_LDFLAGS = -L./$(BUILD_LLAMA)/common/Release -L./$(BUILD_LLAMA)/ggml/src/Release -L./$(BUILD_LLAMA)/src/Release -L./$(BUILD_LLAMA)/ggml/src/ggml-cuda/Release $(L)common.lib $(L)llama.lib $(L)ggml.lib $(L)ggml-base.lib $(L)ggml-cuda.lib
185185
endif
186186
endif
187187
ifneq (,$(findstring HIP,$(LLAMA)))
188188
LLAMA_LIBS += $(BUILD_LLAMA)/ggml/src/ggml-hip/libggml-hip.a
189189
LLAMA_LDFLAGS += -L./$(BUILD_LLAMA)/ggml/src/ggml-hip $(L)ggml-hip$(A) -lhip -lrocblas
190190
ifneq ($(PLATFORM),windows)
191191
LLAMA_LDFLAGS += -ldl
192+
else
193+
LLAMA_LDFLAGS = -L./$(BUILD_LLAMA)/common -L./$(BUILD_LLAMA)/ggml/src -L./$(BUILD_LLAMA)/src -L./$(BUILD_LLAMA)/ggml/src/ggml-hip $(L)common.lib $(L)llama.lib $(L)ggml.lib $(L)ggml-base.lib $(L)ggml-hip.lib
192194
endif
193195
endif
194196

@@ -239,15 +241,8 @@ build/llama.cpp.stamp:
239241
cmake --build $(BUILD_LLAMA) --config Release $(LLAMA_ARGS) $(ARGS)
240242
touch $@
241243

242-
build/whisper.cpp.stamp: build/llama.cpp.stamp
243-
# Create ggml package config for whisper.cpp to find
244-
mkdir -p $(BUILD_WHISPER)/ggml-config/lib/cmake/ggml
245-
echo 'set(ggml_FOUND TRUE)' > $(BUILD_WHISPER)/ggml-config/lib/cmake/ggml/ggmlConfig.cmake
246-
echo 'set(ggml_INCLUDE_DIRS "$(shell pwd)/modules/llama.cpp/ggml/include")' >> $(BUILD_WHISPER)/ggml-config/lib/cmake/ggml/ggmlConfig.cmake
247-
echo 'set(ggml_LIBRARIES "$(shell pwd)/$(BUILD_LLAMA)/ggml/src/libggml.a;$(shell pwd)/$(BUILD_LLAMA)/ggml/src/libggml-base.a;$(shell pwd)/$(BUILD_LLAMA)/ggml/src/libggml-cpu.a")' >> $(BUILD_WHISPER)/ggml-config/lib/cmake/ggml/ggmlConfig.cmake
248-
echo 'add_library(ggml::ggml INTERFACE IMPORTED)' >> $(BUILD_WHISPER)/ggml-config/lib/cmake/ggml/ggmlConfig.cmake
249-
echo 'set_target_properties(ggml::ggml PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "$${ggml_INCLUDE_DIRS}" INTERFACE_LINK_LIBRARIES "$${ggml_LIBRARIES}")' >> $(BUILD_WHISPER)/ggml-config/lib/cmake/ggml/ggmlConfig.cmake
250-
cmake -B $(BUILD_WHISPER) $(WHISPER_OPTIONS) -DCMAKE_PREFIX_PATH=$(shell pwd)/$(BUILD_WHISPER)/ggml-config $(WHISPER_DIR)
244+
build/whisper.cpp.stamp:
245+
cmake -B $(BUILD_WHISPER) $(WHISPER_OPTIONS) $(WHISPER_DIR)
251246
cmake --build $(BUILD_WHISPER) --config Release $(WHISPER_ARGS) $(ARGS)
252247
touch $@
253248

0 commit comments

Comments
 (0)