use ExtUtils::MakeMaker;

use strict;
use lib qw(../lib);
use Apache::libapreq qw(xsubpp);

my $Is_Win32 = ($^O eq "MSWin32") || $ENV{WIN32_TEST}; 
my @mm_args = (
	       'NAME'	=> 'Apache::Request',
	       'VERSION_FROM' => 'Request.pm',
	       );

if ($Is_Win32) {
    win32_setup(@mm_args);
#    xsubpp("Request");
}
else {
    require Apache::src;
    my $src = Apache::src->new;
    use File::Path 'mkpath';
    my $root = "../blib/arch/auto/libapreq";
    mkpath $root, 1, 0755 unless -d $root;

    #grr, must trick ExtUtils::Liblist
    system "touch $root/libapreq.a";
    WriteMakefile(
	  @mm_args,
	  'INC'	=> "-I../c ". $src->inc,
	  'TYPEMAPS'  => $src->typemaps,
          'OBJECT' => "Request.o $root/libapreq.a",
	  'dynamic_lib' => {
	  	'OTHERLDFLAGS' => $src->otherldflags,
	  },
    );
    unlink "$root/libapreq.a";
}

sub win32_setup {
  my @mm_args = @_;
  WriteMakefile(
		@mm_args,
		'TYPEMAPS' => [ "$ENV{MP_INC}/typemap" ],
                'INC' => qq{ -I../c -I"$ENV{AP_INC}" -I"$ENV{AP_INC}/../os/win32" -I"$ENV{MP_INC}" },
		'LIBS' => qq{ -L"$ENV{MP_LIB}" -lmod_perl -L"$ENV{APREQ_LIB}" -llibapreq -L"$ENV{AP_LIB}" -lApacheCore },
                'OBJECT' => 'Request.o',
	       );
}
