diff mbox series

[FFmpeg-devel,2/2] configure: disable locale use in spa plugin

Message ID 20231227162504.690730-2-abhishek.ojha@savoirfairelinux.com
State New
Headers show
Series [FFmpeg-devel,1/2] libavdevice/pipewiregrab: add pipewire based grab | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Abhishek Ojha Dec. 27, 2023, 4:25 p.m. UTC
This commit requires to resolve the compilation error of pipewiregrab
because Pipewire's spa plugin is requesting locale_t extension to
compile.
Which was added in POSIX 2008 but ffmpeg is using POSIX 2001 due to
which spa plugin complains. __LOCALE_C_ONLY flag is set to disable
the locale usage in spa plugin. Adding it in configure file fix both
the library test and source compilation issue.
Not sure if this is the right approach to fix the issue.
Feedback/Suggestions will be highly appreciated.

Signed-off-by: Abhishek Ojha <abhishek.ojha@savoirfairelinux.com>
---
 configure | 2 ++
 1 file changed, 2 insertions(+)

Comments

Rémi Denis-Courmont Dec. 28, 2023, 5:25 p.m. UTC | #1
Le 27 décembre 2023 17:25:03 GMT+01:00, Abhishek Ojha <abhishek.ojha@savoirfairelinux.com> a écrit :
>This commit requires to resolve the compilation error of pipewiregrab
>because Pipewire's spa plugin is requesting locale_t extension to
>compile.
>Which was added in POSIX 2008 but ffmpeg is using POSIX 2001 due to
>which spa plugin complains. __LOCALE_C_ONLY flag is set to disable
>the locale usage in spa plugin. Adding it in configure file fix both
>the library test and source compilation issue.
>Not sure if this is the right approach to fix the issue.
>Feedback/Suggestions will be highly appreciated.

AFAIK, glibc requires that macros with a single underscore be set by the external code before glibc headers, while those with two leading underscores are for internal glibc (header) use.

So then this seems undefined.

>
>Signed-off-by: Abhishek Ojha <abhishek.ojha@savoirfairelinux.com>
>---
> configure | 2 ++
> 1 file changed, 2 insertions(+)
>
>diff --git a/configure b/configure
>index 375327d5fa..442d004258 100755
>--- a/configure
>+++ b/configure
>@@ -7106,6 +7106,8 @@ if enabled libxcb; then
>     enabled libxcb_xfixes && check_pkg_config libxcb_xfixes xcb-xfixes xcb/xfixes.h xcb_xfixes_get_cursor_image
> fi
> 
>+# _POSIX_C_SOURCE=200112 doesn't support locale
>+add_cppflags -D__LOCALE_C_ONLY
> enabled libpipewire && check_pkg_config libpipewire "libpipewire-0.3 >= 0.3.40" pipewire/pipewire.h pw_init
> if enabled libpipewire; then
>     enabled libgio_unix && check_pkg_config libgio_unix gio-unix-2.0 gio/gio.h g_main_loop_new
diff mbox series

Patch

diff --git a/configure b/configure
index 375327d5fa..442d004258 100755
--- a/configure
+++ b/configure
@@ -7106,6 +7106,8 @@  if enabled libxcb; then
     enabled libxcb_xfixes && check_pkg_config libxcb_xfixes xcb-xfixes xcb/xfixes.h xcb_xfixes_get_cursor_image
 fi
 
+# _POSIX_C_SOURCE=200112 doesn't support locale
+add_cppflags -D__LOCALE_C_ONLY
 enabled libpipewire && check_pkg_config libpipewire "libpipewire-0.3 >= 0.3.40" pipewire/pipewire.h pw_init
 if enabled libpipewire; then
     enabled libgio_unix && check_pkg_config libgio_unix gio-unix-2.0 gio/gio.h g_main_loop_new