7c9701ee5c
* Added default-value for cmdline-option which expects the Boost source-directory. It points to the Boost source-directory in which the script "boost_mpl_preprocess.py" is located. * Adjusted "README.txt" file to reflect these changes. Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>
71 lines
3.0 KiB
Plaintext
71 lines
3.0 KiB
Plaintext
Pre-processing of MPL-containers
|
|
--------------------------------
|
|
|
|
Pre-processing of MPL-containers can be accomplished using the script
|
|
"boost_mpl_preprocess.py". In the simple case call it with a single
|
|
argument which is the path to the source-directory of Boost.
|
|
|
|
python boost_mpl_preprocess.py <path-to-boost-sourcedir>
|
|
|
|
If the Boost source-directory is the one this script resides in, you
|
|
can just call it without any arguments.
|
|
|
|
python boost_mpl_preprocess.py
|
|
|
|
Either way, this will pre-process all four MPL-container types (vector,
|
|
list, set, map) and makes them able to hold up to 100 elements. They can
|
|
be used either in their 'numbered' or their 'variadic' form.
|
|
|
|
Additionally, the script also allows more fine-grained pre-processing.
|
|
The maximal number of elements an MPL-container type is able to hold can
|
|
be different from the one of other MPL-container types and it can also
|
|
differ between its 'numbered' and 'variadic' form.
|
|
To see all options, call the script like this:
|
|
|
|
python boost_mpl_preprocess.py --help
|
|
|
|
|
|
Fixing pre-processing of MPL-containers
|
|
---------------------------------------
|
|
|
|
Sadly, pre-processing of MPL-containers might fail, if the source-files
|
|
used as input are missing some header-comments required during the pre-
|
|
processing step.
|
|
However, the script "boost_mpl_preprocess.py" makes sure to patch these
|
|
input source-files prior to pre-processing (by implicitly calling script
|
|
"fix_boost_mpl_preprocess.py" with the chosen settings). It only patches
|
|
the source-files needed for pre-processing the selected MPL-container
|
|
types and their selected form ('numbered' or 'variadic').
|
|
If calling it with a single (or no) argument (as in the former section)
|
|
all input source-files will be patched automatically.
|
|
|
|
Instead of fixing the input-files implicitly during pre-processing one
|
|
can also fix them explicitly by calling "fix_boost_mpl_preprocess.py"
|
|
directly.
|
|
If you just want to test if any fixing is needed call it like this:
|
|
|
|
python fix_boost_mpl_preprocess.py --check-only <path-to-boost-sourcedir>
|
|
|
|
This will tell you if any fixing is needed. In such a case call the script
|
|
"fix_boost_mpl_preprocess.py" like this:
|
|
|
|
python fix_boost_mpl_preprocess.py <path-to-boost-sourcedir>
|
|
|
|
This will fix the header-comments of all the source-files needed during
|
|
pre-processing. Calling "boost_mpl_preprocess.py" afterwards should then
|
|
successfully pre-process the MPL-containers (without the need of implicitly
|
|
fixing any files again).
|
|
|
|
Note:
|
|
Failure of pre-processing can be checked by examining at least one of the
|
|
following directories in which automatically generated files will be put
|
|
during pre-processing. If at least one file in these directories (or sub-
|
|
directories therein) has a size of zero bytes, fixing is needed.
|
|
|
|
<path-to-boost-sourcedir>/boost/mpl/vector/aux_/preprocessed/
|
|
<path-to-boost-sourcedir>/boost/mpl/list/aux_/preprocessed/
|
|
<path-to-boost-sourcedir>/boost/mpl/set/aux_/preprocessed/
|
|
<path-to-boost-sourcedir>/boost/mpl/map/aux_/preprocessed/
|
|
<path-to-boost-sourcedir>/boost/mpl/aux_/preprocessed/
|
|
|