Index: trunk/kBuild/tools/GCC3.kmk
===================================================================
--- trunk/kBuild/tools/GCC3.kmk	(revision 1033)
+++ trunk/kBuild/tools/GCC3.kmk	(revision 1034)
@@ -207,8 +207,8 @@
 # @param    $(othersrc) Unhandled sources.
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-TOOL_GCC3_LINK_LIBRARY_OUTPUT = $(out).ar-script $(outbase).imp.a
+TOOL_GCC3_LINK_LIBRARY_OUTPUT = $(out).ar-script
+TOOL_GCC3_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).imp.a
 TOOL_GCC3_LINK_LIBRARY_DEPEND = $(othersrc)
 TOOL_GCC3_LINK_LIBRARY_DEPORD =
-ifeq ($(filter append-dash-n,$(KMK_FEATURES)),append-dash-n)
 define TOOL_GCC3_LINK_LIBRARY_CMDS
 	$(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)'
@@ -223,19 +223,4 @@
 	$(QUIET)$(TOOL_GCC3_AR) -M < $(out).ar-script
 endef
-else
-define TOOL_GCC3_LINK_LIBRARY_CMDS
-	$(QUIET)$(APPEND) $(out).ar-script "CREATE $(out)"
-	$(foreach o, $(objs)\
-		,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDMOD $(o)")
-	$(foreach srclib, $(filter-out %.def %.imp,$(othersrc))\
-		,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDLIB $(srclib)")
-	$(if $(filter %.def %.imp,$(othersrc))\
-		,$(TOOL_GCC3_AR_IMP) -o $(outbase).imp.a $(filter %.def %.imp,$(othersrc))\
-		 $(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDLIB $(outbase).imp.a")
-	$(QUIET)$(APPEND) $(out).ar-script "SAVE"
-	$(QUIET)$(APPEND) $(out).ar-script "END"
-	$(QUIET)$(TOOL_GCC3_AR) -M < $(out).ar-script
-endef
-endif
 
 
Index: trunk/kBuild/tools/GCC32.kmk
===================================================================
--- trunk/kBuild/tools/GCC32.kmk	(revision 1033)
+++ trunk/kBuild/tools/GCC32.kmk	(revision 1034)
@@ -209,5 +209,4 @@
 TOOL_GCC32_LINK_LIBRARY_DEPEND = $(othersrc)
 TOOL_GCC32_LINK_LIBRARY_DEPORD =
-ifeq ($(filter append-dash-n,$(KMK_FEATURES)),append-dash-n)
 define TOOL_GCC32_LINK_LIBRARY_CMDS
 	$(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)'
@@ -219,16 +218,4 @@
 	$(QUIET)$(TOOL_GCC32_AR) -M < $(out).ar-script
 endef
-else
-define TOOL_GCC32_LINK_LIBRARY_CMDS
-	$(QUIET)$(APPEND) $(out).ar-script "CREATE $(out)"
-	$(foreach o, $(objs)\
-		,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDMOD $(o)")
-	$(foreach srclib,$(othersrc)\
-		,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDLIB $(srclib)")
-	$(QUIET)$(APPEND) $(out).ar-script "SAVE"
-	$(QUIET)$(APPEND) $(out).ar-script "END"
-	$(QUIET)$(TOOL_GCC32_AR) -M < $(out).ar-script
-endef
-endif
 
 
Index: trunk/kBuild/tools/GXX3.kmk
===================================================================
--- trunk/kBuild/tools/GXX3.kmk	(revision 1033)
+++ trunk/kBuild/tools/GXX3.kmk	(revision 1034)
@@ -207,8 +207,8 @@
 # @param    $(othersrc) Unhandled sources.
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-TOOL_GXX3_LINK_LIBRARY_OUTPUT = $(out).ar-script $(outbase).imp.a
+TOOL_GXX3_LINK_LIBRARY_OUTPUT = $(out).ar-script
+TOOL_GXX3_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).imp.a
 TOOL_GXX3_LINK_LIBRARY_DEPEND = $(othersrc)
 TOOL_GXX3_LINK_LIBRARY_DEPORD =
-ifeq ($(filter append-dash-n,$(KMK_FEATURES)),append-dash-n)
 define TOOL_GXX3_LINK_LIBRARY_CMDS
 	$(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)'
@@ -223,19 +223,4 @@
 	$(QUIET)$(TOOL_GXX3_AR) -M < $(out).ar-script
 endef
-else
-define TOOL_GXX3_LINK_LIBRARY_CMDS
-	$(QUIET)$(APPEND) $(out).ar-script "CREATE $(out)"
-	$(foreach o, $(objs)\
-		,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDMOD $(o)")
-	$(foreach srclib, $(filter-out %.def %.imp,$(othersrc))\
-		,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDLIB $(srclib)")
-	$(if $(filter %.def %.imp,$(othersrc))\
-		,$(TOOL_GXX3_AR_IMP) -o $(outbase).imp.a $(filter %.def %.imp,$(othersrc))\
-		 $(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDLIB $(outbase).imp.a")
-	$(QUIET)$(APPEND) $(out).ar-script "SAVE"
-	$(QUIET)$(APPEND) $(out).ar-script "END"
-	$(QUIET)$(TOOL_GXX3_AR) -M < $(out).ar-script
-endef
-endif
 
 
@@ -253,5 +238,6 @@
 # @param    $(custom_post)  Custom step invoked after linking.
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-TOOL_GXX3_LINK_PROGRAM_OUTPUT = $(outbase).map
+TOOL_GXX3_LINK_PROGRAM_OUTPUT =
+TOOL_GXX3_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map
 TOOL_GXX3_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
 		$(filter %.def, $(othersrc))
@@ -279,5 +265,6 @@
 # @param    $(custom_post)  Custom step invoked after linking.
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-TOOL_GXX3_LINK_DLL_OUTPUT = $(outbase).map
+TOOL_GXX3_LINK_DLL_OUTPUT =
+TOOL_GXX3_LINK_DLL_OUTPUT_MAYBE = $(outbase).map
 TOOL_GXX3_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
 		$(filter %.def, $(othersrc))
@@ -307,5 +294,6 @@
 # @param    $(custom_post)  Custom step invoked after linking.
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-TOOL_GXX3_LINK_SYSMOD_OUTPUT = $(outbase).map
+TOOL_GXX3_LINK_SYSMOD_OUTPUT =
+TOOL_GXX3_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map
 TOOL_GXX3_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
 		$(filter %.def, $(othersrc))
Index: trunk/kBuild/tools/GXX32.kmk
===================================================================
--- trunk/kBuild/tools/GXX32.kmk	(revision 1033)
+++ trunk/kBuild/tools/GXX32.kmk	(revision 1034)
@@ -245,5 +245,6 @@
 # @param    $(custom_post)  Custom step invoked after linking.
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-TOOL_GXX32_LINK_PROGRAM_OUTPUT = $(outbase).map
+TOOL_GXX32_LINK_PROGRAM_OUTPUT =
+TOOL_GXX32_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map
 TOOL_GXX32_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
 TOOL_GXX32_LINK_PROGRAM_DEPORD =
@@ -269,5 +270,6 @@
 # @param    $(custom_post)  Custom step invoked after linking.
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-TOOL_GXX32_LINK_DLL_OUTPUT = $(outbase).map
+TOOL_GXX32_LINK_DLL_OUTPUT =
+TOOL_GXX32_LINK_DLL_OUTPUT_MAYBE = $(outbase).map
 TOOL_GXX32_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
 TOOL_GXX32_LINK_DLL_DEPORD =
@@ -295,5 +297,6 @@
 # @param    $(custom_post)  Custom step invoked after linking.
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-TOOL_GXX32_LINK_SYSMOD_OUTPUT = $(outbase).map
+TOOL_GXX32_LINK_SYSMOD_OUTPUT =
+TOOL_GXX32_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map
 TOOL_GXX32_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
 TOOL_GXX32_LINK_SYSMOD_DEPORD =
Index: trunk/kBuild/tools/GXX3PLAIN.kmk
===================================================================
--- trunk/kBuild/tools/GXX3PLAIN.kmk	(revision 1033)
+++ trunk/kBuild/tools/GXX3PLAIN.kmk	(revision 1034)
@@ -233,5 +233,6 @@
 # @param    $(custom_post)  Custom step invoked after linking.
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-TOOL_GXX3PLAIN_LINK_PROGRAM_OUTPUT = $(outbase).map
+TOOL_GXX3PLAIN_LINK_PROGRAM_OUTPUT =
+TOOL_GXX3PLAIN_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map
 TOOL_GXX3PLAIN_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
 		$(filter %.def, $(othersrc))
@@ -258,5 +259,6 @@
 # @param    $(custom_post)  Custom step invoked after linking.
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-TOOL_GXX3PLAIN_LINK_DLL_OUTPUT = $(outbase).map
+TOOL_GXX3PLAIN_LINK_DLL_OUTPUT =
+TOOL_GXX3PLAIN_LINK_DLL_OUTPUT_MAYBE = $(outbase).map
 TOOL_GXX3PLAIN_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
 		$(filter %.def, $(othersrc))
Index: trunk/kBuild/tools/MINGW32.kmk
===================================================================
--- trunk/kBuild/tools/MINGW32.kmk	(revision 1033)
+++ trunk/kBuild/tools/MINGW32.kmk	(revision 1034)
@@ -196,5 +196,4 @@
 TOOL_MINGW32_LINK_LIBRARY_DEPEND = $(othersrc)
 TOOL_MINGW32_LINK_LIBRARY_DEPORD =
-ifeq ($(filter append-dash-n,$(KMK_FEATURES)),append-dash-n)
 define TOOL_MINGW32_LINK_LIBRARY_CMDS
 	$(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)'
@@ -206,16 +205,5 @@
 	$(QUIET)$(TOOL_MINGW32_AR) -M < $(out).ar-script
 endef
-else
-define TOOL_MINGW32_LINK_LIBRARY_CMDS
-	$(QUIET)$(APPEND) $(out).ar-script "CREATE $(out)"
-	$(foreach o, $(objs)\
-		,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDMOD $(o)")
-	$(foreach srclib, $(othersrc)\
-		,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDLIB $(srclib)")
-	$(QUIET)$(APPEND) $(out).ar-script "SAVE"
-	$(QUIET)$(APPEND) $(out).ar-script "END"
-	$(QUIET)$(TOOL_MINGW32_AR) -M < $(out).ar-script
-endef
-endif
+
 
 
@@ -258,5 +246,6 @@
 # @param    $(custom_post)  Custom step invoked after linking.
 # @param    $(outbase)  Output basename (full). Use this for list files and such.
-TOOL_MINGW32_LINK_DLL_OUTPUT = $(outbase).a $(outbase).exp $(PATH_LIB)/$(notdir $(outbase)).exp $(PATH_LIB)/$(notdir $(outbase)).a
+TOOL_MINGW32_LINK_DLL_OUTPUT =
+TOOL_MINGW32_LINK_DLL_OUTPUT_MAYBE = $(outbase).a $(outbase).exp $(PATH_LIB)/$(notdir $(outbase)).exp $(PATH_LIB)/$(notdir $(outbase)).a
 ## @todo Find a better solution for installing the extra files (.a, .exp, .pdb, .map, etc).
 TOOL_MINGW32_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
