]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commitdiff
ruby : add cleaning of library names in dependencies (#3241)
authorDaniel Bevenius <redacted>
Tue, 10 Jun 2025 13:06:40 +0000 (15:06 +0200)
committerGitHub <redacted>
Tue, 10 Jun 2025 13:06:40 +0000 (15:06 +0200)
* ruby : add cleaning of library names in dependencies

This commit adds a cleaning step to the library names in the
`Dependencies` class of the Ruby bindings.

The motivation for this is that with the introduction of a library name
alias for ggml in Commit (b933d17c306e800b6d919e3ee895219c3f64d5cd
"Add in-build ggml::ggml ALIAS library (ggml/1260)) causes the Makefile
generation to break:
```console
$ sed -n '165,170p' ext/Makefile
CLEANOBJS     = $(OBJS) *.bak
TARGET_SO_DIR_TIMESTAMP = $(TIMESTAMP_DIR)/.sitearchdir.time
$(TARGET_SO): libcommon.a libwhisper.a libggml\n(ggml::ggml).a libggml-cpu.a libggml-base.a
libcommon.a libwhisper.a libggml\n(ggml::ggml).a libggml-cpu.a libggml-base.a: cmake-targets
cmake-targets:
/usr/bin/cmake -S sources -B build -D BUILD_SHARED_LIBS=OFF -D CMAKE_ARCHIVE_OUTPUT_DIRECTORY=/home/danbev/work/ai/whisper.cpp/bindings/ruby/ext -D CMAKE_POSITION_INDEPENDENT_CODE=ON
```

* squash! ruby : add cleaning of library names in dependencies

Apply PR review feedback.

bindings/ruby/ext/dependencies.rb

index 79e325c9067df54e325d25f737b81b9de095c273..2ba4b94b62b919960d3e5b3a51d9ca1ea8528c7e 100644 (file)
@@ -17,7 +17,11 @@ class Dependencies
   def libs
     tsort.filter_map {|node|
       label, shape = @nodes[node]
-      shape == @static_lib_shape ? label : nil
+      if shape == @static_lib_shape
+        label.gsub(/\\n\([^)]+\)/, '')
+      else
+        nil
+      end
     }.reverse.collect {|lib| "lib#{lib}.a"}
   end