Re: Min. req. of programming language standard support, GRASS GIS 8
Huidae Cho <[email protected]> Wed, 3 Feb 2021 00:29:58 -0500
| Newsgroups | gmane.comp.gis.grass.devel |
|---|---|
| Message-ID | <CANEOyhqUu9QQ-UNVQsPNQKa+cK=AsUzpAxTpX=gsMNUiM_kM0Q@mail.gmail.com> |
Thanks Nicklas for the great summary! That helped a lot. I was wondering if we have a list of all supported platforms somewhere? We have official downloads for Linux, Mac, and Windows. Are these three only "officially" supported platforms? I know GRASS is compilable on FreeBSD [1] and maybe (Open|Net)BSD. Is that it? Minix3 supports GDAL 1.11.3, PROJ 4.9.2, GEOS 3.5.0, and GCC 6.2.0 [2]. I know... they are a little behind. Since we cannot (or will be difficult to) go back once we move to a newer C standard, I think we need to discuss what platforms we want to support officially or unofficially (?) first. Is [3] or [4] (GRASS 6.3) still valid? Has anyone tried all or some of those platforms recently (Sun Solaris (SPARC/Intel), Silicon Graphics Irix, HP-UX, DEC-Alpha, AIX, BSD, iPAQ/Linux and other UNIX compliant platforms)? I think at some point this list was removed from a release announcement. Maybe, we are being more realistic because many of these platforms are now irrelevant or we just don't have enough resources or interest to maintain such a list of supported platforms anymore? Best, Huidae [1] https://www.freebsd.org/cgi/man.cgi?query=index§ion=3 [2] http://www.minix3.org/pkgsrc/distfiles/local/3.4.0-2016Q3/ [3] https://old.grass.osgeo.org/screenshots/platforms/ [4] https://grass.osgeo.org/news/2008_04_23_announce_grass630/ On Mon, Feb 1, 2021 at 4:25 PM Markus Metz <[email protected]> wrote: > A pity that Nicklas did not answer in this thread, see his answer in > https://lists.osgeo.org/pipermail/grass-dev/2021-February/094913.html > > I have not studied the different C standards and the state of their > implementation in different compilers and their different versions in > depth, and thus appreciate very much the summary of Nicklas! > > IIUC, Nicklas recommends to allow C11 standard features in GRASS C code, > with no need to change the current code base, and all compilers in all > supported platforms apparently support C11. > > +1 from me, as long as all stock compilers on all supported platforms > support C11 > > Markus M > > > On Mon, Feb 1, 2021 at 8:56 AM Moritz Lennert < > [email protected]> wrote: > > > > > > > > Am 31. Januar 2021 22:15:53 MEZ schrieb Markus Metz < > [email protected]>: > > >On Fri, Jan 29, 2021 at 11:19 PM Moritz Lennert < > > >[email protected]> wrote: > > >> > > >> > > >> > > >> Am 29. Januar 2021 20:54:06 GMT+00:00 schrieb Markus Metz < > > >[email protected]>: > > >> >Hi Huidae, > > >> > > > >> >On Thu, Jan 28, 2021 at 6:30 PM Huidae Cho <[email protected]> > wrote: > > >> >> > > >> >> Markus, > > >> >> > > >> >> I think we have to think about what benefits it would bring to us > by > > >> >modernizing C code. Probably, not much at all. Personally, I would > keep > > >it > > >> >as is because the minimum set of anything (e.g., ANSI C with no new > > >> >features) would probably be more portable, I believe. In other words, > > >what > > >> >are we missing from C99? > > >> > > > >> >as I mentioned, there is no need to modernize the GRASS C code. The > > >> >question is if we officially allow C99 features. > > >> > > > >> >For example a number of useful math-related functions and macros are > only > > >> >available with C99. See /usr/include/math.h on your system and > search for > > >> >C99. Also a number of features related to data types, particularly > for > > >> >various int datatypes (stdint.h), become available with C99. And the > > >> >geographic lib in PROJ with src/geodesic.c wants C99. For new PROJ > > >> >versions, C99 is a requirement. > > >> > > >> > > >> If proj requires it, doesn't it automatically become a requirement for > > >GRASS as well ? > > > > > >No, because the code base of other libs might have completely different > > >compile requirements. A software can use functions and libs of other > > >software packages, but does not need to follow the compile standards of > > >those other software packages, because they are compiled independently. > > > > > > > Thanks for the clarification. > > > > In light of that I agree that we should choose the oldest standard > possible, unless we _really_ need something only present in a more recent > version. > > > > @those who want to use more recent standards: what are your reasons for > that ? > > > > Moritz > -- Huidae Cho, Ph.D., GISP, /hidɛ t͡ɕo/, 조희대, 曺喜大 GRASS GIS Developer https://idea.isnew.info _______________________________________________ grass-dev mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/grass-dev