CppAD: A C++ Algorithmic Differentiation Package 20110419
configure.hpp
Go to the documentation of this file.
00001 /* $Id$ */
00002 /* This file may be inclued multiple times so comment out ifndef and define
00003 # ifndef CPPAD_CONFIGURE_INCLUDED
00004 # define CPPAD_CONFIGURE_INCLUDED
00005 */
00006 
00007 /* --------------------------------------------------------------------------
00008 CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-11 Bradley M. Bell
00009 
00010 CppAD is distributed under multiple licenses. This distribution is under
00011 the terms of the 
00012                     Common Public License Version 1.0.
00013 
00014 A copy of this license is included in the COPYING file of this distribution.
00015 Please visit http://www.coin-or.org/CppAD/ for information on other licenses.
00016 -------------------------------------------------------------------------- */
00017 
00018 /*!
00019  \file configure.hpp
00020 Wrapper for the cppad/local/config.h file generated by autoconf and configure.
00021 
00022 \li
00023 Un-define all the preprocessor symbols in config.h that do not begin with
00024 CPPAD_.
00025 
00026 \li
00027 Include config.h.
00028 
00029 \li
00030 Repeat Un-define all the preprocessor symbols in config.h that do not begin 
00031 with CPPAD_.
00032 
00033 \li
00034 Define CPPAD_PACKAGE_STRING as equal to "CppAD yyyymmdd" where
00035 yyyy is year, mm is month, and dd is day.
00036 */
00037 # undef PACKAGE
00038 # undef PACKAGE_BUGREPORT
00039 # undef PACKAGE_NAME
00040 # undef PACKAGE_STRING
00041 # undef PACKAGE_TARNAME
00042 # undef PACKAGE_VERSION
00043 # undef VERSION
00044 
00045 // now it is safe to use the config.h file
00046 # include <cppad/config.h>
00047 
00048 
00049 // undefine all the preprocessor symbols that do not have CPPAD_ in front
00050 // (all such symbols are in the config.h file created by autoconf).
00051 # undef PACKAGE
00052 # undef PACKAGE_BUGREPORT
00053 # undef PACKAGE_NAME
00054 # undef PACKAGE_STRING
00055 # undef PACKAGE_TARNAME
00056 # undef PACKAGE_VERSION
00057 # undef VERSION
00058 
00059 /*!
00060 \def CPPAD_PACKAGE_STRING
00061 cppad-yyyymmdd as a C string where yyyy is year, mm is month, and dd is day.
00062 */
00063 # define CPPAD_PACKAGE_STRING "CppAD 20110419"
00064 
00065 /*
00066 $begin configure$$
00067 $spell
00068         config
00069         cppad
00070         autoconf
00071         CppAD
00072         undef
00073 $$
00074 
00075 $section Preprocessor Definitions Used by CppAD$$
00076 $index configure, symbol$$
00077 $index symbol, configure$$
00078 $index PACKAGE, symbol$$
00079 $index VERSION, symbol$$
00080 
00081 $head Preprocessor Symbols$$
00082 $index preprocessor, symbol$$
00083 $index symbol, processor$$
00084 All of the preprocessor symbols used by CppAD begin either with
00085 $code CppAD$$ or with $code CPPAD_$$.
00086 
00087 $head Example$$
00088 For example,
00089 the preprocessor symbol 
00090 $small $cref/CPPAD_TEST_VECTOR/test_vector/$$ $$ 
00091 determines which
00092 $xref/SimpleVector/$$ template class is extensively used 
00093 by the tests in the $code Example$$ and $code TestMore$$ directories.
00094 
00095 $head config.h$$
00096 $index config.h$$
00097 The following is a list of exceptions to the rule above.
00098 These preprocessor symbols are placed in the file $code cppad/config.h$$
00099 by $code autoconf$$ (which is used to generate the CppAD distribution).
00100 Directly after you include a CppAD file, these symbols may be undefined:
00101 $code PACKAGE$$,
00102 $code PACKAGE_BUGREPORT$$,
00103 $code PACKAGE_NAME$$,
00104 $code PACKAGE_STRING$$,
00105 $code PACKAGE_TARNAME$$,
00106 $code PACKAGE_VERSION$$,
00107 $code VERSION$$.
00108 
00109 $end
00110 */
00111