From: Simon McVittie Date: Thu, 21 Apr 2022 13:35:44 +0000 (+0100) Subject: dbus: Move DBUS_ENABLE_EMBEDDED_TESTS to a new dbus-macros-internal.h X-Git-Tag: dbus-1.15.0~63^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f8e3736385a5530945b3dfd893dc888ede7d7ba3;p=thirdparty%2Fdbus.git dbus: Move DBUS_ENABLE_EMBEDDED_TESTS to a new dbus-macros-internal.h This avoids a circular dependency: I want to use DBUS_ENABLE_EMBEDDED_TESTS in dbus-string.h, but DBUS_ENABLE_EMBEDDED_TESTS was previously defined in dbus-internals.h, which depends on dbus-string.h. Signed-off-by: Simon McVittie --- diff --git a/dbus/CMakeLists.txt b/dbus/CMakeLists.txt index 9e3f0a148..2f56e62cf 100644 --- a/dbus/CMakeLists.txt +++ b/dbus/CMakeLists.txt @@ -135,6 +135,7 @@ set(DBUS_SHARED_HEADERS dbus-hash.h dbus-internals.h dbus-list.h + dbus-macros-internal.h dbus-marshal-basic.h dbus-mempool.h dbus-string.h diff --git a/dbus/Makefile.am b/dbus/Makefile.am index 7a71f4686..fbd817586 100644 --- a/dbus/Makefile.am +++ b/dbus/Makefile.am @@ -227,6 +227,7 @@ DBUS_SHARED_SOURCES= \ dbus-internals.h \ dbus-list.c \ dbus-list.h \ + dbus-macros-internal.h \ dbus-marshal-basic.c \ dbus-marshal-basic.h \ dbus-memory.c \ diff --git a/dbus/dbus-internals.h b/dbus/dbus-internals.h index 3b293b057..1ca0065d7 100644 --- a/dbus/dbus-internals.h +++ b/dbus/dbus-internals.h @@ -31,16 +31,11 @@ #include #include #include +#include #include DBUS_BEGIN_DECLS -#ifdef DBUS_ENABLE_EMBEDDED_TESTS -#define DBUS_EMBEDDED_TESTS_EXPORT DBUS_PRIVATE_EXPORT -#else -#define DBUS_EMBEDDED_TESTS_EXPORT /* nothing */ -#endif - DBUS_PRIVATE_EXPORT void _dbus_warn (const char *format, ...) _DBUS_GNUC_PRINTF (1, 2); diff --git a/dbus/dbus-macros-internal.h b/dbus/dbus-macros-internal.h new file mode 100644 index 000000000..d98891a8e --- /dev/null +++ b/dbus/dbus-macros-internal.h @@ -0,0 +1,36 @@ +/* + * Copyright © 2019 Collabora Ltd. + * SPDX-License-Identifier: AFL-2.1 or GPL-2.0-or-later + * + * Licensed under the Academic Free License version 2.1 + * + * 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, see . + */ + +#ifdef DBUS_INSIDE_DBUS_H +#error "You can't include dbus-macros-internal.h in the public header dbus.h" +#endif + +#ifndef DBUS_MACROS_INTERNAL_H +#define DBUS_MACROS_INTERNAL_H + +#include + +#ifdef DBUS_ENABLE_EMBEDDED_TESTS +# define DBUS_EMBEDDED_TESTS_EXPORT DBUS_PRIVATE_EXPORT +#else +# define DBUS_EMBEDDED_TESTS_EXPORT /* nothing */ +#endif + +#endif