summaryrefslogtreecommitdiff
path: root/SConstruct
diff options
context:
space:
mode:
authorFred Wright <fw@fwright.net>2019-03-27 16:45:19 -0700
committerFred Wright <fw@fwright.net>2019-03-27 20:27:05 -0700
commit7fc42e4d1c881e6c88c3f01b4b19080dcdf8378b (patch)
treeddf12684c2c03f60258b13ac01ad6f5981f15267 /SConstruct
parent4b80866539305242d6fe96bf385efd30d95da6a7 (diff)
downloadgpsd-7fc42e4d1c881e6c88c3f01b4b19080dcdf8378b.tar.gz
ubxtool/zerk: Makes PySerial a "soft" dependency.
This allows the absence of the PySerial ('serial') module, as long as the -f option is not used. This not only avoids the PySerial dependency for informational options like -h and -V, but also allows full functionality in the "via gpsd" mode. The 'gps_io' class was taking the 'serial' module (mistakenly referred to as a class as an init argument, but wasn't making any use of that flexibility. Since fully supporting that would complicate the error message, it's simply removed instead. The zerk changes are untested, due to the lack of appropriate hardware. However, they are identical to the changes in the corresponding code in ubxtool, which is tested. The manpages are updated to mention the pyserial dependency for -f. The install of ubxtool and zerk is no longer conditional on PySerial. TESTED: Tested ubxtool with PySerial 2.7, 3.0, 3.4, and none at all, verifying that -f works with all three versions, and other modes work without. Also tested with Python 3.4-3.7 (PySerial 3.4 only).
Diffstat (limited to 'SConstruct')
-rw-r--r--SConstruct17
1 files changed, 3 insertions, 14 deletions
diff --git a/SConstruct b/SConstruct
index 124814f6..b354feda 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1457,7 +1457,7 @@ if not env['python']:
python_targets = []
else:
# installed python programs
- python_progs = ["gegps", "gpscat", "gpsfake", "gpsprof"]
+ python_progs = ["gegps", "gpscat", "gpsfake", "gpsprof", "ubxtool", "zerk"]
python_deps = {'gpscat': 'packet'}
# python misc helpers and stuff
@@ -1479,21 +1479,10 @@ else:
"man/gpscat.1": "man/gpscat.xml",
"man/gpsfake.1": "man/gpsfake.xml",
"man/gpsprof.1": "man/gpsprof.xml",
+ "man/ubxtool.1": "man/ubxtool.xml",
+ "man/zerk.1": "man/zerk.xml",
}
- # check for pyserial
- try:
- imp.find_module('serial')
- python_progs.extend(["ubxtool", "zerk"])
- python_manpages.update({
- "man/ubxtool.1": "man/ubxtool.xml",
- "man/zerk.1": "man/zerk.xml",
- })
- except ImportError:
- # no pyserial, reduced functionality in ubxtool and zerk
- announce("WARNING: Python module serial (pyserial) not found.\n"
- " ubxtool and zerk will not be installed")
-
if env['xgps']:
# check for pycairo
try: