[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] autoconf: add check for curses library
# HG changeset patch # User Roger Pau Monne <roger.pau@xxxxxxxxxxxxx> # Date 1331652215 0 # Node ID 703a339e11abf1ea14ee528f4194b308fcb3ea88 # Parent 5d20d2f6ffed0a49f030f04a8870f1926babbcbf autoconf: add check for curses library Check for a curses compatible library (curses or ncurses basically). One of those is needed to compile Xen tools (gtraceview and xentop). Modify Makefiles/sources to use configure output (fetch CURSES_LIBS from tools/Tools.mk and header to include from tools/config.h) Signed-off-by: Roger Pau Monne <roger.pau@xxxxxxxxxxxxx> Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- diff -r 5d20d2f6ffed -r 703a339e11ab config/NetBSD.mk --- a/config/NetBSD.mk Fri Mar 09 16:54:24 2012 +0000 +++ b/config/NetBSD.mk Tue Mar 13 15:23:35 2012 +0000 @@ -1,8 +1,6 @@ include $(XEN_ROOT)/config/StdGNU.mk # Override settings for this OS -CURSES_LIBS = -lcurses - LIBLEAFDIR_x86_64 = lib LIBEXEC = $(PREFIX)/libexec PRIVATE_BINDIR = $(BINDIR) diff -r 5d20d2f6ffed -r 703a339e11ab config/StdGNU.mk --- a/config/StdGNU.mk Fri Mar 09 16:54:24 2012 +0000 +++ b/config/StdGNU.mk Tue Mar 13 15:23:35 2012 +0000 @@ -67,7 +67,6 @@ XEN_SCRIPT_DIR = $(XEN_CONFIG_DIR)/scripts SOCKET_LIBS = -CURSES_LIBS = -lncurses PTHREAD_LIBS = -lpthread UTIL_LIBS = -lutil DLOPEN_LIBS = -ldl diff -r 5d20d2f6ffed -r 703a339e11ab config/SunOS.mk --- a/config/SunOS.mk Fri Mar 09 16:54:24 2012 +0000 +++ b/config/SunOS.mk Tue Mar 13 15:23:35 2012 +0000 @@ -47,7 +47,6 @@ SunOS_LIBDIR_x86_64 = /usr/sfw/lib/amd64 SOCKET_LIBS = -lsocket -CURSES_LIBS = -lcurses PTHREAD_LIBS = -lpthread UTIL_LIBS = DLOPEN_LIBS = -ldl diff -r 5d20d2f6ffed -r 703a339e11ab config/Tools.mk.in --- a/config/Tools.mk.in Fri Mar 09 16:54:24 2012 +0000 +++ b/config/Tools.mk.in Tue Mar 13 15:23:35 2012 +0000 @@ -43,3 +43,4 @@ CONFIG_LIBICONV := @libiconv@ CONFIG_GCRYPT := @libgcrypt@ CONFIG_EXT2FS := @libext2fs@ +CURSES_LIBS := @CURSES_LIBS@ diff -r 5d20d2f6ffed -r 703a339e11ab tools/config.h.in --- a/tools/config.h.in Fri Mar 09 16:54:24 2012 +0000 +++ b/tools/config.h.in Tue Mar 13 15:23:35 2012 +0000 @@ -14,3 +14,6 @@ /* Define to 1 if you have the <yajl/yajl_version.h> header file. */ #undef HAVE_YAJL_YAJL_VERSION_H + +/* Define curses header to include. */ +#undef INCLUDE_CURSES_H diff -r 5d20d2f6ffed -r 703a339e11ab tools/configure --- a/tools/configure Fri Mar 09 16:54:24 2012 +0000 +++ b/tools/configure Tue Mar 13 15:23:35 2012 +0000 @@ -611,6 +611,7 @@ PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG +CURSES_LIBS PYTHONPATH OCAMLBUILD OCAMLDOC @@ -3904,6 +3905,8 @@ # PKG_CHECK_MODULES + + # Enable/disable options # Check whether --enable-githttp was given. if test "${enable_githttp+set}" = set; then : @@ -6227,6 +6230,132 @@ fi +ac_fn_c_check_header_mongrel "$LINENO" "curses.h" "ac_cv_header_curses_h" "$ac_includes_default" +if test "x$ac_cv_header_curses_h" = x""yes; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clear in -lcurses" >&5 +$as_echo_n "checking for clear in -lcurses... " >&6; } +if test "${ac_cv_lib_curses_clear+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcurses $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char clear (); +int +main () +{ +return clear (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_curses_clear=yes +else + ac_cv_lib_curses_clear=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curses_clear" >&5 +$as_echo "$ac_cv_lib_curses_clear" >&6; } +if test "x$ac_cv_lib_curses_clear" = x""yes; then : + curses="y" +else + curses="n" +fi + + +else + curses="n" +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "ncurses.h" "ac_cv_header_ncurses_h" "$ac_includes_default" +if test "x$ac_cv_header_ncurses_h" = x""yes; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clear in -lncurses" >&5 +$as_echo_n "checking for clear in -lncurses... " >&6; } +if test "${ac_cv_lib_ncurses_clear+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lncurses $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char clear (); +int +main () +{ +return clear (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ncurses_clear=yes +else + ac_cv_lib_ncurses_clear=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_clear" >&5 +$as_echo "$ac_cv_lib_ncurses_clear" >&6; } +if test "x$ac_cv_lib_ncurses_clear" = x""yes; then : + ncurses="y" +else + ncurses="n" +fi + + +else + ncurses="n" +fi + + +if test "$curses" = "n" && test "$ncurses" = "n"; then : + + as_fn_error $? "Unable to find a suitable curses library" "$LINENO" 5 + +fi +# Prefer ncurses over curses if both are present +if test "$ncurses" = "y"; then : + + CURSES_LIBS="-lncurses" + +$as_echo "#define INCLUDE_CURSES_H <ncurses.h>" >>confdefs.h + + +else + + CURSES_LIBS="-lcurses" + +$as_echo "#define INCLUDE_CURSES_H <curses.h>" >>confdefs.h + + +fi + + + diff -r 5d20d2f6ffed -r 703a339e11ab tools/configure.ac --- a/tools/configure.ac Fri Mar 09 16:54:24 2012 +0000 +++ b/tools/configure.ac Tue Mar 13 15:23:35 2012 +0000 @@ -33,6 +33,7 @@ m4_include([m4/set_cflags_ldflags.m4]) m4_include([m4/uuid.m4]) m4_include([m4/pkg.m4]) +m4_include([m4/curses.m4]) # Enable/disable options AX_ARG_ENABLE_AND_EXPORT([githttp], [Download GIT repositories via HTTP]) @@ -98,6 +99,7 @@ ]) AX_PATH_PROG_OR_FAIL([XGETTEXT], [xgettext]) AX_CHECK_UUID +AX_CHECK_CURSES PKG_CHECK_MODULES(glib, glib-2.0) # Check library path diff -r 5d20d2f6ffed -r 703a339e11ab tools/m4/curses.m4 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/m4/curses.m4 Tue Mar 13 15:23:35 2012 +0000 @@ -0,0 +1,20 @@ +AC_DEFUN([AX_CHECK_CURSES], [ +AC_CHECK_HEADER([curses.h], [ + AC_CHECK_LIB([curses], [clear], [curses="y"], [curses="n"]) +], [curses="n"]) +AC_CHECK_HEADER([ncurses.h], [ + AC_CHECK_LIB([ncurses], [clear], [ncurses="y"], [ncurses="n"]) +], [ncurses="n"]) +AS_IF([test "$curses" = "n" && test "$ncurses" = "n"], [ + AC_MSG_ERROR([Unable to find a suitable curses library]) +]) +# Prefer ncurses over curses if both are present +AS_IF([test "$ncurses" = "y"], [ + CURSES_LIBS="-lncurses" + AC_DEFINE([INCLUDE_CURSES_H], [<ncurses.h>], [Define curses header to use]) +], [ + CURSES_LIBS="-lcurses" + AC_DEFINE([INCLUDE_CURSES_H], [<curses.h>], [Define curses header to use]) +]) +AC_SUBST(CURSES_LIBS) +]) diff -r 5d20d2f6ffed -r 703a339e11ab tools/misc/Makefile --- a/tools/misc/Makefile Fri Mar 09 16:54:24 2012 +0000 +++ b/tools/misc/Makefile Tue Mar 13 15:23:35 2012 +0000 @@ -27,6 +27,9 @@ INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool INSTALL_SBIN := $(INSTALL_SBIN-y) +# Include configure output (config.h) to headers search path +CFLAGS += -I$(XEN_ROOT)/tools + .PHONY: all all: build diff -r 5d20d2f6ffed -r 703a339e11ab tools/misc/gtraceview.c --- a/tools/misc/gtraceview.c Fri Mar 09 16:54:24 2012 +0000 +++ b/tools/misc/gtraceview.c Tue Mar 13 15:23:35 2012 +0000 @@ -16,6 +16,9 @@ * Place - Suite 330, Boston, MA 02111-1307 USA. */ +/* Include output from configure */ +#include <config.h> + #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -30,12 +33,8 @@ #include <xenctrl.h> #include <xen/trace.h> -#ifdef __linux__ -#include <ncurses.h> -#endif -#ifdef __NetBSD__ -#include <curses.h> -#endif +/* get curses header from configure */ +#include INCLUDE_CURSES_H /********** MACROS **********/ #define MAX_CPU_NR 32 diff -r 5d20d2f6ffed -r 703a339e11ab tools/xenstat/xentop/Makefile --- a/tools/xenstat/xentop/Makefile Fri Mar 09 16:54:24 2012 +0000 +++ b/tools/xenstat/xentop/Makefile Tue Mar 13 15:23:35 2012 +0000 @@ -22,6 +22,9 @@ LDLIBS += $(LDLIBS_libxenstat) $(CURSES_LIBS) $(SOCKET_LIBS) CFLAGS += -DHOST_$(XEN_OS) +# Include configure output (config.h) to headers search path +CFLAGS += -I$(XEN_ROOT)/tools + .PHONY: all all: xentop diff -r 5d20d2f6ffed -r 703a339e11ab tools/xenstat/xentop/xentop.c --- a/tools/xenstat/xentop/xentop.c Fri Mar 09 16:54:24 2012 +0000 +++ b/tools/xenstat/xentop/xentop.c Tue Mar 13 15:23:35 2012 +0000 @@ -18,7 +18,13 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include <curses.h> + +/* Include output from configure */ +#include <config.h> + +/* get curses header from configure */ +#include INCLUDE_CURSES_H + #include <ctype.h> #include <errno.h> #include <stdio.h> _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |