#!/usr/bin/perl -w

sub webget($$)
{
    my ($src, $dest) = @_;

    print "Get $src -> $dest\n";
    system ("cd $dest ; $WGET $src") != 0 && die "Failed fetch";
}

sub usage {
    print STDERR "\ndownload\n";
    print STDERR "Syntax:	download    [--help] \n\n";
    print STDERR "  download's behavior is coded by your configure options eg.\n";
    print STDERR "  if you configure with --with-system-gcc it will not download\n";
    print STDERR "  gcc & binutils\n";
};

%SRC_URLS = (
    'binutils-.*'			 => 'http://go-ooo.org/packages/support',
    'gcc-.*'			 	 => 'http://go-ooo.org/packages/support',
    'src680-m.*'			 => 'http://go-ooo.org/packages/SRC680',
    'libwpd-snap-.*'			 => 'http://go-ooo.org/packages',
    'libwpd-0.*'			 => 'http://go-ooo.org/packages/libwpd',
    'images_gnome-.*'                    => 'http://go-ooo.org/packages/SRC680',
    'images_kde-.*'                      => 'http://go-ooo.org/packages/SRC680',
    'extras-.*'				 => 'http://go-ooo.org/packages/SRC680',
    'ooo_custom_images.*'                => 'http://go-ooo.org/packages/SRC680',
    'ooo_crystal_images.*'               => 'http://go-ooo.org/packages/SRC680',
# Win32 bits:
    'unicows\.exe'			 => 'http://download.microsoft.com/download/b/7/5/b75eace3-00e2-4aa0-9a6f-0b6882c71642',
    # from http://www.microsoft.com/downloads/release.asp?releaseid=30682'
    'dbghinst\.EXE'			 => 'http://download.microsoft.com/download/platformsdk/Redist/5.0.2195.1/W9XNT4/EN-US',
    '5_11_98Odma20\.zip'		 => 'http://go-ooo.org/packages/support'
);

$WGET='/usr/bin/wget';

sub download_files($$$)
{
    my ($files, $locations, $dest) = @_;

    for my $file ( @{$files} ) {
        if ( $file ne '' ) {
            if (-f "$dest/$file") {
                print "Skipping $file\n";
            } else {
                print "No file $dest/$file\n";
		my $location = '';
		for $regexp (keys %{$locations}) {
		    if ($file =~ m/^$regexp/) {
			$location = $locations->{$regexp};
			last;
		    }
		}
		$location eq '' && die "Can't find '$file' to download";
                webget( $location."/$file", $dest );
            }
        }
    }
}

if (!-d "/home/doko/ooo/gcj/openoffice.org2-1.9.76/ooo-build/src") {
    `mkdir -p /home/doko/ooo/gcj/openoffice.org2-1.9.76/ooo-build/src`;
}

# Files to download
@files = ();

while ($arg = shift @ARGV) {
    if ( $arg eq '--help' ) {
        &usage and exit(0);
    }
}

# Defaults
$tag = 'src680-m79';
print "Downloading files for $tag\n";

-x $WGET || die "Can't find wget - install it and try again\n";

if ('true' eq '') {
    push @files, ( 'gcc-3.4.1.tar.bz2', 'gcc-3.4.1-Enums.diff', 'gcc-3.4.1-VisibilityPatch2.diff' );
}

# Misc. bits for Win32
if ('' ne '') {
    push @files, ( 'unicows.exe', 'dbghinst.EXE' );
    push @files, ( "$tag-system.tar.bz2" );
#    push @files, ( '5_11_98Odma20.zip' ); # - ODMA - for when it works.
}

push @files, ( "$tag-core.tar.bz2" );
push @files, ( 'ooo_custom_images-12.tar.bz2', 'ooo_crystal_images-4.tar.bz2', 'extras-1.tar.bz2' );
push @files, ( 'libwpd-0.8.0.tar.gz' );

download_files (\@files, \%SRC_URLS, '/home/doko/ooo/gcj/openoffice.org2-1.9.76/ooo-build/src');

print "Done\n";
