diff options
Diffstat (limited to 'src/boost/libs/function_types/build')
7 files changed, 193 insertions, 0 deletions
diff --git a/src/boost/libs/function_types/build/Jamfile b/src/boost/libs/function_types/build/Jamfile new file mode 100644 index 000000000..38b185a22 --- /dev/null +++ b/src/boost/libs/function_types/build/Jamfile @@ -0,0 +1,30 @@ + +# (C) Copyright Tobias Schwinger +# +# Use modification and distribution are subject to the boost Software License, +# Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +# Generates preprocessed files with wave. + +actions wave +{ + $(>[1]) -S../../.. $(>[2]) -o $(<) +} + +W = ../../../tools/wave/build//wave ; + +make arity_loops + : preprocess_arity_loops.cpp $(W) : wave : <location>build/timestamps + ; + +make encoding + : preprocess_encoding.cpp $(W) : wave : <location>build/timestamps + ; + + +make cc_names + : preprocess_cc_names.cpp $(W) : wave : <location>build/timestamps + ; + +explicit arity_loops encoding cc_names ; + diff --git a/src/boost/libs/function_types/build/preprocess_arity_loops.cpp b/src/boost/libs/function_types/build/preprocess_arity_loops.cpp new file mode 100644 index 000000000..d39b65cf6 --- /dev/null +++ b/src/boost/libs/function_types/build/preprocess_arity_loops.cpp @@ -0,0 +1,88 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#if !defined(BOOST_FT_PREPROCESSING_MODE) + +# ifndef __WAVE__ +# error "Boost.Wave preprocessor required" +# endif + +# include <boost/preprocessor/seq/cat.hpp> +# include <boost/preprocessor/stringize.hpp> + +# if BOOST_PP_NIL // enable dependency scanning for dynamically included files +# include <boost/function_types/detail/encoding/def.hpp> +# include <boost/function_types/detail/components_impl/master.hpp> +# include <boost/function_types/detail/synthesize_impl/master.hpp> +# include <boost/function_types/detail/classifier_impl/master.hpp> +# endif + +# pragma wave option(line: 0, preserve: 2) +timestamp file +# pragma wave option(output: null) + +# define BOOST_FT_PREPROCESSING_MODE + +# define BOOST_FT_HEADER \ + BOOST_PP_SEQ_CAT((arity)(BOOST_FT_MAX_ARITY)(_)(BOOST_FT_mfp)).hpp + #define BOOST_FT_OUT_FILE \ + BOOST_PP_STRINGIZE(../../../BOOST_FT_al_path/BOOST_FT_HEADER) + +# define BOOST_FT_al_path boost/function_types/detail/components_impl +# include __FILE__ +# undef BOOST_FT_al_path + +# define BOOST_FT_al_path boost/function_types/detail/synthesize_impl +# include __FILE__ +# undef BOOST_FT_al_path + +# define BOOST_FT_al_path boost/function_types/detail/classifier_impl +# include __FILE__ +# undef BOOST_FT_al_path + +#elif !defined(BOOST_FT_mfp) + +# define BOOST_FT_mfp 0 +# include __FILE__ +# undef BOOST_FT_mfp + +# define BOOST_FT_mfp 1 +# include __FILE__ +# undef BOOST_FT_mfp + +#elif !defined(BOOST_FT_MAX_ARITY) + +# define BOOST_FT_FROM_ARITY 0 +# define BOOST_FT_MAX_ARITY 10 +# include __FILE__ + +# define BOOST_FT_FROM_ARITY 10 +# define BOOST_FT_MAX_ARITY 20 +# include __FILE__ + +# define BOOST_FT_FROM_ARITY 20 +# define BOOST_FT_MAX_ARITY 30 +# include __FILE__ + +# define BOOST_FT_FROM_ARITY 30 +# define BOOST_FT_MAX_ARITY 40 +# include __FILE__ + +# define BOOST_FT_FROM_ARITY 40 +# define BOOST_FT_MAX_ARITY 50 +# include __FILE__ + +#else + +# pragma message(generating BOOST_FT_OUT_FILE) +# pragma wave option(preserve: 2, output: BOOST_FT_OUT_FILE) +# include <boost/function_types/detail/pp_arity_loop.hpp> +# undef BOOST_FT_MAX_ARITY + +#endif + diff --git a/src/boost/libs/function_types/build/preprocess_cc_names.cpp b/src/boost/libs/function_types/build/preprocess_cc_names.cpp new file mode 100644 index 000000000..803667c55 --- /dev/null +++ b/src/boost/libs/function_types/build/preprocess_cc_names.cpp @@ -0,0 +1,27 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef __WAVE__ +# error "Boost.Wave preprocessor required" +#endif + +#pragma wave option(line: 0, preserve: 2) +timestamp file +#pragma wave option(output: null) + +#define BOOST_FT_PREPROCESSING_MODE + + +#define BOOST_FT_OUT_FILE \ + "../../../boost/function_types/detail/pp_cc_loop/preprocessed.hpp" +#pragma message(generating BOOST_FT_OUT_FILE) +#pragma wave option(output: BOOST_FT_OUT_FILE, preserve: 2) +#include <boost/function_types/detail/pp_cc_loop/master.hpp> +#pragma wave option(output: null) +#undef BOOST_FT_OUT_FILE + diff --git a/src/boost/libs/function_types/build/preprocess_encoding.cpp b/src/boost/libs/function_types/build/preprocess_encoding.cpp new file mode 100644 index 000000000..886bec33b --- /dev/null +++ b/src/boost/libs/function_types/build/preprocess_encoding.cpp @@ -0,0 +1,45 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef __WAVE__ +# error "Boost.Wave preprocessor required" +#endif + +#pragma wave option(line: 0, preserve: 2) +timestamp file +#pragma wave option(output: null) + +#define BOOST_FT_PREPROCESSING_MODE + + +#define BOOST_FT_OUT_FILE \ + "../../../boost/function_types/detail/pp_tags/preprocessed.hpp" +#pragma message(generating BOOST_FT_OUT_FILE) +#pragma wave option(output: BOOST_FT_OUT_FILE, preserve: 2) +#include <boost/function_types/detail/pp_tags/master.hpp> +#pragma wave option(output: null) +#undef BOOST_FT_OUT_FILE + +#define BOOST_FT_OUT_FILE \ + "../../../boost/function_types/detail/pp_variate_loop/preprocessed.hpp" +#pragma message(generating BOOST_FT_OUT_FILE) +#pragma wave option(output: BOOST_FT_OUT_FILE, preserve: 2) +#include <boost/function_types/detail/pp_variate_loop/master.hpp> +#pragma wave option(output: null) +#undef BOOST_FT_OUT_FILE + +#define BOOST_FT_OUT_FILE \ + "../../../boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp" +#pragma message(generating BOOST_FT_OUT_FILE) +#pragma wave option(output: BOOST_FT_OUT_FILE, preserve: 2) +#include <boost/function_types/detail/pp_retag_default_cc/master.hpp> +#pragma wave option(output: null) + +#undef BOOST_FT_OUT_FILE + + diff --git a/src/boost/libs/function_types/build/timestamps/arity_loops b/src/boost/libs/function_types/build/timestamps/arity_loops new file mode 100644 index 000000000..f91091c8d --- /dev/null +++ b/src/boost/libs/function_types/build/timestamps/arity_loops @@ -0,0 +1 @@ +timestamp file diff --git a/src/boost/libs/function_types/build/timestamps/cc_names b/src/boost/libs/function_types/build/timestamps/cc_names new file mode 100644 index 000000000..f91091c8d --- /dev/null +++ b/src/boost/libs/function_types/build/timestamps/cc_names @@ -0,0 +1 @@ +timestamp file diff --git a/src/boost/libs/function_types/build/timestamps/encoding b/src/boost/libs/function_types/build/timestamps/encoding new file mode 100644 index 000000000..f91091c8d --- /dev/null +++ b/src/boost/libs/function_types/build/timestamps/encoding @@ -0,0 +1 @@ +timestamp file |