--- toast	2004/10/03 04:03:07	1.353
+++ toast	2004/10/04 05:16:04	1.354
@@ -3127,7 +3127,7 @@
       return true;
     }
     my($cfg) = path($abs, "configure");
-    if(-x($cfg))
+    if(-r($cfg))
     {
       return true if whilefile { /^\s*(\#|exit|$)/ } $cfg;
       return false if $glibcdir;
@@ -3159,10 +3159,14 @@
         if $ehdir;
     writefile(path($dir, "Makefile"), $mftext);
 
-    my(@confcmd) = ("../configure", "--prefix=$prefix");
-    push(@confcmd, "--enable-add-ons") if @addons;
-    push(@confcmd, "--with-headers=$hdrdir/include") if $hdrdir;
-    cdrun($makedir, @confcmd);
+    my(%confopts) = ("--prefix=$prefix" => 1);
+    $confopts{"--with-headers=$hdrdir/include"} = 1 if $hdrdir;
+    my($cfg) = path($glibcdir, "configure");
+    patch
+    {
+      $confopts{$1} = 1 if /(--(enable-add-ons|with-tls))\b/;
+    } $cfg if reconfigure;
+    cdrun($makedir, qw(sh ../configure), sort(keys(%confopts)));
 
     return $dir;
   }