comment "gpsd needs a toolchain w/ threads, dynamic library"
	depends on BR2_USE_MMU
	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS

config BR2_PACKAGE_GPSD
	bool "gpsd"
	# Uses fork()
	depends on BR2_USE_MMU
	depends on BR2_TOOLCHAIN_HAS_THREADS
	# Always tries to build a shared library
	depends on !BR2_STATIC_LIBS
	help
	  gpsd is a service daemon that monitors one or more GPSes or AIS
	  receivers attached to a host computer through serial or USB ports,
	  making all data on the location/course/velocity of the sensors
	  available to be queried on TCP port 2947 of the host computer.

	  The D-Bus interface is included if dbus-glib is enabled.

	  http://www.catb.org/gpsd/

if BR2_PACKAGE_GPSD

config BR2_PACKAGE_GPSD_DEVICES
	string "Where to look for GPSes"
	default "/dev/ttyS1"

menu "Features"

config BR2_PACKAGE_GPSD_CLIENT_DEBUG
	bool "client debugging support"

config BR2_PACKAGE_GPSD_OLDSTYLE
	bool "oldstyle (pre-JSON) protocol support"

config BR2_PACKAGE_GPSD_PROFILING
	bool "profiling support"
	depends on BR2_TOOLCHAIN_USES_GLIBC
	depends on !BR2_aarch64

comment "profiling support not available with uClibc-based toolchain"
	depends on !BR2_TOOLCHAIN_USES_GLIBC

config BR2_PACKAGE_GPSD_NTP_SHM
	bool "NTP time hinting support"

config BR2_PACKAGE_GPSD_PPS
	bool "PPS time syncing support"
	select BR2_PACKAGE_GPSD_NTP_SHM

config BR2_PACKAGE_GPSD_USER
	bool "GPSD privilege revocation user"
config BR2_PACKAGE_GPSD_USER_VALUE
	string ""
	default "nobody"
	depends on BR2_PACKAGE_GPSD_USER

config BR2_PACKAGE_GPSD_GROUP
	bool "GPSD privilege revocation group"
config BR2_PACKAGE_GPSD_GROUP_VALUE
	string ""
	default "nobody"
	depends on BR2_PACKAGE_GPSD_GROUP

config BR2_PACKAGE_GPSD_FIXED_PORT_SPEED
	bool "compile with fixed serial port speed"
config BR2_PACKAGE_GPSD_FIXED_PORT_SPEED_VALUE
	string ""
	default "9600"
	depends on BR2_PACKAGE_GPSD_FIXED_PORT_SPEED

config BR2_PACKAGE_GPSD_MAX_CLIENT
	bool "compile with limited maximum clients"
config BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE
	string "compile with limited maximum clients"
	default "10"
	depends on BR2_PACKAGE_GPSD_MAX_CLIENT

config BR2_PACKAGE_GPSD_MAX_DEV
	bool "compile with maximum allowed devices"
config BR2_PACKAGE_GPSD_MAX_DEV_VALUE
	string "compile with maximum allowed devices"
	default "2"
	depends on BR2_PACKAGE_GPSD_MAX_DEV

config BR2_PACKAGE_GPSD_RECONFIGURE
	bool "allow gpsd to change device settings"
	default y

config BR2_PACKAGE_GPSD_CONTROLSEND
	bool "allow gpsctl/gpsmon to change device settings"
	default y

config BR2_PACKAGE_GPSD_SQUELCH
	bool "squelch gpsd_report and gpsd_hexdump to save cpu"

endmenu

menu "Protocols"

config BR2_PACKAGE_GPSD_AIVDM
	bool "Aivdm"
	help
	  Aivdm support

config BR2_PACKAGE_GPSD_ASHTECH
	bool "Ashtech"
	help
	  Ashtech support

config BR2_PACKAGE_GPSD_EARTHMATE
	bool "Earthmate"
	help
	  DeLorme EarthMate Zodiac support

config BR2_PACKAGE_GPSD_EVERMORE
	bool "EverMore"
	help
	  EverMore binary support

config BR2_PACKAGE_GPSD_FURY
	bool "Fury"
	help
	  Jackson Labs Fury and Firefly support

config BR2_PACKAGE_GPSD_FV18
	bool "FV-18"
	help
	  San Jose Navigation FV-18 support

config BR2_PACKAGE_GPSD_GARMIN
	bool "Garmin (kernel)"
	help
	  Garmin kernel driver support

config BR2_PACKAGE_GPSD_GARMIN_SIMPLE_TXT
	bool "Garmin (simple text)"
	help
	  Garmin Simple Text support

config BR2_PACKAGE_GPSD_GEOSTAR
	bool "Geostar"
	help
	  Geostar Protocol support

config BR2_PACKAGE_GPSD_GPSCLOCK
	bool "GPSClock"
	help
	  GPSClock support

config BR2_PACKAGE_GPSD_ITRAX
	bool "iTrax"
	help
	  iTrax support

config BR2_PACKAGE_GPSD_MTK3301
	bool "MTK-3301"
	help
	  Mediatek MTK-3301 support

config BR2_PACKAGE_GPSD_NAVCOM
	bool "Navcom"
	help
	  Navcom binary support

config BR2_PACKAGE_GPSD_NMEA
	bool "NMEA"
	default y
	help
	  Generic NMEA support

config BR2_PACKAGE_GPSD_NMEA2000
	bool "NMEA2000"
	select BR2_PACKAGE_GPSD_NAVCOM
	select BR2_PACKAGE_GPSD_AIVDM
	help
	  NMEA2000/CAN support

config BR2_PACKAGE_GPSD_NTRIP
	bool "NTRIP"
	help
	  NTRIP support

config BR2_PACKAGE_GPSD_OCEANSERVER
	bool "OceanServer"
	help
	  OceanServer Digital Compass support

config BR2_PACKAGE_GPSD_ONCORE
	bool "OnCore"
	help
	  OnCore support

config BR2_PACKAGE_GPSD_RTCM104V2
	bool "RTCM104 v2"
	help
	  RTCM104 v2 support

config BR2_PACKAGE_GPSD_RTCM104V3
	bool "RTCM104 v3"
	help
	  RTCM104 v3 support

config BR2_PACKAGE_GPSD_SIRF
	bool "SiRF"
	help
	  SiRF binary support

config BR2_PACKAGE_GPSD_SUPERSTAR2
	bool "SuperStarII"
	help
	  Novatel SuperStarII binary support

config BR2_PACKAGE_GPSD_TRIMBLE_TSIP
	bool "Trimble TSIP"
	help
	  Trimble TSIP support

config BR2_PACKAGE_GPSD_TRIPMATE
	bool "TripMate"
	help
	  Delorme TripMate support

config BR2_PACKAGE_GPSD_TRUE_NORTH
	bool "True North Technologies"
	help
	  True North Technologies support

config BR2_PACKAGE_GPSD_UBX
	bool "UBX"
	help
	  uBlox UBX binary support

endmenu

endif
