#! /usr/bin/env perl

use File::Basename;
use Cwd 'abs_path';

sub main
{
    my $script_loc = abs_path(dirname(__FILE__));
    my $cimeroot = abs_path("$script_loc/..");
    my @dirs = ("$cimeroot/scripts/Tools", "$cimeroot/utils/perl5lib");
    unshift @INC, @dirs;
    require ConfigCase;

    my $mach_dir = shift;
    my $machine  = shift;
    my $xml_file = shift;

    print "mach_dir: $mach_dir\n";
    print "machine: $machine\n";
    print "xml_file: $xml_file\n";

    my $config_def_file = "config_definition.xml";
    my $cfg_ref = ConfigCase->new("$cimeroot/scripts/Tools/$config_def_file");

    $cfg_ref->set_machine("${mach_dir}/config_machines.xml", $machine, 0);

    while (my $value = shift) {
        my @key_val_pair = split(",", $value);
        print "Doing key pair $key_val_pair[0],$key_val_pair[1]\n";
        $cfg_ref->set($key_val_pair[0], $key_val_pair[1]);
    }

    print "About to write file!!\n";
    $cfg_ref->write_file($xml_file, "xml", $cimeroot);
}

main(@ARGV) unless caller();
1;
