caam
changeset 20:71782621dadf
README.md added
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Sun, 10 Dec 2017 19:55:08 +0900 |
parents | f1fbe8d7cfcf |
children | edfc5d3bc208 |
files | README.md |
diffstat | 1 files changed, 119 insertions(+), 0 deletions(-) [+] |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/README.md Sun Dec 10 19:55:08 2017 +0900 1.3 @@ -0,0 +1,119 @@ 1.4 +# CAAM: Configure && Make Helper 1.5 + 1.6 +If you want to install some applications into certain directory via build from 1.7 +source, use caam to call ./configure and make continuously with the same 1.8 +command line environment. 1.9 + 1.10 +アプリケーションはソースからのビルドが基本。そんなちみは caam を使いたまへ。イ 1.11 +ンストールするときは特定の閉じたPREFIXにいれるのだ、そのほうが消したりしやすい 1.12 +から、という運用の利点が理解できる人はぜし caam を。caam はコンパイル環境を設定 1.13 +する環境変数を適切に設定して連続的に make を呼ぶ。こうすることで ./configure し 1.14 +ているときに設定した変数をキープしたままmakeでコンパイラを呼べる。そのときに 1.15 +CFLAGS, CPPFLAGS, LDFLAGS, LD_RUN_PATH, LD_LIBRARY_PATH, PKG_CONFIG_PATH をしっ 1.16 +かり設定し、なおかつ autoconf によってそれらの変数が継承されない場合でも gcc/ 1.17 +c++ をwrapして上記変数の意味する値がちゃんと伝わるように努力する。コンパイルで 1.18 +こけそうな可能性を最大限に小さくするのが caamである。 1.19 + 1.20 +The caam scripts are obtained from Mercurial repository. 1.21 + 1.22 + hg clone http://www.yatex.org/hgrepos/caam 1.23 + 1.24 +## Installation 1.25 + 1.26 +The caam script assumes your application installation hierarchy as follows(/usr 1.27 +/local as an example). 1.28 + 1.29 +--[/usr/local/] 1.30 + | 1.31 + +-[audio/] # command and libraries related to audio/sound 1.32 + | +-[bin/] 1.33 + | +-[include/] 1.34 + | +-[lib/] 1.35 + | +-[man/] 1.36 + | +-[share/] 1.37 + +-[bin/] 1.38 + +-[gimp-1/] # GIMP-1.x 1.39 + | +-[bin/] 1.40 + | +-[lib/] 1.41 + | : 1.42 + +-[gimp-2/] # GIMP-2.x 1.43 + | +-[bin/] 1.44 + | +-[lib/] 1.45 + | : 1.46 + +-[gtk1/] # cmd and libs related to gtk1 1.47 + | +-[bin/] 1.48 + | +-[include/] 1.49 + | +-[lib/] 1.50 + | +-[man/] 1.51 + | : 1.52 + +-[gtk2/] # cmd and libs related to gtk2 1.53 + | +-[bin/] 1.54 + | +-[include/] 1.55 + | : 1.56 + +-[include/] 1.57 + +-[lib/] 1.58 + : 1.59 + : 1.60 + 1.61 +Then, locate caam in /usr/local/caam/bin. 1.62 + 1.63 + gtar zxpfC caam20150311.tar.gz /usr/local 1.64 +or 1.65 + hg clone http://www.yatex.org/hgrepos/caam /usr/local/caam 1.66 + 1.67 +もし、ソースビルドで管理しているアプリケーションのインストールPREFIX が /usr/ 1.68 +local だとしたら、上記のように /usr/local/caam 以下にcaamをインストールし、 / 1.69 +usr/local/caam/bin/にPATHを通して使う。 1.70 + 1.71 +If your local application's prefix is /opt/sfw, then locate caam at /opt/sfw/ 1.72 +caam. 1.73 + 1.74 +## How to Use 1.75 + 1.76 +caam は、デフォルトで ./configure と make を続けて呼ぶ。caamには、caam自身のオ 1.77 +プションに続けてその場の configure に与えるオプションを渡せばよい。 caam自身の 1.78 +オプションは以下の通り。 1.79 + 1.80 +オプション 意味 1.81 +-c configureのみ(makeしない) 1.82 +-m makeのみ(configureしない) 1.83 +-g makeでなくgmakeを呼ぶ 1.84 +-jN make -jN で呼ぶ 1.85 +-t TGT make allのかわりに make TGTで起動 1.86 +-s SEC configure後、SEC 秒間停止する 1.87 +-S configure後 suspend する(fgで継続) 1.88 +-l configureで生成されたlibtoolではなくシステムの libtool を利用させる 1.89 +-mai make all installする 1.90 +-maic make all install cleanする 1.91 +-gmai gmake all installする 1.92 +-gmaic gmake all install cleanする 1.93 + 1.94 +たとえば、dual coreなマシンで configure --prefix=/opt/hoge && gmake -j3 all & 1.95 +gmake install するなら、 1.96 + 1.97 + caam -gmai -j3 --prefix=/opt/hoge 1.98 + 1.99 +とする。 1.100 + 1.101 +独自ビルドで gtk2 のライブラリがすべて /usr/local/gtk2 に入っているときにgtk2も 1.102 +ののアプリケーションをビルドするならたとえばこうする(systemのPREFIXが /usr/ 1.103 +local の場合)。 1.104 + 1.105 + CAAM_ADD=gtk2 caam -maic --prefix=/usr/local/gqview2 1.106 + 1.107 +こうすると、CFLAGS(とCPPFLAGS)に -I/usr/local/gtk2 を必ず付け、 LDFLAGSに -L/ 1.108 +usr/local/gtk2 -R/usr/local/gtk2 を必ず付けた状態で configure と make が呼ばれ 1.109 +る。もちろん、上記の例がうまく行くためにはgtk2関連のライブラリをすべて 1.110 + 1.111 + CAAM_ADD=gtk2 caam -maic --prefix=/usr/local/gtk2 1.112 + 1.113 +でインストールしておく必要がある。逆にいえばgtk2ライブラリはほぼ全て上記コマン 1.114 +ドラインでインストールすることができ、gtk2 を利用するアプリケーションは、 1.115 + 1.116 + CAAM_ADD=gtk2 caam -maic --prefix=/usr/local/application 1.117 + 1.118 +でインストールすることができる。実行時のライブラリパスも /usr/local/gtk2 として 1.119 +埋め込まれる。 1.120 + 1.121 +gtk1とgtk2を両方同時に使いたいという場合は、双方を隔離してインストールする必要 1.122 +があるのでcaamのような機構が有用なのである。