#!/usr/bin/perl

use strict;
use warnings;

use English qw(-no_match_vars);

use Debian::Debhelper::Dh_Lib;

init();

my $cmdline = 'dpkg-query -W clang';
my $clang_ver = qx($cmdline);
if ($CHILD_ERROR) {
    error($cmdline);
}
my ($lo_ver) = ($clang_ver =~ m/\t\K(.*)-[^-]+$/);
(my $hi_ver = $lo_ver) =~ s/[.]\K([0-9]+)$/$1 + 1/e;
($clang_ver) = ($lo_ver =~ m/:\K(.*)$/);

$cmdline = 'llvm-config --version';
my $llvm_ver = qx($cmdline);
if ($CHILD_ERROR) {
    error($cmdline);
}
$llvm_ver =~ s/^([0-9]+[.][0-9]+).*/$1/s;
if ($clang_ver ne $llvm_ver) {
    error("version mismatch: clang $clang_ver + LLVM $llvm_ver");
}
foreach my $package (@{$dh{DOPACKAGES}}) {
    addsubstvar($package, 'clang:Depends', "clang (>= $lo_ver)");
    addsubstvar($package, 'clang:Depends', "clang (<< $hi_ver)");
}

# vim:ts=4 sts=4 sw=4 et
