diff --git a/gio/tests/max-version.c b/gio/tests/max-version.c new file mode 100644 index 000000000..b6735cea6 --- /dev/null +++ b/gio/tests/max-version.c @@ -0,0 +1,74 @@ +/* + * Copyright 2022 Collabora Ltd. + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * 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.1 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, see + * . + */ + +#ifndef GLIB_VERSION_MAX_ALLOWED +/* This is the oldest version macro available */ +#define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_26 +#define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_26 +#endif + +#include + +/* All the headers that can validly be included in third-party code */ +#include +#include + +#define G_SETTINGS_ENABLE_BACKEND +#include + +#ifdef G_OS_UNIX +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#endif + +#ifdef G_OS_WIN32 +#include +#include +#include +#endif + +#ifdef HAVE_COCOA +#include +#endif + +static void +nothing (void) +{ + /* This doesn't really do anything: the real "test" is at compile time. + * Just make sure the GIO library gets linked. */ + g_debug ("Loaded %s from GIO library", g_type_name (G_TYPE_CANCELLABLE)); +} + +int +main (int argc, + char *argv[]) +{ + g_test_init (&argc, &argv, NULL); + + g_test_add_func ("/max-version/tested-at-compile-time", nothing); + return g_test_run (); +} diff --git a/gio/tests/meson.build b/gio/tests/meson.build index 4ed8f6561..2014ee6e8 100644 --- a/gio/tests/meson.build +++ b/gio/tests/meson.build @@ -84,6 +84,7 @@ gio_tests = { }, 'inet-address' : {}, 'io-stream' : {}, + 'max-version' : {'install' : false}, 'memory-input-stream' : {}, 'memory-monitor' : {}, 'memory-output-stream' : {}, diff --git a/glib/tests/max-version.c b/glib/tests/max-version.c new file mode 100644 index 000000000..3b27adb2f --- /dev/null +++ b/glib/tests/max-version.c @@ -0,0 +1,50 @@ +/* + * Copyright 2022 Collabora Ltd. + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * 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.1 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, see + * . + */ + +#ifndef GLIB_VERSION_MAX_ALLOWED +/* This is the oldest version macro available */ +#define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_26 +#define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_26 +#endif + +/* All the headers that can validly be included in third-party code */ +#include +#include +#include +#include + +#ifdef G_OS_UNIX +#include +#endif + +static void +nothing (void) +{ + /* This doesn't really do anything: the real "test" is at compile time. */ +} + +int +main (int argc, + char *argv[]) +{ + g_test_init (&argc, &argv, NULL); + + g_test_add_func ("/max-version/tested-at-compile-time", nothing); + return g_test_run (); +} diff --git a/glib/tests/meson.build b/glib/tests/meson.build index 8b5c58b8c..a9d8c4951 100644 --- a/glib/tests/meson.build +++ b/glib/tests/meson.build @@ -56,6 +56,7 @@ glib_tests = { 'markup-collect' : {}, 'markup-escape' : {}, 'markup-subparser' : {}, + 'max-version' : {'install' : false}, 'memchunk' : {}, 'mem-overflow' : { 'link_args' : cc.get_id() == 'gcc' and cc.version().version_compare('> 6') diff --git a/gmodule/tests/max-version.c b/gmodule/tests/max-version.c new file mode 100644 index 000000000..bae63b7bb --- /dev/null +++ b/gmodule/tests/max-version.c @@ -0,0 +1,46 @@ +/* + * Copyright 2022 Collabora Ltd. + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * 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.1 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, see + * . + */ + +#ifndef GLIB_VERSION_MAX_ALLOWED +/* This is the oldest version macro available */ +#define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_26 +#define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_26 +#endif + +#include + +#include + +static void +nothing (void) +{ + /* This doesn't really do anything: the real "test" is at compile time. + * Just make sure the GModule library gets linked. */ + g_debug ("GModule supported: %s", g_module_supported () ? "yes" : "no"); +} + +int +main (int argc, + char *argv[]) +{ + g_test_init (&argc, &argv, NULL); + + g_test_add_func ("/max-version/tested-at-compile-time", nothing); + return g_test_run (); +} diff --git a/gmodule/tests/meson.build b/gmodule/tests/meson.build index a751f3185..9e4f5a39d 100644 --- a/gmodule/tests/meson.build +++ b/gmodule/tests/meson.build @@ -1,4 +1,5 @@ gmodule_tests = { + 'max-version' : {'install': false}, 'module-test-library' : { 'export_dynamic' : true, 'source': 'module-test.c', diff --git a/gobject/tests/max-version.c b/gobject/tests/max-version.c new file mode 100644 index 000000000..fa359503f --- /dev/null +++ b/gobject/tests/max-version.c @@ -0,0 +1,48 @@ +/* + * Copyright 2022 Collabora Ltd. + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * 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.1 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, see + * . + */ + +#ifndef GLIB_VERSION_MAX_ALLOWED +/* This is the oldest version macro available */ +#define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_26 +#define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_26 +#endif + +#include + +/* All the headers that can validly be included in third-party code */ +#include +#include + +static void +nothing (void) +{ + /* This doesn't really do anything: the real "test" is at compile time. + * Just make sure the GObject library gets linked. */ + g_debug ("Loaded %s", g_type_name (G_TYPE_OBJECT)); +} + +int +main (int argc, + char *argv[]) +{ + g_test_init (&argc, &argv, NULL); + + g_test_add_func ("/max-version/tested-at-compile-time", nothing); + return g_test_run (); +} diff --git a/gobject/tests/meson.build b/gobject/tests/meson.build index 09f23e8bf..8475b3aa2 100644 --- a/gobject/tests/meson.build +++ b/gobject/tests/meson.build @@ -47,6 +47,7 @@ gobject_tests = { 'source' : ['dynamictype.c', 'testmodule.c'], }, 'enums' : {}, + 'max-version' : {'install': false}, 'override' : {}, 'param' : {}, 'references' : {},