mirror of
https://gitlab.gnome.org/GNOME/libsecret.git
synced 2024-12-22 04:38:55 +00:00
Add version macros
Added macros: * SECRET_VERSION_MAJOR * SECRET_VERSION_MINOR * SECRET_VERSION_MICRO * SECRET_CHECK_VERSION These macros are widely defined in GLib based library. For example, GLib, GTK, poppler GLib and so on define them. These macros are useful to detect libsecret version on build type and from GObject Introspection based bindings.
This commit is contained in:
parent
31685e0608
commit
c00283ebd0
1
.gitignore
vendored
1
.gitignore
vendored
@ -73,6 +73,7 @@ stamp*
|
||||
|
||||
/libsecret/*-dbus-generated.[ch]
|
||||
/libsecret/secret-enum-types.[ch]
|
||||
/libsecret/secret-version.h
|
||||
/libsecret/tests/test-*
|
||||
/libsecret/tests/*.metadata
|
||||
!/libsecret/tests/test-*.c
|
||||
|
12
configure.ac
12
configure.ac
@ -1,9 +1,18 @@
|
||||
AC_PREREQ(2.63)
|
||||
|
||||
AC_INIT([libsecret],[0.18.8],
|
||||
m4_define([libsecret_major_version], 0)
|
||||
m4_define([libsecret_minor_version], 18)
|
||||
m4_define([libsecret_micro_version], 8)
|
||||
m4_define([libsecret_version],
|
||||
[libsecret_major_version.libsecret_minor_version.libsecret_micro_version])
|
||||
AC_INIT([libsecret],[libsecret_version],
|
||||
[https://gitlab.gnome.org/GNOME/libsecret/issues/],
|
||||
[libsecret])
|
||||
|
||||
AC_SUBST(SECRET_MAJOR_VERSION, libsecret_major_version)
|
||||
AC_SUBST(SECRET_MINOR_VERSION, libsecret_minor_version)
|
||||
AC_SUBST(SECRET_MICRO_VERSION, libsecret_micro_version)
|
||||
|
||||
dnl ****************************************************************************
|
||||
dnl Dependency versions
|
||||
|
||||
@ -281,6 +290,7 @@ AC_CONFIG_FILES([
|
||||
po/Makefile
|
||||
libsecret/libsecret.pc
|
||||
libsecret/libsecret-unstable.pc
|
||||
libsecret/secret-version.h
|
||||
])
|
||||
AC_OUTPUT
|
||||
|
||||
|
@ -31,6 +31,7 @@
|
||||
<xi:include href="xml/secret-prompt.xml"/>
|
||||
<xi:include href="xml/secret-error.xml"/>
|
||||
<xi:include href="xml/secret-paths.xml"/>
|
||||
<xi:include href="xml/secret-version.xml"/>
|
||||
</part>
|
||||
|
||||
<xi:include href="libsecret-using.sgml"/>
|
||||
|
@ -337,3 +337,11 @@ secret_attributes_buildv
|
||||
<SECTION>
|
||||
<FILE>SecretGenPrompt</FILE>
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>secret-version</FILE>
|
||||
SECRET_CHECK_VERSION
|
||||
SECRET_MAJOR_VERSION
|
||||
SECRET_MICRO_VERSION
|
||||
SECRET_MINOR_VERSION
|
||||
</SECTION>
|
||||
|
@ -22,6 +22,7 @@ libsecret_HEADS = \
|
||||
inc_HEADERS = \
|
||||
$(libsecret_HEADS) \
|
||||
libsecret/secret-enum-types.h \
|
||||
libsecret/secret-version.h \
|
||||
$(NULL)
|
||||
|
||||
libsecret_BUILT_ENUMS = \
|
||||
@ -31,6 +32,7 @@ libsecret_BUILT_ENUMS = \
|
||||
libsecret_BUILT = \
|
||||
secret-dbus-generated.c secret-dbus-generated.h \
|
||||
$(libsecret_BUILT_ENUMS) \
|
||||
libsecret/secret-version.h \
|
||||
$(NULL)
|
||||
|
||||
libsecret_PUBLIC = \
|
||||
@ -121,7 +123,11 @@ Secret_@SECRET_MAJOR@_gir_EXPORT_PACKAGES = libsecret-@SECRET_MAJOR@
|
||||
Secret_@SECRET_MAJOR@_gir_INCLUDES = GObject-2.0 Gio-2.0
|
||||
Secret_@SECRET_MAJOR@_gir_LIBS = libsecret-@SECRET_MAJOR@.la
|
||||
Secret_@SECRET_MAJOR@_gir_CFLAGS = -I$(srcdir) -I$(builddir) -DSECRET_COMPILATION
|
||||
Secret_@SECRET_MAJOR@_gir_FILES = $(libsecret_PUBLIC) $(libsecret_BUILT_ENUMS)
|
||||
Secret_@SECRET_MAJOR@_gir_FILES = \
|
||||
$(libsecret_PUBLIC) \
|
||||
$(libsecret_BUILT_ENUMS) \
|
||||
libsecret/secret-version.h \
|
||||
$(NULL)
|
||||
Secret_@SECRET_MAJOR@_gir_SCANNERFLAGS = --c-include "libsecret/secret.h"
|
||||
|
||||
gir_DATA += Secret-@SECRET_MAJOR@.gir
|
||||
|
@ -31,6 +31,19 @@ libsecret_headers = [
|
||||
'secret-value.h',
|
||||
]
|
||||
|
||||
version_numbers = meson.project_version().split('.')
|
||||
version_major = version_numbers[0].to_int()
|
||||
version_minor = version_numbers[1].to_int()
|
||||
version_micro = version_numbers[2].to_int()
|
||||
version_h_conf = configuration_data()
|
||||
version_h_conf.set('SECRET_MAJOR_VERSION', version_major)
|
||||
version_h_conf.set('SECRET_MINOR_VERSION', version_minor)
|
||||
version_h_conf.set('SECRET_MICRO_VERSION', version_micro)
|
||||
version_h = configure_file(input: 'secret-version.h.in',
|
||||
output: 'secret-version.h',
|
||||
configuration: version_h_conf)
|
||||
libsecret_headers += version_h
|
||||
|
||||
_dbus_generated = gnome.gdbus_codegen('secret-dbus-generated',
|
||||
sources: 'org.freedesktop.Secrets.xml',
|
||||
interface_prefix: 'org.freedesktop.Secret.',
|
||||
@ -101,6 +114,7 @@ libsecret_gir_sources = [
|
||||
'secret-value.c',
|
||||
'secret-value.h',
|
||||
]
|
||||
libsecret_gir_sources += version_h
|
||||
libsecret_gir_sources += _enums_generated
|
||||
|
||||
libsecret_gir = gnome.generate_gir(libsecret,
|
||||
|
65
libsecret/secret-version.h.in
Normal file
65
libsecret/secret-version.h.in
Normal file
@ -0,0 +1,65 @@
|
||||
/* libsecret - GLib wrapper for Secret Service
|
||||
*
|
||||
* Copyright 2019 Sutou Kouhei <kou@clear-code.com>
|
||||
*
|
||||
* This program 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.1 of the licence or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* See the included COPYING file for more information.
|
||||
*
|
||||
* Author: Sutou Kouhei <kou@clear-code.com>
|
||||
*/
|
||||
|
||||
#if !defined (__SECRET_INSIDE_HEADER__) && !defined (SECRET_COMPILATION)
|
||||
#error "Only <libsecret/secret.h> can be included directly."
|
||||
#endif
|
||||
|
||||
#pragma __once__
|
||||
|
||||
/**
|
||||
* SECTION:secret-version
|
||||
* @short_description: Variables and macros to check the libsecret version
|
||||
* @title: Version Information
|
||||
*
|
||||
* Stability: Stable
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECRET_MAJOR_VERSION:
|
||||
*
|
||||
* The major version of libsecret.
|
||||
*/
|
||||
#define SECRET_MAJOR_VERSION (@SECRET_MAJOR_VERSION@)
|
||||
|
||||
/**
|
||||
* SECRET_MINOR_VERSION:
|
||||
*
|
||||
* The minor version of libsecret.
|
||||
*/
|
||||
#define SECRET_MINOR_VERSION (@SECRET_MINOR_VERSION@)
|
||||
|
||||
/**
|
||||
* SECRET_MICRO_VERSION:
|
||||
*
|
||||
* The micro version of libsecret.
|
||||
*/
|
||||
#define SECRET_MICRO_VERSION (@SECRET_MICRO_VERSION@)
|
||||
|
||||
/**
|
||||
* SECRET_CHECK_VERSION:
|
||||
* @major: major version to be satisfied
|
||||
* @minor: minor version to be satisfied
|
||||
* @micro: micro version to be satisfied
|
||||
*
|
||||
* Returns: %TRUE if using libsecret is newer than or equal to the
|
||||
* given version
|
||||
*/
|
||||
#define SECRET_CHECK_VERSION(major, minor, micro) \
|
||||
(SECRET_MAJOR_VERSION > (major) || \
|
||||
(SECRET_MAJOR_VERSION == (major) && \
|
||||
SECRET_MINOR_VERSION > (minor)) || \
|
||||
(SECRET_MAJOR_VERSION == (major) && \
|
||||
SECRET_MINOR_VERSION == (minor) && \
|
||||
SECRET_MICRO_VERSION >= (micro)))
|
@ -30,6 +30,7 @@
|
||||
#include <libsecret/secret-service.h>
|
||||
#include <libsecret/secret-types.h>
|
||||
#include <libsecret/secret-value.h>
|
||||
#include <libsecret/secret-version.h>
|
||||
|
||||
/* SECRET_WITH_UNSTABLE is defined in the secret-unstable.pc pkg-config file */
|
||||
#if defined(SECRET_WITH_UNSTABLE) || defined(SECRET_API_SUBJECT_TO_CHANGE)
|
||||
|
Loading…
Reference in New Issue
Block a user