Blame view
scripts/gcc-version.sh
818 Bytes
1da177e4c
|
1 2 |
#!/bin/sh # |
0ab2a272e
|
3 |
# gcc-version [-p] gcc-command |
1da177e4c
|
4 5 6 7 |
# # Prints the gcc version of `gcc-command' in a canonical 4-digit form # such as `0295' for gcc-2.95, `0303' for gcc-3.3, etc. # |
0ab2a272e
|
8 9 10 |
# With the -p option, prints the patchlevel as well, for example `029503' for # gcc-2.95.3, `030301' for gcc-3.3.1, etc. # |
0484f1299
|
11 12 13 14 |
if [ "$1" = "-p" ] ; then with_patchlevel=1; shift; fi |
1da177e4c
|
15 16 |
compiler="$*" |
de47062a1
|
17 18 19 20 21 22 |
if [ ${#compiler} -eq 0 ]; then echo "Error: No compiler specified." echo -e "Usage: \t$0 <gcc-command>" exit 1 fi |
1da177e4c
|
23 24 |
MAJOR=$(echo __GNUC__ | $compiler -E -xc - | tail -n 1) MINOR=$(echo __GNUC_MINOR__ | $compiler -E -xc - | tail -n 1) |
0ab2a272e
|
25 26 27 28 29 30 31 32 |
if [ "x$with_patchlevel" != "x" ] ; then PATCHLEVEL=$(echo __GNUC_PATCHLEVEL__ | $compiler -E -xc - | tail -n 1) printf "%02d%02d%02d\ " $MAJOR $MINOR $PATCHLEVEL else printf "%02d%02d\ " $MAJOR $MINOR fi |