Richard Shaw <[email protected]> writes: > Speaking of which... > Do we really need to know the svn rev? > Should a svn export not be preferred over a full checkout? (At least for > real releases)
In general, I think it's good for the VCS revision tag (svn revision, git sha1, etc) to be baked into the binaries somehow. But I don't think it's critical. automake has a notion where typically generated files are not checked in, and there is a 'make dist' process to build a release tarball from a VCS checkout (typically tagged). I think this makes sense separately From using automake and should continue; checking in generated files is awkward. It may be that with a 100% cmake world there are fewer generated files. > Looking through the resultant config.h after running autoheader I see a > bunch of HAVE_.... this and that, but grepping through the code it doesn't > look like we're actually doing anything with the definitions. I would > expect some sort of conditionals based on the system and libraries > available... > Do we really need all these definitions? Or do we just need to make sure > those function/headers are available? A long time ago, systems varied much more wildly than they do now. So it was necessary to test for many features. This was far better than checking for a particular operating system, because the build system would function on a new system, or on a new version of a system, by detecting features rather than having the capabilities of a particular OS version baked into the configure system. Now, most systems meet POSIX, so code can be written to the posix spec and then exceptions handled as feature tests. So in many codebases, there are leftover feature tests. I would suggest that for each feature test in config.h, someone see if it's ever tested in the code, and if not remove it. The other thing to do is to look for "#ifdef OS" and try to remove that in favor of a feature test. Sometimes though, one has to say "on linux, the way you do foo is bar, and on *BSD it's baz", generally for things that are not specified by POSIX.
pgp7QXpo9TNT1.pgp
Description: PGP signature
------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________ Freetel-codec2 mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freetel-codec2
