#!/usr/bin/perl -w

use strict;

use FindBin;
use lib ("$FindBin::RealBin/..",
	 "$FindBin::RealBin/../lib",
	);
use Getopt::Long;
use Strassen::GPX;

my $use_module = "";
my $wgs84;
GetOptions("xmlmod=s" => \$Strassen::GPX::use_xml_module, # compat with bbd2gpx
	   "module=s" => \$use_module, # older style
	   'wgs84!' => \$wgs84,
	  )
    or die "usage: $0 [-wgs84] [-xmlmod module] [file]";

if ($use_module) {
    if ($use_module =~ m{twig}i) {
	$Strassen::GPX::use_xml_module = "XML::Twig";
	require XML::Twig;
	XML::Twig->VERSION("3.26");
    } elsif ($use_module =~ m{libxml}i) {
	$Strassen::GPX::use_xml_module = "XML::LibXML";
    } else {
	die "Only 'twig' or 'libxml' allowed for -module option";
    }
}

if ($Strassen::GPX::use_xml_module) {
    if ($Strassen::GPX::use_xml_module !~ m{^(XML::Twig|XML::LibXML)$}) {
	die "Only XML::Twig or XML::LibXML allowed for -xmlmod option";
    }
}

my $file = shift || die 'Please specify file (or "-" for stdin)';
my $s = Strassen::GPX->new;
if ($wgs84) {
    $s->set_global_directive(map => 'polar');
}
$s->gpx2bbd($file);
$s->write("-");
