Mehrere Ruby -Erweiterungsmodule unter einem Verzeichnis
-
19-09-2019 - |
Frage
Können Quellen für diskrete Ruby -Erweiterungsmodule im selben Verzeichnis leben, das von demselben gesteuert wird extconf.rb
Skript?
Hintergrund: Ich habe ein Projekt mit zwei Erweiterungsmodulen, foo.so und bar.so die derzeit in ihren eigenen Unterverzeichnissen wie SO leben:
myproject/ext/foo/extconf.rb
myproject/ext/foo/foo.c
myproject/ext/foo/foo.h
myproject/ext/bar/extconf.rb
myproject/ext/bar/bar.c
myproject/ext/bar/bar.h
Ich würde das alle bevorzugen .c
und .h
Quellen wohnen einfach unter ext/
unter der Kontrolle eines einzelnen extconf.rb
Datei, aber ich weiß nicht, wie man bekommt mkmf
mitspielen.
Lösung
Mit MKMF müssen Sie separate Verzeichnisse verwenden. Es ist nicht für die Einstellung mehrerer Erweiterungen in das gleiche Verzeichnis konzipiert.
Möglicherweise können Sie eine der MKMF -Alternativen (z. B. MKRF) verwenden, um die Erweiterungen in das gleiche Verzeichnis zu setzen. Ich weiß nicht, ob dies funktionieren wird oder nicht. Ich wollte einmal dasselbe tun, entdeckte aber schließlich, dass mit meiner Bibliothek mehrere Verzeichnisse für meine Erweiterungen für die Organisation des Projekts wünschenswert wurden.