#!/usr/bin/perl

use lib '_build';
use _locales_build_utils;

my ($cldr_db_path, $locales_db) = _locales_build_utils::init_paths_from_argv();

print "Starting 'en' ...\n";
system('./_build/cldr2en', $cldr_db_path, $locales_db) == 0 || die "Could not build 'en'";

require Locales::DB::Language::en;

my $native_map = {
    'en' => $Locales::DB::Language::en::code_to_name{'en'},
};
my %isfallback;

for my $tag (sort keys %Locales::DB::Language::en::code_to_name) {
    next if $tag eq 'en';
    print "Starting '$tag' ...\n";
    if (_locales_build_utils::get_xml_file_for($tag)) {
        system('./_build/en2mod', $cldr_db_path, $locales_db, $tag) == 0 || die "Could not build '$tag'";
    }
    
    if (my $loc = Locales->new($tag)) {
        
        $native_map->{$tag} = $loc->get_language_from_code($tag);
    }
    else {
        $native_map->{$tag} = $Locales::DB::Language::en::code_to_name{$tag}; # default to 'en' since $tag has not data in CLDR
        $isfallback->{$tag} = 1;
    }
}

_locales_build_utils::write_native_module($native_map, $isfallback);

_locales_build_utils::build_manifest();

_locales_build_utils::do_changelog();
