#!/usr/bin/env perl

$version = $ARGV[0];

$name="c-ares";

if($version eq "") {
    print "Enter version number!\n";
    exit;
}

if(!-f "ares.h") {
    print "run this script in the ares source root dir\n";
    exit;
}

if(!-f "configure") {
    `autoconf`;
}

@files=`find . -name FILES`;

my @entries;

sub dirpart {
    my ($file)=@_;
    my @p=split("/", $file);
    $p[$#p]=""; # blank the last one
    my $dir=join("/", @p);

    $dir =~ s/^\.\///; # cut off ./ beginnings

    $dir =~ s/\/$//;  # off / trailers

    if(!$dir) {
        $dir = ".";
    }

    return $dir;
}

sub add {
    my ($file)=@_;

    my $dir=dirpart($file);

    open(FILE, "<$file");
    while(<FILE>) {
        if($_ =~ /^ *\#/) {
            next;
        }
        chomp;
        push @entries, "$dir/$_";
    }
    close(FILE);
}

for(@files) {
    chomp;
    add($_);
}

sub mkalldir {
    my ($dir) = @_;

    my @parts = split("/", $dir);

    #print "IN: $dir\n";

    my $sub="";
    for(@parts) {
        #print "PART: $_\n";

        $sub .= "$_";
        if($_ eq "") {
            next;
        }
        mkdir($sub, 0777);
        #print "make $sub\n";
        $sub .= "/";
    }
    
}

for(@entries) {
    my $dir = dirpart("$name-$version/$_");
 #   print "Create $dir\n";
    mkalldir($dir);
 #   print "Copy $_ to $dir\n";
    `cp -p $_ $dir`;
}

# make a tarball
`tar -cf $name-$version.tar $name-$version`;
# gzip the tarball
`gzip -9 $name-$version.tar`;
# remove the dir
`rm -rf $name-$version`;
