From: Noel Power Date: Thu, 15 Mar 2018 16:46:39 +0000 (+0000) Subject: lib:replace: Fix linking when libtirpc-devel overwrites system headers X-Git-Tag: talloc-2.1.12~51 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=618c714b6b6c0b63993299b40b9a466adb753cc2;p=thirdparty%2Fsamba.git lib:replace: Fix linking when libtirpc-devel overwrites system headers Some systems (like SUSE currently) install the new tirpc headers by overwritting the existing system location used by gcc. This patch will detect if the headers in the system location belong to tirpc or not. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13341 Signed-off-by: Noel Power Reviewed-by: Andreas Schneider Reviewed-by: Alexander Bokovoy Autobuild-User(master): Andreas Schneider Autobuild-Date(master): Tue Mar 20 16:07:05 CET 2018 on sn-devel-144 --- diff --git a/lib/replace/wscript b/lib/replace/wscript index 534062ec717..66398970da3 100644 --- a/lib/replace/wscript +++ b/lib/replace/wscript @@ -68,7 +68,15 @@ def configure(conf): conf.CHECK_HEADERS('aio.h sys/unistd.h alloca.h float.h') conf.SET_TARGET_TYPE('tirpc', 'EMPTY') - conf.CHECK_HEADERS('rpc/rpc.h rpc/nettype.h') + + if conf.CHECK_CODE( + '\n#ifndef _TIRPC_RPC_H\n#error "no tirpc headers in system path"\n#endif\n', + 'HAVE_RPC_RPC_HEADERS', + headers=['rpc/rpc.h', 'rpc/nettype.h'], + msg='Checking for tirpc rpc headers in default system path'): + if conf.CONFIG_SET('HAVE_RPC_RPC_H'): + conf.undefine('HAVE_RPC_RPC_H') + if not conf.CONFIG_SET('HAVE_RPC_RPC_H'): if conf.CHECK_CFG(package='libtirpc', args='--cflags --libs', msg='Checking for libtirpc headers',