# HG changeset patch # User HIROSE Yuuji # Date 1512903308 -32400 # Node ID 71782621dadfee07ed62d97ab3c41eb2e6f45d7b # Parent f1fbe8d7cfcf427c6e70c4657bd2d6879c6f79ec README.md added diff -r f1fbe8d7cfcf -r 71782621dadf README.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Sun Dec 10 19:55:08 2017 +0900 @@ -0,0 +1,119 @@ +# CAAM: Configure && Make Helper + +If you want to install some applications into certain directory via build from +source, use caam to call ./configure and make continuously with the same +command line environment. + +アプリケーションはソースからのビルドが基本。そんなちみは caam を使いたまへ。イ +ンストールするときは特定の閉じたPREFIXにいれるのだ、そのほうが消したりしやすい +から、という運用の利点が理解できる人はぜし caam を。caam はコンパイル環境を設定 +する環境変数を適切に設定して連続的に make を呼ぶ。こうすることで ./configure し +ているときに設定した変数をキープしたままmakeでコンパイラを呼べる。そのときに +CFLAGS, CPPFLAGS, LDFLAGS, LD_RUN_PATH, LD_LIBRARY_PATH, PKG_CONFIG_PATH をしっ +かり設定し、なおかつ autoconf によってそれらの変数が継承されない場合でも gcc/ +c++ をwrapして上記変数の意味する値がちゃんと伝わるように努力する。コンパイルで +こけそうな可能性を最大限に小さくするのが caamである。 + +The caam scripts are obtained from Mercurial repository. + + hg clone http://www.yatex.org/hgrepos/caam + +## Installation + +The caam script assumes your application installation hierarchy as follows(/usr +/local as an example). + +--[/usr/local/] + | + +-[audio/] # command and libraries related to audio/sound + | +-[bin/] + | +-[include/] + | +-[lib/] + | +-[man/] + | +-[share/] + +-[bin/] + +-[gimp-1/] # GIMP-1.x + | +-[bin/] + | +-[lib/] + | : + +-[gimp-2/] # GIMP-2.x + | +-[bin/] + | +-[lib/] + | : + +-[gtk1/] # cmd and libs related to gtk1 + | +-[bin/] + | +-[include/] + | +-[lib/] + | +-[man/] + | : + +-[gtk2/] # cmd and libs related to gtk2 + | +-[bin/] + | +-[include/] + | : + +-[include/] + +-[lib/] + : + : + +Then, locate caam in /usr/local/caam/bin. + + gtar zxpfC caam20150311.tar.gz /usr/local +or + hg clone http://www.yatex.org/hgrepos/caam /usr/local/caam + +もし、ソースビルドで管理しているアプリケーションのインストールPREFIX が /usr/ +local だとしたら、上記のように /usr/local/caam 以下にcaamをインストールし、 / +usr/local/caam/bin/にPATHを通して使う。 + +If your local application's prefix is /opt/sfw, then locate caam at /opt/sfw/ +caam. + +## How to Use + +caam は、デフォルトで ./configure と make を続けて呼ぶ。caamには、caam自身のオ +プションに続けてその場の configure に与えるオプションを渡せばよい。 caam自身の +オプションは以下の通り。 + +オプション 意味 +-c configureのみ(makeしない) +-m makeのみ(configureしない) +-g makeでなくgmakeを呼ぶ +-jN make -jN で呼ぶ +-t TGT make allのかわりに make TGTで起動 +-s SEC configure後、SEC 秒間停止する +-S configure後 suspend する(fgで継続) +-l configureで生成されたlibtoolではなくシステムの libtool を利用させる +-mai make all installする +-maic make all install cleanする +-gmai gmake all installする +-gmaic gmake all install cleanする + +たとえば、dual coreなマシンで configure --prefix=/opt/hoge && gmake -j3 all & +gmake install するなら、 + + caam -gmai -j3 --prefix=/opt/hoge + +とする。 + +独自ビルドで gtk2 のライブラリがすべて /usr/local/gtk2 に入っているときにgtk2も +ののアプリケーションをビルドするならたとえばこうする(systemのPREFIXが /usr/ +local の場合)。 + + CAAM_ADD=gtk2 caam -maic --prefix=/usr/local/gqview2 + +こうすると、CFLAGS(とCPPFLAGS)に -I/usr/local/gtk2 を必ず付け、 LDFLAGSに -L/ +usr/local/gtk2 -R/usr/local/gtk2 を必ず付けた状態で configure と make が呼ばれ +る。もちろん、上記の例がうまく行くためにはgtk2関連のライブラリをすべて + + CAAM_ADD=gtk2 caam -maic --prefix=/usr/local/gtk2 + +でインストールしておく必要がある。逆にいえばgtk2ライブラリはほぼ全て上記コマン +ドラインでインストールすることができ、gtk2 を利用するアプリケーションは、 + + CAAM_ADD=gtk2 caam -maic --prefix=/usr/local/application + +でインストールすることができる。実行時のライブラリパスも /usr/local/gtk2 として +埋め込まれる。 + +gtk1とgtk2を両方同時に使いたいという場合は、双方を隔離してインストールする必要 +があるのでcaamのような機構が有用なのである。