--- SConstruct.orig 2018-10-19 12:45:40.000000000 -0700 +++ SConstruct 2018-11-18 16:35:17.000000000 -0800 @@ -1385,6 +1385,7 @@ if not env['python']: else: # installed python programs python_progs = ["gegps", "gpscat", "gpsfake", "gpsprof"] + python_deps = {'gpscat': 'packet'} # python misc helpers and stuff python_misc = [ @@ -1398,6 +1399,7 @@ else: "test_xgps_deps.py", "valgrind-audit.py" ] + python_deps['test_maidenhead.py'] = 'clienthelpers' python_manpages = { "gegps.1": "gps.xml", @@ -1414,6 +1416,7 @@ else: "ubxtool.1": "ubxtool.xml", "zerk.1": "zerk.xml", }) + python_deps['xgps'] = 'clienthelpers' except ImportError: # no pyserial, reduced functionality in ubxtool and zerk announce("WARNING: Python module serial (pyserial) not found.\n" @@ -1527,6 +1530,11 @@ else: ) python_compiled_libs[ext] = python_env.SharedLibrary( ext, python_objects[ext]) + + # Make sure we know about compiled dependencies + for prog, dep in python_deps.items(): + env.Depends(prog, python_compiled_libs['gps' + os.sep + dep]) + # Make PEP 241 Metadata 1.0. # Why not PEP 314 (V1.1) or PEP 345 (V1.2)? # V1.2 and V1.2 require a Download-URL to an installable binary @@ -1891,7 +1899,7 @@ if env['python']: verenv['DISPLAY'] = '' # Avoid launching X11 in X11 progs pp = [] for p in python_progs: - pp.append("$SRCDIR/%s -V" % p) + pp.append("$PYTHON $SRCDIR/%s -V" % p) python_versions = Utility('python-versions', python_progs, pp, ENV=verenv) else: