[gnome-desktop] Include a #define with PLATFORM version



commit 1bf4f9863f14edd8c29acc7f4bc3d6b4f36c4d85
Author: Sergio Costas <sergio costas rastersoft com>
Date:   Wed Mar 16 00:04:05 2022 +0000

    Include a #define with PLATFORM version

 libgnome-desktop/gnome-bg-crossfade.h       |  1 +
 libgnome-desktop/gnome-bg-slide-show.h      |  1 +
 libgnome-desktop/gnome-bg.h                 |  1 +
 libgnome-desktop/gnome-desktop-thumbnail.h  |  1 +
 libgnome-desktop/gnome-desktop-version.c    | 41 +++++++++++++++++++++++++++++
 libgnome-desktop/gnome-desktop-version.h.in | 29 ++++++++++++++++++++
 libgnome-desktop/gnome-idle-monitor.h       |  1 +
 libgnome-desktop/gnome-languages.h          |  1 +
 libgnome-desktop/gnome-pnp-ids.h            |  1 +
 libgnome-desktop/gnome-rr-config.h          |  1 +
 libgnome-desktop/gnome-rr.h                 |  1 +
 libgnome-desktop/gnome-systemd.h            |  1 +
 libgnome-desktop/gnome-wall-clock.h         |  1 +
 libgnome-desktop/gnome-xkb-info.h           |  1 +
 libgnome-desktop/meson.build                | 10 +++++++
 meson.build                                 |  4 +--
 16 files changed, 94 insertions(+), 2 deletions(-)
---
diff --git a/libgnome-desktop/gnome-bg-crossfade.h b/libgnome-desktop/gnome-bg-crossfade.h
index 119047da..2a04b122 100644
--- a/libgnome-desktop/gnome-bg-crossfade.h
+++ b/libgnome-desktop/gnome-bg-crossfade.h
@@ -30,6 +30,7 @@
 #endif
 
 #include <gdk/gdk.h>
+#include <libgnome-desktop/gnome-desktop-version.h>
 
 G_BEGIN_DECLS
 
diff --git a/libgnome-desktop/gnome-bg-slide-show.h b/libgnome-desktop/gnome-bg-slide-show.h
index 58eb5b96..41e4a9ae 100644
--- a/libgnome-desktop/gnome-bg-slide-show.h
+++ b/libgnome-desktop/gnome-bg-slide-show.h
@@ -30,6 +30,7 @@
 #endif
 
 #include <gio/gio.h>
+#include <libgnome-desktop/gnome-desktop-version.h>
 
 G_BEGIN_DECLS
 
diff --git a/libgnome-desktop/gnome-bg.h b/libgnome-desktop/gnome-bg.h
index a51ccbee..f983ee02 100644
--- a/libgnome-desktop/gnome-bg.h
+++ b/libgnome-desktop/gnome-bg.h
@@ -35,6 +35,7 @@
 #include <libgnome-desktop/gnome-desktop-thumbnail.h>
 #include <libgnome-desktop/gnome-bg-crossfade.h>
 #include <gdesktop-enums.h>
+#include <libgnome-desktop/gnome-desktop-version.h>
 
 G_BEGIN_DECLS
 
diff --git a/libgnome-desktop/gnome-desktop-thumbnail.h b/libgnome-desktop/gnome-desktop-thumbnail.h
index 1735658b..a9dcb6e0 100644
--- a/libgnome-desktop/gnome-desktop-thumbnail.h
+++ b/libgnome-desktop/gnome-desktop-thumbnail.h
@@ -34,6 +34,7 @@
 #include <glib-object.h>
 #include <time.h>
 #include <gdk-pixbuf/gdk-pixbuf.h>
+#include <libgnome-desktop/gnome-desktop-version.h>
 
 G_BEGIN_DECLS
 
diff --git a/libgnome-desktop/gnome-desktop-version.c b/libgnome-desktop/gnome-desktop-version.c
new file mode 100644
index 00000000..5c3baa5f
--- /dev/null
+++ b/libgnome-desktop/gnome-desktop-version.c
@@ -0,0 +1,41 @@
+/* gnome-desktop-version.c
+ *
+ * Copyright (C) 2022 Sergio Costas
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License
+ * as published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ *
+ */
+
+#include <libgnome-desktop/gnome-desktop-version.h>
+
+/**
+ * gnome_get_platform_version:
+ *
+ * Returns an integer with the major version of GNOME. Useful for
+ * dynamic languages like Javascript or Python (static languages like
+ * C should use %GNOME_DESKTOP_PLATFORM_VERSION). If this
+ * function doesn't exist, it can be presumed that the GNOME platform
+ * version is 42 or previous.
+ *
+ * Return value: an integer with the major version of GNOME.
+ *
+ * Since: 43.0
+ **/
+int
+gnome_get_platform_version (void)
+{
+  return GNOME_DESKTOP_PLATFORM_VERSION;
+}
diff --git a/libgnome-desktop/gnome-desktop-version.h.in b/libgnome-desktop/gnome-desktop-version.h.in
new file mode 100644
index 00000000..839cf420
--- /dev/null
+++ b/libgnome-desktop/gnome-desktop-version.h.in
@@ -0,0 +1,29 @@
+/* gnome-desktop-version.h
+ *
+ * Copyright (C) 2022 Sergio Costas
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public License
+ * as published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ *
+ */
+
+#ifndef __GNOME_DESKTOP_VERSION_H__
+#define __GNOME_DESKTOP_VERSION_H__
+
+#define GNOME_DESKTOP_PLATFORM_VERSION @GNOME_PLATFORM@
+
+int gnome_get_platform_version (void);
+#endif
+
diff --git a/libgnome-desktop/gnome-idle-monitor.h b/libgnome-desktop/gnome-idle-monitor.h
index 1e464232..2c99df99 100644
--- a/libgnome-desktop/gnome-idle-monitor.h
+++ b/libgnome-desktop/gnome-idle-monitor.h
@@ -28,6 +28,7 @@
 #endif
 
 #include <glib-object.h>
+#include <libgnome-desktop/gnome-desktop-version.h>
 
 G_BEGIN_DECLS
 
diff --git a/libgnome-desktop/gnome-languages.h b/libgnome-desktop/gnome-languages.h
index 97f4af55..ed0935c8 100644
--- a/libgnome-desktop/gnome-languages.h
+++ b/libgnome-desktop/gnome-languages.h
@@ -28,6 +28,7 @@
 #endif
 
 #include <glib.h>
+#include <libgnome-desktop/gnome-desktop-version.h>
 
 G_BEGIN_DECLS
 
diff --git a/libgnome-desktop/gnome-pnp-ids.h b/libgnome-desktop/gnome-pnp-ids.h
index e204b210..74d0ef68 100644
--- a/libgnome-desktop/gnome-pnp-ids.h
+++ b/libgnome-desktop/gnome-pnp-ids.h
@@ -21,6 +21,7 @@
 #define __GNOME_PNP_IDS_H
 
 #include <glib-object.h>
+#include <libgnome-desktop/gnome-desktop-version.h>
 
 G_BEGIN_DECLS
 
diff --git a/libgnome-desktop/gnome-rr-config.h b/libgnome-desktop/gnome-rr-config.h
index e9e2316c..68665fa4 100644
--- a/libgnome-desktop/gnome-rr-config.h
+++ b/libgnome-desktop/gnome-rr-config.h
@@ -33,6 +33,7 @@
 #include <glib.h>
 #include <glib-object.h>
 #include <libgnome-desktop/gnome-rr.h>
+#include <libgnome-desktop/gnome-desktop-version.h>
 
 typedef struct _GnomeRROutputInfo GnomeRROutputInfo;
 typedef struct _GnomeRROutputInfoClass GnomeRROutputInfoClass;
diff --git a/libgnome-desktop/gnome-rr.h b/libgnome-desktop/gnome-rr.h
index 815aba9f..f038b999 100644
--- a/libgnome-desktop/gnome-rr.h
+++ b/libgnome-desktop/gnome-rr.h
@@ -31,6 +31,7 @@
 
 #include <glib.h>
 #include <gdk/gdk.h>
+#include <libgnome-desktop/gnome-desktop-version.h>
 
 typedef struct GnomeRRScreenPrivate GnomeRRScreenPrivate;
 typedef struct GnomeRROutput GnomeRROutput;
diff --git a/libgnome-desktop/gnome-systemd.h b/libgnome-desktop/gnome-systemd.h
index 5d403b4f..65212159 100644
--- a/libgnome-desktop/gnome-systemd.h
+++ b/libgnome-desktop/gnome-systemd.h
@@ -26,6 +26,7 @@
 #endif
 
 #include <gio/gio.h>
+#include <libgnome-desktop/gnome-desktop-version.h>
 
 void gnome_start_systemd_scope (const char           *name,
                                 gint32                pid,
diff --git a/libgnome-desktop/gnome-wall-clock.h b/libgnome-desktop/gnome-wall-clock.h
index 95495047..7627248d 100644
--- a/libgnome-desktop/gnome-wall-clock.h
+++ b/libgnome-desktop/gnome-wall-clock.h
@@ -32,6 +32,7 @@
 
 #include <gio/gio.h>
 #include <gdesktop-enums.h>
+#include <libgnome-desktop/gnome-desktop-version.h>
 
 G_BEGIN_DECLS
 
diff --git a/libgnome-desktop/gnome-xkb-info.h b/libgnome-desktop/gnome-xkb-info.h
index 938bc313..80e9156c 100644
--- a/libgnome-desktop/gnome-xkb-info.h
+++ b/libgnome-desktop/gnome-xkb-info.h
@@ -29,6 +29,7 @@
 #include <stdio.h>
 
 #include <glib-object.h>
+#include <libgnome-desktop/gnome-desktop-version.h>
 
 G_BEGIN_DECLS
 
diff --git a/libgnome-desktop/meson.build b/libgnome-desktop/meson.build
index 2aaf81b1..e81530ed 100644
--- a/libgnome-desktop/meson.build
+++ b/libgnome-desktop/meson.build
@@ -27,6 +27,12 @@ conf.set('HAVE_OPENAT', cc.has_function('openat'))
 conf.set('HAVE_USELOCALE', cc.has_function('uselocale'))
 conf.set('HAVE_XLOCALE', cc.has_header('xlocale.h'))
 
+gnome_desktop_header_file = configure_file(
+  input: 'gnome-desktop-version.h.in',
+  output: 'gnome-desktop-version.h',
+  configuration: version_conf,
+)
+
 configure_file(
   output: 'config.h',
   configuration: conf,
@@ -53,6 +59,7 @@ endif
 
 ### gnome-desktop-base
 libgnome_desktop_base_sources = [
+  'gnome-desktop-version.c',
   'gnome-desktop-thumbnail.c',
   'gnome-idle-monitor.c',
   'gnome-languages.c',
@@ -69,6 +76,7 @@ libgnome_desktop_base_private_sources = [
 ]
 
 libgnome_desktop_base_headers = [
+  gnome_desktop_header_file,
   'gnome-desktop-thumbnail.h',
   'gnome-idle-monitor.h',
   'gnome-languages.h',
@@ -158,6 +166,7 @@ endif
 ### Legacy ###
 if get_option('legacy_library')
   introspection_sources = [
+    'gnome-desktop-version.c',
     'gnome-desktop-thumbnail.c',
     'gnome-bg.c',
     'gnome-bg-slide-show.c',
@@ -183,6 +192,7 @@ if get_option('legacy_library')
   ]
 
   libgnome_desktop_headers = [
+    gnome_desktop_header_file,
     'gnome-bg.h',
     'gnome-bg-crossfade.h',
     'gnome-bg-slide-show.h',
diff --git a/meson.build b/meson.build
index 14bb5e27..1f3997dc 100644
--- a/meson.build
+++ b/meson.build
@@ -17,11 +17,11 @@ project('gnome-desktop', 'c',
 # to 0. When bumping the second version, set the third one to zero.
 #
 # A lot easier than libtool, right?
-libversion = '1.2.1'
+libversion = '1.3.0'
 soversion = libversion.split('.')[0]
 
 # Compatibility versions for libgnome-desktop-3
-compat_libversion = '19.3.0'
+compat_libversion = '19.4.0'
 compat_soversion = compat_libversion.split('.')[0]
 
 gdk_pixbuf_req = '>= 2.36.5'


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]