1 #!/bin/sh 1 #!/bin/sh 2 # SPDX-License-Identifier: GPL-2.0 2 # SPDX-License-Identifier: GPL-2.0 3 # 3 # 4 # Usage: $ ./rustc-llvm-version.sh rustc 4 # Usage: $ ./rustc-llvm-version.sh rustc 5 # 5 # 6 # Print the LLVM version that the Rust compile 6 # Print the LLVM version that the Rust compiler uses in a 6 digit form. 7 7 8 # Convert the version string x.y.z to a canoni 8 # Convert the version string x.y.z to a canonical up-to-6-digits form. 9 get_canonical_version() 9 get_canonical_version() 10 { 10 { 11 IFS=. 11 IFS=. 12 set -- $1 12 set -- $1 13 echo $((10000 * $1 + 100 * $2 + $3)) 13 echo $((10000 * $1 + 100 * $2 + $3)) 14 } 14 } 15 15 16 if output=$("$@" --version --verbose 2>/dev/nu 16 if output=$("$@" --version --verbose 2>/dev/null | grep -E 'LLVM.*[0-9]+\.[0-9]+\.[0-9]+'); then 17 set -- $output 17 set -- $output 18 get_canonical_version $3 18 get_canonical_version $3 19 else 19 else 20 echo 0 20 echo 0 21 exit 1 21 exit 1 22 fi 22 fi
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.