diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2017-03-03 15:09:06 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2017-03-19 21:04:45 +0100 |
commit | 28d7e674856bbff12b05233cccc2fa0588dceebc (patch) | |
tree | 5a5c20f020bcbd46d2984d1dcae88193cefd8cf1 | |
parent | 65c9a3aad4f4e2fcd8e6a50fd3376ec3bcb81a64 (diff) | |
download | network-manager-applet-28d7e674856bbff12b05233cccc2fa0588dceebc.tar.gz |
libnma: add and use version macros
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile.am | 5 | ||||
-rw-r--r-- | configure.ac | 19 | ||||
-rw-r--r-- | src/libnma/nma-version.h.in | 120 | ||||
-rw-r--r-- | src/libnma/nma-wifi-dialog.h | 10 |
5 files changed, 149 insertions, 6 deletions
@@ -54,6 +54,7 @@ src/libnma/NMA-1.0.gir src/libnma/NMA-1.0.typelib src/libnma/nma-resources.c src/libnma/nma-resources.h +src/libnma/nma-version.h src/libnm-gtk/libnm-gtk.pc src/libnm-gtk/NMGtk-1.0.gir src/libnm-gtk/NMGtk-1.0.typelib diff --git a/Makefile.am b/Makefile.am index 8834c0a7..ed407ac7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -474,6 +474,7 @@ libnma_c_gen = \ src/libnma/nma-resources.c libnma_h_pub = \ + src/libnma/nma-version.h \ src/libnma/nma-wifi-dialog.h \ src/libnma/nma-mobile-wizard.h \ src/libnma/nma-mobile-providers.h \ @@ -549,6 +550,7 @@ INTROSPECTION_GIRS += src/libnma/NMA-1.0.gir endif EXTRA_DIST += \ + src/libnma/nma-version.h.in \ src/libnma/libnma.pc.in \ src/libnma/libnma.ver \ src/libnma/wifi.ui \ @@ -847,7 +849,8 @@ HFILE_GLOB = $(top_srcdir)/src/libnma/*.h CFILE_GLOB = $(top_srcdir)/src/libnma/*.c IGNORE_HFILES = \ - nma-resources.h + nma-resources.h \ + nma-version.h mkdb_ignore_c_files = \ nma-resources.c diff --git a/configure.ac b/configure.ac index 17878cc0..d1c80675 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,13 @@ AC_PREREQ([2.63]) + +m4_define([nma_major_version], [1]) +m4_define([nma_minor_version], [7]) +m4_define([nma_micro_version], [0]) +m4_define([nma_version], + [nma_major_version.nma_minor_version.nma_micro_version]) + AC_INIT([nm-applet], - [1.7.0], + [nma_version], [https://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager], [network-manager-applet]) @@ -11,6 +18,15 @@ AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz -Wno-portability]) AM_MAINTAINER_MODE([enable]) AM_SILENT_RULES([yes]) +NMA_MAJOR_VERSION=nma_major_version +NMA_MINOR_VERSION=nma_minor_version +NMA_MICRO_VERSION=nma_micro_version +NMA_VERSION=nma_version +AC_SUBST(NMA_MAJOR_VERSION) +AC_SUBST(NMA_MINOR_VERSION) +AC_SUBST(NMA_MICRO_VERSION) +AC_SUBST(NMA_VERSION) + dnl dnl Require programs dnl @@ -183,6 +199,7 @@ po/Makefile.in man/nm-applet.1 man/nm-connection-editor.1 org.gnome.nm-applet.gschema.xml +src/libnma/nma-version.h ]) AC_OUTPUT diff --git a/src/libnma/nma-version.h.in b/src/libnma/nma-version.h.in new file mode 100644 index 00000000..bcdb5bde --- /dev/null +++ b/src/libnma/nma-version.h.in @@ -0,0 +1,120 @@ +/* NetworkManager Applet -- allow user control over networking + * + * This library 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 library 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 Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + * Copyright (C) 2011-2017 Red Hat, Inc. + */ + +#ifndef NMA_VERSION_H +#define NMA_VERSION_H + +#include <glib.h> + +/** + * NMA_MAJOR_VERSION: + * + * Evaluates to the major version number of NetworkManager which this source + * is compiled against. + */ +#define NMA_MAJOR_VERSION (@NMA_MAJOR_VERSION@) + +/** + * NMA_MINOR_VERSION: + * + * Evaluates to the minor version number of NetworkManager which this source + * is compiled against. + */ +#define NMA_MINOR_VERSION (@NMA_MINOR_VERSION@) + +/** + * NMA_MICRO_VERSION: + * + * Evaluates to the micro version number of NetworkManager which this source + * compiled against. + */ +#define NMA_MICRO_VERSION (@NMA_MICRO_VERSION@) + +/** + * NMA_CHECK_VERSION: + * @major: major version (e.g. 1 for version 1.2.5) + * @minor: minor version (e.g. 2 for version 1.2.5) + * @micro: micro version (e.g. 5 for version 1.2.5) + * + * Returns: %TRUE if the version of the NetworkManager header files + * is the same as or newer than the passed-in version. + */ +#define NMA_CHECK_VERSION(major,minor,micro) \ + (NMA_MAJOR_VERSION > (major) || \ + (NMA_MAJOR_VERSION == (major) && NMA_MINOR_VERSION > (minor)) || \ + (NMA_MAJOR_VERSION == (major) && NMA_MINOR_VERSION == (minor) && NMA_MICRO_VERSION >= (micro))) + +#define NMA_ENCODE_VERSION(major,minor,micro) ((major) << 16 | (minor) << 8 | (micro)) + +#define NMA_VERSION_1_2 (NMA_ENCODE_VERSION (1, 2, 0)) +#define NMA_VERSION_1_4 (NMA_ENCODE_VERSION (1, 4, 0)) +#define NMA_VERSION_1_8 (NMA_ENCODE_VERSION (1, 8, 0)) + +#define NMA_VERSION_CUR_STABLE NMA_VERSION_1_4 +#define NMA_VERSION_NEXT_STABLE NMA_VERSION_1_8 + +#define NMA_VERSION NMA_ENCODE_VERSION (NMA_MAJOR_VERSION, NMA_MINOR_VERSION, NMA_MICRO_VERSION) + +/* Deprecation / Availability macros */ + +#if !defined (NMA_VERSION_MIN_REQUIRED) || (NMA_VERSION_MIN_REQUIRED == 0) +# undef NMA_VERSION_MIN_REQUIRED +# define NMA_VERSION_MIN_REQUIRED (NMA_VERSION_CUR_STABLE) +#endif + +#if !defined (NMA_VERSION_MAX_ALLOWED) || (NMA_VERSION_MAX_ALLOWED == 0) +# undef NMA_VERSION_MAX_ALLOWED +# define NMA_VERSION_MAX_ALLOWED (NMA_VERSION_NEXT_STABLE) +#endif + +/* sanity checks */ +#if NMA_VERSION_MIN_REQUIRED > NMA_VERSION_NEXT_STABLE +#error "NMA_VERSION_MIN_REQUIRED must be <= NMA_VERSION_NEXT_STABLE" +#endif +#if NMA_VERSION_MAX_ALLOWED < NMA_VERSION_MIN_REQUIRED +#error "NMA_VERSION_MAX_ALLOWED must be >= NMA_VERSION_MIN_REQUIRED" +#endif +#if NMA_VERSION_MIN_REQUIRED < NMA_VERSION_1_2 +#error "NMA_VERSION_MIN_REQUIRED must be >= NMA_VERSION_1_2" +#endif + +#if NMA_VERSION_MIN_REQUIRED >= NMA_VERSION_1_2 +# define NMA_DEPRECATED_IN_1_2 G_DEPRECATED +# define NMA_DEPRECATED_IN_1_2_FOR(f) G_DEPRECATED_FOR(f) +#else +# define NMA_DEPRECATED_IN_1_2 +# define NMA_DEPRECATED_IN_1_2_FOR(f) +#endif + +#if NMA_VERSION_MIN_REQUIRED >= NMA_VERSION_1_8 +# define NMA_DEPRECATED_IN_1_8 G_DEPRECATED +# define NMA_DEPRECATED_IN_1_8_FOR(f) G_DEPRECATED_FOR(f) +#else +# define NMA_DEPRECATED_IN_1_8 +# define NMA_DEPRECATED_IN_1_8_FOR(f) +#endif + +#if NMA_VERSION_MAX_ALLOWED < NMA_VERSION_1_8 +# define NMA_AVAILABLE_IN_1_8 G_UNAVAILABLE(1,8) +#else +# define NMA_AVAILABLE_IN_1_8 +#endif + +#endif /* NMA_VERSION_H */ diff --git a/src/libnma/nma-wifi-dialog.h b/src/libnma/nma-wifi-dialog.h index 4c6addd3..bb7a8c19 100644 --- a/src/libnma/nma-wifi-dialog.h +++ b/src/libnma/nma-wifi-dialog.h @@ -28,6 +28,8 @@ #include <NetworkManager.h> +#include "nma-version.h" + #define NMA_TYPE_WIFI_DIALOG (nma_wifi_dialog_get_type ()) #define NMA_WIFI_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NMA_TYPE_WIFI_DIALOG, NMAWifiDialog)) #define NMA_WIFI_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NMA_TYPE_WIFI_DIALOG, NMAWifiDialogClass)) @@ -59,16 +61,16 @@ NMConnection * nma_wifi_dialog_get_connection (NMAWifiDialog *self, NMDevice **device, NMAccessPoint **ap); -GLIB_DEPRECATED +NMA_DEPRECATED_IN_1_2 GtkWidget * nma_wifi_dialog_nag_user (NMAWifiDialog *self); -GLIB_DEPRECATED +NMA_DEPRECATED_IN_1_2 void nma_wifi_dialog_set_nag_ignored (NMAWifiDialog *self, gboolean ignored); -GLIB_DEPRECATED +NMA_DEPRECATED_IN_1_2 gboolean nma_wifi_dialog_get_nag_ignored (NMAWifiDialog *self); -GLIB_DEPRECATED_FOR(nma_wifi_dialog_new_for_hidden) +NMA_DEPRECATED_IN_1_2_FOR(nma_wifi_dialog_new_for_hidden) GtkWidget *nma_wifi_dialog_new_for_other (NMClient *client); #endif /* NMA_WIFI_DIALOG_H */ |