Index: port1.0/portconfigure.tcl
===================================================================
--- port1.0/portconfigure.tcl	(revision 44441)
+++ port1.0/portconfigure.tcl	(working copy)
@@ -59,20 +59,70 @@
 option_proc use_autoconf    set_configure_type
 option_proc use_xmkmf       set_configure_type
 
+option_proc autoreconf.cmd  set_configure_type
+option_proc automake.cmd    set_configure_type
+option_proc autoconf.cmd    set_configure_type
+option_proc xmkmf.cmd       set_configure_type
+
+##
+# Local helper proc
+proc add_build_dep { type dep } {
+    global ${type}.cmd
+
+    if {![info exists ${type}.cmd] || (
+        ([info exists option_defaults(${type}.cmd)] && [set ${type}.cmd] == $option_defaults(${type}.cmd)) ||
+        (![info exists option_defaults(${type}.cmd)] && [set ${type}.cmd] == "${type}")
+        )} {
+            depends_build-append $dep
+    }
+}
+
+##
+# Adds dependencies for the binaries which will be called, but only if it is
+# the default. If .cmd was overwritten the port has to care for deps itself.
 proc set_configure_type {option action args} {
-    if {[string equal ${action} "set"] && [tbool args]} {
+    global option_defaults
+    global autoreconf.cmd automake.cmd autoconf.cmd xmkmf.cmd
+
+    array set configure_map {
+        autoreconf  bin:autoreconf:autoconf
+        automake    bin:automake:automake
+        autoconf    bin:autoconf:autoconf
+        xmkmf       bin:xmkmf:imake
+    }
+
+    if {[string equal ${action} "set"]} {
+        set item ""
+        set act 0
         switch $option {
             use_autoreconf {
-                depends_build-append bin:autoreconf:autoconf
+                if {[tbool args]} {
+                    add_build_dep automake $configure_map(autoreconf)
+                }
+            }
+            autoreconf.cmd {
+                depends_build-delete $configure_map(autoreconf)
             }
             use_automake {
-                depends_build-append bin:automake:automake
+                if {[tbool args]} {
+                    add_build_dep automake $configure_map(automake)
+                }
+            }
+            automake.cmd {
+                depends_build-delete $configure_map(automake)
             }
             use_autoconf {
-                depends_build-append bin:autoconf:autoconf
+                if {[tbool args]} {
+                    add_build_dep autoconf $configure_map(autoconf)
+                }
+            }
+            autoconf.cmd {
+                depends_build-delete $configure_map(autoconf)
             }
             use_xmkmf {
-                depends_build-append bin:xmkmf:imake
+                if {[tbool args]} {
+                    depends_build-append $configure_map(xmkmf)
+                }
             }
         }
     }

