summaryrefslogtreecommitdiff
path: root/macros/gnome-pilot.m4
diff options
context:
space:
mode:
Diffstat (limited to 'macros/gnome-pilot.m4')
-rw-r--r--macros/gnome-pilot.m4213
1 files changed, 213 insertions, 0 deletions
diff --git a/macros/gnome-pilot.m4 b/macros/gnome-pilot.m4
new file mode 100644
index 00000000..d8ce9606
--- /dev/null
+++ b/macros/gnome-pilot.m4
@@ -0,0 +1,213 @@
+dnl
+dnl GNOME_PILOT_HOOK(script if found, fail)
+dnl if fail = "failure", abort if gnome-pilot not found
+dnl
+
+dnl
+dnl
+
+GNOME_PILOT_CFLAGS=
+GNOME_PILOT_LIBS=
+PISOCK_CFLAGS=
+PISOCK_LIBS=
+
+AC_SUBST(GNOME_PILOT_CFLAGS)
+AC_SUBST(GNOME_PILOT_LIBS)
+AC_SUBST(PISOCK_CFLAGS)
+AC_SUBST(PISOCK_LIBS)
+
+AC_DEFUN([PILOT_LINK_HOOK],[
+ AC_ARG_WITH(pisock,
+ [ --with-pisock 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"
+ 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 ftp://ryeham.ee.ryerson.ca/pub/PalmOS/.")
+ 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"
+ 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 ],
+ [ AC_MSG_ERROR("Unable to find libpisock. Try ftp://ryeham.ee.ryerson.ca/pub/PalmOS/.") ])
+ fi
+
+ AC_ARG_ENABLE(pilotlinktest,
+ [ --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_version=`cat $incdir/pi-version.h|grep PILOT_LINK_VERSION|sed 's/#define PILOT_LINK_VERSION \([[0-9]]*\)/\1/'`
+ pi_major=`cat $incdir/pi-version.h|grep PILOT_LINK_MAJOR|sed 's/#define PILOT_LINK_MAJOR \([[0-9]]*\)/\1/'`
+ pi_minor=`cat $incdir/pi-version.h|grep PILOT_LINK_MINOR|sed 's/#define PILOT_LINK_MINOR \([[0-9]]*\)/\1/'`
+ pi_patch=`cat $incdir/pi-version.h|grep PILOT_LINK_PATCH|sed 's/#define PILOT_LINK_PATCH \"\(.*\)\"/\1/'`
+
+ PILOT_LINK_VERSION="$pi_version.$pi_major.$pi_minor$pi_patch"
+
+ if test x$testplversion = xyes; then
+ AC_MSG_CHECKING(for pilot-link version >= $1)
+ pl_ve=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ pl_ma=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ pl_mi=`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_ve) {
+ if (PILOT_LINK_MAJOR == $pl_ma) {
+ if (PILOT_LINK_MINOR >= $pl_mi) {
+ return 0;
+ }
+ } else if (PILOT_LINK_MAJOR > $pl_ma) {
+ return 0;
+ }
+ } else if (PILOT_LINK_VERSION > $pl_ve) {
+ 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)
+])
+
+AC_DEFUN([GNOME_PILOT_HOOK],[
+ AC_PATH_PROG(GNOME_CONFIG,gnome-config,no)
+ AC_CACHE_CHECK([for gnome-pilot environment],gnome_cv_pilot_found,[
+ if test "x$GNOME_CONFIG" = "xno"; then
+ gnome_cv_pilot_found=no
+ else
+ # gnome-config doesn't return a useful error status,
+ # so we check if it outputs anything to stderr
+ if test "x`$GNOME_CONFIG gpilot 2>&1 > /dev/null`" = "x"; then
+ gnome_cv_pilot_found=yes
+ else
+ gnome_cv_pilot_found=no
+ fi
+ fi
+ ])
+ if test x$gnome_cv_pilot_found = xyes; then
+ if test x$1 != x; then
+ gpv_pre_found=`$GNOME_CONFIG --modversion gpilot`
+ gpv_found=`echo $gpv_pre_found | sed 's/gnome-pilot-\(.*\)/\1/'`
+ AC_MSG_CHECKING([gnome-pilot version ($1)])
+ gpv_major=`echo $gpv_found | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ gpv_minor=`echo $gpv_found | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ gpv_patch=`echo $gpv_found | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ gpv_ma=`echo $1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ gpv_mi=`echo $1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ gpv_pa=`echo $1 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+
+ if test $gpv_major -eq $gpv_ma; then
+ if test $gpv_minor -eq $gpv_mi; then
+ if test $gpv_patch -ge $gpv_pa; then
+ AC_MSG_RESULT([yes (found $gpv_found)])
+ else
+ AC_MSG_RESULT([too old (found $gpv_found)])
+ gnome_cv_pilot_found=no
+ fi
+ elif test $gpv_minor -gt $gpv_mi; then
+ AC_MSG_RESULT([yes (found $gpv_found)])
+ else
+ AC_MSG_RESULT([too old (found $gpv_found)])
+ gnome_cv_pilot_found=no
+ fi
+ else
+ AC_MSG_RESULT([major version mismatch (found $gpv_found)])
+ gnome_cv_pilot_found=no
+ fi
+ unset gpv_pre_found
+ unset gpv_found
+ unset gpv_major
+ unset gpv_minor
+ unset gpv_patch
+ unset gpv_ma
+ unset gpv_mi
+ unset gpv_pa
+ fi
+ fi
+
+ AM_CONDITIONAL(HAVE_GNOME_PILOT,test x$gnome_cv_pilot_found = xyes)
+ if test x$gnome_cv_pilot_found = xyes; then
+ PILOT_LINK_CHECK($2)
+ GNOME_PILOT_CFLAGS=`gnome-config --cflags gpilot`
+ GNOME_PILOT_LIBS=`gnome-config --libs gpilot`
+ else
+ if test x$3 = xfail; then
+ AC_MSG_ERROR([gnome-pilot development package not installed or installation problem])
+ else
+ AC_MSG_WARN([gnome-pilot development package not installed or installation problem])
+ fi
+ fi
+])
+
+AC_DEFUN([GNOME_PILOT_CHECK],[
+ if test x$1 = x; then
+ gpv=[]
+ else
+ gpv=$1
+ fi
+ if test x$2 = x; then
+ plv=0.9.5
+ else
+ plv=$2
+ fi
+ if test x$3 = x; then
+ good=[]
+ else
+ good=$3
+ fi
+
+ GNOME_PILOT_HOOK($gpv, $plv, $good)
+])
+