brzycki added a comment.

In D54978#1396927 <https://reviews.llvm.org/D54978#1396927>, @ddcc wrote:

> The old `version.h` header isn't externally exposed, only the newer 
> `z3_version.h` header starting with version 4.8.1. I built a copy of 4.7.1 
> from source, and I don't see it, so unfortunately I think the second check 
> for `version.h` is superfluous. Instead, I think it'd be ok to still query 
> the executable as the primary, then fallback to this header as the secondary?


Thanks @ddcc for checking on `version.h`, I meant to do so but got side-tracked 
with other items today.

I think your suggestion is a good compromise, possibly something like the 
following as pseudo-code:

  if z3_version.h:
    use_regex_parsed_version
  
  if version_not_valid and z3_executable:
    use_z3_execution output_version
  
  if version_not_valid z3_include_dir:
    try_mikhail.ramalho_runtime_check
  
  if version_not_valid:
    warning "Z3 is not installed correctly or too old to detect its version"
    version = 0.0.0


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D54978/new/

https://reviews.llvm.org/D54978



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to