Currently our meson.build just makes the assumption that the libc is
going to provide RPC functions. This doesn't actually seem to be the
case on Fedora, which causes compilation to fail unexpectedly:

../../Projects/xserver/os/rpcauth.c:47:10: fatal error: rpc/rpc.h: No such file 
or directory
 #include <rpc/rpc.h>
          ^~~~~~~~~~~
compilation terminated.

So, in the event that we can't use libtirpc ensure that we actually
check whether or not the libc provides rpc/rpc.h. If it doesn't, raise
an error.

Signed-off-by: Lyude Paul <ly...@redhat.com>
---
 os/meson.build | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/os/meson.build b/os/meson.build
index eb8fcf55d..0e41f9c02 100644
--- a/os/meson.build
+++ b/os/meson.build
@@ -56,9 +56,13 @@ endif
 
 rpc_dep = []
 if get_option('secure-rpc')
-    # prefer libtirpc (if available), otherwise assume RPC functions are
+    # prefer libtirpc (if available), otherwise ensure RPC functions are
     # provided by libc.
     rpc_dep = dependency('libtirpc', required: false)
+    if not (rpc_dep.found() or cc.has_header('rpc/rpc.h'))
+        error('secure-rpc requested, but neither libtirpc or libc RPC support 
were found')
+    endif
+
     srcs_os += 'rpcauth.c'
 endif
 
-- 
2.17.1

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to