summaryrefslogtreecommitdiff
path: root/SConstruct
Commit message (Collapse)AuthorAgeFilesLines
* SConstruct: Change osx_lib_tool to match new style.Gary E. Miller2019-04-021-5/+5
| | | | | scons 3.0.5 wants config.env, instead of env, or bare keyword, so that options get stored in the config.
* SConstruct: Add some comments about scons option cacheGary E. Miller2019-03-291-0/+3
|
* SConstruct: add comment at end of configuration.Gary E. Miller2019-03-291-1/+1
| | | | Sigh, some configuration done after the end point...
* SConstruct: Lat of the env -> config.env for scons 3.0.5Gary E. Miller2019-03-291-13/+14
|
* SConstruct: More env -> config.env for scons 3.0.5Gary E. Miller2019-03-291-11/+11
|
* SConstruct: And yet more env -> config.envGary E. Miller2019-03-281-8/+8
|
* SConstruct: Some more env -> config.envGary E. Miller2019-03-281-9/+9
|
* SConstruct: Another scons 3.0.5 comment.Gary E. Miller2019-03-281-1/+1
|
* SConstruct: Change env config.env, two places.Gary E. Miller2019-03-281-2/+2
|
* SConstruct. Move an env.Prepend() to wortk on scons 3.0.5Gary E. Miller2019-03-281-4/+3
|
* SConstruct: Add comments on scons 3.0.5 breakage.Gary E. Miller2019-03-281-0/+8
| | | | Changes to env between Configure() and Finish() get lost.
* ubxtool/zerk: Makes PySerial a "soft" dependency.Fred Wright2019-03-271-14/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 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).
* SConstruct: Change manbuilder to work with scons 3.0.5Gary E. Miller2019-03-271-3/+6
| | | | | env is not the playground it once was. scons 3.0.5 still broken with gpsd...
* SConstruct: partial fix for scons 3.0.5Gary E. Miller2019-03-271-6/+6
| | | | env is no longer the open playground that it used to be...
* Fix shared library installs on OSX.Fred Wright2019-03-201-1/+17
| | | | | | | | | | | | | | | | | | | | | Shared libraries on OSX need to have their IDs set to their full paths in order to get the proper paths into executables. Ideally, SCons would take care of this, but doesn't. It's necessary to use the OSX install_name_tool on an installed library to fix that. This adds code to do that, verifying that install_name_tool actually exists, and falling back to installing without it (the former behavior) otherwise. However, the CheckProg function didn't exist in some old versions of SCons, so if it's missing (on OSX), the code just assumes that the tool is present and hopes for the best. The version of SCons provided by MacPorts is known to have CheckProg. TESTED: Ran installs on OSX 10.9, 10.13, and 10.5 (PPC), as well as Ubuntu 14.04. Verified that the tool is used and has the intended effect when present on OSX. Verified that the install works without using it on OSX without it, as well as Linux without it, including when a dummy version is present on Linux. Did *not* test with an old SCons.
* timeservice=yes. Fail if no PPS. More documentation.Gary E. Miller2019-03-081-0/+3
| | | | | | No point configuring for timeservice if no PPS is possible. More documentation on what timeservice=yes actually does.
* deg_to_s(): Add more tests. Not all 'good'.Gary E. Miller2019-02-211-1/+1
| | | | deg_to_s() needs to do better rounding.
* deg_to_s(): Fix bad conversion. Add test cases.Gary E. Miller2019-02-211-2/+18
| | | | Bug and test case by: Stephen Moshier <steve@moshier.net>
* SConstruct: Make "scons -c" clean scons config temp files. Issue #55294Gary E. Miller2018-12-271-0/+2
| | | | Remove: .sconf_temp, .scons-option-cache, and config.log
* SConstruct: Add -Wimplicit-fallthrough, if possible.Gary E. Miller2018-12-271-4/+15
| | | | | | | | This tells the cc to check implicit fallthrought between cases. The magic comment: /* FALLTHROUGH */ suppressed the warning. Supported by osX, unlike __attribute__ ((fallthough)) which is a gnu-ism.
* HAVE_SYS_SELECT_H: Remove test for this. No longer needed.Gary E. Miller2018-12-271-2/+10
| | | | | Many places in the code include sys/select.h with no guard for a long time and no problem reports. So kill it off.
* Fixes unused argument warnings in config.log.Fred Wright2018-12-251-0/+4
| | | | | | | | | The test programs used for some of the configure checks use dummy main() functions which ignore argc and argv. Adding void casts keeps these from giving warnings in config.log. TESTED: Build still works, and relevant warnings in config.log are gone.
* Fixes unreliability in CheckCompilerOption().Fred Wright2018-12-251-1/+1
| | | | | | | | | | | | | | | | | | The code to restore the old CFLAGS when an option test failed was sometimes a victim of Python's "list by reference rather than value" issue. The effect was that the removal of the failing option sometimes didn't work. The bug was only observed when the build was being run by MacPorts, for some unknown reason. This has apparently been broken ever since the introduction of CheckCompilerOption(), though it didn't cause trouble until "Wvla" was added to the option list, where it broke builds on OSX 10.5 and 10.6, whose compilers don't support the option. The fix is simply to use the "[:]" construct to copy the list. TESTED: Tested both "bare" build and MacPorts "destroot" on MacPro 10.9, and VMs for macOS 10.5-10.13. Failures on 10.5 and 10.6 are now gone.
* Fixes symlink handling in zip target.Fred Wright2018-12-231-1/+1
| | | | | | | | | | | | By default, zip follows symlinks rather than storing them as links in the archive. This resulted in redundant copies of the 'gps' subdirectory, which not only wasted space, but also wouldn't actually work in practice since they wouldn't get populated with the build products. Adding the 'y' option to the zip invocation fixes this. TESTED: Verified that the resulting zip archive has the expected symlinks, and that the content matches the repo.
* Fixes symlink handling in tarball creation.Fred Wright2018-12-231-1/+1
| | | | | | | | | | The --transform pattern was prepending gpsd-<version> to the targets of the relative symlinks, which is completely wrong. Fortunately, the 'S' flag in --transform is available to suppress that behavior. TESTED: Verified that the new tarball has correct symlinks, and no unexpected differences from the old one.
* www: Add gpsrinex man page to the web site.Gary E. Miller2018-11-291-0/+1
|
* PPP-howto: Add a Precise Point Positioning (PPP) HowtoGary E. Miller2018-11-291-0/+1
|
* Removed variable length arrays, added -Wvla compiler option.vla-removalIan Bruene2018-11-261-1/+1
|
* SConstruct: fix test for xsltproc, fix xmlto output.Gary E. Miller2018-11-231-5/+4
| | | | More fallout from moving man pages to man/
* SConstruct: fix xsltproc making man pages.Gary E. Miller2018-11-231-2/+6
| | | | | xsltproc never output on stdout. So the redirect did nothing, and was overwritten by the output of xsltproc.
* test_mktime: Fix build on platforms needing librt.Fred Wright2018-11-201-1/+1
| | | | | | | | | | On some older plaforms, clock_gettime() is contained in librt, thus requiring linking with it. A mechanism already exists for doing this where needed, but it was missing from the recipe for test_mktime. TESTED: On a BeagleBone running Debian 7, test_mktime now builds successfully. It still needs another fix for platforms with a 32-bit time_t.
* SConstruct: Clean out old shared libraries.Gary E. Miller2018-11-191-2/+4
|
* man: Move man pages, source and result, into main/Gary E. Miller2018-11-191-35/+38
| | | | part of cleaning up the root directory.
* www: change .txt to .adoc.Gary E. Miller2018-11-191-5/+5
| | | | To make it clear these are asciidoc files, not plain text.
* Adds missing dependencies on compiled Python extensions.Fred Wright2018-11-171-0/+9
| | | | | | | | | | | The programs using the compiled Python extensions weren't specifying the extensions as dependencies. This sometimes caused flaky failures due to (parallel) build timing, and also caused "scons python-versions" from scratch to fail consistently. Since the dependencies aren't discovered automatically, they need to be added explicitly. TESTED: "scons python-versions" now succeeds when run from a clean state.
* Make sure 'python-versions' uses the right Python.Fred Wright2018-11-171-1/+1
| | | | | | | | | | | | | | | | | Although in-tree testing is sometimes able to find the Python libraries via program-relative addressing, later Python versions name compiled extensions in a version-dependent manner. This means that programs need to run with the specific version of Python that the extensions were compiled for. This change invokes the "target_python" explicitly for the version checks, rather than using the system-default Python. This is the same approach that is taken by all other Python-based tests. TESTED: The 'python-versions' test now passes with "target_python=python3.7", while the system-default Python is 2.7. This is after already building the extensions; another commit will add the missing dependencies.
* gpsrinex: Add a man page.Gary E. Miller2018-11-091-0/+1
|
* test_gpsmm: Fix to build in new tests/ directory.Gary E. Miller2018-11-091-2/+4
|
* gpsrinex: A new tool to create RINEX 3 obs files.Gary E. Miller2018-11-091-1/+12
|
* test_misc.py: This test was not running during check.Gary E. Miller2018-11-081-1/+8
|
* tests: move most tests into tests/Gary E. Miller2018-11-081-21/+37
| | | | Cuts the clutter a bit in the top level directory.
* SConstruct: improve the error message when Python detection fails.Gary E. Miller2018-11-011-3/+4
|
* SConstruct: Do not crash when not building python man pages.Gary E. Miller2018-11-011-4/+9
|
* rawdata_t: Change data structure.Gary E. Miller2018-10-241-1/+1
| | | | | | The rawdata_t structure was written into, but never read from. So a change to it is low impact. Reorder it to simplify pointer arithmetic. In preparation for more changes.
* Update version to 3.19-dev. back to dev cycle.dev-3.19aGary E. Miller2018-10-191-1/+1
|
* Chnage version to 3.18.1release-3.18.1Gary E. Miller2018-10-191-1/+1
|
* SConstruct: 2nd try at checking scons and python versions.Gary E. Miller2018-10-091-2/+4
|
* SConstruct: fix check_compile part of 'scons check'Gary E. Miller2018-10-091-9/+26
| | | | Never did anything. Now it test compiles python bits.
* SConstruct: whitespace tweak for pep8Gary E. Miller2018-10-081-0/+1
|
* SConstruct: Pull some python bit together. No functional change.Gary E. Miller2018-10-081-91/+84
|