Index: lib/Apache2/Build.pm
===================================================================
--- lib/Apache2/Build.pm	(revision 1507962)
+++ lib/Apache2/Build.pm	(working copy)
@@ -1159,18 +1159,7 @@
 
 sub apr_generation {
     my ($self) = @_;
-
-    my $httpd_v = $self->httpd_version_as_int;
-
-    if ($httpd_v =~ m/2[4-9]\d+/) {
-        return 2;
-    }
-    elsif ($httpd_v =~ m/2[1-3]\d+/) {
-        return 1;
-    }
-    else {
-        return;
-    }
+    return $self->httpd_version_as_int =~ m/2[1-9]\d+/ ? 1 : 0;
 }
 
 # returns an array of apr/apu linking flags (--link-ld --libs) if found
@@ -1230,8 +1219,7 @@
         $self->{$key} = $self->{$mp_key};
     }
 
-    my $apr_generation = $self->apr_generation;
-    my $config = $apr_generation ? "$what-${apr_generation}-config" : "$what-config";
+    my $config = $self->apr_generation ? "$what-1-config" : "$what-config";
 
     if (!$self->{$key}) {
         my @tries = ();
Index: xs/APR/APR/Makefile.PL
===================================================================
--- xs/APR/APR/Makefile.PL	(revision 1507962)
+++ xs/APR/APR/Makefile.PL	(working copy)
@@ -25,15 +25,13 @@
 
 my $build = ModPerl::BuildMM::build_config();
 
-if (WIN32 || CYGWIN) {
-    $libs .= $build->apache_libs;
+my @apru_link_flags = $build->apru_link_flags;
+$libs .= join ' ', @apru_link_flags if @apru_link_flags;
+
+if (WIN32) {
+    $libs =~ s{/libpath:}{-L}g;
+    $libs =~ s{(\S+)\.lib}{-l$1}g;
 }
-else {
-    my @apru_link_flags = $build->apru_link_flags;
-    $libs .= join ' ', @apru_link_flags if @apru_link_flags;
-    # FIXME: This should be done automatically somewhere in Apache2::Build
-    $libs .= qq{ -laprutil-1 };
-}
 
 if (BUILD_APREXT) {
     my $mp_apr_lib = $build->mp_apr_lib;
