Index: trunk/kBuild/tools/GCC.kmk
===================================================================
--- trunk/kBuild/tools/GCC.kmk	(revision 3392)
+++ trunk/kBuild/tools/GCC.kmk	(revision 3393)
@@ -35,16 +35,24 @@
 
 # Tool Specific Properties
-TOOL_GCC_CC  ?= gcc$(HOSTSUFF_EXE)
-TOOL_GCC_CXX ?= g++$(HOSTSUFF_EXE)
-TOOL_GCC_AS  ?= gcc$(HOSTSUFF_EXE)
-TOOL_GCC_AR  ?= ar$(HOSTSUFF_EXE)
-TOOL_GCC_RANLIB ?= ranlib$(HOSTSUFF_EXE)
-TOOL_GCC_LD  ?= gcc$(HOSTSUFF_EXE)
-TOOL_GCC_LDFLAGS.dll.os2 ?= -Zdll
+ifndef TOOL_GCC_PREFIX
+ TOOL_GCC_PREFIX :=
+endif
+ifndef TOOL_GCC_SUFFIX
+ TOOL_GCC_SUFFIX := $(HOSTSUFF_EXE)
+endif
+TOOL_GCC_PREFIX2 ?= $(TOOL_GCC_PREFIX)
+TOOL_GCC_SUFFIX2 ?= $(TOOL_GCC_SUFFIX)
+TOOL_GCC_CC      ?= $(TOOL_GCC_PREFIX)gcc$(TOOL_GCC_SUFFIX)
+TOOL_GCC_CXX     ?= $(TOOL_GCC_PREFIX)g++$(TOOL_GCC_SUFFIX)
+TOOL_GCC_AS      ?= $(TOOL_GCC_PREFIX)gcc$(TOOL_GCC_SUFFIX)
+TOOL_GCC_AR      ?= $(TOOL_GCC_PREFIX2)ar$(TOOL_GCC_SUFFIX2)
+TOOL_GCC_RANLIB  ?= $(TOOL_GCC_PREFIX2)ranlib$(TOOL_GCC_SUFFIX2)
+TOOL_GCC_LD      ?= $(TOOL_GCC_PREFIX)gcc$(TOOL_GCC_SUFFIX)
+TOOL_GCC_LDFLAGS.dll.os2    ?= -Zdll
 TOOL_GCC_LDFLAGS.dll.darwin ?= -dynamiclib
 ifndef TOOL_GCC_LDFLAGS.$(KBUILD_TARGET)
-TOOL_GCC_LDFLAGS.dll ?= -shared
+ TOOL_GCC_LDFLAGS.dll       ?= -shared
 else
-TOOL_GCC_LDFLAGS.dll ?= $(TOOL_GCC_LDFLAGS.$(KBUILD_TARGET))
+ TOOL_GCC_LDFLAGS.dll       ?= $(TOOL_GCC_LDFLAGS.$(KBUILD_TARGET))
 endif
 
Index: trunk/kBuild/tools/GCC3.kmk
===================================================================
--- trunk/kBuild/tools/GCC3.kmk	(revision 3392)
+++ trunk/kBuild/tools/GCC3.kmk	(revision 3393)
@@ -35,19 +35,33 @@
 
 # Tool Specific Properties
-TOOL_GCC3_CC  ?= gcc$(HOSTSUFF_EXE)
-TOOL_GCC3_CXX ?= g++$(HOSTSUFF_EXE)
-TOOL_GCC3_AS  ?= gcc$(HOSTSUFF_EXE)
-ifeq ($(KBUILD_TARGET),solaris) ## @todo drop the MRI script!
- TOOL_GCC3_AR ?= gar$(HOSTSUFF_EXE)
-else
- TOOL_GCC3_AR ?= ar$(HOSTSUFF_EXE)
-endif
+ifndef TOOL_GCC3_PREFIX
+ TOOL_GCC3_PREFIX :=
+endif
+ifndef TOOL_GCC3_SUFFIX
+ TOOL_GCC3_SUFFIX := $(HOSTSUFF_EXE)
+endif
+if1of ($(KBUILD_HOST), solaris)
+ TOOL_GCC3_PREFIX2  ?= g
+else
+ TOOL_GCC3_PREFIX2  ?=
+endif
+TOOL_GCC3_SUFFIX2   ?= $(HOSTSUFF_EXE)
+TOOL_GCC3_PREFIX3   ?=
+TOOL_GCC3_SUFFIX3   ?= $(HOSTSUFF_EXE)
+TOOL_GCC3_CC        ?= $(TOOL_GCC3_PREFIX)gcc$(TOOL_GCC3_SUFFIX)
+TOOL_GCC3_CXX       ?= $(TOOL_GCC3_PREFIX)g++$(TOOL_GCC3_SUFFIX)
+TOOL_GCC3_AS        ?= $(TOOL_GCC3_PREFIX)gcc$(TOOL_GCC3_SUFFIX)
+TOOL_GCC3_AR        ?= $(TOOL_GCC3_PREFIX2)ar$(TOOL_GCC3_SUFFIX2)
 ifeq ($(KBUILD_TARGET),os2)
- TOOL_GCC3_AR_IMP ?= emximp$(HOSTSTUFF_EXE)
-else
- TOOL_GCC3_AR_IMP ?= $(ECHO) not supported!
-endif
-TOOL_GCC3_LD ?= gcc$(HOSTSUFF_EXE)
-TOOL_GCC3_LD_SYSMOD ?= ld$(HOSTSUFF_EXE)
+ TOOL_GCC3_AR_IMP   ?= $(TOOL_GCC3_PREFIX3)emximp$(TOOL_GCC3_SUFFIX3)
+else
+ TOOL_GCC3_AR_IMP   ?= $(ECHO) not supported!
+endif
+TOOL_GCC3_LD        ?= $(TOOL_GCC3_PREFIX)gcc$(TOOL_GCC3_SUFFIX)
+if1of ($(KBUILD_HOST), solaris)
+TOOL_GCC3_LD_SYSMOD ?= $(TOOL_GCC3_PREFIX3)ld$(TOOL_GCC3_SUFFIX3)
+else
+TOOL_GCC3_LD_SYSMOD ?= $(TOOL_GCC3_PREFIX2)ld$(TOOL_GCC3_SUFFIX2)
+endif
 ifndef TOOL_GCC3_LDFLAGS.$(KBUILD_TARGET)
  TOOL_GCC3_LDFLAGS.dll ?= -shared
@@ -64,9 +78,5 @@
  TOOL_GCC3_LD_SYSMOD_MAP ?=
 endif
-if1of ($(KBUILD_HOST), solaris)
- TOOL_GCC3_OBJCOPY ?= gobjcopy$(HOSTSUFF_EXE)
-else
- TOOL_GCC3_OBJCOPY ?= objcopy$(HOSTSUFF_EXE)
-endif
+TOOL_GCC3_OBJCOPY ?= $(TOOL_GCC3_PREFIX2)objcopy$(TOOL_GCC3_SUFFIX2)
 
 ifdef SLKRUNS
Index: trunk/kBuild/tools/GCC32.kmk
===================================================================
--- trunk/kBuild/tools/GCC32.kmk	(revision 3392)
+++ trunk/kBuild/tools/GCC32.kmk	(revision 3393)
@@ -36,10 +36,29 @@
 
 # Tool Specific Properties
-TOOL_GCC32_CC  ?= gcc$(HOSTSUFF_EXE) -m32
-TOOL_GCC32_CXX ?= g++$(HOSTSUFF_EXE) -m32
-TOOL_GCC32_AS  ?= gcc$(HOSTSUFF_EXE) -m32
-TOOL_GCC32_AR  ?= ar$(HOSTSUFF_EXE)
-TOOL_GCC32_LD  ?= gcc$(HOSTSUFF_EXE) -m32
-TOOL_GCC32_LD_SYSMOD ?= ld$(HOSTSUFF_EXE)
+ifndef TOOL_GCC32_PREFIX
+ TOOL_GCC32_PREFIX :=
+endif
+ifndef TOOL_GCC32_SUFFIX
+ TOOL_GCC32_SUFFIX := $(HOSTSUFF_EXE)
+endif
+if1of ($(KBUILD_HOST), solaris)
+ TOOL_GCC32_PREFIX2  ?= g
+else
+ TOOL_GCC32_PREFIX2  ?=
+endif
+TOOL_GCC32_SUFFIX2   ?= $(HOSTSUFF_EXE)
+TOOL_GCC32_PREFIX3   ?=
+TOOL_GCC32_SUFFIX3   ?= $(HOSTSUFF_EXE)
+
+TOOL_GCC32_CC        ?= $(TOOL_GCC32_PREFIX)gcc$(TOOL_GCC32_SUFFIX) -m32
+TOOL_GCC32_CXX       ?= $(TOOL_GCC32_PREFIX)g++$(TOOL_GCC32_SUFFIX) -m32
+TOOL_GCC32_AS        ?= $(TOOL_GCC32_PREFIX)gcc$(TOOL_GCC32_SUFFIX) -m32
+TOOL_GCC32_AR        ?= $(TOOL_GCC32_PREFIX2)ar$(TOOL_GCC32_SUFFIX2)
+TOOL_GCC32_LD        ?= $(TOOL_GCC32_PREFIX)gcc$(TOOL_GCC32_SUFFIX) -m32
+if1of ($(KBUILD_HOST), solaris)
+ TOOL_GCC32_LD_SYSMOD ?= $(TOOL_GCC32_PREFIX3)ld$(TOOL_GCC32_SUFFIX3)
+else
+ TOOL_GCC32_LD_SYSMOD ?= $(TOOL_GCC32_PREFIX2)ld$(TOOL_GCC32_SUFFIX2)
+endif
 ifndef TOOL_GCC32_LDFLAGS.$(KBUILD_TARGET)
 TOOL_GCC32_LDFLAGS.dll ?= -shared
@@ -59,9 +78,5 @@
 TOOL_GCC32_LD_SYSMOD_MAP ?=
 endif
-if1of ($(KBUILD_HOST), solaris)
- TOOL_GCC32_OBJCOPY ?= gobjcopy$(HOSTSUFF_EXE)
-else
- TOOL_GCC32_OBJCOPY ?= objcopy$(HOSTSUFF_EXE)
-endif
+TOOL_GCC32_OBJCOPY ?= $(TOOL_GCC32_PREFIX2)objcopy$(TOOL_GCC32_SUFFIX2)
 
 ifdef SLKRUNS
Index: trunk/kBuild/tools/GCC3OMF.kmk
===================================================================
--- trunk/kBuild/tools/GCC3OMF.kmk	(revision 3392)
+++ trunk/kBuild/tools/GCC3OMF.kmk	(revision 3393)
@@ -35,20 +35,27 @@
 
 # Tool Specific Properties
-TOOL_GCC3OMF_CC  ?= gcc$(HOSTSUFF_EXE)
-TOOL_GCC3OMF_CXX ?= g++$(HOSTSUFF_EXE)
-TOOL_GCC3OMF_AS  ?= gcc$(HOSTSUFF_EXE)
-TOOL_GCC3OMF_AR  ?= emxomfar$(HOSTSUFF_EXE)
-TOOL_GCC3OMF_AR_IMP ?= emximp$(HOSTSUFF_EXE)
-TOOL_GCC3OMF_LD ?= gcc$(HOSTSUFF_EXE)
-TOOL_GCC3OMF_LD_SYSMOD ?= gcc$(HOSTSUFF_EXE)
-ifndef TOOL_GCC3OMF_LDFLAGS.$(KBUILD_TARGET)
+ifndef TOOL_GCC3OMF_PREFIX
+ TOOL_GCC3OMF_PREFIX :=
+endif
+ifndef TOOL_GCC3OMF_SUFFIX
+ TOOL_GCC3OMF_SUFFIX := $(HOSTSUFF_EXE)
+endif
+TOOL_GCC3OMF_PREFIX2   ?=
+TOOL_GCC3OMF_SUFFIX2   ?= $(HOSTSUFF_EXE)
+TOOL_GCC3OMF_PREFIX3   ?=
+TOOL_GCC3OMF_SUFFIX3   ?= $(HOSTSUFF_EXE)
+TOOL_GCC3OMF_CC        ?= $(TOOL_GCC3OMF_PREFIX)gcc$(TOOL_GCC3OMF_SUFFIX)
+TOOL_GCC3OMF_CXX       ?= $(TOOL_GCC3OMF_PREFIX)g++$(TOOL_GCC3OMF_SUFFIX)
+TOOL_GCC3OMF_AS        ?= $(TOOL_GCC3OMF_PREFIX)gcc$(TOOL_GCC3OMF_SUFFIX)
+TOOL_GCC3OMF_AR        ?= $(TOOL_GCC3OMF_PREFIX2)emxomfar$(TOOL_GCC3OMF_SUFFIX2)
+TOOL_GCC3OMF_AR_IMP    ?= $(TOOL_GCC3OMF_PREFIX2)emximp$(TOOL_GCC3OMF_SUFFIX2)
+TOOL_GCC3OMF_LD        ?= $(TOOL_GCC3OMF_PREFIX)gcc$(TOOL_GCC3OMF_SUFFIX)
+TOOL_GCC3OMF_LD_SYSMOD ?= $(TOOL_GCC3OMF_PREFIX)gcc$(TOOL_GCC3OMF_SUFFIX)
 TOOL_GCC3OMF_LDFLAGS.dll ?= -shared -Zdll
-else
-TOOL_GCC3OMF_LDFLAGS.dll ?= $(TOOL_GCC3OMF_LDFLAGS.$(KBUILD_TARGET))
-endif
 TOOL_GCC3OMF_LDFLAGS.sysmod ?= -nostdlib
 TOOL_GCC3OMF_LD_MAP ?= -Zmap=$(1)
 TOOL_GCC3OMF_LD_SYSMOD_MAP ?= -Zmap=$(1)
-TOOL_GCC3OMF_RC = rc$(HOSTSUFF_EXE)
+
+TOOL_GCC3OMF_RC = $(TOOL_GCC3OMF_PREFIX3)rc$(TOOL_GCC3OMF_SUFFIX3)
 
 ifdef SLKRUNS
Index: trunk/kBuild/tools/GCC3PLAIN.kmk
===================================================================
--- trunk/kBuild/tools/GCC3PLAIN.kmk	(revision 3392)
+++ trunk/kBuild/tools/GCC3PLAIN.kmk	(revision 3393)
@@ -35,12 +35,20 @@
 
 # Tool Specific Properties
-TOOL_GCC3PLAIN_CC  ?= gcc$(HOSTSUFF_EXE)
-TOOL_GCC3PLAIN_CXX ?= g++$(HOSTSUFF_EXE)
-TOOL_GCC3PLAIN_AS  ?= gcc$(HOSTSUFF_EXE)
-TOOL_GCC3PLAIN_AR  ?= ar$(HOSTSUFF_EXE)
-TOOL_GCC3PLAIN_RANLIB ?= ranlib$(HOSTSUFF_EXE)
-TOOL_GCC3PLAIN_LD  ?= gcc$(HOSTSUFF_EXE)
-TOOL_GCC3PLAIN_LD_SYSMOD ?= ld$(HOSTSUFF_EXE)
-TOOL_GCC3PLAIN_LD_SYSMOD.os2 ?= g++$(HOSTSUFF_EXE)
+ifndef TOOL_GCC3PLAIN_PREFIX
+ TOOL_GCC3PLAIN_PREFIX :=
+endif
+ifndef TOOL_GCC3PLAIN_SUFFIX
+ TOOL_GCC3PLAIN_SUFFIX := $(HOSTSUFF_EXE)
+endif
+TOOL_GCC3PLAIN_PREFIX2 ?= $(TOOL_GCC3PLAIN_PREFIX)
+TOOL_GCC3PLAIN_SUFFIX2 ?= $(TOOL_GCC3PLAIN_SUFFIX)
+TOOL_GCC3PLAIN_CC            ?= $(TOOL_GCC3PLAIN_PREFIX)gcc$(TOOL_GCC3PLAIN_SUFFIX)
+TOOL_GCC3PLAIN_CXX           ?= $(TOOL_GCC3PLAIN_PREFIX)g++$(TOOL_GCC3PLAIN_SUFFIX)
+TOOL_GCC3PLAIN_AS            ?= $(TOOL_GCC3PLAIN_PREFIX)gcc$(TOOL_GCC3PLAIN_SUFFIX)
+TOOL_GCC3PLAIN_AR            ?= $(TOOL_GCC3PLAIN_PREFIX2)ar$(TOOL_GCC3PLAIN_SUFFIX2)
+TOOL_GCC3PLAIN_RANLIB        ?= $(TOOL_GCC3PLAIN_PREFIX2)ranlib$(TOOL_GCC3PLAIN_SUFFIX2)
+TOOL_GCC3PLAIN_LD            ?= $(TOOL_GCC3PLAIN_PREFIX)gcc$(TOOL_GCC3PLAIN_SUFFIX)
+TOOL_GCC3PLAIN_LD_SYSMOD     ?= $(TOOL_GCC3PLAIN_PREFIX2)ld$(TOOL_GCC3PLAIN_SUFFIX2)
+TOOL_GCC3PLAIN_LD_SYSMOD.os2 ?= $(TOOL_GCC3PLAIN_PREFIX)g++$(TOOL_GCC3PLAIN_SUFFIX)
 TOOL_GCC3PLAIN_LDFLAGS.dll.os2 ?= -Zdll
 TOOL_GCC3PLAIN_LDFLAGS.dll.darwin ?= -dynamiclib
@@ -50,8 +58,8 @@
  TOOL_GCC3PLAIN_LDFLAGS.dll ?= $(TOOL_GCC3PLAIN_LDFLAGS.$(KBUILD_TARGET))
 endif
-TOOL_GCC3PLAIN_LD_SONAME.darwin ?= $(NO_SUCH_VARIABLE)
-TOOL_GCC3PLAIN_LD_SONAME.os2 ?= $(NO_SUCH_VARIABLE)
+TOOL_GCC3PLAIN_LD_SONAME.darwin  ?= $(NO_SUCH_VARIABLE)
+TOOL_GCC3PLAIN_LD_SONAME.os2     ?= $(NO_SUCH_VARIABLE)
 TOOL_GCC3PLAIN_LD_SONAME.solaris ?= -Wl,-h,$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
-TOOL_GCC3PLAIN_LD_SONAME.win ?= $(NO_SUCH_VARIABLE)
+TOOL_GCC3PLAIN_LD_SONAME.win     ?= $(NO_SUCH_VARIABLE)
 ifndef TOOL_GCC3PLAIN_LD_SONAME.$(KBUILD_TARGET)
  TOOL_GCC3PLAIN_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
Index: trunk/kBuild/tools/GCC42MACHO.kmk
===================================================================
--- trunk/kBuild/tools/GCC42MACHO.kmk	(revision 3392)
+++ trunk/kBuild/tools/GCC42MACHO.kmk	(revision 3393)
@@ -35,6 +35,12 @@
 
 # Tool Specific Properties
-TOOL_GCC42MACHO_PREFIX    ?=
-TOOL_GCC42MACHO_SUFFIX    ?= -4.2$(HOSTSUFF_EXE)
+ifndef TOOL_GCC42MACHO_PREFIX
+ TOOL_GCC42MACHO_PREFIX   :=
+endif
+ifndef TOOL_GCC42MACHO_SUFFIX
+ TOOL_GCC42MACHO_SUFFIX   := -4.2$(HOSTSUFF_EXE)
+endif
+TOOL_GCC42MACHO_PREFIX2   ?=
+TOOL_GCC42MACHO_SUFFIX2   ?=
 TOOL_GCC42MACHO_CC        ?= $(TOOL_GCC42MACHO_PREFIX)gcc$(TOOL_GCC42MACHO_SUFFIX)
 TOOL_GCC42MACHO_CXX       ?= $(TOOL_GCC42MACHO_PREFIX)g++$(TOOL_GCC42MACHO_SUFFIX)
@@ -44,12 +50,7 @@
 TOOL_GCC42MACHO_LD        ?= $(TOOL_GCC42MACHO_PREFIX)gcc$(TOOL_GCC42MACHO_SUFFIX)
 TOOL_GCC42MACHO_LD_SYSMOD ?= $(TOOL_GCC42MACHO_PREFIX)gcc$(TOOL_GCC42MACHO_SUFFIX)
-ifndef TOOL_GCC42MACHO_LDFLAGS.$(KBUILD_TARGET)
 TOOL_GCC42MACHO_LDFLAGS.dll ?= -dynamiclib
-else
-TOOL_GCC42MACHO_LDFLAGS.dll ?= $(TOOL_GCC42MACHO_LDFLAGS.$(KBUILD_TARGET))
-endif
 TOOL_GCC42MACHO_LDFLAGS.sysmod ?= -r
 #TOOL_GCC42MACHO_LD_SONAME = -Wl,-dylib_install_name $(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
-TOOL_GCC42MACHO_DSYMUTIL  ?= dsymutil
 
 ifdef SLKRUNS
@@ -59,4 +60,11 @@
 TOOL_GCC42MACHO_OBJCXX    += -fmessage-length=0
 endif
+
+TOOL_GCC42MACHO_AR        ?= $(TOOL_GCC4MACHO_PREFIX2)ar$(TOOL_GCC4MACHO_SUFFIX2)
+TOOL_GCC42MACHO_DSYMUTIL  ?= $(TOOL_GCC4MACHO_PREFIX2)dsymutil$(TOOL_GCC4MACHO_SUFFIX2)
+TOOL_GCC42MACHO_STRIP     ?= $(TOOL_GCC4MACHO_PREFIX2)strip$(TOOL_GCC4MACHO_SUFFIX2)
+TOOL_GCC42MACHO_STRIP_PROGRAM ?= $(TOOL_GCC42MACHO_STRIP) -SXxru
+TOOL_GCC42MACHO_STRIP_DLL     ?= $(TOOL_GCC42MACHO_STRIP) -Sxru
+TOOL_GCC42MACHO_STRIP_SYSMOD  ?= $(TOOL_GCC42MACHO_STRIP) -Sru
 
 # General Properties used by kBuild
@@ -98,5 +106,4 @@
 TOOL_GCC42MACHO_ASOBJSUFF        ?= .o
 
-TOOL_GCC42MACHO_AR               ?= ar$(HOSTSUFF_EXE)
 TOOL_GCC42MACHO_ARFLAGS          ?= -c -rs
 TOOL_GCC42MACHO_ARLIBSUFF        ?= .a
@@ -105,8 +112,4 @@
 TOOL_GCC42MACHO_LDFLAGS.debug    ?= -g
 TOOL_GCC42MACHO_LDFLAGS.profile  ?= -g
-
-TOOL_GCC42MACHO_STRIP_PROGRAM    ?= strip -SXxru
-TOOL_GCC42MACHO_STRIP_DLL        ?= strip -Sxru
-TOOL_GCC42MACHO_STRIP_SYSMOD     ?= strip -Sru
 
 
Index: trunk/kBuild/tools/GCC4MACHO.kmk
===================================================================
--- trunk/kBuild/tools/GCC4MACHO.kmk	(revision 3392)
+++ trunk/kBuild/tools/GCC4MACHO.kmk	(revision 3393)
@@ -35,6 +35,12 @@
 
 # Tool Specific Properties
-TOOL_GCC4MACHO_PREFIX    ?=
-TOOL_GCC4MACHO_SUFFIX    ?= $(HOSTSUFF_EXE)
+ifndef TOOL_GCC4MACHO_PREFIX
+ TOOL_GCC4MACHO_PREFIX   :=
+endif
+ifndef TOOL_GCC4MACHO_SUFFIX
+ TOOL_GCC4MACHO_SUFFIX   := $(HOSTSUFF_EXE)
+endif
+TOOL_GCC4MACHO_PREFIX2   ?=
+TOOL_GCC4MACHO_SUFFIX2   ?= $(HOSTSUFF_EXE)
 TOOL_GCC4MACHO_CC        ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
 TOOL_GCC4MACHO_CXX       ?= $(TOOL_GCC4MACHO_PREFIX)g++$(TOOL_GCC4MACHO_SUFFIX)
@@ -44,12 +50,14 @@
 TOOL_GCC4MACHO_LD        ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
 TOOL_GCC4MACHO_LD_SYSMOD ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
-ifndef TOOL_GCC4MACHO_LDFLAGS.$(KBUILD_TARGET)
 TOOL_GCC4MACHO_LDFLAGS.dll ?= -dynamiclib
-else
-TOOL_GCC4MACHO_LDFLAGS.dll ?= $(TOOL_GCC4MACHO_LDFLAGS.$(KBUILD_TARGET))
-endif
 TOOL_GCC4MACHO_LDFLAGS.sysmod ?= -r
 #TOOL_GCC4MACHO_LD_SONAME = -Wl,-dylib_install_name $(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
-TOOL_GCC4MACHO_DSYMUTIL  ?= dsymutil
+
+TOOL_GCC4MACHO_AR        ?= $(TOOL_GCC4MACHO_PREFIX2)ar$(TOOL_GCC4MACHO_SUFFIX2)
+TOOL_GCC4MACHO_DSYMUTIL  ?= $(TOOL_GCC4MACHO_PREFIX2)dsymutil$(TOOL_GCC4MACHO_SUFFIX2)
+TOOL_GCC4MACHO_STRIP     ?= $(TOOL_GCC4MACHO_PREFIX2)strip$(TOOL_GCC4MACHO_SUFFIX2)
+TOOL_GCC4MACHO_STRIP_PROGRAM ?= $(TOOL_GCC4MACHO_STRIP) -SXxru
+TOOL_GCC4MACHO_STRIP_DLL     ?= $(TOOL_GCC4MACHO_STRIP) -Sxru
+TOOL_GCC4MACHO_STRIP_SYSMOD  ?= $(TOOL_GCC4MACHO_STRIP) -Sru
 
 ifdef SLKRUNS
@@ -98,5 +106,4 @@
 TOOL_GCC4MACHO_ASOBJSUFF        ?= .o
 
-TOOL_GCC4MACHO_AR               ?= ar$(HOSTSUFF_EXE)
 TOOL_GCC4MACHO_ARFLAGS          ?= -c -rs
 TOOL_GCC4MACHO_ARLIBSUFF        ?= .a
@@ -105,8 +112,4 @@
 TOOL_GCC4MACHO_LDFLAGS.debug    ?= -g
 TOOL_GCC4MACHO_LDFLAGS.profile  ?= -g
-
-TOOL_GCC4MACHO_STRIP_PROGRAM    ?= strip -SXxru
-TOOL_GCC4MACHO_STRIP_DLL        ?= strip -Sxru
-TOOL_GCC4MACHO_STRIP_SYSMOD     ?= strip -Sru
 
 
Index: trunk/kBuild/tools/GCC64.kmk
===================================================================
--- trunk/kBuild/tools/GCC64.kmk	(revision 3392)
+++ trunk/kBuild/tools/GCC64.kmk	(revision 3393)
@@ -36,32 +36,46 @@
 
 # Tool Specific Properties
-TOOL_GCC64_CC  ?= gcc$(HOSTSUFF_EXE) -m64
-TOOL_GCC64_CXX ?= g++$(HOSTSUFF_EXE) -m64
-TOOL_GCC64_AS  ?= gcc$(HOSTSUFF_EXE) -m64
-TOOL_GCC64_AR  ?= ar$(HOSTSUFF_EXE)
-TOOL_GCC64_LD  ?= gcc$(HOSTSUFF_EXE) -m64
-TOOL_GCC64_LD_SYSMOD ?= ld$(HOSTSUFF_EXE)
+ifndef TOOL_GCC64_PREFIX
+ TOOL_GCC64_PREFIX :=
+endif
+ifndef TOOL_GCC64_SUFFIX
+ TOOL_GCC64_SUFFIX := $(HOSTSUFF_EXE)
+endif
+if1of ($(KBUILD_HOST), solaris)
+ TOOL_GCC64_PREFIX2  ?= g
+else
+ TOOL_GCC64_PREFIX2  ?=
+endif
+TOOL_GCC64_SUFFIX2   ?= $(HOSTSUFF_EXE)
+TOOL_GCC64_PREFIX3   ?=
+TOOL_GCC64_SUFFIX3   ?= $(HOSTSUFF_EXE)
+TOOL_GCC64_CC        ?= $(TOOL_GCC64_PREFIX)gcc$(TOOL_GCC64_SUFFIX) -m64
+TOOL_GCC64_CXX       ?= $(TOOL_GCC64_PREFIX)g++$(TOOL_GCC64_SUFFIX) -m64
+TOOL_GCC64_AS        ?= $(TOOL_GCC64_PREFIX)gcc$(TOOL_GCC64_SUFFIX) -m64
+TOOL_GCC64_AR        ?= $(TOOL_GCC64_PREFIX2)ar$(TOOL_GCC64_SUFFIX2)
+TOOL_GCC64_LD        ?= $(TOOL_GCC64_PREFIX)gcc$(TOOL_GCC64_SUFFIX) -m64
+if1of ($(KBUILD_HOST), solaris)
+ TOOL_GCC64_LD_SYSMOD ?= $(TOOL_GCC64_PREFIX3)ld$(TOOL_GCC64_SUFFIX3)
+else
+ TOOL_GCC64_LD_SYSMOD ?= $(TOOL_GCC64_PREFIX2)ld$(TOOL_GCC64_SUFFIX2)
+endif
 ifndef TOOL_GCC64_LDFLAGS.$(KBUILD_TARGET)
-TOOL_GCC64_LDFLAGS.dll ?= -shared
-else
-TOOL_GCC64_LDFLAGS.dll ?= $(TOOL_GCC64_LDFLAGS.$(KBUILD_TARGET))
+ TOOL_GCC64_LDFLAGS.dll ?= -shared
+else
+ TOOL_GCC64_LDFLAGS.dll ?= $(TOOL_GCC64_LDFLAGS.$(KBUILD_TARGET))
 endif
 TOOL_GCC64_LDFLAGS.sysmod ?= -r -m elf_x86_64$(if-expr "$(KBUILD_TARGET)" == "freebsd" || "$(KBUILD_TARGET)" == "gnukfbsd",_fbsd,)
 TOOL_GCC64_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
 ifeq ($(KBUILD_TARGET),os2)
-TOOL_GCC64_LD_MAP ?= -Zmap=$(1)
-else
-TOOL_GCC64_LD_MAP ?=
+ TOOL_GCC64_LD_MAP ?= -Zmap=$(1)
+else
+ TOOL_GCC64_LD_MAP ?=
 endif
 ifeq ($(KBUILD_TARGET),os2)
-TOOL_GCC64_LD_SYSMOD_MAP ?= -Zmap=$(1)
-else
-TOOL_GCC64_LD_SYSMOD_MAP ?=
-endif
-if1of ($(KBUILD_HOST), solaris)
- TOOL_GCC64_OBJCOPY ?= gobjcopy$(HOSTSUFF_EXE)
-else
- TOOL_GCC64_OBJCOPY ?= objcopy$(HOSTSUFF_EXE)
-endif
+ TOOL_GCC64_LD_SYSMOD_MAP ?= -Zmap=$(1)
+else
+ TOOL_GCC64_LD_SYSMOD_MAP ?=
+endif
+TOOL_GCC64_OBJCOPY ?= $(TOOL_GCC64_PREFIX2)gobjcopy$(TOOL_GCC64_SUFFIX2)
 
 ifdef SLKRUNS
Index: trunk/kBuild/tools/GXX.kmk
===================================================================
--- trunk/kBuild/tools/GXX.kmk	(revision 3392)
+++ trunk/kBuild/tools/GXX.kmk	(revision 3393)
@@ -36,16 +36,24 @@
 # Tool Specific Properties
 ifndef TOOL_GXX_PREFIX
- TOOL_GXX_PREFIX :=
+ TOOL_GXX_PREFIX  :=
 endif
 ifndef TOOL_GXX_SUFFIX
- TOOL_GXX_SUFFIX := $(HOSTSUFF_EXE)
-endif
-TOOL_GXX_CC     ?= $(TOOL_GXX_PREFIX)gcc$(TOOL_GXX_SUFFIX)
-TOOL_GXX_CXX    ?= $(TOOL_GXX_PREFIX)g++$(TOOL_GXX_SUFFIX)
-TOOL_GXX_PCH    ?= $(TOOL_GXX_CXX)
-TOOL_GXX_AS     ?= $(TOOL_GXX_PREFIX)gcc$(TOOL_GXX_SUFFIX)
-TOOL_GXX_AR     ?= $(TOOL_GXX_PREFIX)ar$(TOOL_GXX_SUFFIX)
-TOOL_GXX_RANLIB ?= $(TOOL_GXX_PREFIX)ranlib$(TOOL_GXX_SUFFIX)
-TOOL_GXX_LD     ?= $(TOOL_GXX_PREFIX)g++$(TOOL_GXX_SUFFIX)
+ TOOL_GXX_SUFFIX  := $(HOSTSUFF_EXE)
+endif
+if1of ($(KBUILD_HOST), solaris)
+ TOOL_GXX_PREFIX2 ?= g
+else
+ TOOL_GXX_PREFIX2 ?=
+endif
+TOOL_GXX_SUFFIX2  ?= $(HOSTSUFF_EXE)
+TOOL_GXX_PREFIX3  ?=
+TOOL_GXX_SUFFIX3  ?= $(HOSTSUFF_EXE)
+TOOL_GXX_CC       ?= $(TOOL_GXX_PREFIX)gcc$(TOOL_GXX_SUFFIX)
+TOOL_GXX_CXX      ?= $(TOOL_GXX_PREFIX)g++$(TOOL_GXX_SUFFIX)
+TOOL_GXX_PCH      ?= $(TOOL_GXX_CXX)
+TOOL_GXX_AS       ?= $(TOOL_GXX_PREFIX)gcc$(TOOL_GXX_SUFFIX)
+TOOL_GXX_AR       ?= $(TOOL_GXX_PREFIX2)ar$(TOOL_GXX_SUFFIX2)
+TOOL_GXX_RANLIB   ?= $(TOOL_GXX_PREFIX2)ranlib$(TOOL_GXX_SUFFIX2)
+TOOL_GXX_LD       ?= $(TOOL_GXX_PREFIX)g++$(TOOL_GXX_SUFFIX)
 TOOL_GXX_LDFLAGS.dll.os2    ?= -Zdll
 TOOL_GXX_LDFLAGS.dll.darwin ?= -dynamiclib
Index: trunk/kBuild/tools/GXX3.kmk
===================================================================
--- trunk/kBuild/tools/GXX3.kmk	(revision 3392)
+++ trunk/kBuild/tools/GXX3.kmk	(revision 3393)
@@ -36,25 +36,34 @@
 # Tool Specific Properties
 ifndef TOOL_GXX3_PREFIX
- TOOL_GXX3_PREFIX :=
+ TOOL_GXX3_PREFIX   :=
 endif
 ifndef TOOL_GXX3_SUFFIX
- TOOL_GXX3_SUFFIX := $(HOSTSUFF_EXE)
-endif
-TOOL_GXX3_CC  ?= $(TOOL_GXX3_PREFIX)gcc$(TOOL_GXX3_SUFFIX)
-TOOL_GXX3_CXX ?= $(TOOL_GXX3_PREFIX)g++$(TOOL_GXX3_SUFFIX)
-TOOL_GXX3_PCH ?= $(TOOL_GXX3_CXX)
-TOOL_GXX3_AS  ?= $(TOOL_GXX3_PREFIX)gcc$(TOOL_GXX3_SUFFIX)
-if1of ($(KBUILD_TARGET),solaris)
- TOOL_GXX3_AR ?= $(TOOL_GXX3_PREFIX)gar$(TOOL_GXX3_SUFFIX)
-else
- TOOL_GXX3_AR ?= $(TOOL_GXX3_PREFIX)ar$(TOOL_GXX3_SUFFIX)
-endif
+ TOOL_GXX3_SUFFIX   := $(HOSTSUFF_EXE)
+endif
+if1of ($(KBUILD_HOST), solaris)
+ TOOL_GXX3_PREFIX2  ?= g
+else
+ TOOL_GXX3_PREFIX2  ?=
+endif
+TOOL_GXX3_SUFFIX2   ?= $(HOSTSUFF_EXE)
+TOOL_GXX3_PREFIX3   ?=
+TOOL_GXX3_SUFFIX3   ?= $(HOSTSUFF_EXE)
+
+TOOL_GXX3_CC        ?= $(TOOL_GXX3_PREFIX)gcc$(TOOL_GXX3_SUFFIX)
+TOOL_GXX3_CXX       ?= $(TOOL_GXX3_PREFIX)g++$(TOOL_GXX3_SUFFIX)
+TOOL_GXX3_PCH       ?= $(TOOL_GXX3_CXX)
+TOOL_GXX3_AS        ?= $(TOOL_GXX3_PREFIX)gcc$(TOOL_GXX3_SUFFIX)
+TOOL_GXX3_AR        ?= $(TOOL_GXX3_PREFIX2)ar$(TOOL_GXX3_SUFFIX2)
 ifeq ($(KBUILD_TARGET),os2)
- TOOL_GXX3_AR_IMP   ?= $(TOOL_GXX3_PREFIX)emximp$(TOOL_GXX3_SUFFIX)
+ TOOL_GXX3_AR_IMP   ?= $(TOOL_GXX3_PREFIX3)emximp$(TOOL_GXX3_SUFFIX3)
 else
  TOOL_GXX3_AR_IMP   ?= $(ECHO) not supported!
 endif
 TOOL_GXX3_LD        ?= $(TOOL_GXX3_PREFIX)g++$(TOOL_GXX3_SUFFIX)
-TOOL_GXX3_LD_SYSMOD ?= $(TOOL_GXX3_PREFIX)ld$(TOOL_GXX3_SUFFIX)
+if1of ($(KBUILD_HOST), solaris)
+ TOOL_GXX3_LD_SYSMOD ?= $(TOOL_GXX3_PREFIX3)ld$(TOOL_GXX3_SUFFIX3)
+else
+ TOOL_GXX3_LD_SYSMOD ?= $(TOOL_GXX3_PREFIX2)ld$(TOOL_GXX3_SUFFIX2)
+endif
 ifndef TOOL_GXX3_LDFLAGS.$(KBUILD_TARGET)
  TOOL_GXX3_LDFLAGS.dll   ?= -shared
@@ -71,9 +80,5 @@
  TOOL_GXX3_LD_SYSMOD_MAP ?=
 endif
-if1of ($(KBUILD_HOST), solaris)
- TOOL_GXX3_OBJCOPY  ?= $(TOOL_GXX3_PREFIX)gobjcopy$(TOOL_GXX3_SUFFIX)
-else
- TOOL_GXX3_OBJCOPY  ?= $(TOOL_GXX3_PREFIX)objcopy$(TOOL_GXX3_SUFFIX)
-endif
+TOOL_GXX3_OBJCOPY ?= $(TOOL_GXX3_PREFIX)objcopy$(TOOL_GXX3_SUFFIX)
 
 ifdef SLKRUNS
Index: trunk/kBuild/tools/GXX32.kmk
===================================================================
--- trunk/kBuild/tools/GXX32.kmk	(revision 3392)
+++ trunk/kBuild/tools/GXX32.kmk	(revision 3393)
@@ -37,20 +37,28 @@
 # Tool Specific Properties
 ifndef TOOL_GXX32_PREFIX
- TOOL_GXX32_PREFIX :=
+ TOOL_GXX32_PREFIX  :=
 endif
 ifndef TOOL_GXX32_SUFFIX
- TOOL_GXX32_SUFFIX := $(HOSTSUFF_EXE)
-endif
-TOOL_GXX32_CC  ?= $(TOOL_GXX32_PREFIX)gcc$(TOOL_GXX32_SUFFIX) -m32
-TOOL_GXX32_CXX ?= $(TOOL_GXX32_PREFIX)g++$(TOOL_GXX32_SUFFIX) -m32
-TOOL_GXX32_PCH ?= $(TOOL_GXX32_CXX)
-TOOL_GXX32_AS  ?= $(TOOL_GXX32_PREFIX)gcc$(TOOL_GXX32_SUFFIX) -m32
-if1of ($(KBUILD_TARGET),solaris)
- TOOL_GXX32_AR ?= $(TOOL_GXX32_PREFIX)gar$(TOOL_GXX32_SUFFIX)
-else
- TOOL_GXX32_AR ?= $(TOOL_GXX32_PREFIX)ar$(TOOL_GXX32_SUFFIX)
-endif
-TOOL_GXX32_LD  ?= $(TOOL_GXX32_PREFIX)g++$(TOOL_GXX32_SUFFIX) -m32
-TOOL_GXX32_LD_SYSMOD ?= $(TOOL_GXX32_PREFIX)ld$(TOOL_GXX32_SUFFIX)
+ TOOL_GXX32_SUFFIX  := $(HOSTSUFF_EXE)
+endif
+if1of ($(KBUILD_HOST), solaris)
+ TOOL_GXX32_PREFIX2 ?= g
+else
+ TOOL_GXX32_PREFIX2 ?=
+endif
+TOOL_GXX32_SUFFIX2  ?= $(HOSTSUFF_EXE)
+TOOL_GXX32_PREFIX3  ?=
+TOOL_GXX32_SUFFIX3  ?= $(HOSTSUFF_EXE)
+TOOL_GXX32_CC       ?= $(TOOL_GXX32_PREFIX)gcc$(TOOL_GXX32_SUFFIX) -m32
+TOOL_GXX32_CXX      ?= $(TOOL_GXX32_PREFIX)g++$(TOOL_GXX32_SUFFIX) -m32
+TOOL_GXX32_PCH      ?= $(TOOL_GXX32_CXX)
+TOOL_GXX32_AS       ?= $(TOOL_GXX32_PREFIX)gcc$(TOOL_GXX32_SUFFIX) -m32
+TOOL_GXX32_AR       ?= $(TOOL_GXX32_PREFIX2)ar$(TOOL_GXX32_SUFFIX2)
+TOOL_GXX32_LD       ?= $(TOOL_GXX32_PREFIX)g++$(TOOL_GXX32_SUFFIX) -m32
+if1of ($(KBUILD_HOST), solaris)
+ TOOL_GXX32_LD_SYSMOD ?= $(TOOL_GXX32_PREFIX3)ld$(TOOL_GXX32_SUFFIX3)
+else
+ TOOL_GXX32_LD_SYSMOD ?= $(TOOL_GXX32_PREFIX2)ld$(TOOL_GXX32_SUFFIX2)
+endif
 ifndef TOOL_GXX32_LDFLAGS.$(KBUILD_TARGET)
  TOOL_GXX32_LDFLAGS.dll ?= -shared
@@ -70,9 +78,5 @@
  TOOL_GXX32_LD_SYSMOD_MAP ?=
 endif
-if1of ($(KBUILD_HOST), solaris)
- TOOL_GXX32_OBJCOPY ?= $(TOOL_GXX32_PREFIX)gobjcopy$(TOOL_GXX32_SUFFIX)
-else
- TOOL_GXX32_OBJCOPY ?= $(TOOL_GXX32_PREFIX)objcopy$(TOOL_GXX32_SUFFIX)
-endif
+TOOL_GXX32_OBJCOPY ?= $(TOOL_GXX32_PREFIX2)objcopy$(TOOL_GXX32_SUFFIX)
 
 ifdef SLKRUNS
Index: trunk/kBuild/tools/GXX3OMF.kmk
===================================================================
--- trunk/kBuild/tools/GXX3OMF.kmk	(revision 3392)
+++ trunk/kBuild/tools/GXX3OMF.kmk	(revision 3393)
@@ -36,15 +36,19 @@
 # Tool Specific Properties
 ifndef TOOL_GXX3OMF_PREFIX
- TOOL_GXX3OMF_PREFIX :=
+ TOOL_GXX3OMF_PREFIX   :=
 endif
 ifndef TOOL_GXX3OMF_SUFFIX
- TOOL_GXX3OMF_SUFFIX := $(HOSTSUFF_EXE)
-endif
+ TOOL_GXX3OMF_SUFFIX   := $(HOSTSUFF_EXE)
+endif
+TOOL_GXX3OMF_PREFIX2   ?=
+TOOL_GXX3OMF_SUFFIX2   ?= $(HOSTSUFF_EXE)
+TOOL_GXX3OMF_PREFIX3   ?=
+TOOL_GXX3OMF_SUFFIX3   ?= $(HOSTSUFF_EXE)
 TOOL_GXX3OMF_CC        ?= $(TOOL_GXX3OMF_PREFIX)gcc$(TOOL_GXX3OMF_SUFFIX)
 TOOL_GXX3OMF_CXX       ?= $(TOOL_GXX3OMF_PREFIX)g++$(TOOL_GXX3OMF_SUFFIX)
 TOOL_GXX3OMF_PCH       ?= $(TOOL_GXX3OMF_CXX)
 TOOL_GXX3OMF_AS        ?= $(TOOL_GXX3OMF_PREFIX)gcc$(TOOL_GXX3OMF_SUFFIX)
-TOOL_GXX3OMF_AR        ?= $(TOOL_GXX3OMF_PREFIX)emxomfar$(TOOL_GXX3OMF_SUFFIX)
-TOOL_GXX3OMF_AR_IMP    ?= $(TOOL_GXX3OMF_PREFIX)emximp$(TOOL_GXX3OMF_SUFFIX)
+TOOL_GXX3OMF_AR        ?= $(TOOL_GXX3OMF_PREFIX2)emxomfar$(TOOL_GXX3OMF_SUFFIX2)
+TOOL_GXX3OMF_AR_IMP    ?= $(TOOL_GXX3OMF_PREFIX2)emximp$(TOOL_GXX3OMF_SUFFIX2)
 TOOL_GXX3OMF_LD        ?= $(TOOL_GXX3OMF_PREFIX)g++$(TOOL_GXX3OMF_SUFFIX)
 TOOL_GXX3OMF_LD_SYSMOD ?= $(TOOL_GXX3OMF_PREFIX)g++$(TOOL_GXX3OMF_SUFFIX)
@@ -58,7 +62,5 @@
 TOOL_GXX3OMF_LD_SYSMOD_MAP  ?= -Zmap=$(1)
 
-TOOL_GXX3OMF_RC_PREFIX ?= $(TOOL_GXX3OMF_PREFIX)
-TOOL_GXX3OMF_RC_SUFFIX ?= $(TOOL_GXX3OMF_SUFFIX)
-TOOL_GXX3OMF_RC = $(TOOL_GXX3OMF_RC_PREFIX)rc$(TOOL_GXX3OMF_RC_SUFFIX)
+TOOL_GXX3OMF_RC = $(TOOL_GXX3OMF_PREFIX3)rc$(TOOL_GXX3OMF_SUFFIX3)
 
 ifdef SLKRUNS
Index: trunk/kBuild/tools/GXX3PLAIN.kmk
===================================================================
--- trunk/kBuild/tools/GXX3PLAIN.kmk	(revision 3392)
+++ trunk/kBuild/tools/GXX3PLAIN.kmk	(revision 3393)
@@ -41,12 +41,14 @@
  TOOL_GXX3PLAIN_SUFFIX := $(HOSTSUFF_EXE)
 endif
+TOOL_GXX3PLAIN_PREFIX2  ?=
+TOOL_GXX3PLAIN_SUFFIX2  ?= $(HOSTSUFF_EXE)
 TOOL_GXX3PLAIN_CC            ?= $(TOOL_GXX3PLAIN_PREFIX)gcc$(TOOL_GXX3PLAIN_SUFFIX)
 TOOL_GXX3PLAIN_CXX           ?= $(TOOL_GXX3PLAIN_PREFIX)g++$(TOOL_GXX3PLAIN_SUFFIX)
 TOOL_GXX3PLAIN_PCH           ?= $(TOOL_GXX3PLAIN_CXX)
 TOOL_GXX3PLAIN_AS            ?= $(TOOL_GXX3PLAIN_PREFIX)gcc$(TOOL_GXX3PLAIN_SUFFIX)
-TOOL_GXX3PLAIN_AR            ?= $(TOOL_GXX3PLAIN_PREFIX)ar$(TOOL_GXX3PLAIN_SUFFIX)
-TOOL_GXX3PLAIN_RANLIB        ?= $(TOOL_GXX3PLAIN_PREFIX)ranlib$(TOOL_GXX3PLAIN_SUFFIX)
+TOOL_GXX3PLAIN_AR            ?= $(TOOL_GXX3PLAIN_PREFIX2)ar$(TOOL_GXX3PLAIN_SUFFIX2)
+TOOL_GXX3PLAIN_RANLIB        ?= $(TOOL_GXX3PLAIN_PREFIX2)ranlib$(TOOL_GXX3PLAIN_SUFFIX2)
 TOOL_GXX3PLAIN_LD            ?= $(TOOL_GXX3PLAIN_PREFIX)g++$(TOOL_GXX3PLAIN_SUFFIX)
-TOOL_GXX3PLAIN_LD_SYSMOD     ?= $(TOOL_GXX3PLAIN_PREFIX)ld$(TOOL_GXX3PLAIN_SUFFIX)
+TOOL_GXX3PLAIN_LD_SYSMOD     ?= $(TOOL_GXX3PLAIN_PREFIX2)ld$(TOOL_GXX3PLAIN_SUFFIX2)
 TOOL_GXX3PLAIN_LD_SYSMOD.os2 ?= $(TOOL_GXX3PLAIN_PREFIX)g++$(TOOL_GXX3PLAIN_SUFFIX)
 TOOL_GXX3PLAIN_LDFLAGS.dll.os2 ?= -Zdll
Index: trunk/kBuild/tools/GXX42MACHO.kmk
===================================================================
--- trunk/kBuild/tools/GXX42MACHO.kmk	(revision 3392)
+++ trunk/kBuild/tools/GXX42MACHO.kmk	(revision 3393)
@@ -41,4 +41,6 @@
  TOOL_GXX42MACHO_SUFFIX   := -4.2$(HOSTSUFF_EXE)
 endif
+TOOL_GXX42MACHO_PREFIX2   ?=
+TOOL_GXX42MACHO_SUFFIX2   ?= $(HOSTSUFF_EXE)
 TOOL_GXX42MACHO_CC        ?= $(TOOL_GXX42MACHO_PREFIX)gcc$(TOOL_GXX42MACHO_SUFFIX)
 TOOL_GXX42MACHO_CXX       ?= $(TOOL_GXX42MACHO_PREFIX)g++$(TOOL_GXX42MACHO_SUFFIX)
@@ -52,7 +54,11 @@
 TOOL_GXX42MACHO_LDFLAGS.sysmod ?= -r
 #TOOL_GXX42MACHO_LD_SONAME = -Wl,-dylib_install_name $(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
-TOOL_GXX42MACHO_DSYMUTIL_PREFIX ?=
-TOOL_GXX42MACHO_DSYMUTIL_SUFFIX ?= $(HOSTSUFF_EXE)
-TOOL_GXX42MACHO_DSYMUTIL  ?= $(TOOL_GXX42MACHO_DSYMUTIL_PREFIX)dsymutil$(TOOL_GXX42MACHO_DSYMUTIL_SUFFIX)
+
+TOOL_GXX42MACHO_AR        ?= $(TOOL_GXX42MACHO_PREFIX2)ar$(TOOL_GXX42MACHO_SUFFIX2)
+TOOL_GXX42MACHO_DSYMUTIL  ?= $(TOOL_GXX42MACHO_PREFIX2)dsymutil$(TOOL_GXX42MACHO_SUFFIX2)
+TOOL_GXX42MACHO_STRIP     ?= $(TOOL_GXX42MACHO_PREFIX2)strip$(TOOL_GXX42MACHO_SUFFIX2)
+TOOL_GXX42MACHO_STRIP_PROGRAM    ?= $(TOOL_GXX42MACHO_STRIP) -SXxru
+TOOL_GXX42MACHO_STRIP_DLL        ?= $(TOOL_GXX42MACHO_STRIP) -Sxru
+TOOL_GXX42MACHO_STRIP_SYSMOD     ?= $(TOOL_GXX42MACHO_STRIP) -Sru
 
 ifdef SLKRUNS
@@ -109,5 +115,4 @@
 TOOL_GXX42MACHO_ASOBJSUFF        ?= .o
 
-TOOL_GXX42MACHO_AR               ?= ar$(HOSTSUFF_EXE)
 TOOL_GXX42MACHO_ARFLAGS          ?= -c -rs
 TOOL_GXX42MACHO_ARLIBSUFF        ?= .a
@@ -116,8 +121,4 @@
 TOOL_GXX42MACHO_LDFLAGS.debug    ?= -g
 TOOL_GXX42MACHO_LDFLAGS.profile  ?= -g
-
-TOOL_GXX42MACHO_STRIP_PROGRAM    ?= strip -SXxru
-TOOL_GXX42MACHO_STRIP_DLL        ?= strip -Sxru
-TOOL_GXX42MACHO_STRIP_SYSMOD     ?= strip -Sru
 
 
Index: trunk/kBuild/tools/GXX4MACHO.kmk
===================================================================
--- trunk/kBuild/tools/GXX4MACHO.kmk	(revision 3392)
+++ trunk/kBuild/tools/GXX4MACHO.kmk	(revision 3393)
@@ -41,4 +41,6 @@
  TOOL_GXX4MACHO_SUFFIX   := $(HOSTSUFF_EXE)
 endif
+TOOL_GXX4MACHO_PREFIX2   ?=
+TOOL_GXX4MACHO_SUFFIX2   ?= $(HOSTSUFF_EXE)
 TOOL_GXX4MACHO_CC        ?= $(TOOL_GXX4MACHO_PREFIX)gcc$(TOOL_GXX4MACHO_SUFFIX)
 TOOL_GXX4MACHO_CXX       ?= $(TOOL_GXX4MACHO_PREFIX)g++$(TOOL_GXX4MACHO_SUFFIX)
@@ -52,7 +54,11 @@
 TOOL_GXX4MACHO_LDFLAGS.sysmod ?= -r
 #TOOL_GXX4MACHO_LD_SONAME = -Wl,-dylib_install_name $(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
-TOOL_GXX4MACHO_DSYMUTIL_PREFIX ?=
-TOOL_GXX4MACHO_DSYMUTIL_SUFFIX ?= $(HOSTSUFF_EXE)
-TOOL_GXX4MACHO_DSYMUTIL  ?= $(TOOL_GXX4MACHO_DSYMUTIL_PREFIX)dsymutil$(TOOL_GXX4MACHO_DSYMUTIL_SUFFIX)
+
+TOOL_GXX4MACHO_AR        ?= $(TOOL_GXX4MACHO_PREFIX2)ar$(TOOL_GXX4MACHO_SUFFIX2)
+TOOL_GXX4MACHO_DSYMUTIL  ?= $(TOOL_GXX4MACHO_PREFIX2)dsymutil$(TOOL_GXX4MACHO_SUFFIX2)
+TOOL_GXX4MACHO_STRIP     ?= $(TOOL_GXX4MACHO_PREFIX2)strip$(TOOL_GXX4MACHO_SUFFIX2)
+TOOL_GXX4MACHO_STRIP_PROGRAM ?= $(TOOL_GXX4MACHO_STRIP) -SXxru
+TOOL_GXX4MACHO_STRIP_DLL     ?= $(TOOL_GXX4MACHO_STRIP) -Sxru
+TOOL_GXX4MACHO_STRIP_SYSMOD  ?= $(TOOL_GXX4MACHO_STRIP) -Sru
 
 ifdef SLKRUNS
@@ -109,5 +115,4 @@
 TOOL_GXX4MACHO_ASOBJSUFF        ?= .o
 
-TOOL_GXX4MACHO_AR               ?= ar$(HOSTSUFF_EXE)
 TOOL_GXX4MACHO_ARFLAGS          ?= -c -rs
 TOOL_GXX4MACHO_ARLIBSUFF        ?= .a
@@ -116,8 +121,4 @@
 TOOL_GXX4MACHO_LDFLAGS.debug    ?= -g
 TOOL_GXX4MACHO_LDFLAGS.profile  ?= -g
-
-TOOL_GXX4MACHO_STRIP_PROGRAM    ?= strip -SXxru
-TOOL_GXX4MACHO_STRIP_DLL        ?= strip -Sxru
-TOOL_GXX4MACHO_STRIP_SYSMOD     ?= strip -Sru
 
 
Index: trunk/kBuild/tools/GXX64.kmk
===================================================================
--- trunk/kBuild/tools/GXX64.kmk	(revision 3392)
+++ trunk/kBuild/tools/GXX64.kmk	(revision 3393)
@@ -37,20 +37,28 @@
 # Tool Specific Properties
 ifndef TOOL_GXX64_PREFIX
- TOOL_GXX64_PREFIX :=
+ TOOL_GXX64_PREFIX  :=
 endif
 ifndef TOOL_GXX64_SUFFIX
- TOOL_GXX64_SUFFIX := $(HOSTSUFF_EXE)
-endif
-TOOL_GXX64_CC  ?= $(TOOL_GXX64_PREFIX)gcc$(TOOL_GXX64_SUFFIX) -m64
-TOOL_GXX64_CXX ?= $(TOOL_GXX64_PREFIX)g++$(TOOL_GXX64_SUFFIX) -m64
-TOOL_GXX64_PCH ?= $(TOOL_GXX64_CXX)
-TOOL_GXX64_AS  ?= $(TOOL_GXX64_PREFIX)gcc$(TOOL_GXX64_SUFFIX) -m64
+ TOOL_GXX64_SUFFIX  := $(HOSTSUFF_EXE)
+endif
 if1of ($(KBUILD_HOST), solaris)
- TOOL_GXX64_AR ?= $(TOOL_GXX64_PREFIX)gar$(TOOL_GXX64_SUFFIX)
-else
- TOOL_GXX64_AR ?= $(TOOL_GXX64_PREFIX)ar$(TOOL_GXX64_SUFFIX)
-endif
-TOOL_GXX64_LD  ?= $(TOOL_GXX64_PREFIX)g++$(TOOL_GXX64_SUFFIX) -m64
-TOOL_GXX64_LD_SYSMOD ?= $(TOOL_GXX64_PREFIX)ld$(TOOL_GXX64_SUFFIX)
+ TOOL_GXX64_PREFIX2 ?= g
+else
+ TOOL_GXX64_PREFIX2 ?=
+endif
+TOOL_GXX64_SUFFIX2  ?= $(HOSTSUFF_EXE)
+TOOL_GXX64_PREFIX3  ?=
+TOOL_GXX64_SUFFIX3  ?= $(HOSTSUFF_EXE)
+TOOL_GXX64_CC       ?= $(TOOL_GXX64_PREFIX)gcc$(TOOL_GXX64_SUFFIX) -m64
+TOOL_GXX64_CXX      ?= $(TOOL_GXX64_PREFIX)g++$(TOOL_GXX64_SUFFIX) -m64
+TOOL_GXX64_PCH      ?= $(TOOL_GXX64_CXX)
+TOOL_GXX64_AS       ?= $(TOOL_GXX64_PREFIX)gcc$(TOOL_GXX64_SUFFIX) -m64
+TOOL_GXX64_AR       ?= $(TOOL_GXX64_PREFIX2)ar$(TOOL_GXX64_SUFFIX2)
+TOOL_GXX64_LD       ?= $(TOOL_GXX64_PREFIX)g++$(TOOL_GXX64_SUFFIX) -m64
+if1of ($(KBUILD_HOST), solaris)
+ TOOL_GXX64_LD_SYSMOD ?= $(TOOL_GXX64_PREFIX3)ld$(TOOL_GXX64_SUFFIX3)
+else
+ TOOL_GXX64_LD_SYSMOD ?= $(TOOL_GXX64_PREFIX2)ld$(TOOL_GXX64_SUFFIX2)
+endif
 ifndef TOOL_GXX64_LDFLAGS.$(KBUILD_TARGET)
  TOOL_GXX64_LDFLAGS.dll ?= -shared
@@ -70,9 +78,5 @@
  TOOL_GXX64_LD_SYSMOD_MAP ?=
 endif
-if1of ($(KBUILD_HOST), solaris)
- TOOL_GXX64_OBJCOPY ?= $(TOOL_GXX64_PREFIX)gobjcopy$(TOOL_GXX64_SUFFIX)
-else
- TOOL_GXX64_OBJCOPY ?= $(TOOL_GXX64_PREFIX)objcopy$(TOOL_GXX64_SUFFIX)
-endif
+TOOL_GXX64_OBJCOPY ?= $(TOOL_GXX64_PREFIX2)objcopy$(TOOL_GXX64_SUFFIX2)
 
 ifdef SLKRUNS
Index: trunk/kBuild/tools/LLVMGCC42MACHO.kmk
===================================================================
--- trunk/kBuild/tools/LLVMGCC42MACHO.kmk	(revision 3392)
+++ trunk/kBuild/tools/LLVMGCC42MACHO.kmk	(revision 3393)
@@ -41,4 +41,6 @@
  TOOL_LLVMGCC42MACHO_SUFFIX   := -4.2$(HOSTSUFF_EXE)
 endif
+TOOL_LLVMGCC42MACHO_PREFIX2   ?=
+TOOL_LLVMGCC42MACHO_SUFFIX2   ?= $(HOSTSUFF_EXE)
 TOOL_LLVMGCC42MACHO_CC        ?= $(TOOL_LLVMGCC42MACHO_PREFIX)gcc$(TOOL_LLVMGCC42MACHO_SUFFIX)
 TOOL_LLVMGCC42MACHO_CXX       ?= $(TOOL_LLVMGCC42MACHO_PREFIX)g++$(TOOL_LLVMGCC42MACHO_SUFFIX)
@@ -52,7 +54,11 @@
 #TOOL_LLVMGCC42MACHO_LD_SONAME = -Wl,-dylib_install_name $(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
 
-TOOL_LLVMGCC42MACHO_DSYMUTIL_PREFIX ?=
-TOOL_LLVMGCC42MACHO_DSYMUTIL_SUFFIX ?= $(HOSTSUFF_EXE)
-TOOL_LLVMGCC42MACHO_DSYMUTIL  ?= $(TOOL_LLVMGCC42MACHO_DSYMUTIL_PREFIX)dsymutil$(TOOL_LLVMGCC42MACHO_DSYMUTIL_SUFFIX)
+TOOL_LLVMGCC42MACHO_AR        ?= $(TOOL_LLVMGCC42MACHO_PREFIX2)ar$(TOOL_LLVMGCC42MACHO_SUFFIX2)
+TOOL_LLVMGCC42MACHO_DSYMUTIL  ?= $(TOOL_LLVMGCC42MACHO_PREFIX2)dsymutil$(TOOL_LLVMGCC42MACHO_SUFFIX2)
+TOOL_LLVMGCC42MACHO_STRIP     ?= $(TOOL_LLVMGCC42MACHO_PREFIX2)strip$(TOOL_LLVMGCC42MACHO_SUFFIX2)
+TOOL_LLVMGCC42MACHO_STRIP_PROGRAM ?= $(TOOL_LLVMGCC42MACHO_STRIP) -SXxru
+TOOL_LLVMGCC42MACHO_STRIP_DLL     ?= $(TOOL_LLVMGCC42MACHO_STRIP) -Sxru
+TOOL_LLVMGCC42MACHO_STRIP_SYSMOD  ?= $(TOOL_LLVMGCC42MACHO_STRIP) -Sru
+
 
 ifdef SLKRUNS
@@ -101,5 +107,4 @@
 TOOL_LLVMGCC42MACHO_ASOBJSUFF        ?= .o
 
-TOOL_LLVMGCC42MACHO_AR               ?= ar$(HOSTSUFF_EXE)
 TOOL_LLVMGCC42MACHO_ARFLAGS          ?= -c -rs
 TOOL_LLVMGCC42MACHO_ARLIBSUFF        ?= .a
@@ -108,8 +113,4 @@
 TOOL_LLVMGCC42MACHO_LDFLAGS.debug    ?= -g
 TOOL_LLVMGCC42MACHO_LDFLAGS.profile  ?= -g
-
-TOOL_LLVMGCC42MACHO_STRIP_PROGRAM    ?= strip -SXxru
-TOOL_LLVMGCC42MACHO_STRIP_DLL        ?= strip -Sxru
-TOOL_LLVMGCC42MACHO_STRIP_SYSMOD     ?= strip -Sru
 
 
Index: trunk/kBuild/tools/LLVMGXX42MACHO.kmk
===================================================================
--- trunk/kBuild/tools/LLVMGXX42MACHO.kmk	(revision 3392)
+++ trunk/kBuild/tools/LLVMGXX42MACHO.kmk	(revision 3393)
@@ -41,4 +41,6 @@
  TOOL_LLVMGXX42MACHO_SUFFIX   := -4.2$(HOSTSUFF_EXE)
 endif
+TOOL_LLVMGXX42MACHO_PREFIX2   ?=
+TOOL_LLVMGXX42MACHO_SUFFIX2   ?= $(HOSTSUFF_EXE)
 TOOL_LLVMGXX42MACHO_CC        ?= $(TOOL_LLVMGXX42MACHO_PREFIX)gcc$(TOOL_LLVMGXX42MACHO_SUFFIX)
 TOOL_LLVMGXX42MACHO_CXX       ?= $(TOOL_LLVMGXX42MACHO_PREFIX)g++$(TOOL_LLVMGXX42MACHO_SUFFIX)
@@ -53,7 +55,10 @@
 #TOOL_LLVMGXX42MACHO_LD_SONAME = -Wl,-dylib_install_name $(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
 
-TOOL_LLVMGXX42MACHO_DSYMUTIL_PREFIX ?=
-TOOL_LLVMGXX42MACHO_DSYMUTIL_SUFFIX ?= $(HOSTSUFF_EXE)
-TOOL_LLVMGXX42MACHO_DSYMUTIL  ?= $(TOOL_LLVMGXX42MACHO_DSYMUTIL_PREFIX)dsymutil$(TOOL_LLVMGXX42MACHO_DSYMUTIL_SUFFIX)
+TOOL_LLVMGXX42MACHO_AR        ?= $(TOOL_LLVMGXX42MACHO_PREFIX2)ar$(TOOL_LLVMGXX42MACHO_SUFFIX2)
+TOOL_LLVMGXX42MACHO_DSYMUTIL  ?= $(TOOL_LLVMGXX42MACHO_PREFIX2)dsymutil$(TOOL_LLVMGXX42MACHO_SUFFIX2)
+TOOL_LLVMGXX42MACHO_STRIP     ?= $(TOOL_LLVMGXX42MACHO_PREFIX2)strip$(TOOL_LLVMGXX42MACHO_SUFFIX2)
+TOOL_LLVMGXX42MACHO_STRIP_PROGRAM ?= $(TOOL_LLVMGXX42MACHO_STRIP) -SXxru
+TOOL_LLVMGXX42MACHO_STRIP_DLL     ?= $(TOOL_LLVMGXX42MACHO_STRIP) -Sxru
+TOOL_LLVMGXX42MACHO_STRIP_SYSMOD  ?= $(TOOL_LLVMGXX42MACHO_STRIP) -Sru
 
 ifdef SLKRUNS
@@ -110,5 +115,4 @@
 TOOL_LLVMGXX42MACHO_ASOBJSUFF        ?= .o
 
-TOOL_LLVMGXX42MACHO_AR               ?= ar$(HOSTSUFF_EXE)
 TOOL_LLVMGXX42MACHO_ARFLAGS          ?= -c -rs
 TOOL_LLVMGXX42MACHO_ARLIBSUFF        ?= .a
@@ -118,7 +122,4 @@
 TOOL_LLVMGXX42MACHO_LDFLAGS.profile  ?= -g
 
-TOOL_LLVMGXX42MACHO_STRIP_PROGRAM    ?= strip -SXxru
-TOOL_LLVMGXX42MACHO_STRIP_DLL        ?= strip -Sxru
-TOOL_LLVMGXX42MACHO_STRIP_SYSMOD     ?= strip -Sru
 
 
Index: trunk/kBuild/tools/XGCCAMD64LINUX.kmk
===================================================================
--- trunk/kBuild/tools/XGCCAMD64LINUX.kmk	(revision 3392)
+++ trunk/kBuild/tools/XGCCAMD64LINUX.kmk	(revision 3393)
@@ -35,5 +35,5 @@
 
 # Tool Specific Properties
-TOOL_XGCCAMD64LINUX_HOSTSUFF_EXE ?= $(HOSTSUFF_EXE)
+TOOL_XGCCAMD64LINUX_SUFFIX ?= $(HOSTSUFF_EXE)
 ifeq ($(KBUILD_HOST).$(KBUILD_HOST_ARCH),linux.amd64)
  # not x-compile, use the default gcc.
@@ -48,5 +48,5 @@
     ifeq ($(filter-out win.amd64,$(KBUILD_HOST).$(KBUILD_HOST_ARCH)),) # these can use the windows build.
      TOOL_XGCCAMD64LINUX_EXEC_PREFIX ?= $(EXEC_X86_WIN32)
-     TOOL_XGCCAMD64LINUX_HOSTSUFF_EXE := .exe
+     TOOL_XGCCAMD64LINUX_SUFFIX := .exe
      PATH_TOOL_XGCCAMD64LINUX := $(sort $(wildcard $(KBUILD_DEVTOOLS)/win.x86/x86_64-unknown-linux-gnu/*))
      ifeq ($(PATH_TOOL_XGCCAMD64LINUX),)
@@ -68,10 +68,12 @@
 endif
 
-TOOL_XGCCAMD64LINUX_CC  ?= $(TOOL_XGCCAMD64LINUX_PREFIX)gcc$(TOOL_XGCCAMD64LINUX_HOSTSUFF_EXE)
-TOOL_XGCCAMD64LINUX_CXX ?= $(TOOL_XGCCAMD64LINUX_PREFIX)g++$(TOOL_XGCCAMD64LINUX_HOSTSUFF_EXE)
-TOOL_XGCCAMD64LINUX_AS  ?= $(TOOL_XGCCAMD64LINUX_PREFIX)gcc$(TOOL_XGCCAMD64LINUX_HOSTSUFF_EXE)
-TOOL_XGCCAMD64LINUX_AR  ?= $(TOOL_XGCCAMD64LINUX_PREFIX)ar$(TOOL_XGCCAMD64LINUX_HOSTSUFF_EXE)
-TOOL_XGCCAMD64LINUX_LD  ?= $(TOOL_XGCCAMD64LINUX_PREFIX)g++$(TOOL_XGCCAMD64LINUX_HOSTSUFF_EXE)
-TOOL_XGCCAMD64LINUX_LD_SYSMOD ?= $(TOOL_XGCCAMD64LINUX_PREFIX)ld$(TOOL_XGCCAMD64LINUX_HOSTSUFF_EXE)
+TOOL_XGCCAMD64LINUX_PREFIX2 ?= $(TOOL_XGCCAMD64LINUX_PREFIX)
+TOOL_XGCCAMD64LINUX_SUFFIX2 ?= $(TOOL_XGCCAMD64LINUX_SUFFIX)
+TOOL_XGCCAMD64LINUX_CC  ?= $(TOOL_XGCCAMD64LINUX_PREFIX)gcc$(TOOL_XGCCAMD64LINUX_SUFFIX)
+TOOL_XGCCAMD64LINUX_CXX ?= $(TOOL_XGCCAMD64LINUX_PREFIX)g++$(TOOL_XGCCAMD64LINUX_SUFFIX)
+TOOL_XGCCAMD64LINUX_AS  ?= $(TOOL_XGCCAMD64LINUX_PREFIX)gcc$(TOOL_XGCCAMD64LINUX_SUFFIX)
+TOOL_XGCCAMD64LINUX_AR  ?= $(TOOL_XGCCAMD64LINUX_PREFIX2)ar$(TOOL_XGCCAMD64LINUX_SUFFIX2)
+TOOL_XGCCAMD64LINUX_LD  ?= $(TOOL_XGCCAMD64LINUX_PREFIX)g++$(TOOL_XGCCAMD64LINUX_SUFFIX)
+TOOL_XGCCAMD64LINUX_LD_SYSMOD ?= $(TOOL_XGCCAMD64LINUX_PREFIX2)ld$(TOOL_XGCCAMD64LINUX_SUFFIX2)
 
 TOOL_XGCCAMD64LINUX_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(KBUILD_TARGET).$(KBUILD_TYPE)) $($(1)_SONAME.$(KBUILD_TARGET)) $($(1)_SONAME.$(KBUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
