mirror of
https://github.com/boostorg/date_time.git
synced 2026-01-28 07:02:19 +00:00
131 lines
5.3 KiB
HTML
131 lines
5.3 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
|
<title>Boost Date-Time Build-Compiler Information</title>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
|
</head>
|
|
|
|
<body>
|
|
<a href="../../../index.htm">
|
|
<img align="left" src="../../../c++boost.gif" alt="C++ Boost">
|
|
</a>
|
|
<h1>Date-Time Build-Compiler Information</h1>
|
|
<p> </p>
|
|
<hr>
|
|
<a href="index.html">Overall Index</a> --
|
|
<a href="gregorian.html">Gregorian Index</a> --
|
|
<a href="posix_time.html">Posix Time Index</a>
|
|
<p>
|
|
<a href="#overview">Overview</a> --
|
|
<a href="#options">Compilation Options</a> --
|
|
<a href="#portability">Compiler/Portability Notes</a> --
|
|
<a href="#directory">Directory Structure</a> --
|
|
<a href="#required">Required Boost Libraries</a>
|
|
<p>
|
|
<H2><a name="overview">Overview</a></H2>
|
|
<p>
|
|
The library has several functions that require the creation of a library file.
|
|
The Jamfile in the build directory (BOOST_ROOT/libs/date_time/build) will
|
|
produce the <font class="bold">libboost_date_time</font> library
|
|
that contains these functions. The library is compiled into both
|
|
static and dynamic (dll) forms. Note that the static library is the
|
|
prefered form as some compilers have spurious regression test
|
|
errors using the dynamic library. See the
|
|
<a href="http://boost.sourceforge.net/regression-logs/">regression test logs at sourceforge </a> for more details.
|
|
|
|
<p>
|
|
<H2><a name="options">Compilation Options</a></H2>
|
|
<p>
|
|
By default the posix_time system uses a 64 bit integer and a 32 bit
|
|
integer internally to provide nano-second level resolutions -- 96
|
|
bits for each time value. 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.
|
|
<p>
|
|
The variable <b>BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG</b>, as defined in
|
|
build/Jamfile, selects between these options. To select the 64 bit
|
|
integer implementation simply remove this define from the Jamfile.
|
|
<p>
|
|
<H2><a name="portability">Compiler/Portability Notes</a></H2>
|
|
<p>
|
|
The Boost Date-Time library has been built and tested with many compilers
|
|
on many platforms. In general, the more standard compliant the compiler
|
|
and library combination the more likely the library will be fully supported.
|
|
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 <b>fully support</b> all aspects of the library:
|
|
<ul>
|
|
<li>GCC 3.x on Linux
|
|
<li>GCC 3.1 (cygwin) for Windows
|
|
<li>GCC 3.3 on Mac
|
|
<li>Borland 5.6.4 for Windows
|
|
<li>MSVC 7.1 on Windows
|
|
<li>MIPSpro 7.4 on SGI
|
|
<li>VisualAge 6.0 on IBM AIX
|
|
</ul>
|
|
<p>
|
|
In particular, a lack of support for standard locales limits the ability
|
|
of the library to support iostream based input and output. For these
|
|
compilers a set of more limited string based input-output is provided.
|
|
In addition, some compilers have regression test failures with the dll form
|
|
of the library or other issues that may prevent using some aspects of the
|
|
library. Finally, wide-string and wide-stream output are problematic for
|
|
several compilers.
|
|
|
|
Some compilers/standard libraries with known <b>limitations</b> include:
|
|
<p>
|
|
<ul>
|
|
<li>GCC 2.9x on Linux
|
|
<li>Borland 5.1.1 on Windows
|
|
<li>Intel 8.00 on Windows
|
|
<li>Metrowerks 8.3 on Windows
|
|
<li>MSVC 6 SP5 on Windows
|
|
<li>MSVC 7 on Windows
|
|
</ul>
|
|
|
|
A great resource for the details on this subject are
|
|
the boost <a href="http://boost.sourceforge.net/regression-logs/">regression test logs at sourceforge </a>.
|
|
|
|
<p>
|
|
<H2><a name="directory">Directory Structure</a></H2>
|
|
<p>
|
|
The date_time directory structure has been changed for boost submission.
|
|
<p>
|
|
The directory tree has the following structure:
|
|
<pre>
|
|
/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...)
|
|
</pre>
|
|
<p>
|
|
|
|
<H2><a name="required">Required Boost Libraries</a></H2>
|
|
|
|
<p>
|
|
The library depends on the following boost libraries:
|
|
<ul>
|
|
<li><a href="../../config/config.htm">config</a>
|
|
<li><a href="../../integer/cstdint.htm">integer(cstdint)</a>
|
|
<li><a href="../../utility/operators.htm">operators</a>
|
|
<li><a href="../../conversion/lexical_cast.htm">lexical_cast</a>
|
|
<li><a href="../../tokenizer/index.html">tokenizer</a>
|
|
</ul>
|
|
|
|
<hr>
|
|
<address><small>
|
|
<!-- hhmts start -->
|
|
Last modified: Sun Feb 1 16:32:44 MST 2004
|
|
<!-- hhmts end -->
|
|
by <a href="mailto:jeff@crystalclearsoftware.com">Jeff Garland</a> © 2000-2004
|
|
</small></address>
|
|
</body>
|
|
</html>
|