1/*
2 * Copyright (c) 2014-2017, Siemens AG. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are met:
6 *
7 * 1. Redistributions of source code must retain the above copyright notice,
8 * this list of conditions and the following disclaimer.
9 *
10 * 2. 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 *
14 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
18 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 * POSSIBILITY OF SUCH DAMAGE.
25 */
26
27#ifndef EMBB_BASE_C_INTERNAL_CMAKE_CONFIG_H_
28#define EMBB_BASE_C_INTERNAL_CMAKE_CONFIG_H_
29
30/* This file is used as input for CMake. CMake creates a file cmake_config.h in
31   its current build directory under the path builddir/embb/base/internal/. From
32   there, the cmake_config.h can be included as usual using
33   #include <embb/base/c/internal/cmake_config.h>
34 */
35
36/**
37 * Is used to get the number of cores on certain systems.
38 */
39#cmakedefine EMBB_PLATFORM_HAS_HEADER_SYSINFO
40
41/**
42 * Is used to get the number of cores on certain systems.
43 */
44#cmakedefine EMBB_PLATFORM_HAS_SC_NPROCESSORS_ONLN
45
46/**
47 * Is used to set thread affinities on certain systems.
48 */
49#cmakedefine EMBB_PLATFORM_HAS_HEADER_CPUSET
50
51/**
52 * Is used to set thread affinities on certain systems.
53 */
54#cmakedefine EMBB_PLATFORM_HAS_HEADER_PTHREAD_NP
55
56/**
57 * Is used for Linux thread affinities.
58 */
59#cmakedefine EMBB_PLATFORM_HAS_GLIB_CPU
60
61/**
62 * Enables mutex-based implementation of all synchronization constructs.
63 */
64#cmakedefine EMBB_THREADING_ANALYSIS_MODE
65
66#cmakedefine EMBB_PLATFORM_USE_C11_CXX11
67
68/**
69 * Version defines.
70 */
71#define EMBB_BASE_VERSION_MAJOR ${EMBB_BASE_VERSION_MAJOR}
72#define EMBB_BASE_VERSION_MINOR ${EMBB_BASE_VERSION_MINOR}
73#define EMBB_BASE_VERSION_PATCH ${EMBB_BASE_VERSION_PATCH}
74
75
76#endif /* EMBB_BASE_INTERNAL_CMAKE_CONFIG_H_ */
77