X-Git-Url: https://git.octo.it/?p=liboping.git;a=blobdiff_plain;f=configure.ac;h=6ac83f9d9638197ed8bb688367e172cb1fce11e4;hp=6eb4b4b9aa4b8af98abe7a53875855e7ef36ce2a;hb=HEAD;hpb=000eb200d0863e81e34dd19aa44103f2b44c4abe diff --git a/configure.ac b/configure.ac index 6eb4b4b..6ac83f9 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,11 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.65]) -AC_INIT([liboping],[1.6.2]) +AC_INIT([liboping], + [1.10.0], + [liboping@verplant.org], + [], + [http://noping.cc/]) AC_CONFIG_SRCDIR([src/liboping.c]) AC_CONFIG_HEADERS([src/config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -19,9 +23,9 @@ AC_SUBST(LIBOPING_MINOR) AC_SUBST(LIBOPING_PATCH) # ABI version -LIBOPING_CURRENT=2 -LIBOPING_REVISION=9 -LIBOPING_AGE=2 +LIBOPING_CURRENT=3 +LIBOPING_REVISION=0 +LIBOPING_AGE=3 AC_SUBST(LIBOPING_CURRENT) AC_SUBST(LIBOPING_REVISION) AC_SUBST(LIBOPING_AGE) @@ -45,6 +49,16 @@ AC_ARG_VAR(PERL, [Perl interpreter command]) # configure libtool LT_INIT([dlopen]) +# pkg-config interface +# PKG_INSTALLDIR is only available for pkg-config >= 0.27 +m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], []) + +AC_ARG_WITH(pkgconfigdir, + AC_HELP_STRING([--with-pkgconfigdir], [Use the specified pkgconfig dir (default is libdir/pkgconfig)]), + [pkgconfigdir="${withval}"], + [pkgconfigdir='${libdir}/pkgconfig']) +AC_SUBST([pkgconfigdir]) + # Checks for header files. AC_HEADER_STDC AC_HEADER_TIME @@ -161,12 +175,16 @@ AC_TYPE_UINT16_T AC_TYPE_UINT32_T AC_TYPE_UINT8_T +LIBOPING_PC_LIBS_PRIVATE='' + socket_needs_socket="no" AC_CHECK_FUNCS(socket, [], AC_CHECK_LIB(socket, socket, [socket_needs_socket="yes"], AC_MSG_ERROR(cannot find socket))) -AM_CONDITIONAL(BUILD_WITH_LIBSOCKET, test "x$socket_needs_socket" = "xyes") +if test "x$socket_needs_socket" = "xyes"; then + LIBOPING_PC_LIBS_PRIVATE="${LIBOPING_PC_LIBS_PRIVATE} -lsocket" +fi # Under Solaris, the `xnet' library provides `recvmsg' which complies with the # X/Open CAE Specification. @@ -176,22 +194,39 @@ if test "x$with_libxnet" = "xyes" then CPPFLAGS="$CPPFLAGS -D_XPG4_2 -D__EXTENSIONS__" fi -AM_CONDITIONAL(BUILD_WITH_LIBXNET, test "x$with_libxnet" = "xyes") - -nanosleep_needs_rt="no" -AC_CHECK_FUNCS(nanosleep, [], - AC_CHECK_LIB(rt, nanosleep, - [nanosleep_needs_rt="yes"], - AC_MSG_ERROR(cannot find nanosleep))) -AM_CONDITIONAL(BUILD_WITH_LIBRT, test "x$nanosleep_needs_rt" = "xyes") - -with_ncurses="yes" -AC_CHECK_HEADERS(ncursesw/ncurses.h, [with_ncurses="yes"], [with_ncurses="no"]) -if test "x$with_ncurses" = "xyes" -then - AC_CHECK_LIB(ncursesw, mvwprintw, [with_ncurses="yes"], [with_ncurses="no"]) +if test "x$with_libxnet" = "xyes"; then + LIBOPING_PC_LIBS_PRIVATE="${LIBOPING_PC_LIBS_PRIVATE} -lxnet" fi -AM_CONDITIONAL(BUILD_WITH_LIBNCURSES, test "x$with_ncurses" = "xyes") + +AC_SUBST(LIBOPING_PC_LIBS_PRIVATE) + +AC_SEARCH_LIBS([nanosleep],[rt],[], + [AC_MSG_ERROR([cannot find nanosleep])]) + +AC_ARG_WITH(ncurses, AS_HELP_STRING([--with-ncurses], [Build oping CLI tool with ncurses support])) +AS_IF([test "x$with_ncurses" != "xno"], [ + can_build_with_ncurses="no" + PKG_CHECK_MODULES([NCURSES], [ncursesw], [can_build_with_ncurses=yes], [ + PKG_CHECK_MODULES([NCURSES], [ncurses], [can_build_with_ncurses=yes], [ + AC_CHECK_LIB(ncursesw, mvwprintw, [NCURSES_LIBS="-lncursesw"; can_build_with_ncurses=yes], [ + AC_CHECK_LIB(ncurses, mvwprintw, [NCURSES_LIBS="-lncurses"; can_build_with_ncurses=yes]) + ]) + ]) + ]) + + AS_IF([test "x$can_build_with_ncurses" = "xyes"], [ + AC_CHECK_HEADERS([ncursesw/curses.h ncursesw.h ncurses/curses.h ncurses.h], [can_build_with_ncurses=yes; break;], [can_build_with_ncurses=no]) + ]) + + AS_IF([test "x$can_build_with_ncurses" = "xno" && test "x$with_ncurses" = "xyes"], [ + AC_MSG_ERROR([ncurses not found but explicit enabled]) + ], + [test "x$can_build_with_ncurses" = "xno"], [ + AC_MSG_WARN([Will not build oping with ncurses support -- no suiteable ncurses installation found]) + ]) +]) + +AM_CONDITIONAL(BUILD_WITH_LIBNCURSES, test "x$with_ncurses" != "xno" && test "x$can_build_with_ncurses" = "xyes") AC_FUNC_STRERROR_R @@ -236,5 +271,5 @@ AC_FUNC_MALLOC AC_FUNC_STRERROR_R AC_CHECK_FUNCS([gettimeofday memset modf select socket sqrt strcasecmp strdup strerror strncasecmp strtoul]) -AC_CONFIG_FILES([Makefile src/Makefile src/mans/Makefile bindings/Makefile]) +AC_CONFIG_FILES([Makefile src/Makefile src/liboping.pc src/mans/Makefile bindings/Makefile]) AC_OUTPUT