summaryrefslogtreecommitdiff
path: root/SConstruct
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* SConstruct: gpsd needs at least Python 2.6.Gary E. Miller2018-10-081-1/+2
|
* SConstruct: Fix running "scons check" as non-root.Gary E. Miller2018-10-081-6/+7
| | | | | The python-versions check was checking the installed versions, not the version in the source.
* SConstruct: remove SourceCode()Gary E. Miller2018-10-081-3/+0
| | | | | | | | Scons says: "warning: SourceCode() has been deprecated and there is no replacement." Did not seem important, a minor speed-up is lost.
* SConstruct: Only install ubxtool and zerk if pyserial found.Gary E. Miller2018-10-041-16/+19
| | | | Ditto their man pages.
* SConstruct: Add warning about missing pyserial.Gary E. Miller2018-10-021-6/+14
|
* 3.19!dev: Change revisions for 3.19~dev cycle.Gary E. Miller2018-10-021-1/+1
|
* www/gpsdctl.html: Add untracked html page.dev-3.19Gary E. Miller2018-10-021-1/+1
|
* Version bump to 3.18 for release.release-3.18Gary E. Miller2018-10-021-1/+1
|
* Versions in C and Python were out of sync.Gary E. Miller2018-10-011-0/+1
| | | | Add notes as reminder for next change.
* SConstruct; fix creating revision.h with Python 3Gary E. Miller2018-10-011-1/+3
| | | | polystr() to the rescue.
* SConstruct: fix pycodestyle nits.Gary E. Miller2018-09-291-4/+2
|
* Fixes possible X11 launch in python-versions test.Fred Wright2018-09-291-5/+8
| | | | | | | | | | | Some of the Gtk imports may have the side effect of launching an X11 server if one isn't currently available (at least on the Mac). This can be suppressed by clearing the DISPLAY environment variable prior to those imports. This fix arranges to apply that to the environment used by the python-versions test. TESTED: Ran "scons python-versions" on OSX, and observed no X11 launch.
* Revert "Disables xgps[speed] -V in python-versions check."Gary E. Miller2018-09-271-7/+1
| | | | | | This reverts commit 8364908d0a3b922643c2f64bfeed3a26ed3a9552. This breaks new regression tests.
* Includes xgps deps test in test list.Fred Wright2018-09-271-0/+1
| | | | | | | | | | | | | This adds test-xgps-deps to the test-nondaemon list (and hence to the overall 'check' list). Since the Travis setup doesn't include the necessary prerequisites, it forces xgps=no for Travis. At the time this code was originally tested, Travis was still working. TESTED: Verified that the test is run, and that the test series fails iff one of the dependencies is broken.