On a besoin de deux informations, la version du compilateur, et la version minimum supportée, qu'on peut comparer. Normalement, on va s'arranger à ce que ces valeurs soient des valeurs numérique.
Compilateur | Commande | Format de la version |
---|---|---|
g++ | g++ --version |
i.j.k, avec i, j et k des chiffres décimaux d'un ou de deux chiffres. |
Sun CC | CC -V |
i.j, avec i et j des chiffres décimaux d'un ou de deux chiffres. Il y a aussi un niveau de patch, qu'on laisse de côté pour l'instant. |
Microsoft VC++ | cl | i.j.k, avec i et j des chiffres décimaux d'un ou de deux chiffres. k a l'air d'aller au moins jusqu'à 4 chiffres. |
expr `$(getCompilerVersion) tr ' '\012' | awk -F'.' '/^[1-9][0-9]*\.[0-9]/ { printf( "%d%02d%04d\n", $1, $2, NF >= 3 ? $3 : 0 ) }' ` '>=' $(minVersion) <\pre>