// -*- html -*- require_once("docutil.php"); page_head("The BOINC build system"); ?> See the Software Prerequisites.
The BOINC build system uses autoconf 2.57 and automake 1.7.
configure
-time.
command-line | Maintainer-mode? | Effect |
---|---|---|
configure | Disabled |
If you modify Makefile.am , you need to
regenerate Makefile.in using automake , and
your machine-dependent Makefile
using config.status . (The boinc/_autosetup
script takes care of all of these; run this script every time you modify
a makefile.)
|
configure --enable-maintainer-mode |
Enabled |
If you modify Makefile.am , a chain of dependencies
automatically generates Makefile.in
and Makefile when you 'make '. This is useful
if you modify Makefiles a lot but could be annoying if you don't have
automake installed, have different versions of it among developers, or
check in Makefile.in to CVS at the same time (in which
case the timestamp for it will confuse the automatic dependencies).
|
The top-level Makefile.am
contains the
SUBDIRS=
line which sets up directory recursion, and
the rules for creating source distributions.
Each subdirectory's Makefile.am
contains the rules for
making the binaries and libraries in that directory and any extra
files to distribute.
Usually you will want to run make
from the toplevel
(the directory containing the file configure
), but
sometimes it is useful to run make
and make
check
in certain subdirectories (e.g. client/
).
Makefile.am
,
you should A) make sure the directory is referenced by
a SUBDIRS=
line from its
parent Makefile.am
and B) add it to the
AC_CONFIG_FILES directive in configure.ac
.
./configure gmake
Example using multiple build directories under a single source
directory (assuming the same directory is mounted
on milkyway
and shaggy
):
milkyway$ mkdir build milkyway$ mkdir build/solaris2.7 milkyway$ cd build/solaris2.7 milkyway$ ../../configure milkyway$ gmake milkyway$ mkdir build/solaris2.7-gcc3 milkyway$ cd build/solaris2.7-gcc3 milkyway$ ../../configure CC=/opt/misc/gcc-3.0.4/bin/gcc CXX=/opt/misc/gcc-3.0.4/bin/g++ milkyway$ gmake shaggy$ mkdir build/linux shaggy$ cd build/linux shaggy$ ../../configure shaggy$ gmake
gmake checkThis runs the python tests in the
test/
directory. Old PHP-based
tests in test/
are also available to be run individually but not
currently maintained.
set-version 7.17in the BOINC top-level source directory. This updates the
AC_INIT
line in
configure.ac
and regenerates files that use the version numbers
(config.h, py/version.py, test/version.inc, client/win/win_config.h, Makefiles)
gmake distpage_tail(); ?>