.loadが動かない。

SQLite3で正規表現を高速動作させよう。ということで、PCREを拡張ライブラリとして組み込むことにする。


SQLite3.3.13を取ってきてOSXでビルド。

$ env CFLAGS="-DHAVE_DLOPEN" ./configure --enable-threadsafe --disable-tcl --prefix=/opt/local
$ make
$ sudo make install

これで普通には使える。


しかし .load 命令が使えない。.h してもヘルプに出てこない。ソースを見る限り「SQLITE_OMIT_LOAD_EXTENSION」を定義しなければ使えるはずなのに。


さんざん悩んだ後で、ふと Makefile.in を見てみると。

TCC += -DSQLITE_OMIT_LOAD_EXTENSION=1

まさに外道 orz・・・なんで標準ONじゃないのよ!
これをコメントアウトしてconfigureからやり直し。


こんどは.hでちゃんと「.load」の説明文が出た。
さて、あとは拡張ライブラリを作ればよいのだ。でも今夜は力尽きたので寝る。


しかしSQLiteって日本語の情報どころか英語の情報もあんまりないのね。OSXの標準DBなのに・・・まぁコンパクトだからソース読めばいいんだけどさ。あうぁぅ。