mirror of https://gitee.com/openkylin/libvirt.git
virsh: workaround readline prototypes warnings
When building with clang 4.0.0, virsh build fails like this: gmake[3]: Entering directory '/usr/home/novel/code/libvirt/tools' CC virsh-virsh.o In file included from virsh.c:45: In file included from /usr/local/include/readline/readline.h:31: /usr/local/include/readline/rltypedefs.h:35:22: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] typedef int Function () __attribute__ ((deprecated)); ^ void /usr/local/include/readline/rltypedefs.h:36:24: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] typedef void VFunction () __attribute__ ((deprecated)); ^ void /usr/local/include/readline/rltypedefs.h:37:26: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] typedef char *CPFunction () __attribute__ ((deprecated)); ^ void /usr/local/include/readline/rltypedefs.h:38:28: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] typedef char **CPPFunction () __attribute__ ((deprecated)); ^ void In file included from virsh.c:45: /usr/local/include/readline/readline.h:385:23: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] extern int rl_message (); ^ void 5 errors generated. gmake[3]: *** [Makefile:2823: virsh-virsh.o] Error 1 Fix that by adding -D_FUNCTION_DEF to READLINE_CFLAGS to fix *Function related warnings and add a check for stdarg.h so we have HAVE_STDARG_H defined that's needed by the readline headers to use proper rl_message declaration. Bug report on the readline mailing list: http://lists.gnu.org/archive/html/bug-readline/2017-05/msg00004.html
This commit is contained in:
parent
5f44d7e357
commit
9ea3424a17
|
@ -328,7 +328,7 @@ dnl Availability of various common headers (non-fatal if missing).
|
|||
AC_CHECK_HEADERS([pwd.h regex.h sys/un.h \
|
||||
sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h \
|
||||
sys/un.h sys/syscall.h sys/sysctl.h netinet/tcp.h ifaddrs.h \
|
||||
libtasn1.h sys/ucred.h sys/mount.h])
|
||||
libtasn1.h sys/ucred.h sys/mount.h stdarg.h])
|
||||
dnl Check whether endian provides handy macros.
|
||||
AC_CHECK_DECLS([htole64], [], [], [[#include <endian.h>]])
|
||||
AC_CHECK_FUNCS([stat stat64 __xstat __xstat64 lstat lstat64 __lxstat __lxstat64])
|
||||
|
|
|
@ -45,7 +45,9 @@ AC_DEFUN([LIBVIRT_CHECK_READLINE],[
|
|||
# function, to ensure we aren't being confused by caching.
|
||||
LIBS=$lv_saved_libs
|
||||
AC_CHECK_LIB([readline], [rl_initialize],
|
||||
[], [READLINE_LIBS="$READLINE_LIBS $extra_LIBS"])
|
||||
[READLINE_CFLAGS="-D_FUNCTION_DEF $READLINE_CFLAGS"
|
||||
AC_SUBST(READLINE_CFLAGS)],
|
||||
[READLINE_LIBS="$READLINE_LIBS $extra_LIBS"])
|
||||
LIBS=$lv_saved_libs
|
||||
])
|
||||
|
||||
|
|
|
@ -244,7 +244,8 @@ virsh_CFLAGS = \
|
|||
$(WARN_CFLAGS) \
|
||||
$(PIE_CFLAGS) \
|
||||
$(COVERAGE_CFLAGS) \
|
||||
$(LIBXML_CFLAGS)
|
||||
$(LIBXML_CFLAGS) \
|
||||
$(READLINE_CFLAGS)
|
||||
|
||||
virt_admin_SOURCES = \
|
||||
virt-admin.c virt-admin.h \
|
||||
|
|
Loading…
Reference in New Issue