namazu-dev(ring)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

making a static-linked namazu.cgi simultaneously



  % make 
  # make install 

を実行して作った namazu コマンドを ~/public_html/namazu.cgi 
などにコピーして CGI として使用すると、libnmz.so の仕様が変
わったときに動かなくなります。

# 開発中の libnmz.so は symbol がころころ変わる ;-)

一方、

  % make LDFLAGS=-static 

と実行すれば、static に libnmz をリンクした namazu コマンド
を作れます。が、 static な実行ファイルと shared library をリ
ンクした実行ファイルを別々に作るのは面倒です。

そこで、 src/Makefile.am に

  noinst_PROGRAMS = namazu.cgi
  namazu_cgi_SOURCES = $(namazu_SOURCES)
  namazu_cgi_LDFLAGS = -static

を導入して自動的に static な namazu.cgi コマンドを作るように
しました (commit済)。ちょっと心配なのが

  namazu_cgi_LDFLAGS = -static

が働かない環境があるかもしれない、という点です。問題があれば
ご報告くださいませ。

p.s.

  % make CFLAGS='-O2 -pg' LDFLAGS=-static

を実行すると profiling 用の namazu コマンドを作成できます。

-- Satoru Takabayashi