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のような機構が有用なのである。