Isorropia: Partitioning, Load Balancing and more
Isorropia_ConfigDefs.hpp
Go to the documentation of this file.
1 
2 //@HEADER
3 //************************************************************************
4 //
5 // Isorropia: Partitioning and Load Balancing Package
6 // Copyright (2006) Sandia Corporation
7 //
8 //Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
9 //license for use of this work by or on behalf of the U.S. Government.
10 //
11 // Redistribution and use in source and binary forms, with or without
12 // modification, are permitted provided that the following conditions are
13 // met:
14 //
15 // 1. Redistributions of source code must retain the above copyright
16 // notice, this list of conditions and the following disclaimer.
17 //
18 // 2. Redistributions in binary form must reproduce the above copyright
19 // notice, this list of conditions and the following disclaimer in the
20 // documentation and/or other materials provided with the distribution.
21 //
22 // 3. Neither the name of the Corporation nor the names of the
23 // contributors may be used to endorse or promote products derived from
24 // this software without specific prior written permission.
25 //
26 // THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 //
38 //************************************************************************
39 //@HEADER
40 
41 #ifndef _Isorropia_ConfigDefs_hpp_
42 #define _Isorropia_ConfigDefs_hpp_
43 
44 /*
45  The macros PACKAGE, PACKAGE_NAME, etc, get defined in the automatically-
46  generated header Isorropia_autoheader.h. So we need to undefine them before
47  including that header, in order to avoid warnings in cases where another
48  package's header is also included and has already defined them.
49 */
50 #ifdef PACKAGE
51 #undef PACKAGE
52 #endif
53 
54 #ifdef PACKAGE_NAME
55 #undef PACKAGE_NAME
56 #endif
57 
58 #ifdef PACKAGE_BUGREPORT
59 #undef PACKAGE_BUGREPORT
60 #endif
61 
62 #ifdef PACKAGE_STRING
63 #undef PACKAGE_STRING
64 #endif
65 
66 #ifdef PACKAGE_TARNAME
67 #undef PACKAGE_TARNAME
68 #endif
69 
70 #ifdef PACKAGE_VERSION
71 #undef PACKAGE_VERSION
72 #endif
73 
74 #ifdef VERSION
75 #undef VERSION
76 #endif
77 
78 #include <Isorropia_config.h>
79 
80 #include <iostream>
81 #include <fstream>
82 #include <exception>
83 #include <vector>
84 #include <set>
85 
86 #ifdef HAVE_TIME_H
87 #include <time.h>
88 #endif
89 
90 #ifndef __deprecated
91 #if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
92 #define __deprecated __attribute__((__deprecated__))
93 #else
94 #define __deprecated
95 #endif /* __GNUC__ */
96 #endif /* __deprecated */
97 
98 #endif //_Isorropia_ConfigDefs_hpp_
99 
100 
101 #if defined(Isorropia_SHOW_DEPRECATED_WARNINGS)
102 #ifdef __GNUC__
103 #warning "The Isorropia package is deprecated"
104 #endif
105 #endif
106