The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use warnings;
use ExtUtils::MakeMaker;

my $libs = $ENV{TALIB_LIBS};
my $cflags = $ENV{TALIB_CFLAGS};

eval { require Alien::TALib };
if ( !$@ ) {
  warn "Using ta-lib via Alien::TALib\n";
  my $alien = Alien::TALib->new;
  $libs   = $alien->libs   if !defined $libs;
  $cflags = $alien->cflags if !defined $cflags;
}
else {
  warn "Alien::TALib not found, trying ta-lib-config\n";
  if (!defined $libs) {
    $libs = `ta-lib-config --libs`;
    $libs =~ s/[\s\n\r]*$//;
    #XXX-HACK fixing broken ta-lib-config output
    $libs .= " -lta_lib" if $libs && $libs !~ /-lta_lib/;
  }

  if (!defined $cflags) {
   $cflags = `ta-lib-config --cflags`;
   $cflags =~ s/[\s\n\r]*$//;
  }
}

unless ($libs) {
  warn "\nERROR: ta-lib not found on your system!\n\n";
  exit 0;
}

warn "Gonna use\n",
     " cflags: '$cflags'\n",
     " libs:   '$libs'\n";

WriteMakefile(
  NAME         => 'Finance::TA',
  ABSTRACT     => 'Perl wrapper for Technical Analysis Library',
  AUTHOR       => 'Wim Verhaegen <wimv@cpan.org>',
  VERSION      => 'v0.4.3', # has to be changed on 4 places!!!
  LIBS         => [$libs],
  INC          => $cflags,
  OBJECT       => '$(O_FILES)',
  PREREQ_PM    => { 'Test'   => 0 },
  LICENSE      => 'bsd',
  dist         => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
  clean        => { FILES => 'Finance-TA-*' },
  META_MERGE   => { 
      provides     => { 'Finance::TA' => { file => 'TA.pm', version => 'v0.4.3'} },
      no_index     => { directory => ['_swig'] },
      resources    => {
          homepage     => 'http://ta-lib.org/',
          repository   => 'https://github.com/kmx/perl-finance-ta',
      },
  },
  # generating ta_libc_wrap.c + TA.pm via swig (needed only when upgrading to the newer version)
  # make ta_libc_wrap.c
  'depend'       => { 
      'ta_libc_wrap.c TA.pm' => "_swig/ta_func.swg _swig/ta_libc.swg _swig/perl.pm\n".
          "\tswig -perl5 -module \"Finance::TA\" -proxy -Fstandard -o ta_libc_wrap.c -I/usr/local/include/ta-lib _swig/ta_libc.swg\n".
	  "\tcat _swig/perl.pm >> TA.pm\n",
  },
);