Re: [PATCH] valgrind: do not require valgrind 3.4.0 or newer
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:46:06
Hi, On Thu, 5 Feb 2009, Junio C Hamano wrote:
Johannes Schindelin [off-list ref] writes:quoted
Valgrind 3.4.0 is pretty new, and even if --track-origins is a nice feature, it is not the end of the world if that is not available. So play nice and use that option only when only an older version of valgrind is available. In the same spirit, refrain from the use of '...' in suppression files, which is also a feature only valgrind 3.4 and newer understand. Signed-off-by: Johannes Schindelin <redacted>Thanks.quoted
+TRACK_ORIGINS= + +VALGRIND_VERSION=$(valgrind --version) +VALGRIND_MAJOR=$(expr "$VALGRIND_VERSION" : '[^0-9]*\([0-9]*\)') +VALGRIND_MINOR=$(expr "$VALGRIND_VERSION" : '[^0-9]*[0-9]*\.\([0-9]*\)') +test 3 -gt "$VALGRIND_MAJOR" || +test 3 -eq "$VALGRIND_MAJOR" -a 4 -gt "$VALGRIND_MINOR" || +TRACK_ORIGINS=--track-origins=yesIt took me a while to convince myself that "3 > major || (3 == major && 4 > minor) || do-this" is equivalent to "if (3 < major || (3 == major && 4 <= minor)) { do-this }" which would be: if test 3 -lt "$VALGRIND_MAJOR" || test 3 -eq "$VALGRIND_MAJOR" -a 4 -le "$VALGRIND_MINOR" then TRACK_ORIGINS=--track-origins=yes fi or more commonly: if test "$VALGRIND_MAJOR" -gt 3 || test "$VALGRIND_MAJOR" -eq 3 -a "$VALGRIND_MINOR" -ge 4 then TRACK_ORIGINS=--track-origins=yes fi
Okay. Want me to resubmit? Ciao, Dscho