1// Ceres Solver - A fast non-linear least squares minimizer
2// Copyright 2014 Google Inc. All rights reserved.
3// http://code.google.com/p/ceres-solver/
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions are met:
7//
8// * Redistributions of source code must retain the above copyright notice,
9//   this list of conditions and the following disclaimer.
10// * Redistributions in binary form must reproduce the above copyright notice,
11//   this list of conditions and the following disclaimer in the documentation
12//   and/or other materials provided with the distribution.
13// * Neither the name of Google Inc. nor the names of its contributors may be
14//   used to endorse or promote products derived from this software without
15//   specific prior written permission.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27// POSSIBILITY OF SUCH DAMAGE.
28//
29// Author: alexs.mac@gmail.com (Alex Stewart)
30
31// Configuration options for Ceres.
32//
33// Do not edit this file, it was automatically configured by CMake when
34// Ceres was compiled with the relevant configuration for the machine
35// on which Ceres was compiled.
36//
37// Ceres Developers: All options should have the same name as their mapped
38//                   CMake options, in the preconfigured version of this file
39//                   all options should be enclosed in '@'.
40
41#ifndef CERES_PUBLIC_INTERNAL_CONFIG_H_
42#define CERES_PUBLIC_INTERNAL_CONFIG_H_
43
44// If defined, use the LGPL code in Eigen.
45@CERES_USE_EIGEN_SPARSE@
46
47// If defined, Ceres was compiled without LAPACK.
48@CERES_NO_LAPACK@
49
50// If defined, Ceres was compiled without SuiteSparse.
51@CERES_NO_SUITESPARSE@
52
53// If defined, Ceres was compiled without CXSparse.
54@CERES_NO_CXSPARSE@
55
56// If defined, Ceres was compiled without Schur specializations.
57@CERES_RESTRICT_SCHUR_SPECIALIZATION@
58
59// If defined, Ceres was compiled to use Eigen instead of hardcoded BLAS
60// routines.
61@CERES_NO_CUSTOM_BLAS@
62
63// If defined, Ceres was compiled without multithreading support.
64@CERES_NO_THREADS@
65// If defined Ceres was compiled with OpenMP multithreading support.
66@CERES_USE_OPENMP@
67// Additionally defined on *nix if Ceres was compiled with OpenMP support,
68// as in this case pthreads is also required.
69@CERES_HAVE_PTHREAD@
70@CERES_HAVE_RWLOCK@
71
72// Which version of unordered map was used when Ceres was compiled. Exactly
73// one of these will be defined for any given build.
74@CERES_STD_UNORDERED_MAP@
75@CERES_STD_UNORDERED_MAP_IN_TR1_NAMESPACE@
76@CERES_TR1_UNORDERED_MAP@
77@CERES_NO_UNORDERED_MAP@
78
79// If defined Ceres was compiled for Android with noalias() removed from
80// matrix-matrix multiplies to work around a bug in the Android NDK.
81@CERES_WORK_AROUND_ANDROID_NDK_COMPILER_BUG@
82
83// If defined, the memory header is in <tr1/memory>, otherwise <memory>.
84@CERES_TR1_MEMORY_HEADER@
85
86// If defined shared_ptr is in std::tr1 namespace, otherwise std.
87@CERES_TR1_SHARED_PTR@
88
89// If defined, Ceres was built as a shared library.
90@CERES_USING_SHARED_LIBRARY@
91
92#endif  // CERES_PUBLIC_INTERNAL_CONFIG_H_
93