Avatar
Kishikawa Katsumi 12/6/2019 5:17 AM
./configure --prefix=$PWD/dist make install ^ のようにすると$PWD/distにライブラリがインストールされます。
5:19 AM
OpenMPも有効にするなら ./configure --prefix=$PWD/dist --enable-openmp ビルドが終わるとdistは以下のようになります。 dist ├── include └── lib
5:20 AM
これはだいたい標準的なAutotoolsを使ったCライブラリのビルドの成果物で、 lib以下にライブラリ本体、includeにライブラリを使用するために必要なヘッダファイルがコピーされます。
5:21 AM
dist ├── include │   └── m4ri │   ├── brilliantrussian.h │   ├── debug_dump.h │   ├── djb.h │   ├── echelonform.h │   ├── graycode.h │   ├── io.h │   ├── m4ri.h │   ├── m4ri_config.h │   ├── misc.h │   ├── mmc.h │   ├── mp.h │   ├── mzd.h │   ├── mzp.h │   ├── parity.h │   ├── ple.h │   ├── ple_russian.h │   ├── ple_russian_template.h │   ├── solve.h │   ├── strassen.h │   ├── triangular.h │   ├── triangular_russian.h │   ├── xor.h │   └── xor_template.h └── lib ├── libm4ri-0.0.20140914.dylib ├── libm4ri.a ├── libm4ri.dylib -> libm4ri-0.0.20140914.dylib ├── libm4ri.la └── pkgconfig └── m4ri.pc
5:23 AM
^ 全部出すとこう。今回は必要なのはlibm4ri.aだけなんですけど、 ^ のdistディレクトリを自分のプロジェクトの中に入れてしまって (configureでそうなるようにして)SwiftPMからはそれを参照するようにすると、SystemLibraryとか気にせずに単にプロジェクト内にあるStatic Libを参照するだけ、となるはず。(というのを今試しています)