#!/usr/bin/env perl

use FindBin;
use lib $FindBin::Bin;
use Run qw(ret run);
use strict;

my $preset_tasks   = $ENV{'CHPL_TASKS'};
my $preset_threads = $ENV{'CHPL_THREADS'};
my $threads;

if ($preset_threads eq "") {
    if ($preset_tasks eq "") {
        $preset_tasks = run("tasks");
    }

    if ($preset_tasks eq "fifo") {
        $threads = "pthreads";
    } elsif ($preset_tasks eq "massivethreads") {
        $threads = "none";
    } elsif ($preset_tasks eq "muxed") {
        $threads = "soft-threads";
    } elsif ($preset_tasks eq "qthreads") {
        $threads = "none";
    } elsif ($preset_tasks eq "none") {
        $threads = "none";
    } elsif ($preset_tasks eq "") {
	    $threads = "pthreads";
    } else {
	die "Unexpected preset tasks value \"$preset_tasks\".\n";
    }
} else {
    $threads = $preset_threads;
}

if ($preset_tasks ne "") {
  run("check-tasks-threads-compatibility", $preset_tasks, $threads);
}

ret($threads);
print "$threads\n" unless caller;
