12.3.2.1. How to build Groonga at the repository by GNU Autotools¶
This document describes how to build Groonga at the repository by GNU Autotools.
You can’t choose this way if you develop Groonga on Windows. If you want to use Windows for developing Groonga, see How to build Groonga at the repository by CMake on Windows.
12.3.2.1.1. Install depended software¶
TODO
12.3.2.1.2. Checkout Groonga from the repository¶
Users use released source archive. But developers must build Groonga at the repository. Because source code in the repository is the latest.
The Groonga repository is hosted on GitHub. Checkout the latest source code from the repository:
% git clone --recursive git@github.com:groonga/groonga.git
12.3.2.1.3. Create configure
¶
You need to create configure
. configure
is included in source
archive but not included in the repository.
configure
is a build tool that detects your system and generates
build configurations for your environment.
Run autogen.sh
to create configure
:
% ./autogen.sh
12.3.2.1.4. Run configure
¶
You can custom your build configuration by passing options to
configure
.
Here are recommended configure
options for developers:
% ./configure --prefix=/tmp/local --enable-debug --enable-mruby --with-ruby
Here are descriptions of these options:
--prefix=/tmp/local
It specifies that you install your Groonga into temporary directory. You can do “clean install” by removing
/tmp/local
directory. It’ll be useful for debugging install.--enable-debug
It enables debug options for C/C++ compiler. It’s useful for debugging on debugger such as GDB and LLDB.
--eanble-mruby
It enables mruby support. The feature isn’t enabled by default but developers should enable the feature.
--with-ruby
It’s needed for
--enable-mruby
and running functional tests.
12.3.2.1.5. Run make
¶
Now, you can build Groonga.
Here is a recommended make
command line for developers:
% make -j8 > /dev/null
-j8
decreases build time. It enables parallel build. If you have 8
or more CPU cores, you can increase 8
to decreases more build
time.
You can just see only warning and error messages by >
/dev/null
. Developers shouldn’t add new warnings and errors in new
commit.