# groonga - オープンソースのカラムストア機能付き全文検索エンジン

- English

# 12.3.2.1. GNU Autotoolsを使ってリポジトリーのGroongaをビルドする方法

このドキュメントはGNU Autotoolsを使ってリポジトリーのGroongaをビルドする方法を説明します。

WindowsでGroongaを開発する場合はこの方法を使えません。Groongaの開発にWindowsを使いたい場合は Windows上でCMakeを使ってリポジトリーのGroongaをビルドする方法 を参照してください。

## 12.3.2.1.1. 必要なソフトウェアのインストール

TODO

> - Autoconf
> - Automake
> - GNU Libtool
> - Ruby
> - Git
> - Cutter
> - ...

## 12.3.2.1.2. リポジトリーからGroongaをチェックアウト

ユーザーはリリースされたソースアーカイブを使います。しかし、開発者はリポジトリーからGroongaをビルドするべきです。なぜなら、リポジトリーにあるソースコードが最新のソースコードだからです。

Groongaのリポジトリーは GitHub にあります。リポジトリーから最新のソースコードをチェックアウトします:

    % git clone --recursive git@github.com:groonga/groonga.git

## 12.3.2.1.3. `configure` を作る

`configure` を作る必要があります。 `configure` はソースアーカイブには含まれていますが、リポジトリーには含まれていません。

`configure` はあなたのシステムを検出してあなたの環境用のビルドパラメーターを生成するビルドツールです。

`configure` を作るために `autogen.sh` を実行します:

    % ./autogen.sh

## 12.3.2.1.4. `configure` を実行

`configure` にオプションを渡してビルドパラメーターをカスタマイズできます。

開発者向けのオススメの `configure` オプションは次の通りです:

    % ./configure --prefix=/tmp/local --enable-debug --enable-mruby --with-ruby

それぞれのオプションの説明です。

`--prefix=/tmp/local`
  あなたのGroongaを一時ディレクトリーにインストールように指定しています。 `/tmp/local` ディレクトリーを削除することで「クリーンインストール」を試すことができます。インストール処理をデバッグするときに便利です。
`--enable-debug`
  C/C++コンパイラーのデバッグオプションを有効にします。GDBやLLDBなどのデバッガーでデバッグするときに便利です。
`--eanble-mruby`
  mrubyサポートを有効にします。この機能はデフォルトで無効になっていますが、開発者はこの機能を有効にするべきです。
`--with-ruby`
  `--enable-mruby` オプションと機能テストの実行に必要です。

## 12.3.2.1.5. `make` を実行

これでGroongaをビルドできるようになりました。

開発者向けのオススメの `make` のコマンドラインです:

    % make -j8 > /dev/null

`-j8` はビルド時間を短縮します。並列ビルドが有効になっているためです。もし、CPUコアが8よりもたくさんあるのであれば、 `8` をもっと増やすとさらにビルドタイムを短縮できるでしょう。

`> /dev/null` をつけることで警告メッセージとエラーメッセージだけが見えるようになります。開発者は新しいコミットで警告メッセージもエラーメッセージも増やすべきではありません。

## 12.3.2.1.6. 参考

> - テスト方法