diff options
author | H.Habighorst <tearofadragon@googlemail.com> | 2009-08-11 03:31:21 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-08-12 06:15:32 +0800 |
commit | c8464aecbb1691947d8fd7a54e9b9adac85271ed (patch) | |
tree | aebf8b10f35a7653380769865b10a754af419e1e /m4/evo_pilot_link_check.m4 | |
parent | 9362a0f9854790a487481dd487985733af73be2c (diff) | |
download | gsoc2013-evolution-c8464aecbb1691947d8fd7a54e9b9adac85271ed.tar gsoc2013-evolution-c8464aecbb1691947d8fd7a54e9b9adac85271ed.tar.gz gsoc2013-evolution-c8464aecbb1691947d8fd7a54e9b9adac85271ed.tar.bz2 gsoc2013-evolution-c8464aecbb1691947d8fd7a54e9b9adac85271ed.tar.lz gsoc2013-evolution-c8464aecbb1691947d8fd7a54e9b9adac85271ed.tar.xz gsoc2013-evolution-c8464aecbb1691947d8fd7a54e9b9adac85271ed.tar.zst gsoc2013-evolution-c8464aecbb1691947d8fd7a54e9b9adac85271ed.zip |
Bug 591326 – Keep m4 macros in their own folder
Diffstat (limited to 'm4/evo_pilot_link_check.m4')
-rw-r--r-- | m4/evo_pilot_link_check.m4 | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/m4/evo_pilot_link_check.m4 b/m4/evo_pilot_link_check.m4 new file mode 100644 index 0000000000..5c97fe2a1b --- /dev/null +++ b/m4/evo_pilot_link_check.m4 @@ -0,0 +1,117 @@ +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) +]) |