Files
date_time/xmldoc/buildinfo.xml
Jeff Garland 531428121a initial version of xml docs
[SVN r23219]
2004-06-28 00:07:55 +00:00

82 lines
4.4 KiB
XML

<section id="date_time.buildinfo">
<title>Build-Compiler Information</title>
<para>
<link linkend="overview">Overview</link> --
<link linkend="compile_options">Compilation Options</link> --
<link linkend="portability">Compiler/Portability Notes</link> --
<link linkend="dir_structure">Directory Structure</link> --
<link linkend="other_boost_libs">Required Boost Libraries</link>
</para>
<anchor id="overview" />
<bridgehead renderas="sect3">Overview</bridgehead>
<para>
The library has several functions that require the creation of a library file. The Jamfile in the build directory will produce a "static" library (libboost_date_time) and a "dynamic/shared" library (boost_date_time) that contains these functions.
</para>
<anchor id="compile_options" />
<bridgehead renderas="sect3">Compilation Options</bridgehead>
<para>
By default the posix_time system uses a 64 bit integer and a 32 bit integer internally to provide nano-second level resolutions. As an alternative, a single 64 bit integer can be used to provide a microsecond level resolution. This alternative implementation may provide better performance and more compact memory usage for many applications that do not require nano-second resolutions.
</para>
<para>
The variable BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG, as defined in build/Jamfile, selects between these options. To select the 64 bit integer implementation simply remove this define from the Jamfile.
</para>
<anchor id="portability" />
<bridgehead renderas="sect3">Compiler/Portability Notes</bridgehead>
<para>
The Boost Date-Time library has been built and tested with many compilers. However, some compilers and standard libraries have issues. While some of these issues can be worked around, others are difficult to work around. The following compilers fully support all aspects of the library:
<itemizedlist mark="bullet">
<listitem>GCC 3.2-7 on Linux</listitem>
<listitem>GCC 2.95.3 with STLport-4.5.3 on Linux</listitem>
<listitem>GCC 3.1 (cygwin)</listitem>
<listitem>MSVC 7.1 </listitem>
</itemizedlist>
</para>
<para>
In particular, a lack of support for standard locales limits the ability of the library to support iostream based input output. For these compilers a set of more limited string based input-output is provided. The compilers/standard libraries with this limitation include:
<itemizedlist mark="bullet">
<listitem>GCC 2.9x on Linux</listitem>
<listitem>Borland 5.1.1 and 5.6</listitem>
<listitem>MSVC 6 SP5 </listitem>
</itemizedlist>
</para>
<para>
Other compilers such as Comeau and Metroworks have been tested successfully with earlier versions of the library.
</para>
<anchor id="dir_structure" />
<bridgehead renderas="sect3">Directory Structure</bridgehead>
<para>
The directory tree has the following structure:
<programlisting>
/boost/date_time -- common headers and template code
/boost/date_time/gregoran -- gregorian calendar system header files
/boost/date_time/posix_time -- posix time system headers
/libs/date_time/build -- build files and output directory
/libs/date_time/test -- test battery for generic code
/libs/date_time/test/gregorian -- test battery for the gregorian system
/libs/date_time/test/posix_time -- test battery for the posix_time system
/libs/date_time/examples/posix_time -- time example programs
/libs/date_time/examples/gregorian -- nifty example programs
/libs/date_time/src/gregorian -- cpp files for libboost_date_time
/libs/date_time/src/posix_time -- empty (one file, but no source code...)
</programlisting>
</para>
<anchor id="other_boost_libs" />
<bridgehead renderas="sect3">Required Boost Libraries</bridgehead>
<para>
The library depends on
<itemizedlist mark="bullet">
<listitem><ulink url="../../tokenizer/index.htm">boost.tokenizer</ulink> </listitem>
<listitem><ulink url="../../integer/cstdint.htm">boost.integer(cstdint)</ulink> </listitem>
<listitem><ulink url="../../utility/operators.htm">boost.operators</ulink> </listitem>
<listitem><ulink url="../../conversion/lexical_cast.htm">boost::lexical_cast </ulink> </listitem>
</itemizedlist>
so at least these libraries need to be installed.
</para>
</section>