gnu-boost project

Go to the Boost-Extra Home Page.

Summary

Introduction

The gnu-boost project is the boost library including the GNU compilation environment (namely, automake, autoconf, etc.)

The idea is to make boost compilable without the use of Jam which is complicated to rebuild of each platform you want to use boost on.

Tired of trying to compile boost with some weird tool only a very few understand? Try GNU boost!

Download

The GNU Boost includes two files. One is the GNU Boost project with files that are used to generate a tarball with the Boost Library. The second is the Boost Library along the GNU configuration scripts. The following is to clarify the two files. Since most people just want to get the Boost library, the first file to download is the Boost library.

Description Download
Download the Boost Library 1.35.0
(Compile this one like any other library having a configuration file!)
Download the GNU Boost project
(The scripts used to generate the Boost library that uses the configuration scripts.)
   

Usage

The package generated by the gnu-boost scripts (use the prepare script to start that process,) is used like any other GNU software:


  tar xjf boost-<version>.tar.bz21
  cd boost-<version>
  ./configure [-opts]
  make
  make install

1 Note that the naming convention is similar to most GNU packages instead of the Boost convention (i.e. we use a dash between the name and version and periods to seperate the version numbers.)

The package of the gnu-boost project is just that, a package. There is nothing to compile. The files found in this package are described here:

The brain of GNU boost

The prepare and boost-autogen.sh scripts are the brain of the GNU boost project. These two files generate the correct environment with all the necessary GNU files to create the boost tarball using the GNU compilation tools.

Some other files are necessary for the functionality, but if you find a problem, you are likely to modify one of these two files (prepare and boost-autogen.sh).

prepare

Prepare the boost-<version>.tar.bz2 package. This copies the files of an original boost library package. This can be either a tarball as found on sourceforge, or the boost-trunk taken from the Boost SVN environment.

WARNING: the prepare script deletes, creates and otherwise manages a folder named boost-src. It is very strongly suggested that you do not create such a folder anywhere to avoid possible conflicts.

The boost-src will be created in the same folder you extracted the gnu-boost project. In effect, in the parent directory of the place where the prepare script is found. It is important that the boost-src not appear in a place where another project has configuration files (i.e. configure, install.sh, ltmain.sh etc.)

build-package

Build the gnu-boost package to upload on some server. This does not require you to compile anything. This is fast since the project is very small.

autogen.sh, configure.ac, Makefile.am

These are the autoconf files for the gnu-boost project itself. These are simply used to configure and generate the project file for download.

boost-autogen.sh, configure-sed.ac, Makefile-sed.am

These are the files used to generate the autogen.sh, configure.ac and top Makefile.am files of the GNU boost package.

*.patch

Some patch files that are applied before we generate the resulting package. These are very specific to the prepare script so please, make sure you check that file if you add more and/or change the existing patches.

AUTHORS, COPYING, INSTALL, NEWS, README, gnu-boost.html/conf

Noise file to complete the project. You may want to read the README for more information about the project.

Status

At this time, several of the boost libraries are not yet compiled. A couple of files from boost-1.35.0 need to be patched for the resulting project to be compilable. See the README file for more details about the different problems.

Other than that, the project is fully functional.

Advantages of this Project

Ease of compilation of the Boost libraries on any Unix-like system, including mingw32 (specifically to cross-compile boost using mingw32 under Linux.)


Copyright (c) 2008 Alexis Wilke

Permission to copy, use, modify, sell and distribute this document is granted provided
this copyright notice appears in all copies. This document is provided "as is" without
express or implied warranty, and with no claim as to its suitability for any purpose.