Latest pipewire.h defines "_(String)" in a pipewire specific way
After the latest Fedora update to 0.3.26-3.fc34
several projects such as Mutter complain about redefinition of _
. E.g.:
In file included from ../src/backends/meta-screen-cast.c:27:
/usr/include/pipewire-0.3/pipewire/pipewire.h:161: warning: "_" redefined
161 | #define _(String) (pw_gettext(String))
|
In file included from ../src/core/util-private.h:28,
from ../src/backends/meta-monitor-transform.h:25,
from ../src/backends/meta-monitor-manager-private.h:34,
from ../src/backends/meta-backend-private.h:39,
from ../src/backends/meta-screen-cast.h:28,
from ../src/backends/meta-screen-cast.c:25:
/usr/include/glib-2.0/glib/gi18n-lib.h:30: note: this is the location of the previous definition
30 | #define _(String) ((char *) g_dgettext (GETTEXT_PACKAGE, String))
I think it makes sense to not define such a commonly used name in a publicly exposed header.