mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-23 21:34:54 +03:00
9ea3424a17
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
57 lines
1.9 KiB
Plaintext
57 lines
1.9 KiB
Plaintext
dnl The readline library
|
|
dnl
|
|
dnl Copyright (C) 2005-2013 Red Hat, Inc.
|
|
dnl
|
|
dnl This library is free software; you can redistribute it and/or
|
|
dnl modify it under the terms of the GNU Lesser General Public
|
|
dnl License as published by the Free Software Foundation; either
|
|
dnl version 2.1 of the License, or (at your option) any later version.
|
|
dnl
|
|
dnl This library is distributed in the hope that it will be useful,
|
|
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
dnl Lesser General Public License for more details.
|
|
dnl
|
|
dnl You should have received a copy of the GNU Lesser General Public
|
|
dnl License along with this library. If not, see
|
|
dnl <http://www.gnu.org/licenses/>.
|
|
dnl
|
|
|
|
AC_DEFUN([LIBVIRT_ARG_READLINE],[
|
|
LIBVIRT_ARG_WITH_FEATURE([READLINE], [readline], [check])
|
|
])
|
|
|
|
AC_DEFUN([LIBVIRT_CHECK_READLINE],[
|
|
extra_LIBS=
|
|
lv_saved_libs=$LIBS
|
|
if test "x$with_readline" != xno; then
|
|
# Linking with -lreadline may require some termcap-related code, e.g.,
|
|
# from one of the following libraries. Add it to LIBS before using
|
|
# canned library checks; then verify later if it was needed.
|
|
LIBS=
|
|
AC_SEARCH_LIBS([tgetent], [ncurses curses termcap termlib])
|
|
case $LIBS in
|
|
no*) ;; # handle "no" and "none required"
|
|
*) # anything else is a -lLIBRARY
|
|
extra_LIBS=$LIBS ;;
|
|
esac
|
|
LIBS="$lv_saved_libs $extra_LIBS"
|
|
fi
|
|
|
|
# The normal library check...
|
|
LIBVIRT_CHECK_LIB([READLINE], [readline], [readline], [readline/readline.h])
|
|
|
|
# Touch things up to avoid $extra_LIBS, if possible. Test a second
|
|
# function, to ensure we aren't being confused by caching.
|
|
LIBS=$lv_saved_libs
|
|
AC_CHECK_LIB([readline], [rl_initialize],
|
|
[READLINE_CFLAGS="-D_FUNCTION_DEF $READLINE_CFLAGS"
|
|
AC_SUBST(READLINE_CFLAGS)],
|
|
[READLINE_LIBS="$READLINE_LIBS $extra_LIBS"])
|
|
LIBS=$lv_saved_libs
|
|
])
|
|
|
|
AC_DEFUN([LIBVIRT_RESULT_READLINE],[
|
|
LIBVIRT_RESULT_LIB([READLINE])
|
|
])
|