brzycki added a comment.

In 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:
  if version_not_valid and z3_executable:
    use_z3_execution output_version
  if version_not_valid z3_include_dir:
  if version_not_valid:
    warning "Z3 is not installed correctly or too old to detect its version"
    version = 0.0.0

  rC Clang


cfe-commits mailing list

Reply via email to