Pastebin launched a little side project called HostCabi.net, check it out ;-)Don't like ads? PRO users don't see any ads ;-)
Guest

Navit libgps-2.90-fix-1

By: a guest on Sep 7th, 2010  |  syntax: None  |  size: 6.54 KB  |  hits: 116  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. To cope both with libgps18 and libgps19
  2. Index: navit/configure.in
  3. ===================================================================
  4. --- navit.orig/configure.in     2010-01-06 00:08:44.000000000 +0100
  5. +++ navit/configure.in  2010-01-06 00:08:44.000000000 +0100
  6. @@ -773,7 +773,17 @@
  7.  AC_ARG_ENABLE(vehicle-gpsd, [  --disable-vehicle-gpsd              disable vehicle type gpsd], vehicle_gpsd=$enableval;vehicle_gpsd_reason="configure parameter")
  8.  if test "x${vehicle_gpsd}" = xyes
  9.  then
  10. -       AC_CHECK_HEADER(gps.h, AC_DEFINE([HAVE_LIBGPS],[],Define to 1 if you have the <gps.h> header file.) GPSD_LIBS="-lgps", vehicle_gpsd=no; vehicle_gpsd_reason="no gps.h" )
  11. +       PKG_CHECK_MODULES([GPSD], [libgps], have_libgps="yes", have_libgps="no")
  12. +       if test "x$have_libgps" = "xyes"; then
  13. +               AC_DEFINE([HAVE_LIBGPS],[],Define to 1 if you have libgps.)
  14. +               PKG_CHECK_MODULES([LIBGPS19], [libgps >= 2.90], have_libgps19="yes", have_libgps19="no")
  15. +               if test "x$have_libgps19" = "xyes"; then
  16. +                       AC_DEFINE([HAVE_LIBGPS19],[],Define to 1 if you have libgps19.)
  17. +               fi
  18. +       else
  19. +               vehicle_gpsd=no; vehicle_gpsd_reason="no libgps"
  20. +       fi
  21. +dnl    AC_CHECK_HEADER(gps.h, AC_DEFINE([HAVE_LIBGPS],[],Define to 1 if you have the <gps.h> header file.) GPSD_LIBS="-lgps", vehicle_gpsd=no; vehicle_gpsd_reason="no gps.h" )
  22.  fi
  23.  AC_SUBST(GPSD_CFLAGS)
  24.  AC_SUBST(GPSD_LIBS)
  25. Index: navit/navit/attr_def.h
  26. ===================================================================
  27. --- navit.orig/navit/attr_def.h 2010-01-06 00:06:16.000000000 +0100
  28. +++ navit/navit/attr_def.h      2010-01-06 00:08:44.000000000 +0100
  29. @@ -226,7 +226,9 @@
  30.  ATTR(gc_type)
  31.  ATTR(layout)
  32.  ATTR(position_nmea)
  33. +#ifndef HAVE_LIBGPS19
  34.  ATTR(gpsd_query)
  35. +#endif
  36.  ATTR(on_eof)
  37.  ATTR(command)
  38.  ATTR(src)
  39. Index: navit/navit/vehicle/gpsd/vehicle_gpsd.c
  40. ===================================================================
  41. --- navit.orig/navit/vehicle/gpsd/vehicle_gpsd.c        2010-01-06 00:06:16.000000000 +0100
  42. +++ navit/navit/vehicle/gpsd/vehicle_gpsd.c     2010-01-06 00:08:44.000000000 +0100
  43. @@ -36,7 +36,9 @@
  44.  
  45.  static struct vehicle_priv {
  46.         char *source;
  47. +#ifndef HAVE_LIBGPS19
  48.         char *gpsd_query;
  49. +#endif
  50.         struct callback_list *cbl;
  51.         struct callback *cb;
  52.         struct event_watch *evwatch;
  53. @@ -69,8 +71,12 @@
  54.  static void vehicle_gpsd_io(struct vehicle_priv *priv);
  55.  
  56.  static void
  57. +#ifdef HAVE_LIBGPS19
  58. +vehicle_gpsd_callback(struct gps_data_t *data, char *buf, size_t len)
  59. +#else
  60.  vehicle_gpsd_callback(struct gps_data_t *data, char *buf, size_t len,
  61.                       int level)
  62. +#endif
  63.  {
  64.         char *pos,*nmea_data_buf;
  65.          int i=0,sats_signal=0;
  66. @@ -108,16 +114,32 @@
  67.                 data->set &= ~ALTITUDE_SET;
  68.         }
  69.         if (data->set & SATELLITE_SET) {
  70. +#ifdef HAVE_LIBGPS19
  71. +                if(data->satellites_visible > 0) {
  72. +#else
  73.                  if(data->satellites > 0) {
  74. +#endif
  75.                          sats_signal=0;
  76. +#ifdef HAVE_LIBGPS19
  77. +                        for( i=0;i<data->satellites_visible;i++) {
  78. +#else
  79.                          for( i=0;i<data->satellites;i++) {
  80. +#endif
  81.                                 if (data->ss[i] > 0)
  82.                                          sats_signal++;
  83.                          }
  84.                  }
  85. +#ifdef HAVE_LIBGPS19
  86. +               if (priv->sats_used != data->satellites_used || priv->sats != data->satellites_visible || priv->sats_signal != sats_signal ) {
  87. +#else
  88.                 if (priv->sats_used != data->satellites_used || priv->sats != data->satellites || priv->sats_signal != sats_signal ) {
  89. +#endif
  90.                         priv->sats_used = data->satellites_used;
  91. +#ifdef HAVE_LIBGPS19
  92. +                       priv->sats = data->satellites_visible;
  93. +#else
  94.                         priv->sats = data->satellites;
  95. +#endif
  96.                          priv->sats_signal = sats_signal;
  97.                         callback_list_call_attr_0(priv->cbl, attr_position_sats);
  98.                 }
  99. @@ -135,10 +157,17 @@
  100.                 priv->fix_time = data->fix.time;
  101.                 data->set &= ~TIME_SET;
  102.         }
  103. +#ifdef HAVE_LIBGPS19
  104. +       if (data->set & DOP_SET) {
  105. +               dbg(1, "pdop : %g\n", data->dop.pdop);
  106. +               priv->hdop = data->dop.pdop;
  107. +               data->set &= ~DOP_SET;
  108. +#else
  109.         if (data->set & PDOP_SET) {
  110.                 dbg(1, "pdop : %g\n", data->pdop);
  111.                 priv->hdop = data->hdop;
  112.                 data->set &= ~PDOP_SET;
  113. +#endif
  114.         }
  115.         if (data->set & LATLON_SET) {
  116.                 priv->geo.lat = data->fix.latitude;
  117. @@ -180,7 +209,11 @@
  118.                 dbg(0,"gps_open failed for '%s'. Retrying in %d seconds. Have you started gpsd?\n", priv->source, priv->retry_interval);
  119.                 return TRUE;
  120.         }
  121. +#ifdef HAVE_LIBGPS19
  122. +       gps_stream(priv->gps, WATCH_ENABLE, NULL);
  123. +#else
  124.         gps_query(priv->gps, priv->gpsd_query);
  125. +#endif
  126.         gps_set_raw_hook(priv->gps, vehicle_gpsd_callback);
  127.         priv->cb = callback_new_1(callback_cast(vehicle_gpsd_io), priv);
  128.         priv->evwatch = event_add_watch((void *)priv->gps->gps_fd, event_watch_cond_read, priv->cb);
  129. @@ -268,8 +301,10 @@
  130.         vehicle_gpsd_close(priv);
  131.         if (priv->source)
  132.                 g_free(priv->source);
  133. +#ifndef HAVE_LIBGPS19
  134.         if (priv->gpsd_query)
  135.                 g_free(priv->gpsd_query);
  136. +#endif
  137.         g_free(priv);
  138.  }
  139.  
  140. @@ -350,12 +385,17 @@
  141.                       *cbl, struct attr **attrs)
  142.  {
  143.         struct vehicle_priv *ret;
  144. +#ifdef HAVE_LIBGPS19
  145. +       struct attr *source, *retry_int;
  146. +#else
  147.         struct attr *source, *query, *retry_int;
  148. +#endif
  149.  
  150.         dbg(1, "enter\n");
  151.         source = attr_search(attrs, NULL, attr_source);
  152.         ret = g_new0(struct vehicle_priv, 1);
  153.         ret->source = g_strdup(source->u.str);
  154. +#ifndef HAVE_LIBGPS19
  155.         query = attr_search(attrs, NULL, attr_gpsd_query);
  156.         if (query) {
  157.                 ret->gpsd_query = g_strconcat(query->u.str, "\n", NULL);
  158. @@ -363,6 +403,7 @@
  159.                 ret->gpsd_query = g_strdup("w+x\n");
  160.         }
  161.         dbg(1,"Format string for gpsd_query: %s\n",ret->gpsd_query);
  162. +#endif
  163.         retry_int = attr_search(attrs, NULL, attr_retry_interval);
  164.         if (retry_int) {
  165.                 ret->retry_interval = retry_int->u.num;
  166. Index: navit/navit/attr.h
  167. ===================================================================
  168. --- navit.orig/navit/attr.h     2010-01-06 00:06:16.000000000 +0100
  169. +++ navit/navit/attr.h  2010-01-06 00:08:44.000000000 +0100
  170. @@ -25,6 +25,7 @@
  171.  #endif
  172.  
  173.  #include "projection.h"
  174. +#include "config.h"
  175.  
  176.  enum item_type;
  177.  
  178. Index: navit/navit/map/garmin/Makefile.am
  179. ===================================================================
  180. --- navit.orig/navit/map/garmin/Makefile.am     2010-01-06 00:09:00.000000000 +0100
  181. +++ navit/navit/map/garmin/Makefile.am  2010-01-06 00:09:09.000000000 +0100
  182. @@ -20,7 +20,7 @@
  183.  gentypes_SOURCES=gentypes.c
  184.  
  185.  gentypes.$(OBJEXT): gentypes.c
  186. -       $(CC_FOR_BUILD) -I$(top_srcdir)/navit -c -o $@ $<
  187. +       $(CC_FOR_BUILD) -I$(top_srcdir)/navit -I$(top_srcdir) -c -o $@ $<
  188.  
  189.  gentypes$(EXEEXT): $(gentypes_OBJECTS) $(gentypes_DEPENDENCIES)
  190.         @rm -f gentypes$(EXEEXT)