mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
tree: start on massive tree refactor
The big thing going on here is that we are going to split up the libraries a bit better, and remove GObject from the capture library. The libsysprof library will bring in the capture library statically, so we can export the symbols we want. Eventually, we will bump the version to sysprof-3, but not yet.
This commit is contained in:
97
src/libsysprof-capture/sysprof-version.h.in
Normal file
97
src/libsysprof-capture/sysprof-version.h.in
Normal file
@ -0,0 +1,97 @@
|
||||
/* sysprof-version.h.in
|
||||
*
|
||||
* Copyright 2016-2019 Christian Hergert <chergert@redhat.com>
|
||||
*
|
||||
* This file is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU Lesser General Public License as published by the Free
|
||||
* Software Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||
* License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#if !defined(SYSPROF_CAPTURE_INSIDE) && !defined(SYSPROF_CAPTURE_COMPILATION)
|
||||
# error "Only <sysprof-capture.h> can be included directly."
|
||||
#endif
|
||||
|
||||
/**
|
||||
* SECTION:sysprof-version
|
||||
* @short_description: sysprof version checking
|
||||
*
|
||||
* sysprof provides macros to check the version of the library
|
||||
* at compile-time
|
||||
*/
|
||||
|
||||
/**
|
||||
* SYSPROF_MAJOR_VERSION:
|
||||
*
|
||||
* sysprof major version component (e.g. 1 if %SYSPROF_VERSION is 1.2.3)
|
||||
*/
|
||||
#define SYSPROF_MAJOR_VERSION (@MAJOR_VERSION@)
|
||||
|
||||
/**
|
||||
* SYSPROF_MINOR_VERSION:
|
||||
*
|
||||
* sysprof minor version component (e.g. 2 if %SYSPROF_VERSION is 1.2.3)
|
||||
*/
|
||||
#define SYSPROF_MINOR_VERSION (@MINOR_VERSION@)
|
||||
|
||||
/**
|
||||
* SYSPROF_MICRO_VERSION:
|
||||
*
|
||||
* sysprof micro version component (e.g. 3 if %SYSPROF_VERSION is 1.2.3)
|
||||
*/
|
||||
#define SYSPROF_MICRO_VERSION (@MICRO_VERSION@)
|
||||
|
||||
/**
|
||||
* SYSPROF_VERSION
|
||||
*
|
||||
* sysprof version.
|
||||
*/
|
||||
#define SYSPROF_VERSION (@VERSION@)
|
||||
|
||||
/**
|
||||
* SYSPROF_VERSION_S:
|
||||
*
|
||||
* sysprof version, encoded as a string, useful for printing and
|
||||
* concatenation.
|
||||
*/
|
||||
#define SYSPROF_VERSION_S "@VERSION@"
|
||||
|
||||
#define SYSPROF_ENCODE_VERSION(major,minor,micro) \
|
||||
((major) << 24 | (minor) << 16 | (micro) << 8)
|
||||
|
||||
/**
|
||||
* SYSPROF_VERSION_HEX:
|
||||
*
|
||||
* sysprof version, encoded as an hexadecimal number, useful for
|
||||
* integer comparisons.
|
||||
*/
|
||||
#define SYSPROF_VERSION_HEX \
|
||||
(SYSPROF_ENCODE_VERSION (SYSPROF_MAJOR_VERSION, SYSPROF_MINOR_VERSION, SYSPROF_MICRO_VERSION))
|
||||
|
||||
/**
|
||||
* SYSPROF_CHECK_VERSION:
|
||||
* @major: required major version
|
||||
* @minor: required minor version
|
||||
* @micro: required micro version
|
||||
*
|
||||
* Compile-time version checking. Evaluates to %TRUE if the version
|
||||
* of sysprof is greater than the required one.
|
||||
*/
|
||||
#define SYSPROF_CHECK_VERSION(major,minor,micro) \
|
||||
(SYSPROF_MAJOR_VERSION > (major) || \
|
||||
(SYSPROF_MAJOR_VERSION == (major) && SYSPROF_MINOR_VERSION > (minor)) || \
|
||||
(SYSPROF_MAJOR_VERSION == (major) && SYSPROF_MINOR_VERSION == (minor) && \
|
||||
SYSPROF_MICRO_VERSION >= (micro)))
|
||||
|
||||
Reference in New Issue
Block a user