dnl PILOT_LINK_CHECK dnl Adds --with-pisock and determines the verion of the pisock #serial 0.1 AC_SUBST(PISOCK_CFLAGS) AC_SUBST(PISOCK_LIBS) AC_DEFUN([PILOT_LINK_HOOK],[ AC_ARG_WITH([pisock], AS_HELP_STRING([--with-pisock=PREFIX], [Specify prefix for pisock files]), [ if test x$withval = xyes; then dnl Note that an empty true branch is not valid sh syntax. ifelse([$1], [], :, [$1]) else PISOCK_CFLAGS="-I$withval/include" incdir="$withval/include" PISOCK_LIBS="-L$withval/lib -lpisock -lpisync" AC_MSG_CHECKING([for existance of "$withval"/lib/libpisock.so]) if test -r $withval/lib/libpisock.so; then AC_MSG_RESULT([yes]) else AC_MSG_ERROR([Unable to find libpisock. Try http://www.pilot-link.org.]) fi fi ]) if test x$PISOCK_CFLAGS = x; then AC_CHECK_HEADER(pi-version.h, [incdir="/usr/include"], [ AC_CHECK_HEADER(libpisock/pi-version.h, [PISOCK_CFLAGS="-I/usr/include/libpisock" piversion_include="libpisock/pi-version.h" incdir="/usr/include/libpisock" ],[ AC_CHECK_HEADER($prefix/include/pi-version.h, [PISOCK_CFLAGS="-I$prefix/include/libpisock" piversion_include="$prefix/include/pi-version.h" if test x$PISOCK_LIBDIR = x; then incdir="$prefix/include" PISOCK_LIBS="-L$prefix/lib -lpisock -lpisync" fi ], AC_MSG_ERROR([Unable to find pi-version.h])) ]) ]) fi if test "x$PISOCK_LIBS" = "x"; then AC_CHECK_LIB(pisock, pi_accept, [ PISOCK_LIBS="-lpisock -lpisync"], [ AC_MSG_ERROR([Unable to find libpisock. Try http://www.pilot-link.org.]) ]) fi AC_ARG_ENABLE([pilotlinktest], AS_HELP_STRING([--enable-pilotlinktest], [Test for correct version of pilot-link]), [testplversion="$enableval"],[testplversion=yes] ) if test x$piversion_include = x; then piversion_include="pi-version.h" fi pi_major=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_VERSION'|sed 's/#define PILOT_LINK_VERSION \([[0-9]]*\)/\1/'` pi_minor=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_MAJOR'|sed 's/#define PILOT_LINK_MAJOR \([[0-9]]*\)/\1/'` pi_micro=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_MINOR'|sed 's/#define PILOT_LINK_MINOR \([[0-9]]*\)/\1/'` pi_patch=`cat $incdir/pi-version.h|grep '#define PILOT_LINK_PATCH'|sed 's/#define PILOT_LINK_PATCH \"\(.*\)\"/\1/'` PILOT_LINK_MAJOR="$pi_major" PILOT_LINK_MINOR="$pi_minor" PILOT_LINK_MICRO="$pi_micro" PILOT_LINK_PATCH="$pi_patch" PILOT_LINK_VERSION="$pi_major.$pi_minor.$pi_micro$pi_patch" if test x$testplversion = xyes; then AC_MSG_CHECKING([for pilot-link version >= $1]) pl_ma=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` pl_mi=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` pl_mc=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` CFLAGS_save="$CFLAGS" CFLAGS="$CFLAGS $PISOCK_CFLAGS" AC_TRY_RUN( [ #include <$piversion_include> int main(int argc,char *argv[]) { if (PILOT_LINK_VERSION == $pl_ma) { if (PILOT_LINK_MAJOR == $pl_mi) { if (PILOT_LINK_MINOR >= $pl_mc) { return 0; } } else if (PILOT_LINK_MAJOR > $pl_mi) { return 0; } } else if (PILOT_LINK_VERSION > $pl_ma) { return 0; } return 1; } ], [AC_MSG_RESULT([yes (found $PILOT_LINK_VERSION)])], [AC_MSG_ERROR([pilot-link >= $1 required])], [AC_MSG_WARN([No action taken for crosscompile])] ) CFLAGS="$CFLAGS_save" fi unset piversion_include unset pi_verion unset pi_major unset pi_minor unset pi_patch unset incdir unset pl_mi unset pl_ma unset pl_ve ]) AC_DEFUN([PILOT_LINK_CHECK],[ PILOT_LINK_HOOK($1,[],nofailure) ])