From 7dde59b8d668993a3d1805a6ae949e36e0d3db1d Mon Sep 17 00:00:00 2001 From: Stefano Karapetsas Date: Thu, 31 Oct 2013 12:06:51 +0100 Subject: Add MATE_DESKTOP_CHECK_VERSION function --- configure.ac | 4 ++++ libmate-desktop/Makefile.am | 10 +++++++++- libmate-desktop/mate-desktop.h | 41 +++++++++++++++++++++++++++++++++++++++++ libmate-desktop/test.c | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 libmate-desktop/mate-desktop.h create mode 100644 libmate-desktop/test.c diff --git a/configure.ac b/configure.ac index abff60a..5807aeb 100644 --- a/configure.ac +++ b/configure.ac @@ -55,6 +55,10 @@ AC_SUBST(MATE_DATE) AC_SUBST(MATE_DATE_COMMENT_START) AC_SUBST(MATE_DATE_COMMENT_END) +AC_DEFINE(MATE_MAJOR, [mate_platform], [Define to the major version]) +AC_DEFINE(MATE_MINOR, [mate_minor], [Define to the minor version]) +AC_DEFINE(MATE_MICRO, [mate_micro], [Define to the micro version]) + MATE_COMMON_INIT MATE_DEBUG_CHECK MATE_COMPILE_WARNINGS([maximum]) diff --git a/libmate-desktop/Makefile.am b/libmate-desktop/Makefile.am index 3854e81..98c9c00 100644 --- a/libmate-desktop/Makefile.am +++ b/libmate-desktop/Makefile.am @@ -1,5 +1,6 @@ libmate_desktopdir = $(includedir)/mate-desktop-2.0/libmate-desktop libmate_desktop_HEADERS = \ + mate-desktop.h \ mate-desktop-utils.h \ mate-desktop-item.h \ mate-dconf.h \ @@ -24,7 +25,7 @@ AM_CPPFLAGS = \ AM_CFLAGS = $(WARN_CFLAGS) -noinst_PROGRAMS = test-ditem +noinst_PROGRAMS = test-ditem test libmate_desktop_2_la_SOURCES = \ mate-desktop-item.c \ @@ -53,6 +54,13 @@ libmate_desktop_2_la_LDFLAGS = \ -version-info $(LT_VERSION) \ -no-undefined +test_SOURCES = \ + test.c + +test_LDADD = \ + libmate-desktop-2.la \ + $(MATE_DESKTOP_LIBS) + test_ditem_SOURCES = \ test-ditem.c diff --git a/libmate-desktop/mate-desktop.h b/libmate-desktop/mate-desktop.h new file mode 100644 index 0000000..6abe536 --- /dev/null +++ b/libmate-desktop/mate-desktop.h @@ -0,0 +1,41 @@ +/* + * mate-desktop.h: general functions for libmate-desktop + * + * Copyright (C) 2013 Stefano Karapetsas + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301, USA. + * + * Authors: + * Stefano Karapetsas + */ + +#ifndef __MATE_DESKTOP_H__ +#define __MATE_DESKTOP_H__ + +#include +#include + +G_BEGIN_DECLS + +#define MATE_DESKTOP_CHECK_VERSION(major,minor,micro) \ + (MATE_MAJOR > (major) || \ + (MATE_MAJOR == (major) && MATE_MINOR > (minor)) || \ + (MATE_MAJOR == (major) && MATE_MINOR == (minor) && \ + MATE_MICRO >= (micro))) + +G_END_DECLS + +#endif /* __MATE_DESKTOP_H__ */ diff --git a/libmate-desktop/test.c b/libmate-desktop/test.c new file mode 100644 index 0000000..75f0c38 --- /dev/null +++ b/libmate-desktop/test.c @@ -0,0 +1,37 @@ +/* + * test.c: general tests for libmate-desktop + * + * Copyright (C) 2013 Stefano Karapetsas + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + * Authors: + * Stefano Karapetsas + */ + +#include +#include "mate-desktop.h" + +int +main (int argc, char **argv) +{ +#if MATE_DESKTOP_CHECK_VERSION (1, 7, 2) + return 0; +#else + g_warning ("Old mate-desktop version!"); + return 1; +#endif +} -- cgit v1.2.1