Re: autoconf macros, portable arithmetic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Stepan Kasal <kasal@xxxxxx> writes:

> here is how gnome-common/macros2/gnome-autogen.sh does it (slightly adapted):

That's pretty awkward, and it mishandles letter suffixes: e.g., it
can't tell that 1.2.4a > 1.2.4.

Why not do something like this instead?  This suffices for 4-part
version numbers but it's easy to increase this.

# Example inputs
a=3.5.37
b=3.5.371

newline='
'
sorted=`
  echo "$a$newline$b" | sed 's/\.0*/./g' | {
    # Use POSIX sort first, falling back on traditional sort.
    sort -t. -k1,1n -k1,1 -k2,2n -k2,2 -k3,3n -k3,3 -k4,4n -k4,4 2>/dev/null ||
    sort -t. +0n -1 +0 -1 +1n -2 +1 -2 +2n -3 +2 -3 +3n -4 +3 -4
  }
`
if test "x$a$newline$b" = "x$sorted"; then
  echo "$a <= $b"
else
  echo "$a > $b"
fi



Perhaps there should be an Autoconf macro for this?  Can someone
propose a name, documentation, patch, etc.?  Personally I don't like
to check against version numbers -- it's not the Autoconf Way -- but
if it's a common-enough need then it might be useful to have it.


_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf

[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux