From: Michal Privoznik <[email protected]>

In previous commit of v12.0.0-85-g2c66b6d72c we've tried to solve
a problem where xdrproc_t is a prototype of a function which
takes only two arguments instead of three. See original commit
for more info. The fix consists of a config time check and
setting XDRPROC_T_3ARGS accordingly (in meson-config.h). This
works for nearly all of our code, except rpcgen which is
intentionally independent of the rest of the code. Therefore, the
macro has to be set extra - by specifying it on the compiler cmd
line.

Fixes: 2c66b6d72cd48d3cf80f957f55cfb1548feb46c4
Signed-off-by: Michal Privoznik <[email protected]>
---
 scripts/rpcgen/tests/meson.build | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/rpcgen/tests/meson.build b/scripts/rpcgen/tests/meson.build
index 057a61433d..4df7471a99 100644
--- a/scripts/rpcgen/tests/meson.build
+++ b/scripts/rpcgen/tests/meson.build
@@ -4,13 +4,17 @@ rpcgen_tests = files([
   'test_parser.py',
 ])
 
+xdrproc_flags = []
+if conf.has('XDRPROC_T_3ARGS')
+  xdrproc_flags += [ '-DXDRPROC_T_3ARGS' ]
+endif
 
 test_demo = executable(
   'test_demo',
   [ 'test_demo.c' ],
   c_args: [
     '-Dabs_srcdir="@0@"'.format(meson.current_source_dir()),
-  ] + cc_flags_relaxed_frame_limit,
+  ] + cc_flags_relaxed_frame_limit + xdrproc_flags,
   dependencies: [
     xdr_dep, glib_dep
   ],
-- 
2.52.0

Reply via email to