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.

Attachment: 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

Reply via email to