Blis 0.95.0
Loading...
Searching...
No Matches
BlisConfig.h
Go to the documentation of this file.
1/*===========================================================================*
2 * This file is part of the BiCePS Linear Integer Solver (BLIS). *
3 * *
4 * BLIS is distributed under the Eclipse Public License as part of the *
5 * COIN-OR repository (http://www.coin-or.org). *
6 * *
7 * Authors: *
8 * *
9 * Yan Xu, Lehigh University *
10 * Ted Ralphs, Lehigh University *
11 * *
12 * Conceptual Design: *
13 * *
14 * Yan Xu, Lehigh University *
15 * Ted Ralphs, Lehigh University *
16 * Laszlo Ladanyi, IBM T.J. Watson Research Center *
17 * Matthew Saltzman, Clemson University *
18 * *
19 * *
20 * Copyright (C) 2001-2023, Lehigh University, Yan Xu, and Ted Ralphs. *
21 * All Rights Reserved. *
22 *===========================================================================*/
23
24/* Include file for the configuration of Blis.
25 *
26 * On systems where the code is configured with the configure script
27 * (i.e., compilation is always done with HAVE_CONFIG_H defined), this
28 * header file includes the automatically generated header file, and
29 * undefines macros that might configure with other Config.h files.
30 *
31 * On systems that are compiled in other ways (e.g., with the
32 * Developer Studio), a header files is included to define those
33 * macros that depend on the operating system and the compiler. The
34 * macros that define the configuration of the particular user setting
35 * (e.g., presence of other COIN-OR packages or third party code) are set
36 * by the files config_*default.h. The project maintainer needs to remember
37 * to update these file and choose reasonable defines.
38 * A user can modify the default setting by editing the config_*default.h files.
39 *
40 */
41
42#ifndef __BLISCONFIG_H__
43#define __BLISCONFIG_H__
44
45#ifdef HAVE_CONFIG_H
46#ifdef BLISLIB_BUILD
47#include "config.h"
48
49/* overwrite BLISLIB_EXPORT from config.h when building Alps
50 * we want it to be __declspec(dllexport) when building a DLL on Windows
51 * we want it to be __attribute__((__visibility__("default"))) when building with GCC,
52 * so user can compile with -fvisibility=hidden
53 */
54#ifdef DLL_EXPORT
55#undef BLISLIB_EXPORT
56#define BLISLIB_EXPORT __declspec(dllexport)
57#elif defined(__GNUC__) && __GNUC__ >= 4
58#undef BLISLIB_EXPORT
59#define BLISLIB_EXPORT __attribute__((__visibility__("default")))
60#endif
61
62#else
63#include "config_blis.h"
64#endif
65
66#else /* HAVE_CONFIG_H */
67
68#ifdef BLISLIB_BUILD
69#include "config_default.h"
70#else
71#include "config_blis_default.h"
72#endif
73
74#endif /* HAVE_CONFIG_H */
75
76#endif /*__BLISCONFIG_H__*/