diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2014-08-23 10:57:30 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2014-08-23 10:57:30 -0400 |
commit | 832dd04226e40b903b9a8cd41331a996f642d1b6 (patch) | |
tree | af4adb2e960a17f6af746a429cf77080b8877cc9 /build.txt | |
parent | b9185922ed4897269dd5f2f22410e0509c106f7a (diff) | |
download | gpsd-832dd04226e40b903b9a8cd41331a996f642d1b6.tar.gz |
In build.txt, require GCC >= 4.1.1.
Diffstat (limited to 'build.txt')
-rw-r--r-- | build.txt | 23 |
1 files changed, 7 insertions, 16 deletions
@@ -34,21 +34,18 @@ compiler that also speaks C++): anonymous unions. We could eliminate these, but the cost would be source-level interface breakage if we have to move structure members in and out of unions. -GPSD is normally built and tested with GCC. If the option --Wmissing-field-initializers or its non-gcc equivalent is set you will -get a lot of warnings; this is due to generated code and cannot be -fixed. +GPSD is normally built and tested with GCC. Do not compile with a version +older than 4.1.1; there are several known issues with older versions, +including (a) non-standards-conformant floating-point generation that +messes up regression testing, (b) a compiler bug affecting RTCM2 code +generation, (c) the option -Wno-missing-field-initializers is +unavailable, leading to a flood of warnings (this is due to generated +code and cannot be fixed). The shared-memory interface relies on one GCCism, but the code is otherwise pretty compiler-agnostic. It is reported that clang produces a gpsd that passes all regression tests. -Older versions of gcc don't recognize Wno-missing-field-initializers; -this has been reported from GCC 3.4.6. We don't recommend building -with GCC versions prior to 4.1.1, as these had some floating-point -non-conformances that confused our regression testing and might have -real-world consequences. - === Python === You will need Python 2.5 or later for the build. @@ -173,12 +170,6 @@ need to build with implicit_link=no. If this happens, please report your platform, ideally along with a way of identifying it from Python, to the GPSD maintainers. -If you are going to use the RTCM-104 support, you must compile with -gcc 4.x; if you don't have it installed as your default compiler, do this -by specifying CC=gcc4 before the build command. The rtcm2.c file -confuses the gcc-3.4.[23] optimizer at -O2 level, making it generate -incorrect code. - If, while building, you see a complaint that looks like this: -------------------------------------------------------------------- |