LoginSignup
4
4

More than 5 years have passed since last update.

bjamでmysql_configの結果を使う

Posted at

はじめに

MySQLのライブラリーをビルドするには次のようにしてくださいとマニュアルには書いてあります。

shell> gcc -c `mysql_config --cflags` progname.c
shell> gcc -o progname progname.o `mysql_config --libs`

でも、実際には簡単なテストプログラムだとしても手でgccとかを実行する人はいないわけで、Makefileなどを作ると思います。

Makefileだとシェルスクリプトを書くのは容易なため困りませんが、bjamだとどう書くのか分からなかったので調べてみました。

やったこと

意外と簡単でした。COMMAND (or SHELL) という組み込みルールがあってそれを使えばよいらしいです。

Jamroot.jam
import testing ;
import os ;

local MYSQL_C_FLAGS = [ COMMAND "mysql_config --cflags" ] ;
local MYSQL_LD_FLAGS = [ COMMAND "mysql_config --libs_r" ] ;

ECHO "MySQL options detected:\n" ;
ECHO "mysql_config --cflags:\n" $(MYSQL_C_FLAGS) ;
ECHO "mysql_config --libs_r:\n" $(MYSQL_LD_FLAGS) ;

run  mysql_test.cpp
    :
    :
    :
    <cflags>$(MYSQL_C_FLAGS)
    <linkflags>$(MYSQL_LD_FLAGS)
    <threading>multi
    ;
mysql_test.cpp
#include <mysql.h>

int main()
{
    MYSQL mysql;
    mysql_init(&mysql);
    mysql_close(&mysql);
}

こちらに書いてあります。

おわりに

分かってしまえば、あるいは、知っていれば簡単なのですが、情報をみつけるのが難しいのがbjamの欠点ですね。

他の検索結果を辿っていて、今回も偶然みつけたようなものです。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4