VirtualBox

Changeset 2547 in kBuild


Ignore:
Timestamp:
Nov 4, 2011 9:58:53 PM (13 years ago)
Author:
bird
Message:

tools: GCC 4.2 and LLVM 4.2 flavors of the Mach-O (Mac OS X) tools.

Location:
trunk/kBuild/tools
Files:
2 edited
4 copied

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/tools/GCC42MACHO.kmk

    r2546 r2547  
    11# $Id$
    22## @file
    3 # kBuild Tool Config - GCC v4 targeting Darwin (Mac OS X) Mach-o.
    4 #
    5 
    6 #
    7 # Copyright (c) 2004-2010 knut st. osmundsen <[email protected]>
     3# kBuild Tool Config - GCC v4.2.x targeting Darwin (Mac OS X) Mach-O.
     4#
     5
     6#
     7# Copyright (c) 2004-2011 knut st. osmundsen <[email protected]>
    88#
    99# This file is part of kBuild.
     
    3232#
    3333
    34 TOOL_GCC4MACHO := GCC v4 targeting Darwin (Mac OS X) Mach-o.
     34TOOL_GCC42MACHO := GCC v4.2.x targeting Darwin (Mac OS X) Mach-O.
    3535
    3636# Tool Specific Properties
    37 TOOL_GCC4MACHO_PREFIX    ?=
    38 TOOL_GCC4MACHO_SUFFIX    ?= $(HOSTSUFF_EXE)
    39 TOOL_GCC4MACHO_CC        ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
    40 TOOL_GCC4MACHO_CXX       ?= $(TOOL_GCC4MACHO_PREFIX)g++$(TOOL_GCC4MACHO_SUFFIX)
    41 TOOL_GCC4MACHO_OBJC      ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
    42 TOOL_GCC4MACHO_OBJCXX    ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
    43 TOOL_GCC4MACHO_AS        ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
    44 TOOL_GCC4MACHO_LD        ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
    45 TOOL_GCC4MACHO_LD_SYSMOD ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
    46 ifndef TOOL_GCC4MACHO_LDFLAGS.$(KBUILD_TARGET)
    47 TOOL_GCC4MACHO_LDFLAGS.dll ?= -dynamiclib
     37TOOL_GCC42MACHO_PREFIX    ?=
     38TOOL_GCC42MACHO_SUFFIX    ?= -4.2$(HOSTSUFF_EXE)
     39TOOL_GCC42MACHO_CC        ?= $(TOOL_GCC42MACHO_PREFIX)gcc$(TOOL_GCC42MACHO_SUFFIX)
     40TOOL_GCC42MACHO_CXX       ?= $(TOOL_GCC42MACHO_PREFIX)g++$(TOOL_GCC42MACHO_SUFFIX)
     41TOOL_GCC42MACHO_OBJC      ?= $(TOOL_GCC42MACHO_PREFIX)gcc$(TOOL_GCC42MACHO_SUFFIX)
     42TOOL_GCC42MACHO_OBJCXX    ?= $(TOOL_GCC42MACHO_PREFIX)gcc$(TOOL_GCC42MACHO_SUFFIX)
     43TOOL_GCC42MACHO_AS        ?= $(TOOL_GCC42MACHO_PREFIX)gcc$(TOOL_GCC42MACHO_SUFFIX)
     44TOOL_GCC42MACHO_LD        ?= $(TOOL_GCC42MACHO_PREFIX)gcc$(TOOL_GCC42MACHO_SUFFIX)
     45TOOL_GCC42MACHO_LD_SYSMOD ?= $(TOOL_GCC42MACHO_PREFIX)gcc$(TOOL_GCC42MACHO_SUFFIX)
     46ifndef TOOL_GCC42MACHO_LDFLAGS.$(KBUILD_TARGET)
     47TOOL_GCC42MACHO_LDFLAGS.dll ?= -dynamiclib
    4848else
    49 TOOL_GCC4MACHO_LDFLAGS.dll ?= $(TOOL_GCC4MACHO_LDFLAGS.$(KBUILD_TARGET))
     49TOOL_GCC42MACHO_LDFLAGS.dll ?= $(TOOL_GCC42MACHO_LDFLAGS.$(KBUILD_TARGET))
    5050endif
    51 TOOL_GCC4MACHO_LDFLAGS.sysmod ?= -r
    52 #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)))
    53 TOOL_GCC4MACHO_DSYMUTIL  ?= dsymutil
     51TOOL_GCC42MACHO_LDFLAGS.sysmod ?= -r
     52#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)))
     53TOOL_GCC42MACHO_DSYMUTIL  ?= dsymutil
    5454
    5555ifdef SLKRUNS
    56 TOOL_GCC4MACHO_CC        += -fmessage-length=0
    57 TOOL_GCC4MACHO_CXX       += -fmessage-length=0
    58 TOOL_GCC4MACHO_OBJC      += -fmessage-length=0
    59 TOOL_GCC4MACHO_OBJCXX    += -fmessage-length=0
     56TOOL_GCC42MACHO_CC        += -fmessage-length=0
     57TOOL_GCC42MACHO_CXX       += -fmessage-length=0
     58TOOL_GCC42MACHO_OBJC      += -fmessage-length=0
     59TOOL_GCC42MACHO_OBJCXX    += -fmessage-length=0
    6060endif
    6161
    6262# General Properties used by kBuild
    63 TOOL_GCC4MACHO_COBJSUFF         ?= .o
    64 TOOL_GCC4MACHO_CFLAGS           ?=
    65 TOOL_GCC4MACHO_CFLAGS.debug     ?= -g
    66 TOOL_GCC4MACHO_CFLAGS.profile   ?= -g -O2 #-pg
    67 TOOL_GCC4MACHO_CFLAGS.release   ?= -O2
    68 TOOL_GCC4MACHO_CINCS            ?=
    69 TOOL_GCC4MACHO_CDEFS            ?=
    70 
    71 TOOL_GCC4MACHO_CXXOBJSUFF       ?= .o
    72 TOOL_GCC4MACHO_CXXFLAGS         ?=
    73 TOOL_GCC4MACHO_CXXFLAGS.debug   ?= -g
    74 TOOL_GCC4MACHO_CXXFLAGS.profile ?= -g -O2 #-pg
    75 TOOL_GCC4MACHO_CXXFLAGS.release ?= -O2
    76 TOOL_GCC4MACHO_CXXINCS          ?=
    77 TOOL_GCC4MACHO_CXXDEFS          ?=
    78 
    79 TOOL_GCC4MACHO_OBJCOBJSUFF      ?= .o
    80 TOOL_GCC4MACHO_OBJCFLAGS        ?=
    81 TOOL_GCC4MACHO_OBJCFLAGS.debug  ?= -g
    82 TOOL_GCC4MACHO_OBJCFLAGS.profile?= -O2 #-g -pg
    83 TOOL_GCC4MACHO_OBJCFLAGS.release?= -O2
    84 TOOL_GCC4MACHO_OBJCINCS         ?=
    85 TOOL_GCC4MACHO_OBJCDEFS         ?=
    86 
    87 TOOL_GCC4MACHO_OBJCXXOBJSUFF        ?= .o
    88 TOOL_GCC4MACHO_OBJCXXFLAGS          ?=
    89 TOOL_GCC4MACHO_OBJCXXFLAGS.debug    ?= -g
    90 TOOL_GCC4MACHO_OBJCXXFLAGS.profile  ?= -O2 #-g -pg
    91 TOOL_GCC4MACHO_OBJCXXFLAGS.release  ?= -O2
    92 TOOL_GCC4MACHO_OBJCXXINCS           ?=
    93 TOOL_GCC4MACHO_OBJCXXDEFS           ?=
    94 
    95 TOOL_GCC4MACHO_ASFLAGS          ?= -x assembler-with-cpp
    96 TOOL_GCC4MACHO_ASFLAGS.debug    ?= -g
    97 TOOL_GCC4MACHO_ASFLAGS.profile  ?= -g
    98 TOOL_GCC4MACHO_ASOBJSUFF        ?= .o
    99 
    100 TOOL_GCC4MACHO_AR               ?= ar$(HOSTSUFF_EXE)
    101 TOOL_GCC4MACHO_ARFLAGS          ?= -c -rs
    102 TOOL_GCC4MACHO_ARLIBSUFF        ?= .a
    103 
    104 TOOL_GCC4MACHO_LDFLAGS          ?=
    105 TOOL_GCC4MACHO_LDFLAGS.debug    ?= -g
    106 TOOL_GCC4MACHO_LDFLAGS.profile  ?= -g
    107 
    108 TOOL_GCC4MACHO_STRIP_PROGRAM    ?= strip -SXxru
    109 TOOL_GCC4MACHO_STRIP_DLL        ?= strip -Sxru
    110 TOOL_GCC4MACHO_STRIP_SYSMOD     ?= strip -Sru
     63TOOL_GCC42MACHO_COBJSUFF         ?= .o
     64TOOL_GCC42MACHO_CFLAGS           ?=
     65TOOL_GCC42MACHO_CFLAGS.debug     ?= -g
     66TOOL_GCC42MACHO_CFLAGS.profile   ?= -g -O2 #-pg
     67TOOL_GCC42MACHO_CFLAGS.release   ?= -O2
     68TOOL_GCC42MACHO_CINCS            ?=
     69TOOL_GCC42MACHO_CDEFS            ?=
     70
     71TOOL_GCC42MACHO_CXXOBJSUFF       ?= .o
     72TOOL_GCC42MACHO_CXXFLAGS         ?=
     73TOOL_GCC42MACHO_CXXFLAGS.debug   ?= -g
     74TOOL_GCC42MACHO_CXXFLAGS.profile ?= -g -O2 #-pg
     75TOOL_GCC42MACHO_CXXFLAGS.release ?= -O2
     76TOOL_GCC42MACHO_CXXINCS          ?=
     77TOOL_GCC42MACHO_CXXDEFS          ?=
     78
     79TOOL_GCC42MACHO_OBJCOBJSUFF      ?= .o
     80TOOL_GCC42MACHO_OBJCFLAGS        ?=
     81TOOL_GCC42MACHO_OBJCFLAGS.debug  ?= -g
     82TOOL_GCC42MACHO_OBJCFLAGS.profile?= -O2 #-g -pg
     83TOOL_GCC42MACHO_OBJCFLAGS.release?= -O2
     84TOOL_GCC42MACHO_OBJCINCS         ?=
     85TOOL_GCC42MACHO_OBJCDEFS         ?=
     86
     87TOOL_GCC42MACHO_OBJCXXOBJSUFF        ?= .o
     88TOOL_GCC42MACHO_OBJCXXFLAGS          ?=
     89TOOL_GCC42MACHO_OBJCXXFLAGS.debug    ?= -g
     90TOOL_GCC42MACHO_OBJCXXFLAGS.profile  ?= -O2 #-g -pg
     91TOOL_GCC42MACHO_OBJCXXFLAGS.release  ?= -O2
     92TOOL_GCC42MACHO_OBJCXXINCS           ?=
     93TOOL_GCC42MACHO_OBJCXXDEFS           ?=
     94
     95TOOL_GCC42MACHO_ASFLAGS          ?= -x assembler-with-cpp
     96TOOL_GCC42MACHO_ASFLAGS.debug    ?= -g
     97TOOL_GCC42MACHO_ASFLAGS.profile  ?= -g
     98TOOL_GCC42MACHO_ASOBJSUFF        ?= .o
     99
     100TOOL_GCC42MACHO_AR               ?= ar$(HOSTSUFF_EXE)
     101TOOL_GCC42MACHO_ARFLAGS          ?= -c -rs
     102TOOL_GCC42MACHO_ARLIBSUFF        ?= .a
     103
     104TOOL_GCC42MACHO_LDFLAGS          ?=
     105TOOL_GCC42MACHO_LDFLAGS.debug    ?= -g
     106TOOL_GCC42MACHO_LDFLAGS.profile  ?= -g
     107
     108TOOL_GCC42MACHO_STRIP_PROGRAM    ?= strip -SXxru
     109TOOL_GCC42MACHO_STRIP_DLL        ?= strip -Sxru
     110TOOL_GCC42MACHO_STRIP_SYSMOD     ?= strip -Sru
    111111
    112112
     
    115115# @param    1           The whole output filename.
    116116# @param    2           The output filename sans suffix.
    117 TOOL_GCC4MACHO_DEBUG_BUNDLE_FN = \
     117TOOL_GCC42MACHO_DEBUG_BUNDLE_FN = \
    118118    $(1).dSYM/ \
    119119    $(1).dSYM/Contents/ \
     
    131131#           does not care and only check for a symbol file in the DWARF
    132132#           directory with the same name as the debugged module.
    133 TOOL_GCC4MACHO_DEBUG_INSTALL_FN= \
     133TOOL_GCC42MACHO_DEBUG_INSTALL_FN= \
    134134    $(3).dSYM/ \
    135135    $(3).dSYM/Contents/ \
     
    153153# @param    $(outbase)  Output basename (full). Use this for list files and such.
    154154# @param    $(objsuff)  Object suffix.
    155 TOOL_GCC4MACHO_COMPILE_C_DEPEND =
    156 TOOL_GCC4MACHO_COMPILE_C_DEPORD =
     155TOOL_GCC42MACHO_COMPILE_C_DEPEND =
     156TOOL_GCC42MACHO_COMPILE_C_DEPORD =
    157157ifdef KBUILD_USE_KOBJCACHE
    158 TOOL_GCC4MACHO_COMPILE_C_USES_KOBJCACHE = 1
    159 TOOL_GCC4MACHO_COMPILE_C_OUTPUT = $(outbase).i
    160 define TOOL_GCC4MACHO_COMPILE_C_CMDS
     158TOOL_GCC42MACHO_COMPILE_C_USES_KOBJCACHE = 1
     159TOOL_GCC42MACHO_COMPILE_C_OUTPUT = $(outbase).i
     160define TOOL_GCC42MACHO_COMPILE_C_CMDS
    161161        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    162162                --kObjCache-cpp $(outbase).i\
    163                 $(TOOL_GCC4MACHO_CC) -E -o -\
     163                $(TOOL_GCC42MACHO_CC) -E -o -\
    164164                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    165165                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    166166                $(abspath $(source))\
    167167                --kObjCache-cc $(obj)\
    168                 $(TOOL_GCC4MACHO_CC) -c\
     168                $(TOOL_GCC42MACHO_CC) -c\
    169169                $(flags) -fpreprocessed -x c\
    170170                -o $(obj)\
     
    173173endef
    174174else  # !KBUILD_USE_KOBJCACHE
    175 TOOL_GCC4MACHO_COMPILE_C_OUTPUT =
    176 define TOOL_GCC4MACHO_COMPILE_C_CMDS
    177         $(QUIET)$(TOOL_GCC4MACHO_CC) -c\
     175TOOL_GCC42MACHO_COMPILE_C_OUTPUT =
     176define TOOL_GCC42MACHO_COMPILE_C_CMDS
     177        $(QUIET)$(TOOL_GCC42MACHO_CC) -c\
    178178                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    179179                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    197197# @param    $(outbase)  Output basename (full). Use this for list files and such.
    198198# @param    $(objsuff)  Object suffix.
    199 TOOL_GCC4MACHO_COMPILE_CXX_DEPEND =
    200 TOOL_GCC4MACHO_COMPILE_CXX_DEPORD =
     199TOOL_GCC42MACHO_COMPILE_CXX_DEPEND =
     200TOOL_GCC42MACHO_COMPILE_CXX_DEPORD =
    201201ifdef KBUILD_USE_KOBJCACHE
    202 TOOL_GCC4MACHO_COMPILE_CXX_USES_KOBJCACHE = 1
    203 TOOL_GCC4MACHO_COMPILE_CXX_OUTPUT = $(outbase).ii
    204 define TOOL_GCC4MACHO_COMPILE_CXX_CMDS
     202TOOL_GCC42MACHO_COMPILE_CXX_USES_KOBJCACHE = 1
     203TOOL_GCC42MACHO_COMPILE_CXX_OUTPUT = $(outbase).ii
     204define TOOL_GCC42MACHO_COMPILE_CXX_CMDS
    205205        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    206206                --kObjCache-cpp $(outbase).ii\
    207                 $(TOOL_GCC4MACHO_CXX) -E -o -\
     207                $(TOOL_GCC42MACHO_CXX) -E -o -\
    208208                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    209209                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    210210                $(abspath $(source))\
    211211                --kObjCache-cc $(obj)\
    212                 $(TOOL_GCC4MACHO_CXX) -c\
     212                $(TOOL_GCC42MACHO_CXX) -c\
    213213                $(flags) -fpreprocessed -x c++\
    214214                -o $(obj)\
     
    217217endef
    218218else  # !KBUILD_USE_KOBJCACHE
    219 TOOL_GCC4MACHO_COMPILE_CXX_OUTPUT =
    220 define TOOL_GCC4MACHO_COMPILE_CXX_CMDS
    221         $(QUIET)$(TOOL_GCC4MACHO_CXX) -c\
     219TOOL_GCC42MACHO_COMPILE_CXX_OUTPUT =
     220define TOOL_GCC42MACHO_COMPILE_CXX_CMDS
     221        $(QUIET)$(TOOL_GCC42MACHO_CXX) -c\
    222222                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    223223                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    241241# @param    $(outbase)  Output basename (full). Use this for list files and such.
    242242# @param    $(objsuff)  Object suffix.
    243 TOOL_GCC4MACHO_COMPILE_OBJC_DEPEND =
    244 TOOL_GCC4MACHO_COMPILE_OBJC_DEPORD =
     243TOOL_GCC42MACHO_COMPILE_OBJC_DEPEND =
     244TOOL_GCC42MACHO_COMPILE_OBJC_DEPORD =
    245245ifdef KBUILD_USE_KOBJCACHE
    246 TOOL_GCC4MACHO_COMPILE_OBJC_USES_KOBJCACHE = 1
    247 TOOL_GCC4MACHO_COMPILE_OBJC_OUTPUT = $(outbase).mi
    248 define TOOL_GCC4MACHO_COMPILE_OBJC_CMDS
     246TOOL_GCC42MACHO_COMPILE_OBJC_USES_KOBJCACHE = 1
     247TOOL_GCC42MACHO_COMPILE_OBJC_OUTPUT = $(outbase).mi
     248define TOOL_GCC42MACHO_COMPILE_OBJC_CMDS
    249249        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    250250                --kObjCache-cpp $(outbase).ii\
    251                 $(TOOL_GCC4MACHO_OBJC) -E -o -\
     251                $(TOOL_GCC42MACHO_OBJC) -E -o -\
    252252                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    253253                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    254254                $(abspath $(source))\
    255255                --kObjCache-cc $(obj)\
    256                 $(TOOL_GCC4MACHO_OBJC) -c\
     256                $(TOOL_GCC42MACHO_OBJC) -c\
    257257                $(flags) -fpreprocessed -x cbjective-c\
    258258                -o $(obj)\
     
    261261endef
    262262else  # !KBUILD_USE_KOBJCACHE
    263 TOOL_GCC4MACHO_COMPILE_OBJC_OUTPUT =
    264 define TOOL_GCC4MACHO_COMPILE_OBJC_CMDS
    265         $(QUIET)$(TOOL_GCC4MACHO_OBJC) -c\
     263TOOL_GCC42MACHO_COMPILE_OBJC_OUTPUT =
     264define TOOL_GCC42MACHO_COMPILE_OBJC_CMDS
     265        $(QUIET)$(TOOL_GCC42MACHO_OBJC) -c\
    266266                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    267267                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    285285# @param    $(outbase)  Output basename (full). Use this for list files and such.
    286286# @param    $(objsuff)  Object suffix.
    287 TOOL_GCC4MACHO_COMPILE_OBJCXX_DEPEND =
    288 TOOL_GCC4MACHO_COMPILE_OBJCXX_DEPORD =
     287TOOL_GCC42MACHO_COMPILE_OBJCXX_DEPEND =
     288TOOL_GCC42MACHO_COMPILE_OBJCXX_DEPORD =
    289289ifdef KBUILD_USE_KOBJCACHE
    290 TOOL_GCC4MACHO_COMPILE_OBJCXX_USES_KOBJCACHE = 1
    291 TOOL_GCC4MACHO_COMPILE_OBJCXX_OUTPUT = $(outbase).mii
    292 define TOOL_GCC4MACHO_COMPILE_OBJCXX_CMDS
     290TOOL_GCC42MACHO_COMPILE_OBJCXX_USES_KOBJCACHE = 1
     291TOOL_GCC42MACHO_COMPILE_OBJCXX_OUTPUT = $(outbase).mii
     292define TOOL_GCC42MACHO_COMPILE_OBJCXX_CMDS
    293293        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    294294                --kObjCache-cpp $(outbase).mii\
    295                 $(TOOL_GCC4MACHO_OBJCXX) -E -o -\
     295                $(TOOL_GCC42MACHO_OBJCXX) -E -o -\
    296296                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    297297                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    298298                $(abspath $(source))\
    299299                --kObjCache-cc $(obj)\
    300                 $(TOOL_GCC4MACHO_OBJCXX) -c\
     300                $(TOOL_GCC42MACHO_OBJCXX) -c\
    301301                $(flags) -fpreprocessed -x objective-c++\
    302302                -o $(obj)\
     
    305305endef
    306306else  # !KBUILD_USE_KOBJCACHE
    307 TOOL_GCC4MACHO_COMPILE_OBJCXX_OUTPUT =
    308 define TOOL_GCC4MACHO_COMPILE_OBJCXX_CMDS
    309         $(QUIET)$(TOOL_GCC4MACHO_OBJCXX) -c\
     307TOOL_GCC42MACHO_COMPILE_OBJCXX_OUTPUT =
     308define TOOL_GCC42MACHO_COMPILE_OBJCXX_CMDS
     309        $(QUIET)$(TOOL_GCC42MACHO_OBJCXX) -c\
    310310                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    311311                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    330330# @param    $(objsuff)  Object suffix.
    331331#
    332 TOOL_GCC4MACHO_COMPILE_AS_OUTPUT =
    333 TOOL_GCC4MACHO_COMPILE_AS_DEPEND =
    334 TOOL_GCC4MACHO_COMPILE_AS_DEPORD =
    335 define TOOL_GCC4MACHO_COMPILE_AS_CMDS
    336         $(QUIET)$(TOOL_GCC4MACHO_AS) -c\
     332TOOL_GCC42MACHO_COMPILE_AS_OUTPUT =
     333TOOL_GCC42MACHO_COMPILE_AS_DEPEND =
     334TOOL_GCC42MACHO_COMPILE_AS_DEPORD =
     335define TOOL_GCC42MACHO_COMPILE_AS_CMDS
     336        $(QUIET)$(TOOL_GCC42MACHO_AS) -c\
    337337                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    338338                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    352352# @param    $(othersrc) Unhandled sources.
    353353# @param    $(outbase)  Output basename (full). Use this for list files and such.
    354 TOOL_GCC4MACHO_LINK_LIBRARY_OUTPUT =
    355 TOOL_GCC4MACHO_LINK_LIBRARY_DEPEND = $(othersrc)
    356 TOOL_GCC4MACHO_LINK_LIBRARY_DEPORD =
    357 define TOOL_GCC4MACHO_LINK_LIBRARY_CMDS
    358         $(if $(strip $(objs)),$(call xargs,$(QUIET)$(TOOL_GCC4MACHO_AR) $(flags) $(out),$(objs)))
     354TOOL_GCC42MACHO_LINK_LIBRARY_OUTPUT =
     355TOOL_GCC42MACHO_LINK_LIBRARY_DEPEND = $(othersrc)
     356TOOL_GCC42MACHO_LINK_LIBRARY_DEPORD =
     357define TOOL_GCC42MACHO_LINK_LIBRARY_CMDS
     358        $(if $(strip $(objs)),$(call xargs,$(QUIET)$(TOOL_GCC42MACHO_AR) $(flags) $(out),$(objs)))
    359359        $(foreach lib,$(othersrc)\
    360360                ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \
     
    362362                $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \
    363363                $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \
    364                         && $(TOOL_GCC4MACHO_AR) -x $(abspath $(lib)) \
     364                        && $(TOOL_GCC42MACHO_AR) -x $(abspath $(lib)) \
    365365                    && $(RM_EXT) -f ./__.SYMDEF* \
    366                         && $(TOOL_GCC4MACHO_AR) $(flags) $(out) *) \
     366                        && $(TOOL_GCC42MACHO_AR) $(flags) $(out) *) \
    367367                $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \
    368368                $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/)
     
    383383# @param    $(custom_post)  Custom step invoked after linking.
    384384# @param    $(outbase)  Output basename (full). Use this for list files and such.
    385 TOOL_GCC4MACHO_LINK_PROGRAM_OUTPUT = $(outbase).rsp
    386 TOOL_GCC4MACHO_LINK_PROGRAM_OUTPUT_DEBUG = $(call TOOL_GCC4MACHO_DEBUG_BUNDLE_FN,$(out))
    387 TOOL_GCC4MACHO_LINK_PROGRAM_DEBUG_INSTALL_FN = $(TOOL_GCC4MACHO_DEBUG_INSTALL_FN)
    388 TOOL_GCC4MACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    389 TOOL_GCC4MACHO_LINK_PROGRAM_DEPORD =
    390 define TOOL_GCC4MACHO_LINK_PROGRAM_CMDS
     385TOOL_GCC42MACHO_LINK_PROGRAM_OUTPUT = $(outbase).rsp
     386TOOL_GCC42MACHO_LINK_PROGRAM_OUTPUT_DEBUG = $(call TOOL_GCC42MACHO_DEBUG_BUNDLE_FN,$(out))
     387TOOL_GCC42MACHO_LINK_PROGRAM_DEBUG_INSTALL_FN = $(TOOL_GCC42MACHO_DEBUG_INSTALL_FN)
     388TOOL_GCC42MACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     389TOOL_GCC42MACHO_LINK_PROGRAM_DEPORD =
     390define TOOL_GCC42MACHO_LINK_PROGRAM_CMDS
    391391        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    392         $(QUIET)$(TOOL_GCC4MACHO_LD) $(flags) -o $(out)\
     392        $(QUIET)$(TOOL_GCC42MACHO_LD) $(flags) -o $(out)\
    393393                -filelist $(outbase).rsp\
    394394                $(foreach p,$(libpath), -L$(p))\
    395395                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))
    396396 ifeq ($(ld_debug),split)
    397         $(QUIET)$(TOOL_GCC4MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
    398         $(QUIET)$(TOOL_GCC4MACHO_STRIP_PROGRAM) $(out)
     397        $(QUIET)$(TOOL_GCC42MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
     398        $(QUIET)$(TOOL_GCC42MACHO_STRIP_PROGRAM) $(out)
    399399 endif
    400400endef
     
    415415# @param    $(custom_post)  Custom step invoked after linking.
    416416# @param    $(outbase)  Output basename (full). Use this for list files and such.
    417 TOOL_GCC4MACHO_LINK_DLL_OUTPUT = $(outbase).rsp
    418 TOOL_GCC4MACHO_LINK_DLL_OUTPUT_DEBUG = $(call TOOL_GCC4MACHO_DEBUG_BUNDLE_FN,$(out))
    419 TOOL_GCC4MACHO_LINK_DLL_DEBUG_INSTALL_FN = $(TOOL_GCC4MACHO_DEBUG_INSTALL_FN)
    420 TOOL_GCC4MACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    421 TOOL_GCC4MACHO_LINK_DLL_DEPORD =
    422 define TOOL_GCC4MACHO_LINK_DLL_CMDS
     417TOOL_GCC42MACHO_LINK_DLL_OUTPUT = $(outbase).rsp
     418TOOL_GCC42MACHO_LINK_DLL_OUTPUT_DEBUG = $(call TOOL_GCC42MACHO_DEBUG_BUNDLE_FN,$(out))
     419TOOL_GCC42MACHO_LINK_DLL_DEBUG_INSTALL_FN = $(TOOL_GCC42MACHO_DEBUG_INSTALL_FN)
     420TOOL_GCC42MACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     421TOOL_GCC42MACHO_LINK_DLL_DEPORD =
     422define TOOL_GCC42MACHO_LINK_DLL_CMDS
    423423        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    424         $(QUIET)$(TOOL_GCC4MACHO_LD) $(TOOL_GCC4MACHO_LDFLAGS.dll) $(flags) -o $(out)\
    425                 $(call TOOL_GCC4MACHO_LD_SONAME,$(target),$(out))\
     424        $(QUIET)$(TOOL_GCC42MACHO_LD) $(TOOL_GCC42MACHO_LDFLAGS.dll) $(flags) -o $(out)\
     425                $(call TOOL_GCC42MACHO_LD_SONAME,$(target),$(out))\
    426426                -filelist $(outbase).rsp\
    427427                $(foreach p,$(libpath), -L$(p))\
    428428                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))
    429429 ifeq ($(ld_debug),split)
    430         $(QUIET)$(TOOL_GCC4MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
    431         $(QUIET)$(TOOL_GCC4MACHO_STRIP_DLL) $(out)
     430        $(QUIET)$(TOOL_GCC42MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
     431        $(QUIET)$(TOOL_GCC42MACHO_STRIP_DLL) $(out)
    432432 endif
    433433endef
     
    447447# @param    $(custom_post)  Custom step invoked after linking.
    448448# @param    $(outbase)  Output basename (full). Use this for list files and such.
    449 TOOL_GCC4MACHO_LINK_SYSMOD_OUTPUT = $(outbase).rsp
    450 TOOL_GCC4MACHO_LINK_SYSMOD_OUTPUT_DEBUG = $(call TOOL_GCC4MACHO_DEBUG_BUNDLE_FN,$(out))
    451 TOOL_GCC4MACHO_LINK_SYSMOD_DEBUG_INSTALL_FN = $(TOOL_GCC4MACHO_DEBUG_INSTALL_FN)
    452 TOOL_GCC4MACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    453 TOOL_GCC4MACHO_LINK_SYSMOD_DEPORD =
    454 define TOOL_GCC4MACHO_LINK_SYSMOD_CMDS
     449TOOL_GCC42MACHO_LINK_SYSMOD_OUTPUT = $(outbase).rsp
     450TOOL_GCC42MACHO_LINK_SYSMOD_OUTPUT_DEBUG = $(call TOOL_GCC42MACHO_DEBUG_BUNDLE_FN,$(out))
     451TOOL_GCC42MACHO_LINK_SYSMOD_DEBUG_INSTALL_FN = $(TOOL_GCC42MACHO_DEBUG_INSTALL_FN)
     452TOOL_GCC42MACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     453TOOL_GCC42MACHO_LINK_SYSMOD_DEPORD =
     454define TOOL_GCC42MACHO_LINK_SYSMOD_CMDS
    455455        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    456         $(QUIET)$(TOOL_GCC4MACHO_LD_SYSMOD) $(TOOL_GCC4MACHO_LDFLAGS.sysmod) $(flags) -o $(out)\
     456        $(QUIET)$(TOOL_GCC42MACHO_LD_SYSMOD) $(TOOL_GCC42MACHO_LDFLAGS.sysmod) $(flags) -o $(out)\
    457457                -filelist $(outbase).rsp\
    458458                $(foreach p,$(libpath), -L$(p))\
    459459                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))
    460460 ifeq ($(ld_debug),split)
    461         $(QUIET)$(TOOL_GCC4MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
    462         $(QUIET)$(TOOL_GCC4MACHO_STRIP_SYSMOD) $(out)
     461        $(QUIET)$(TOOL_GCC42MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
     462        $(QUIET)$(TOOL_GCC42MACHO_STRIP_SYSMOD) $(out)
    463463 endif
    464464endef
  • trunk/kBuild/tools/GCC4MACHO.kmk

    r2535 r2547  
    11# $Id$
    22## @file
    3 # kBuild Tool Config - GCC v4 targeting Darwin (Mac OS X) Mach-o.
     3# kBuild Tool Config - GCC v4 targeting Darwin (Mac OS X) Mach-O.
    44#
    55
     
    3232#
    3333
    34 TOOL_GCC4MACHO := GCC v4 targeting Darwin (Mac OS X) Mach-o.
     34TOOL_GCC4MACHO := GCC v4 targeting Darwin (Mac OS X) Mach-O.
    3535
    3636# Tool Specific Properties
  • trunk/kBuild/tools/GXX42MACHO.kmk

    r2546 r2547  
    11# $Id$
    22## @file
    3 # kBuild Tool Config - GCC v4 targeting Darwin (Mac OS X) Mach-o, for building C++ code.
    4 #
    5 
    6 #
    7 # Copyright (c) 2004-2010 knut st. osmundsen <[email protected]>
     3# kBuild Tool Config - GCC v4.2.x targeting Darwin (Mac OS X) Mach-O, for building C++ code.
     4#
     5
     6#
     7# Copyright (c) 2004-2011 knut st. osmundsen <[email protected]>
    88#
    99# This file is part of kBuild.
     
    3232#
    3333
    34 TOOL_GXX4MACHO := GCC v4 targeting Darwin (Mac OS X) Mach-o, for building C++ code.
     34TOOL_GXX42MACHO := GCC v4.2.x targeting Darwin (Mac OS X) Mach-O, for building C++ code.
    3535
    3636# Tool Specific Properties
    37 TOOL_GXX4MACHO_PREFIX    ?=
    38 TOOL_GXX4MACHO_SUFFIX    ?= $(HOSTSUFF_EXE)
    39 TOOL_GXX4MACHO_CC        ?= $(TOOL_GXX4MACHO_PREFIX)gcc$(TOOL_GXX4MACHO_SUFFIX)
    40 TOOL_GXX4MACHO_CXX       ?= $(TOOL_GXX4MACHO_PREFIX)g++$(TOOL_GXX4MACHO_SUFFIX)
    41 TOOL_GXX4MACHO_OBJC      ?= $(TOOL_GXX4MACHO_PREFIX)gcc$(TOOL_GXX4MACHO_SUFFIX)
    42 TOOL_GXX4MACHO_OBJCXX    ?= $(TOOL_GXX4MACHO_PREFIX)gcc$(TOOL_GXX4MACHO_SUFFIX)
    43 TOOL_GXX4MACHO_AS        ?= $(TOOL_GXX4MACHO_PREFIX)gcc$(TOOL_GXX4MACHO_SUFFIX)
    44 TOOL_GXX4MACHO_LD        ?= $(TOOL_GXX4MACHO_PREFIX)g++$(TOOL_GXX4MACHO_SUFFIX)
    45 TOOL_GXX4MACHO_LD_SYSMOD ?= $(TOOL_GXX4MACHO_PREFIX)g++$(TOOL_GXX4MACHO_SUFFIX)
    46 ifndef TOOL_GXX4MACHO_LDFLAGS.$(KBUILD_TARGET)
    47 TOOL_GXX4MACHO_LDFLAGS.dll ?= -dynamiclib
     37TOOL_GXX42MACHO_PREFIX    ?=
     38TOOL_GXX42MACHO_SUFFIX    ?= -4.2$(HOSTSUFF_EXE)
     39TOOL_GXX42MACHO_CC        ?= $(TOOL_GXX42MACHO_PREFIX)gcc$(TOOL_GXX42MACHO_SUFFIX)
     40TOOL_GXX42MACHO_CXX       ?= $(TOOL_GXX42MACHO_PREFIX)g++$(TOOL_GXX42MACHO_SUFFIX)
     41TOOL_GXX42MACHO_OBJC      ?= $(TOOL_GXX42MACHO_PREFIX)gcc$(TOOL_GXX42MACHO_SUFFIX)
     42TOOL_GXX42MACHO_OBJCXX    ?= $(TOOL_GXX42MACHO_PREFIX)gcc$(TOOL_GXX42MACHO_SUFFIX)
     43TOOL_GXX42MACHO_AS        ?= $(TOOL_GXX42MACHO_PREFIX)gcc$(TOOL_GXX42MACHO_SUFFIX)
     44TOOL_GXX42MACHO_LD        ?= $(TOOL_GXX42MACHO_PREFIX)g++$(TOOL_GXX42MACHO_SUFFIX)
     45TOOL_GXX42MACHO_LD_SYSMOD ?= $(TOOL_GXX42MACHO_PREFIX)g++$(TOOL_GXX42MACHO_SUFFIX)
     46ifndef TOOL_GXX42MACHO_LDFLAGS.$(KBUILD_TARGET)
     47TOOL_GXX42MACHO_LDFLAGS.dll ?= -dynamiclib
    4848else
    49 TOOL_GXX4MACHO_LDFLAGS.dll ?= $(TOOL_GXX4MACHO_LDFLAGS.$(KBUILD_TARGET))
     49TOOL_GXX42MACHO_LDFLAGS.dll ?= $(TOOL_GXX42MACHO_LDFLAGS.$(KBUILD_TARGET))
    5050endif
    51 TOOL_GXX4MACHO_LDFLAGS.sysmod ?= -r
    52 #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)))
    53 TOOL_GXX4MACHO_DSYMUTIL  ?= dsymutil
     51TOOL_GXX42MACHO_LDFLAGS.sysmod ?= -r
     52#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)))
     53TOOL_GXX42MACHO_DSYMUTIL  ?= dsymutil
    5454
    5555ifdef SLKRUNS
    56 TOOL_GXX4MACHO_CC     += -fmessage-length=0
    57 TOOL_GXX4MACHO_CXX    += -fmessage-length=0
    58 TOOL_GXX4MACHO_OBJC   += -fmessage-length=0
    59 TOOL_GXX4MACHO_OBJCXX += -fmessage-length=0
     56TOOL_GXX42MACHO_CC     += -fmessage-length=0
     57TOOL_GXX42MACHO_CXX    += -fmessage-length=0
     58TOOL_GXX42MACHO_OBJC   += -fmessage-length=0
     59TOOL_GXX42MACHO_OBJCXX += -fmessage-length=0
    6060endif
    6161
    6262# General Properties used by kBuild
    63 TOOL_GXX4MACHO_COBJSUFF         ?= .o
    64 TOOL_GXX4MACHO_CFLAGS           ?=
    65 TOOL_GXX4MACHO_CFLAGS.debug     ?= -g
    66 TOOL_GXX4MACHO_CFLAGS.profile   ?= -O2 #-g -pg
    67 TOOL_GXX4MACHO_CFLAGS.release   ?= -O2
    68 TOOL_GXX4MACHO_CINCS            ?=
    69 TOOL_GXX4MACHO_CDEFS            ?=
    70 
    71 TOOL_GXX4MACHO_CXXOBJSUFF       ?= .o
    72 TOOL_GXX4MACHO_CXXFLAGS         ?=
    73 TOOL_GXX4MACHO_CXXFLAGS.debug   ?= -g
    74 TOOL_GXX4MACHO_CXXFLAGS.profile ?= -O2 #-g -pg
    75 TOOL_GXX4MACHO_CXXFLAGS.release ?= -O2
    76 TOOL_GXX4MACHO_CXXINCS          ?=
    77 TOOL_GXX4MACHO_CXXDEFS          ?=
    78 
    79 TOOL_GXX4MACHO_OBJCOBJSUFF      ?= .o
    80 TOOL_GXX4MACHO_OBJCFLAGS        ?=
    81 TOOL_GXX4MACHO_OBJCFLAGS.debug  ?= -g
    82 TOOL_GXX4MACHO_OBJCFLAGS.profile?= -O2 #-g -pg
    83 TOOL_GXX4MACHO_OBJCFLAGS.release?= -O2
    84 TOOL_GXX4MACHO_OBJCINCS         ?=
    85 TOOL_GXX4MACHO_OBJCDEFS         ?=
    86 
    87 TOOL_GXX4MACHO_OBJCXXOBJSUFF        ?= .o
    88 TOOL_GXX4MACHO_OBJCXXFLAGS          ?=
    89 TOOL_GXX4MACHO_OBJCXXFLAGS.debug    ?= -g
    90 TOOL_GXX4MACHO_OBJCXXFLAGS.profile  ?= -O2 #-g -pg
    91 TOOL_GXX4MACHO_OBJCXXFLAGS.release  ?= -O2
    92 TOOL_GXX4MACHO_OBJCXXINCS           ?=
    93 TOOL_GXX4MACHO_OBJCXXDEFS           ?=
    94 
    95 TOOL_GXX4MACHO_ASFLAGS          ?= -x assembler-with-cpp
    96 TOOL_GXX4MACHO_ASFLAGS.debug    ?= -g
    97 TOOL_GXX4MACHO_ASFLAGS.profile  ?= -g
    98 TOOL_GXX4MACHO_ASOBJSUFF        ?= .o
    99 
    100 TOOL_GXX4MACHO_AR               ?= ar$(HOSTSUFF_EXE)
    101 TOOL_GXX4MACHO_ARFLAGS          ?= -c -rs
    102 TOOL_GXX4MACHO_ARLIBSUFF        ?= .a
    103 
    104 TOOL_GXX4MACHO_LDFLAGS          ?=
    105 TOOL_GXX4MACHO_LDFLAGS.debug    ?= -g
    106 TOOL_GXX4MACHO_LDFLAGS.profile  ?= -g
    107 
    108 TOOL_GXX4MACHO_STRIP_PROGRAM    ?= strip -SXxru
    109 TOOL_GXX4MACHO_STRIP_DLL        ?= strip -Sxru
    110 TOOL_GXX4MACHO_STRIP_SYSMOD     ?= strip -Sru
     63TOOL_GXX42MACHO_COBJSUFF         ?= .o
     64TOOL_GXX42MACHO_CFLAGS           ?=
     65TOOL_GXX42MACHO_CFLAGS.debug     ?= -g
     66TOOL_GXX42MACHO_CFLAGS.profile   ?= -O2 #-g -pg
     67TOOL_GXX42MACHO_CFLAGS.release   ?= -O2
     68TOOL_GXX42MACHO_CINCS            ?=
     69TOOL_GXX42MACHO_CDEFS            ?=
     70
     71TOOL_GXX42MACHO_CXXOBJSUFF       ?= .o
     72TOOL_GXX42MACHO_CXXFLAGS         ?=
     73TOOL_GXX42MACHO_CXXFLAGS.debug   ?= -g
     74TOOL_GXX42MACHO_CXXFLAGS.profile ?= -O2 #-g -pg
     75TOOL_GXX42MACHO_CXXFLAGS.release ?= -O2
     76TOOL_GXX42MACHO_CXXINCS          ?=
     77TOOL_GXX42MACHO_CXXDEFS          ?=
     78
     79TOOL_GXX42MACHO_OBJCOBJSUFF      ?= .o
     80TOOL_GXX42MACHO_OBJCFLAGS        ?=
     81TOOL_GXX42MACHO_OBJCFLAGS.debug  ?= -g
     82TOOL_GXX42MACHO_OBJCFLAGS.profile?= -O2 #-g -pg
     83TOOL_GXX42MACHO_OBJCFLAGS.release?= -O2
     84TOOL_GXX42MACHO_OBJCINCS         ?=
     85TOOL_GXX42MACHO_OBJCDEFS         ?=
     86
     87TOOL_GXX42MACHO_OBJCXXOBJSUFF        ?= .o
     88TOOL_GXX42MACHO_OBJCXXFLAGS          ?=
     89TOOL_GXX42MACHO_OBJCXXFLAGS.debug    ?= -g
     90TOOL_GXX42MACHO_OBJCXXFLAGS.profile  ?= -O2 #-g -pg
     91TOOL_GXX42MACHO_OBJCXXFLAGS.release  ?= -O2
     92TOOL_GXX42MACHO_OBJCXXINCS           ?=
     93TOOL_GXX42MACHO_OBJCXXDEFS           ?=
     94
     95TOOL_GXX42MACHO_ASFLAGS          ?= -x assembler-with-cpp
     96TOOL_GXX42MACHO_ASFLAGS.debug    ?= -g
     97TOOL_GXX42MACHO_ASFLAGS.profile  ?= -g
     98TOOL_GXX42MACHO_ASOBJSUFF        ?= .o
     99
     100TOOL_GXX42MACHO_AR               ?= ar$(HOSTSUFF_EXE)
     101TOOL_GXX42MACHO_ARFLAGS          ?= -c -rs
     102TOOL_GXX42MACHO_ARLIBSUFF        ?= .a
     103
     104TOOL_GXX42MACHO_LDFLAGS          ?=
     105TOOL_GXX42MACHO_LDFLAGS.debug    ?= -g
     106TOOL_GXX42MACHO_LDFLAGS.profile  ?= -g
     107
     108TOOL_GXX42MACHO_STRIP_PROGRAM    ?= strip -SXxru
     109TOOL_GXX42MACHO_STRIP_DLL        ?= strip -Sxru
     110TOOL_GXX42MACHO_STRIP_SYSMOD     ?= strip -Sru
    111111
    112112
     
    115115# @param    1           The whole output filename.
    116116# @param    2           The output filename sans suffix.
    117 TOOL_GXX4MACHO_DEBUG_BUNDLE_FN = \
     117TOOL_GXX42MACHO_DEBUG_BUNDLE_FN = \
    118118    $(1).dSYM/ \
    119119    $(1).dSYM/Contents/ \
     
    131131#           does not care and only check for a symbol file in the DWARF
    132132#           directory with the same name as the debugged module.
    133 TOOL_GXX4MACHO_DEBUG_INSTALL_FN= \
     133TOOL_GXX42MACHO_DEBUG_INSTALL_FN= \
    134134    $(3).dSYM/ \
    135135    $(3).dSYM/Contents/ \
     
    153153# @param    $(outbase)  Output basename (full). Use this for list files and such.
    154154# @param    $(objsuff)  Object suffix.
    155 TOOL_GXX4MACHO_COMPILE_C_DEPEND =
    156 TOOL_GXX4MACHO_COMPILE_C_DEPORD =
     155TOOL_GXX42MACHO_COMPILE_C_DEPEND =
     156TOOL_GXX42MACHO_COMPILE_C_DEPORD =
    157157ifdef KBUILD_USE_KOBJCACHE
    158 TOOL_GXX4MACHO_COMPILE_C_USES_KOBJCACHE = 1
    159 TOOL_GXX4MACHO_COMPILE_C_OUTPUT = $(outbase).i
    160 define TOOL_GXX4MACHO_COMPILE_C_CMDS
     158TOOL_GXX42MACHO_COMPILE_C_USES_KOBJCACHE = 1
     159TOOL_GXX42MACHO_COMPILE_C_OUTPUT = $(outbase).i
     160define TOOL_GXX42MACHO_COMPILE_C_CMDS
    161161        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    162162                --kObjCache-cpp $(outbase).i\
    163                 $(TOOL_GXX4MACHO_CC) -E -o -\
     163                $(TOOL_GXX42MACHO_CC) -E -o -\
    164164                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    165165                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    166166                $(abspath $(source))\
    167167                --kObjCache-cc $(obj)\
    168                 $(TOOL_GXX4MACHO_CC) -c\
     168                $(TOOL_GXX42MACHO_CC) -c\
    169169                $(flags) -fpreprocessed -x c\
    170170                -o $(obj)\
     
    173173endef
    174174else  # !KBUILD_USE_KOBJCACHE
    175 TOOL_GXX4MACHO_COMPILE_C_OUTPUT =
    176 define TOOL_GXX4MACHO_COMPILE_C_CMDS
    177         $(QUIET)$(TOOL_GXX4MACHO_CC) -c\
     175TOOL_GXX42MACHO_COMPILE_C_OUTPUT =
     176define TOOL_GXX42MACHO_COMPILE_C_CMDS
     177        $(QUIET)$(TOOL_GXX42MACHO_CC) -c\
    178178                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    179179                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    197197# @param    $(outbase)  Output basename (full). Use this for list files and such.
    198198# @param    $(objsuff)  Object suffix.
    199 TOOL_GXX4MACHO_COMPILE_CXX_DEPEND =
    200 TOOL_GXX4MACHO_COMPILE_CXX_DEPORD =
     199TOOL_GXX42MACHO_COMPILE_CXX_DEPEND =
     200TOOL_GXX42MACHO_COMPILE_CXX_DEPORD =
    201201ifdef KBUILD_USE_KOBJCACHE
    202 TOOL_GXX4MACHO_COMPILE_CXX_USES_KOBJCACHE = 1
    203 TOOL_GXX4MACHO_COMPILE_CXX_OUTPUT = $(outbase).ii
    204 define TOOL_GXX4MACHO_COMPILE_CXX_CMDS
     202TOOL_GXX42MACHO_COMPILE_CXX_USES_KOBJCACHE = 1
     203TOOL_GXX42MACHO_COMPILE_CXX_OUTPUT = $(outbase).ii
     204define TOOL_GXX42MACHO_COMPILE_CXX_CMDS
    205205        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    206206                --kObjCache-cpp $(outbase).ii\
    207                 $(TOOL_GXX4MACHO_CXX) -E -o -\
     207                $(TOOL_GXX42MACHO_CXX) -E -o -\
    208208                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    209209                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    210210                $(abspath $(source))\
    211211                --kObjCache-cc $(obj)\
    212                 $(TOOL_GXX4MACHO_CXX) -c\
     212                $(TOOL_GXX42MACHO_CXX) -c\
    213213                $(flags) -fpreprocessed -x c++\
    214214                -o $(obj)\
     
    217217endef
    218218else  # !KBUILD_USE_KOBJCACHE
    219 TOOL_GXX4MACHO_COMPILE_CXX_OUTPUT =
    220 define TOOL_GXX4MACHO_COMPILE_CXX_CMDS
    221         $(QUIET)$(TOOL_GXX4MACHO_CXX) -c\
     219TOOL_GXX42MACHO_COMPILE_CXX_OUTPUT =
     220define TOOL_GXX42MACHO_COMPILE_CXX_CMDS
     221        $(QUIET)$(TOOL_GXX42MACHO_CXX) -c\
    222222                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    223223                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    241241# @param    $(outbase)  Output basename (full). Use this for list files and such.
    242242# @param    $(objsuff)  Object suffix.
    243 TOOL_GXX4MACHO_COMPILE_OBJC_DEPEND =
    244 TOOL_GXX4MACHO_COMPILE_OBJC_DEPORD =
     243TOOL_GXX42MACHO_COMPILE_OBJC_DEPEND =
     244TOOL_GXX42MACHO_COMPILE_OBJC_DEPORD =
    245245ifdef KBUILD_USE_KOBJCACHE
    246 TOOL_GXX4MACHO_COMPILE_OBJC_USES_KOBJCACHE = 1
    247 TOOL_GXX4MACHO_COMPILE_OBJC_OUTPUT = $(outbase).mi
    248 define TOOL_GXX4MACHO_COMPILE_OBJC_CMDS
     246TOOL_GXX42MACHO_COMPILE_OBJC_USES_KOBJCACHE = 1
     247TOOL_GXX42MACHO_COMPILE_OBJC_OUTPUT = $(outbase).mi
     248define TOOL_GXX42MACHO_COMPILE_OBJC_CMDS
    249249        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    250250                --kObjCache-cpp $(outbase).ii\
    251                 $(TOOL_GXX4MACHO_OBJC) -E -o -\
     251                $(TOOL_GXX42MACHO_OBJC) -E -o -\
    252252                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    253253                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    254254                $(abspath $(source))\
    255255                --kObjCache-cc $(obj)\
    256                 $(TOOL_GXX4MACHO_OBJC) -c\
     256                $(TOOL_GXX42MACHO_OBJC) -c\
    257257                $(flags) -fpreprocessed -x objective-c \
    258258                -o $(obj)\
     
    261261endef
    262262else  # !KBUILD_USE_KOBJCACHE
    263 TOOL_GXX4MACHO_COMPILE_OBJC_OUTPUT =
    264 define TOOL_GXX4MACHO_COMPILE_OBJC_CMDS
    265         $(QUIET)$(TOOL_GXX4MACHO_OBJC) -c\
     263TOOL_GXX42MACHO_COMPILE_OBJC_OUTPUT =
     264define TOOL_GXX42MACHO_COMPILE_OBJC_CMDS
     265        $(QUIET)$(TOOL_GXX42MACHO_OBJC) -c\
    266266                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    267267                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    285285# @param    $(outbase)  Output basename (full). Use this for list files and such.
    286286# @param    $(objsuff)  Object suffix.
    287 TOOL_GXX4MACHO_COMPILE_OBJCXX_DEPEND =
    288 TOOL_GXX4MACHO_COMPILE_OBJCXX_DEPORD =
     287TOOL_GXX42MACHO_COMPILE_OBJCXX_DEPEND =
     288TOOL_GXX42MACHO_COMPILE_OBJCXX_DEPORD =
    289289ifdef KBUILD_USE_KOBJCACHE
    290 TOOL_GXX4MACHO_COMPILE_OBJCXX_USES_KOBJCACHE = 1
    291 TOOL_GXX4MACHO_COMPILE_OBJCXX_OUTPUT = $(outbase).mii
    292 define TOOL_GXX4MACHO_COMPILE_OBJCXX_CMDS
     290TOOL_GXX42MACHO_COMPILE_OBJCXX_USES_KOBJCACHE = 1
     291TOOL_GXX42MACHO_COMPILE_OBJCXX_OUTPUT = $(outbase).mii
     292define TOOL_GXX42MACHO_COMPILE_OBJCXX_CMDS
    293293        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    294294                --kObjCache-cpp $(outbase).mii\
    295                 $(TOOL_GXX4MACHO_OBJCXX) -E -o -\
     295                $(TOOL_GXX42MACHO_OBJCXX) -E -o -\
    296296                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    297297                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    298298                $(abspath $(source))\
    299299                --kObjCache-cc $(obj)\
    300                 $(TOOL_GXX4MACHO_OBJCXX) -c\
     300                $(TOOL_GXX42MACHO_OBJCXX) -c\
    301301                $(flags) -fpreprocessed -x objective-c++ \
    302302                -o $(obj)\
     
    305305endef
    306306else  # !KBUILD_USE_KOBJCACHE
    307 TOOL_GXX4MACHO_COMPILE_OBJCXX_OUTPUT =
    308 define TOOL_GXX4MACHO_COMPILE_OBJCXX_CMDS
    309         $(QUIET)$(TOOL_GXX4MACHO_OBJCXX) -c\
     307TOOL_GXX42MACHO_COMPILE_OBJCXX_OUTPUT =
     308define TOOL_GXX42MACHO_COMPILE_OBJCXX_CMDS
     309        $(QUIET)$(TOOL_GXX42MACHO_OBJCXX) -c\
    310310                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    311311                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    330330# @param    $(objsuff)  Object suffix.
    331331#
    332 TOOL_GXX4MACHO_COMPILE_AS_OUTPUT =
    333 TOOL_GXX4MACHO_COMPILE_AS_DEPEND =
    334 TOOL_GXX4MACHO_COMPILE_AS_DEPORD =
    335 define TOOL_GXX4MACHO_COMPILE_AS_CMDS
    336         $(QUIET)$(TOOL_GXX4MACHO_AS) -c\
     332TOOL_GXX42MACHO_COMPILE_AS_OUTPUT =
     333TOOL_GXX42MACHO_COMPILE_AS_DEPEND =
     334TOOL_GXX42MACHO_COMPILE_AS_DEPORD =
     335define TOOL_GXX42MACHO_COMPILE_AS_CMDS
     336        $(QUIET)$(TOOL_GXX42MACHO_AS) -c\
    337337                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    338338                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    352352# @param    $(othersrc) Unhandled sources.
    353353# @param    $(outbase)  Output basename (full). Use this for list files and such.
    354 TOOL_GXX4MACHO_LINK_LIBRARY_OUTPUT =
    355 TOOL_GXX4MACHO_LINK_LIBRARY_DEPEND = $(othersrc)
    356 TOOL_GXX4MACHO_LINK_LIBRARY_DEPORD =
    357 define TOOL_GXX4MACHO_LINK_LIBRARY_CMDS
    358         $(if $(strip $(objs)),$(call xargs,$(QUIET)$(TOOL_GXX4MACHO_AR) $(flags) $(out),$(objs)))
     354TOOL_GXX42MACHO_LINK_LIBRARY_OUTPUT =
     355TOOL_GXX42MACHO_LINK_LIBRARY_DEPEND = $(othersrc)
     356TOOL_GXX42MACHO_LINK_LIBRARY_DEPORD =
     357define TOOL_GXX42MACHO_LINK_LIBRARY_CMDS
     358        $(if $(strip $(objs)),$(call xargs,$(QUIET)$(TOOL_GXX42MACHO_AR) $(flags) $(out),$(objs)))
    359359        $(foreach lib,$(othersrc)\
    360360                ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \
     
    362362                $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \
    363363                $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \
    364                         && $(TOOL_GXX4MACHO_AR) -x $(abspath $(lib)) \
     364                        && $(TOOL_GXX42MACHO_AR) -x $(abspath $(lib)) \
    365365                    && $(RM_EXT) -f ./__.SYMDEF* \
    366                         && $(TOOL_GXX4MACHO_AR) $(flags) $(out) *) \
     366                        && $(TOOL_GXX42MACHO_AR) $(flags) $(out) *) \
    367367                $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \
    368368                $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/)
     
    383383# @param    $(custom_post)  Custom step invoked after linking.
    384384# @param    $(outbase)  Output basename (full). Use this for list files and such.
    385 TOOL_GXX4MACHO_LINK_PROGRAM_OUTPUT = $(outbase).rsp
    386 TOOL_GXX4MACHO_LINK_PROGRAM_OUTPUT_DEBUG = $(call TOOL_GXX4MACHO_DEBUG_BUNDLE_FN,$(out))
    387 TOOL_GXX4MACHO_LINK_PROGRAM_DEBUG_INSTALL_FN = $(TOOL_GXX4MACHO_DEBUG_INSTALL_FN)
    388 TOOL_GXX4MACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    389 TOOL_GXX4MACHO_LINK_PROGRAM_DEPORD =
    390 define TOOL_GXX4MACHO_LINK_PROGRAM_CMDS
     385TOOL_GXX42MACHO_LINK_PROGRAM_OUTPUT = $(outbase).rsp
     386TOOL_GXX42MACHO_LINK_PROGRAM_OUTPUT_DEBUG = $(call TOOL_GXX42MACHO_DEBUG_BUNDLE_FN,$(out))
     387TOOL_GXX42MACHO_LINK_PROGRAM_DEBUG_INSTALL_FN = $(TOOL_GXX42MACHO_DEBUG_INSTALL_FN)
     388TOOL_GXX42MACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     389TOOL_GXX42MACHO_LINK_PROGRAM_DEPORD =
     390define TOOL_GXX42MACHO_LINK_PROGRAM_CMDS
    391391        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    392         $(QUIET)$(TOOL_GXX4MACHO_LD) $(flags) -o $(out)\
     392        $(QUIET)$(TOOL_GXX42MACHO_LD) $(flags) -o $(out)\
    393393                -filelist $(outbase).rsp\
    394394                $(foreach p,$(libpath), -L$(p))\
    395395                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))
    396396 ifeq ($(ld_debug),split)
    397         $(QUIET)$(TOOL_GXX4MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
    398         $(QUIET)$(TOOL_GXX4MACHO_STRIP_PROGRAM) $(out)
     397        $(QUIET)$(TOOL_GXX42MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
     398        $(QUIET)$(TOOL_GXX42MACHO_STRIP_PROGRAM) $(out)
    399399 endif
    400400endef
     
    414414# @param    $(custom_post)  Custom step invoked after linking.
    415415# @param    $(outbase)  Output basename (full). Use this for list files and such.
    416 TOOL_GXX4MACHO_LINK_DLL_OUTPUT = $(outbase).rsp
    417 TOOL_GXX4MACHO_LINK_DLL_OUTPUT_DEBUG = $(call TOOL_GXX4MACHO_DEBUG_BUNDLE_FN,$(out))
    418 TOOL_GXX4MACHO_LINK_DLL_DEBUG_INSTALL_FN = $(TOOL_GXX4MACHO_DEBUG_INSTALL_FN)
    419 TOOL_GXX4MACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    420 TOOL_GXX4MACHO_LINK_DLL_DEPORD =
    421 define TOOL_GXX4MACHO_LINK_DLL_CMDS
     416TOOL_GXX42MACHO_LINK_DLL_OUTPUT = $(outbase).rsp
     417TOOL_GXX42MACHO_LINK_DLL_OUTPUT_DEBUG = $(call TOOL_GXX42MACHO_DEBUG_BUNDLE_FN,$(out))
     418TOOL_GXX42MACHO_LINK_DLL_DEBUG_INSTALL_FN = $(TOOL_GXX42MACHO_DEBUG_INSTALL_FN)
     419TOOL_GXX42MACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     420TOOL_GXX42MACHO_LINK_DLL_DEPORD =
     421define TOOL_GXX42MACHO_LINK_DLL_CMDS
    422422        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    423         $(QUIET)$(TOOL_GXX4MACHO_LD) $(TOOL_GXX4MACHO_LDFLAGS.dll) $(flags) -o $(out)\
    424                 $(call TOOL_GXX4MACHO_LD_SONAME,$(target),$(out))\
     423        $(QUIET)$(TOOL_GXX42MACHO_LD) $(TOOL_GXX42MACHO_LDFLAGS.dll) $(flags) -o $(out)\
     424                $(call TOOL_GXX42MACHO_LD_SONAME,$(target),$(out))\
    425425                -filelist $(outbase).rsp\
    426426                $(foreach p,$(libpath), -L$(p))\
    427427                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))
    428428 ifeq ($(ld_debug),split)
    429         $(QUIET)$(TOOL_GXX4MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
    430         $(QUIET)$(TOOL_GXX4MACHO_STRIP_DLL) $(out)
     429        $(QUIET)$(TOOL_GXX42MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
     430        $(QUIET)$(TOOL_GXX42MACHO_STRIP_DLL) $(out)
    431431 endif
    432432endef
     
    446446# @param    $(custom_post)  Custom step invoked after linking.
    447447# @param    $(outbase)  Output basename (full). Use this for list files and such.
    448 TOOL_GXX4MACHO_LINK_SYSMOD_OUTPUT = $(outbase).rsp
    449 TOOL_GXX4MACHO_LINK_SYSMOD_OUTPUT_DEBUG = $(call TOOL_GXX4MACHO_DEBUG_BUNDLE_FN,$(out))
    450 TOOL_GXX4MACHO_LINK_SYSMOD_DEBUG_INSTALL_FN = $(TOOL_GXX4MACHO_DEBUG_INSTALL_FN)
    451 TOOL_GXX4MACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    452 TOOL_GXX4MACHO_LINK_SYSMOD_DEPORD =
    453 define TOOL_GXX4MACHO_LINK_SYSMOD_CMDS
     448TOOL_GXX42MACHO_LINK_SYSMOD_OUTPUT = $(outbase).rsp
     449TOOL_GXX42MACHO_LINK_SYSMOD_OUTPUT_DEBUG = $(call TOOL_GXX42MACHO_DEBUG_BUNDLE_FN,$(out))
     450TOOL_GXX42MACHO_LINK_SYSMOD_DEBUG_INSTALL_FN = $(TOOL_GXX42MACHO_DEBUG_INSTALL_FN)
     451TOOL_GXX42MACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     452TOOL_GXX42MACHO_LINK_SYSMOD_DEPORD =
     453define TOOL_GXX42MACHO_LINK_SYSMOD_CMDS
    454454        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    455         $(QUIET)$(TOOL_GXX4MACHO_LD_SYSMOD) $(TOOL_GXX4MACHO_LDFLAGS.sysmod) $(flags) -o $(out)\
     455        $(QUIET)$(TOOL_GXX42MACHO_LD_SYSMOD) $(TOOL_GXX42MACHO_LDFLAGS.sysmod) $(flags) -o $(out)\
    456456                -filelist $(outbase).rsp\
    457457                $(foreach p,$(libpath), -L$(p))\
    458458                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))
    459459 ifeq ($(ld_debug),split)
    460         $(QUIET)$(TOOL_GXX4MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
    461         $(QUIET)$(TOOL_GXX4MACHO_STRIP_SYSMOD) $(out)
     460        $(QUIET)$(TOOL_GXX42MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
     461        $(QUIET)$(TOOL_GXX42MACHO_STRIP_SYSMOD) $(out)
    462462 endif
    463463endef
  • trunk/kBuild/tools/GXX4MACHO.kmk

    r2535 r2547  
    11# $Id$
    22## @file
    3 # kBuild Tool Config - GCC v4 targeting Darwin (Mac OS X) Mach-o, for building C++ code.
     3# kBuild Tool Config - GCC v4 targeting Darwin (Mac OS X) Mach-O, for building C++ code.
    44#
    55
     
    3232#
    3333
    34 TOOL_GXX4MACHO := GCC v4 targeting Darwin (Mac OS X) Mach-o, for building C++ code.
     34TOOL_GXX4MACHO := GCC v4 targeting Darwin (Mac OS X) Mach-O, for building C++ code.
    3535
    3636# Tool Specific Properties
  • trunk/kBuild/tools/LLVMGCC42MACHO.kmk

    r2546 r2547  
    11# $Id$
    22## @file
    3 # kBuild Tool Config - GCC v4 targeting Darwin (Mac OS X) Mach-o.
    4 #
    5 
    6 #
    7 # Copyright (c) 2004-2010 knut st. osmundsen <[email protected]>
     3# kBuild Tool Config - LLVM GCC v4.2.x targeting Darwin (Mac OS X) Mach-O.
     4#
     5
     6#
     7# Copyright (c) 2004-2011 knut st. osmundsen <[email protected]>
    88#
    99# This file is part of kBuild.
     
    3232#
    3333
    34 TOOL_GCC4MACHO := GCC v4 targeting Darwin (Mac OS X) Mach-o.
     34TOOL_LLVMGCC42MACHO := LLVM GCC v4.2.x targeting Darwin (Mac OS X) Mach-O.
    3535
    3636# Tool Specific Properties
    37 TOOL_GCC4MACHO_PREFIX    ?=
    38 TOOL_GCC4MACHO_SUFFIX    ?= $(HOSTSUFF_EXE)
    39 TOOL_GCC4MACHO_CC        ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
    40 TOOL_GCC4MACHO_CXX       ?= $(TOOL_GCC4MACHO_PREFIX)g++$(TOOL_GCC4MACHO_SUFFIX)
    41 TOOL_GCC4MACHO_OBJC      ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
    42 TOOL_GCC4MACHO_OBJCXX    ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
    43 TOOL_GCC4MACHO_AS        ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
    44 TOOL_GCC4MACHO_LD        ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
    45 TOOL_GCC4MACHO_LD_SYSMOD ?= $(TOOL_GCC4MACHO_PREFIX)gcc$(TOOL_GCC4MACHO_SUFFIX)
    46 ifndef TOOL_GCC4MACHO_LDFLAGS.$(KBUILD_TARGET)
    47 TOOL_GCC4MACHO_LDFLAGS.dll ?= -dynamiclib
     37TOOL_LLVMGCC42MACHO_PREFIX    ?= llvm-
     38TOOL_LLVMGCC42MACHO_SUFFIX    ?= -4.2$(HOSTSUFF_EXE)
     39TOOL_LLVMGCC42MACHO_CC        ?= $(TOOL_LLVMGCC42MACHO_PREFIX)gcc$(TOOL_LLVMGCC42MACHO_SUFFIX)
     40TOOL_LLVMGCC42MACHO_CXX       ?= $(TOOL_LLVMGCC42MACHO_PREFIX)g++$(TOOL_LLVMGCC42MACHO_SUFFIX)
     41TOOL_LLVMGCC42MACHO_OBJC      ?= $(TOOL_LLVMGCC42MACHO_PREFIX)gcc$(TOOL_LLVMGCC42MACHO_SUFFIX)
     42TOOL_LLVMGCC42MACHO_OBJCXX    ?= $(TOOL_LLVMGCC42MACHO_PREFIX)gcc$(TOOL_LLVMGCC42MACHO_SUFFIX)
     43TOOL_LLVMGCC42MACHO_AS        ?= $(TOOL_LLVMGCC42MACHO_PREFIX)gcc$(TOOL_LLVMGCC42MACHO_SUFFIX)
     44TOOL_LLVMGCC42MACHO_LD        ?= $(TOOL_LLVMGCC42MACHO_PREFIX)gcc$(TOOL_LLVMGCC42MACHO_SUFFIX)
     45TOOL_LLVMGCC42MACHO_LD_SYSMOD ?= $(TOOL_LLVMGCC42MACHO_PREFIX)gcc$(TOOL_LLVMGCC42MACHO_SUFFIX)
     46ifndef TOOL_LLVMGCC42MACHO_LDFLAGS.$(KBUILD_TARGET)
     47TOOL_LLVMGCC42MACHO_LDFLAGS.dll ?= -dynamiclib
    4848else
    49 TOOL_GCC4MACHO_LDFLAGS.dll ?= $(TOOL_GCC4MACHO_LDFLAGS.$(KBUILD_TARGET))
     49TOOL_LLVMGCC42MACHO_LDFLAGS.dll ?= $(TOOL_LLVMGCC42MACHO_LDFLAGS.$(KBUILD_TARGET))
    5050endif
    51 TOOL_GCC4MACHO_LDFLAGS.sysmod ?= -r
    52 #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)))
    53 TOOL_GCC4MACHO_DSYMUTIL  ?= dsymutil
     51TOOL_LLVMGCC42MACHO_LDFLAGS.sysmod ?= -r
     52#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)))
     53TOOL_LLVMGCC42MACHO_DSYMUTIL  ?= dsymutil
    5454
    5555ifdef SLKRUNS
    56 TOOL_GCC4MACHO_CC        += -fmessage-length=0
    57 TOOL_GCC4MACHO_CXX       += -fmessage-length=0
    58 TOOL_GCC4MACHO_OBJC      += -fmessage-length=0
    59 TOOL_GCC4MACHO_OBJCXX    += -fmessage-length=0
     56TOOL_LLVMGCC42MACHO_CC        += -fmessage-length=0
     57TOOL_LLVMGCC42MACHO_CXX       += -fmessage-length=0
     58TOOL_LLVMGCC42MACHO_OBJC      += -fmessage-length=0
     59TOOL_LLVMGCC42MACHO_OBJCXX    += -fmessage-length=0
    6060endif
    6161
    6262# General Properties used by kBuild
    63 TOOL_GCC4MACHO_COBJSUFF         ?= .o
    64 TOOL_GCC4MACHO_CFLAGS           ?=
    65 TOOL_GCC4MACHO_CFLAGS.debug     ?= -g
    66 TOOL_GCC4MACHO_CFLAGS.profile   ?= -g -O2 #-pg
    67 TOOL_GCC4MACHO_CFLAGS.release   ?= -O2
    68 TOOL_GCC4MACHO_CINCS            ?=
    69 TOOL_GCC4MACHO_CDEFS            ?=
    70 
    71 TOOL_GCC4MACHO_CXXOBJSUFF       ?= .o
    72 TOOL_GCC4MACHO_CXXFLAGS         ?=
    73 TOOL_GCC4MACHO_CXXFLAGS.debug   ?= -g
    74 TOOL_GCC4MACHO_CXXFLAGS.profile ?= -g -O2 #-pg
    75 TOOL_GCC4MACHO_CXXFLAGS.release ?= -O2
    76 TOOL_GCC4MACHO_CXXINCS          ?=
    77 TOOL_GCC4MACHO_CXXDEFS          ?=
    78 
    79 TOOL_GCC4MACHO_OBJCOBJSUFF      ?= .o
    80 TOOL_GCC4MACHO_OBJCFLAGS        ?=
    81 TOOL_GCC4MACHO_OBJCFLAGS.debug  ?= -g
    82 TOOL_GCC4MACHO_OBJCFLAGS.profile?= -O2 #-g -pg
    83 TOOL_GCC4MACHO_OBJCFLAGS.release?= -O2
    84 TOOL_GCC4MACHO_OBJCINCS         ?=
    85 TOOL_GCC4MACHO_OBJCDEFS         ?=
    86 
    87 TOOL_GCC4MACHO_OBJCXXOBJSUFF        ?= .o
    88 TOOL_GCC4MACHO_OBJCXXFLAGS          ?=
    89 TOOL_GCC4MACHO_OBJCXXFLAGS.debug    ?= -g
    90 TOOL_GCC4MACHO_OBJCXXFLAGS.profile  ?= -O2 #-g -pg
    91 TOOL_GCC4MACHO_OBJCXXFLAGS.release  ?= -O2
    92 TOOL_GCC4MACHO_OBJCXXINCS           ?=
    93 TOOL_GCC4MACHO_OBJCXXDEFS           ?=
    94 
    95 TOOL_GCC4MACHO_ASFLAGS          ?= -x assembler-with-cpp
    96 TOOL_GCC4MACHO_ASFLAGS.debug    ?= -g
    97 TOOL_GCC4MACHO_ASFLAGS.profile  ?= -g
    98 TOOL_GCC4MACHO_ASOBJSUFF        ?= .o
    99 
    100 TOOL_GCC4MACHO_AR               ?= ar$(HOSTSUFF_EXE)
    101 TOOL_GCC4MACHO_ARFLAGS          ?= -c -rs
    102 TOOL_GCC4MACHO_ARLIBSUFF        ?= .a
    103 
    104 TOOL_GCC4MACHO_LDFLAGS          ?=
    105 TOOL_GCC4MACHO_LDFLAGS.debug    ?= -g
    106 TOOL_GCC4MACHO_LDFLAGS.profile  ?= -g
    107 
    108 TOOL_GCC4MACHO_STRIP_PROGRAM    ?= strip -SXxru
    109 TOOL_GCC4MACHO_STRIP_DLL        ?= strip -Sxru
    110 TOOL_GCC4MACHO_STRIP_SYSMOD     ?= strip -Sru
     63TOOL_LLVMGCC42MACHO_COBJSUFF         ?= .o
     64TOOL_LLVMGCC42MACHO_CFLAGS           ?=
     65TOOL_LLVMGCC42MACHO_CFLAGS.debug     ?= -g
     66TOOL_LLVMGCC42MACHO_CFLAGS.profile   ?= -g -O2 #-pg
     67TOOL_LLVMGCC42MACHO_CFLAGS.release   ?= -O2
     68TOOL_LLVMGCC42MACHO_CINCS            ?=
     69TOOL_LLVMGCC42MACHO_CDEFS            ?=
     70
     71TOOL_LLVMGCC42MACHO_CXXOBJSUFF       ?= .o
     72TOOL_LLVMGCC42MACHO_CXXFLAGS         ?=
     73TOOL_LLVMGCC42MACHO_CXXFLAGS.debug   ?= -g
     74TOOL_LLVMGCC42MACHO_CXXFLAGS.profile ?= -g -O2 #-pg
     75TOOL_LLVMGCC42MACHO_CXXFLAGS.release ?= -O2
     76TOOL_LLVMGCC42MACHO_CXXINCS          ?=
     77TOOL_LLVMGCC42MACHO_CXXDEFS          ?=
     78
     79TOOL_LLVMGCC42MACHO_OBJCOBJSUFF      ?= .o
     80TOOL_LLVMGCC42MACHO_OBJCFLAGS        ?=
     81TOOL_LLVMGCC42MACHO_OBJCFLAGS.debug  ?= -g
     82TOOL_LLVMGCC42MACHO_OBJCFLAGS.profile?= -O2 #-g -pg
     83TOOL_LLVMGCC42MACHO_OBJCFLAGS.release?= -O2
     84TOOL_LLVMGCC42MACHO_OBJCINCS         ?=
     85TOOL_LLVMGCC42MACHO_OBJCDEFS         ?=
     86
     87TOOL_LLVMGCC42MACHO_OBJCXXOBJSUFF        ?= .o
     88TOOL_LLVMGCC42MACHO_OBJCXXFLAGS          ?=
     89TOOL_LLVMGCC42MACHO_OBJCXXFLAGS.debug    ?= -g
     90TOOL_LLVMGCC42MACHO_OBJCXXFLAGS.profile  ?= -O2 #-g -pg
     91TOOL_LLVMGCC42MACHO_OBJCXXFLAGS.release  ?= -O2
     92TOOL_LLVMGCC42MACHO_OBJCXXINCS           ?=
     93TOOL_LLVMGCC42MACHO_OBJCXXDEFS           ?=
     94
     95TOOL_LLVMGCC42MACHO_ASFLAGS          ?= -x assembler-with-cpp
     96TOOL_LLVMGCC42MACHO_ASFLAGS.debug    ?= -g
     97TOOL_LLVMGCC42MACHO_ASFLAGS.profile  ?= -g
     98TOOL_LLVMGCC42MACHO_ASOBJSUFF        ?= .o
     99
     100TOOL_LLVMGCC42MACHO_AR               ?= ar$(HOSTSUFF_EXE)
     101TOOL_LLVMGCC42MACHO_ARFLAGS          ?= -c -rs
     102TOOL_LLVMGCC42MACHO_ARLIBSUFF        ?= .a
     103
     104TOOL_LLVMGCC42MACHO_LDFLAGS          ?=
     105TOOL_LLVMGCC42MACHO_LDFLAGS.debug    ?= -g
     106TOOL_LLVMGCC42MACHO_LDFLAGS.profile  ?= -g
     107
     108TOOL_LLVMGCC42MACHO_STRIP_PROGRAM    ?= strip -SXxru
     109TOOL_LLVMGCC42MACHO_STRIP_DLL        ?= strip -Sxru
     110TOOL_LLVMGCC42MACHO_STRIP_SYSMOD     ?= strip -Sru
    111111
    112112
     
    115115# @param    1           The whole output filename.
    116116# @param    2           The output filename sans suffix.
    117 TOOL_GCC4MACHO_DEBUG_BUNDLE_FN = \
     117TOOL_LLVMGCC42MACHO_DEBUG_BUNDLE_FN = \
    118118    $(1).dSYM/ \
    119119    $(1).dSYM/Contents/ \
     
    131131#           does not care and only check for a symbol file in the DWARF
    132132#           directory with the same name as the debugged module.
    133 TOOL_GCC4MACHO_DEBUG_INSTALL_FN= \
     133TOOL_LLVMGCC42MACHO_DEBUG_INSTALL_FN= \
    134134    $(3).dSYM/ \
    135135    $(3).dSYM/Contents/ \
     
    153153# @param    $(outbase)  Output basename (full). Use this for list files and such.
    154154# @param    $(objsuff)  Object suffix.
    155 TOOL_GCC4MACHO_COMPILE_C_DEPEND =
    156 TOOL_GCC4MACHO_COMPILE_C_DEPORD =
     155TOOL_LLVMGCC42MACHO_COMPILE_C_DEPEND =
     156TOOL_LLVMGCC42MACHO_COMPILE_C_DEPORD =
    157157ifdef KBUILD_USE_KOBJCACHE
    158 TOOL_GCC4MACHO_COMPILE_C_USES_KOBJCACHE = 1
    159 TOOL_GCC4MACHO_COMPILE_C_OUTPUT = $(outbase).i
    160 define TOOL_GCC4MACHO_COMPILE_C_CMDS
     158TOOL_LLVMGCC42MACHO_COMPILE_C_USES_KOBJCACHE = 1
     159TOOL_LLVMGCC42MACHO_COMPILE_C_OUTPUT = $(outbase).i
     160define TOOL_LLVMGCC42MACHO_COMPILE_C_CMDS
    161161        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    162162                --kObjCache-cpp $(outbase).i\
    163                 $(TOOL_GCC4MACHO_CC) -E -o -\
     163                $(TOOL_LLVMGCC42MACHO_CC) -E -o -\
    164164                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    165165                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    166166                $(abspath $(source))\
    167167                --kObjCache-cc $(obj)\
    168                 $(TOOL_GCC4MACHO_CC) -c\
     168                $(TOOL_LLVMGCC42MACHO_CC) -c\
    169169                $(flags) -fpreprocessed -x c\
    170170                -o $(obj)\
     
    173173endef
    174174else  # !KBUILD_USE_KOBJCACHE
    175 TOOL_GCC4MACHO_COMPILE_C_OUTPUT =
    176 define TOOL_GCC4MACHO_COMPILE_C_CMDS
    177         $(QUIET)$(TOOL_GCC4MACHO_CC) -c\
     175TOOL_LLVMGCC42MACHO_COMPILE_C_OUTPUT =
     176define TOOL_LLVMGCC42MACHO_COMPILE_C_CMDS
     177        $(QUIET)$(TOOL_LLVMGCC42MACHO_CC) -c\
    178178                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    179179                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    197197# @param    $(outbase)  Output basename (full). Use this for list files and such.
    198198# @param    $(objsuff)  Object suffix.
    199 TOOL_GCC4MACHO_COMPILE_CXX_DEPEND =
    200 TOOL_GCC4MACHO_COMPILE_CXX_DEPORD =
     199TOOL_LLVMGCC42MACHO_COMPILE_CXX_DEPEND =
     200TOOL_LLVMGCC42MACHO_COMPILE_CXX_DEPORD =
    201201ifdef KBUILD_USE_KOBJCACHE
    202 TOOL_GCC4MACHO_COMPILE_CXX_USES_KOBJCACHE = 1
    203 TOOL_GCC4MACHO_COMPILE_CXX_OUTPUT = $(outbase).ii
    204 define TOOL_GCC4MACHO_COMPILE_CXX_CMDS
     202TOOL_LLVMGCC42MACHO_COMPILE_CXX_USES_KOBJCACHE = 1
     203TOOL_LLVMGCC42MACHO_COMPILE_CXX_OUTPUT = $(outbase).ii
     204define TOOL_LLVMGCC42MACHO_COMPILE_CXX_CMDS
    205205        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    206206                --kObjCache-cpp $(outbase).ii\
    207                 $(TOOL_GCC4MACHO_CXX) -E -o -\
     207                $(TOOL_LLVMGCC42MACHO_CXX) -E -o -\
    208208                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    209209                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    210210                $(abspath $(source))\
    211211                --kObjCache-cc $(obj)\
    212                 $(TOOL_GCC4MACHO_CXX) -c\
     212                $(TOOL_LLVMGCC42MACHO_CXX) -c\
    213213                $(flags) -fpreprocessed -x c++\
    214214                -o $(obj)\
     
    217217endef
    218218else  # !KBUILD_USE_KOBJCACHE
    219 TOOL_GCC4MACHO_COMPILE_CXX_OUTPUT =
    220 define TOOL_GCC4MACHO_COMPILE_CXX_CMDS
    221         $(QUIET)$(TOOL_GCC4MACHO_CXX) -c\
     219TOOL_LLVMGCC42MACHO_COMPILE_CXX_OUTPUT =
     220define TOOL_LLVMGCC42MACHO_COMPILE_CXX_CMDS
     221        $(QUIET)$(TOOL_LLVMGCC42MACHO_CXX) -c\
    222222                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    223223                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    241241# @param    $(outbase)  Output basename (full). Use this for list files and such.
    242242# @param    $(objsuff)  Object suffix.
    243 TOOL_GCC4MACHO_COMPILE_OBJC_DEPEND =
    244 TOOL_GCC4MACHO_COMPILE_OBJC_DEPORD =
     243TOOL_LLVMGCC42MACHO_COMPILE_OBJC_DEPEND =
     244TOOL_LLVMGCC42MACHO_COMPILE_OBJC_DEPORD =
    245245ifdef KBUILD_USE_KOBJCACHE
    246 TOOL_GCC4MACHO_COMPILE_OBJC_USES_KOBJCACHE = 1
    247 TOOL_GCC4MACHO_COMPILE_OBJC_OUTPUT = $(outbase).mi
    248 define TOOL_GCC4MACHO_COMPILE_OBJC_CMDS
     246TOOL_LLVMGCC42MACHO_COMPILE_OBJC_USES_KOBJCACHE = 1
     247TOOL_LLVMGCC42MACHO_COMPILE_OBJC_OUTPUT = $(outbase).mi
     248define TOOL_LLVMGCC42MACHO_COMPILE_OBJC_CMDS
    249249        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    250250                --kObjCache-cpp $(outbase).ii\
    251                 $(TOOL_GCC4MACHO_OBJC) -E -o -\
     251                $(TOOL_LLVMGCC42MACHO_OBJC) -E -o -\
    252252                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    253253                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    254254                $(abspath $(source))\
    255255                --kObjCache-cc $(obj)\
    256                 $(TOOL_GCC4MACHO_OBJC) -c\
     256                $(TOOL_LLVMGCC42MACHO_OBJC) -c\
    257257                $(flags) -fpreprocessed -x cbjective-c\
    258258                -o $(obj)\
     
    261261endef
    262262else  # !KBUILD_USE_KOBJCACHE
    263 TOOL_GCC4MACHO_COMPILE_OBJC_OUTPUT =
    264 define TOOL_GCC4MACHO_COMPILE_OBJC_CMDS
    265         $(QUIET)$(TOOL_GCC4MACHO_OBJC) -c\
     263TOOL_LLVMGCC42MACHO_COMPILE_OBJC_OUTPUT =
     264define TOOL_LLVMGCC42MACHO_COMPILE_OBJC_CMDS
     265        $(QUIET)$(TOOL_LLVMGCC42MACHO_OBJC) -c\
    266266                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    267267                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    285285# @param    $(outbase)  Output basename (full). Use this for list files and such.
    286286# @param    $(objsuff)  Object suffix.
    287 TOOL_GCC4MACHO_COMPILE_OBJCXX_DEPEND =
    288 TOOL_GCC4MACHO_COMPILE_OBJCXX_DEPORD =
     287TOOL_LLVMGCC42MACHO_COMPILE_OBJCXX_DEPEND =
     288TOOL_LLVMGCC42MACHO_COMPILE_OBJCXX_DEPORD =
    289289ifdef KBUILD_USE_KOBJCACHE
    290 TOOL_GCC4MACHO_COMPILE_OBJCXX_USES_KOBJCACHE = 1
    291 TOOL_GCC4MACHO_COMPILE_OBJCXX_OUTPUT = $(outbase).mii
    292 define TOOL_GCC4MACHO_COMPILE_OBJCXX_CMDS
     290TOOL_LLVMGCC42MACHO_COMPILE_OBJCXX_USES_KOBJCACHE = 1
     291TOOL_LLVMGCC42MACHO_COMPILE_OBJCXX_OUTPUT = $(outbase).mii
     292define TOOL_LLVMGCC42MACHO_COMPILE_OBJCXX_CMDS
    293293        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    294294                --kObjCache-cpp $(outbase).mii\
    295                 $(TOOL_GCC4MACHO_OBJCXX) -E -o -\
     295                $(TOOL_LLVMGCC42MACHO_OBJCXX) -E -o -\
    296296                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    297297                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    298298                $(abspath $(source))\
    299299                --kObjCache-cc $(obj)\
    300                 $(TOOL_GCC4MACHO_OBJCXX) -c\
     300                $(TOOL_LLVMGCC42MACHO_OBJCXX) -c\
    301301                $(flags) -fpreprocessed -x objective-c++\
    302302                -o $(obj)\
     
    305305endef
    306306else  # !KBUILD_USE_KOBJCACHE
    307 TOOL_GCC4MACHO_COMPILE_OBJCXX_OUTPUT =
    308 define TOOL_GCC4MACHO_COMPILE_OBJCXX_CMDS
    309         $(QUIET)$(TOOL_GCC4MACHO_OBJCXX) -c\
     307TOOL_LLVMGCC42MACHO_COMPILE_OBJCXX_OUTPUT =
     308define TOOL_LLVMGCC42MACHO_COMPILE_OBJCXX_CMDS
     309        $(QUIET)$(TOOL_LLVMGCC42MACHO_OBJCXX) -c\
    310310                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    311311                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    330330# @param    $(objsuff)  Object suffix.
    331331#
    332 TOOL_GCC4MACHO_COMPILE_AS_OUTPUT =
    333 TOOL_GCC4MACHO_COMPILE_AS_DEPEND =
    334 TOOL_GCC4MACHO_COMPILE_AS_DEPORD =
    335 define TOOL_GCC4MACHO_COMPILE_AS_CMDS
    336         $(QUIET)$(TOOL_GCC4MACHO_AS) -c\
     332TOOL_LLVMGCC42MACHO_COMPILE_AS_OUTPUT =
     333TOOL_LLVMGCC42MACHO_COMPILE_AS_DEPEND =
     334TOOL_LLVMGCC42MACHO_COMPILE_AS_DEPORD =
     335define TOOL_LLVMGCC42MACHO_COMPILE_AS_CMDS
     336        $(QUIET)$(TOOL_LLVMGCC42MACHO_AS) -c\
    337337                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    338338                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    352352# @param    $(othersrc) Unhandled sources.
    353353# @param    $(outbase)  Output basename (full). Use this for list files and such.
    354 TOOL_GCC4MACHO_LINK_LIBRARY_OUTPUT =
    355 TOOL_GCC4MACHO_LINK_LIBRARY_DEPEND = $(othersrc)
    356 TOOL_GCC4MACHO_LINK_LIBRARY_DEPORD =
    357 define TOOL_GCC4MACHO_LINK_LIBRARY_CMDS
    358         $(if $(strip $(objs)),$(call xargs,$(QUIET)$(TOOL_GCC4MACHO_AR) $(flags) $(out),$(objs)))
     354TOOL_LLVMGCC42MACHO_LINK_LIBRARY_OUTPUT =
     355TOOL_LLVMGCC42MACHO_LINK_LIBRARY_DEPEND = $(othersrc)
     356TOOL_LLVMGCC42MACHO_LINK_LIBRARY_DEPORD =
     357define TOOL_LLVMGCC42MACHO_LINK_LIBRARY_CMDS
     358        $(if $(strip $(objs)),$(call xargs,$(QUIET)$(TOOL_LLVMGCC42MACHO_AR) $(flags) $(out),$(objs)))
    359359        $(foreach lib,$(othersrc)\
    360360                ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \
     
    362362                $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \
    363363                $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \
    364                         && $(TOOL_GCC4MACHO_AR) -x $(abspath $(lib)) \
     364                        && $(TOOL_LLVMGCC42MACHO_AR) -x $(abspath $(lib)) \
    365365                    && $(RM_EXT) -f ./__.SYMDEF* \
    366                         && $(TOOL_GCC4MACHO_AR) $(flags) $(out) *) \
     366                        && $(TOOL_LLVMGCC42MACHO_AR) $(flags) $(out) *) \
    367367                $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \
    368368                $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/)
     
    383383# @param    $(custom_post)  Custom step invoked after linking.
    384384# @param    $(outbase)  Output basename (full). Use this for list files and such.
    385 TOOL_GCC4MACHO_LINK_PROGRAM_OUTPUT = $(outbase).rsp
    386 TOOL_GCC4MACHO_LINK_PROGRAM_OUTPUT_DEBUG = $(call TOOL_GCC4MACHO_DEBUG_BUNDLE_FN,$(out))
    387 TOOL_GCC4MACHO_LINK_PROGRAM_DEBUG_INSTALL_FN = $(TOOL_GCC4MACHO_DEBUG_INSTALL_FN)
    388 TOOL_GCC4MACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    389 TOOL_GCC4MACHO_LINK_PROGRAM_DEPORD =
    390 define TOOL_GCC4MACHO_LINK_PROGRAM_CMDS
     385TOOL_LLVMGCC42MACHO_LINK_PROGRAM_OUTPUT = $(outbase).rsp
     386TOOL_LLVMGCC42MACHO_LINK_PROGRAM_OUTPUT_DEBUG = $(call TOOL_LLVMGCC42MACHO_DEBUG_BUNDLE_FN,$(out))
     387TOOL_LLVMGCC42MACHO_LINK_PROGRAM_DEBUG_INSTALL_FN = $(TOOL_LLVMGCC42MACHO_DEBUG_INSTALL_FN)
     388TOOL_LLVMGCC42MACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     389TOOL_LLVMGCC42MACHO_LINK_PROGRAM_DEPORD =
     390define TOOL_LLVMGCC42MACHO_LINK_PROGRAM_CMDS
    391391        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    392         $(QUIET)$(TOOL_GCC4MACHO_LD) $(flags) -o $(out)\
     392        $(QUIET)$(TOOL_LLVMGCC42MACHO_LD) $(flags) -o $(out)\
    393393                -filelist $(outbase).rsp\
    394394                $(foreach p,$(libpath), -L$(p))\
    395395                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))
    396396 ifeq ($(ld_debug),split)
    397         $(QUIET)$(TOOL_GCC4MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
    398         $(QUIET)$(TOOL_GCC4MACHO_STRIP_PROGRAM) $(out)
     397        $(QUIET)$(TOOL_LLVMGCC42MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
     398        $(QUIET)$(TOOL_LLVMGCC42MACHO_STRIP_PROGRAM) $(out)
    399399 endif
    400400endef
     
    415415# @param    $(custom_post)  Custom step invoked after linking.
    416416# @param    $(outbase)  Output basename (full). Use this for list files and such.
    417 TOOL_GCC4MACHO_LINK_DLL_OUTPUT = $(outbase).rsp
    418 TOOL_GCC4MACHO_LINK_DLL_OUTPUT_DEBUG = $(call TOOL_GCC4MACHO_DEBUG_BUNDLE_FN,$(out))
    419 TOOL_GCC4MACHO_LINK_DLL_DEBUG_INSTALL_FN = $(TOOL_GCC4MACHO_DEBUG_INSTALL_FN)
    420 TOOL_GCC4MACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    421 TOOL_GCC4MACHO_LINK_DLL_DEPORD =
    422 define TOOL_GCC4MACHO_LINK_DLL_CMDS
     417TOOL_LLVMGCC42MACHO_LINK_DLL_OUTPUT = $(outbase).rsp
     418TOOL_LLVMGCC42MACHO_LINK_DLL_OUTPUT_DEBUG = $(call TOOL_LLVMGCC42MACHO_DEBUG_BUNDLE_FN,$(out))
     419TOOL_LLVMGCC42MACHO_LINK_DLL_DEBUG_INSTALL_FN = $(TOOL_LLVMGCC42MACHO_DEBUG_INSTALL_FN)
     420TOOL_LLVMGCC42MACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     421TOOL_LLVMGCC42MACHO_LINK_DLL_DEPORD =
     422define TOOL_LLVMGCC42MACHO_LINK_DLL_CMDS
    423423        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    424         $(QUIET)$(TOOL_GCC4MACHO_LD) $(TOOL_GCC4MACHO_LDFLAGS.dll) $(flags) -o $(out)\
    425                 $(call TOOL_GCC4MACHO_LD_SONAME,$(target),$(out))\
     424        $(QUIET)$(TOOL_LLVMGCC42MACHO_LD) $(TOOL_LLVMGCC42MACHO_LDFLAGS.dll) $(flags) -o $(out)\
     425                $(call TOOL_LLVMGCC42MACHO_LD_SONAME,$(target),$(out))\
    426426                -filelist $(outbase).rsp\
    427427                $(foreach p,$(libpath), -L$(p))\
    428428                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))
    429429 ifeq ($(ld_debug),split)
    430         $(QUIET)$(TOOL_GCC4MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
    431         $(QUIET)$(TOOL_GCC4MACHO_STRIP_DLL) $(out)
     430        $(QUIET)$(TOOL_LLVMGCC42MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
     431        $(QUIET)$(TOOL_LLVMGCC42MACHO_STRIP_DLL) $(out)
    432432 endif
    433433endef
     
    447447# @param    $(custom_post)  Custom step invoked after linking.
    448448# @param    $(outbase)  Output basename (full). Use this for list files and such.
    449 TOOL_GCC4MACHO_LINK_SYSMOD_OUTPUT = $(outbase).rsp
    450 TOOL_GCC4MACHO_LINK_SYSMOD_OUTPUT_DEBUG = $(call TOOL_GCC4MACHO_DEBUG_BUNDLE_FN,$(out))
    451 TOOL_GCC4MACHO_LINK_SYSMOD_DEBUG_INSTALL_FN = $(TOOL_GCC4MACHO_DEBUG_INSTALL_FN)
    452 TOOL_GCC4MACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    453 TOOL_GCC4MACHO_LINK_SYSMOD_DEPORD =
    454 define TOOL_GCC4MACHO_LINK_SYSMOD_CMDS
     449TOOL_LLVMGCC42MACHO_LINK_SYSMOD_OUTPUT = $(outbase).rsp
     450TOOL_LLVMGCC42MACHO_LINK_SYSMOD_OUTPUT_DEBUG = $(call TOOL_LLVMGCC42MACHO_DEBUG_BUNDLE_FN,$(out))
     451TOOL_LLVMGCC42MACHO_LINK_SYSMOD_DEBUG_INSTALL_FN = $(TOOL_LLVMGCC42MACHO_DEBUG_INSTALL_FN)
     452TOOL_LLVMGCC42MACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     453TOOL_LLVMGCC42MACHO_LINK_SYSMOD_DEPORD =
     454define TOOL_LLVMGCC42MACHO_LINK_SYSMOD_CMDS
    455455        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    456         $(QUIET)$(TOOL_GCC4MACHO_LD_SYSMOD) $(TOOL_GCC4MACHO_LDFLAGS.sysmod) $(flags) -o $(out)\
     456        $(QUIET)$(TOOL_LLVMGCC42MACHO_LD_SYSMOD) $(TOOL_LLVMGCC42MACHO_LDFLAGS.sysmod) $(flags) -o $(out)\
    457457                -filelist $(outbase).rsp\
    458458                $(foreach p,$(libpath), -L$(p))\
    459459                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))
    460460 ifeq ($(ld_debug),split)
    461         $(QUIET)$(TOOL_GCC4MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
    462         $(QUIET)$(TOOL_GCC4MACHO_STRIP_SYSMOD) $(out)
     461        $(QUIET)$(TOOL_LLVMGCC42MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
     462        $(QUIET)$(TOOL_LLVMGCC42MACHO_STRIP_SYSMOD) $(out)
    463463 endif
    464464endef
  • trunk/kBuild/tools/LLVMGXX42MACHO.kmk

    r2546 r2547  
    11# $Id$
    22## @file
    3 # kBuild Tool Config - GCC v4 targeting Darwin (Mac OS X) Mach-o, for building C++ code.
    4 #
    5 
    6 #
    7 # Copyright (c) 2004-2010 knut st. osmundsen <[email protected]>
     3# kBuild Tool Config - LLVM GCC v4.2.x targeting Darwin (Mac OS X) Mach-O, for building C++ code.
     4#
     5
     6#
     7# Copyright (c) 2004-2011 knut st. osmundsen <[email protected]>
    88#
    99# This file is part of kBuild.
     
    3232#
    3333
    34 TOOL_GXX4MACHO := GCC v4 targeting Darwin (Mac OS X) Mach-o, for building C++ code.
     34TOOL_LLVMGXX42MACHO := LLVM GCC v4.2.x targeting Darwin (Mac OS X) Mach-O, for building C++ code.
    3535
    3636# Tool Specific Properties
    37 TOOL_GXX4MACHO_PREFIX    ?=
    38 TOOL_GXX4MACHO_SUFFIX    ?= $(HOSTSUFF_EXE)
    39 TOOL_GXX4MACHO_CC        ?= $(TOOL_GXX4MACHO_PREFIX)gcc$(TOOL_GXX4MACHO_SUFFIX)
    40 TOOL_GXX4MACHO_CXX       ?= $(TOOL_GXX4MACHO_PREFIX)g++$(TOOL_GXX4MACHO_SUFFIX)
    41 TOOL_GXX4MACHO_OBJC      ?= $(TOOL_GXX4MACHO_PREFIX)gcc$(TOOL_GXX4MACHO_SUFFIX)
    42 TOOL_GXX4MACHO_OBJCXX    ?= $(TOOL_GXX4MACHO_PREFIX)gcc$(TOOL_GXX4MACHO_SUFFIX)
    43 TOOL_GXX4MACHO_AS        ?= $(TOOL_GXX4MACHO_PREFIX)gcc$(TOOL_GXX4MACHO_SUFFIX)
    44 TOOL_GXX4MACHO_LD        ?= $(TOOL_GXX4MACHO_PREFIX)g++$(TOOL_GXX4MACHO_SUFFIX)
    45 TOOL_GXX4MACHO_LD_SYSMOD ?= $(TOOL_GXX4MACHO_PREFIX)g++$(TOOL_GXX4MACHO_SUFFIX)
    46 ifndef TOOL_GXX4MACHO_LDFLAGS.$(KBUILD_TARGET)
    47 TOOL_GXX4MACHO_LDFLAGS.dll ?= -dynamiclib
     37TOOL_LLVMGXX42MACHO_PREFIX    ?= llvm-
     38TOOL_LLVMGXX42MACHO_SUFFIX    ?= -4.2$(HOSTSUFF_EXE)
     39TOOL_LLVMGXX42MACHO_CC        ?= $(TOOL_LLVMGXX42MACHO_PREFIX)gcc$(TOOL_LLVMGXX42MACHO_SUFFIX)
     40TOOL_LLVMGXX42MACHO_CXX       ?= $(TOOL_LLVMGXX42MACHO_PREFIX)g++$(TOOL_LLVMGXX42MACHO_SUFFIX)
     41TOOL_LLVMGXX42MACHO_OBJC      ?= $(TOOL_LLVMGXX42MACHO_PREFIX)gcc$(TOOL_LLVMGXX42MACHO_SUFFIX)
     42TOOL_LLVMGXX42MACHO_OBJCXX    ?= $(TOOL_LLVMGXX42MACHO_PREFIX)gcc$(TOOL_LLVMGXX42MACHO_SUFFIX)
     43TOOL_LLVMGXX42MACHO_AS        ?= $(TOOL_LLVMGXX42MACHO_PREFIX)gcc$(TOOL_LLVMGXX42MACHO_SUFFIX)
     44TOOL_LLVMGXX42MACHO_LD        ?= $(TOOL_LLVMGXX42MACHO_PREFIX)g++$(TOOL_LLVMGXX42MACHO_SUFFIX)
     45TOOL_LLVMGXX42MACHO_LD_SYSMOD ?= $(TOOL_LLVMGXX42MACHO_PREFIX)g++$(TOOL_LLVMGXX42MACHO_SUFFIX)
     46ifndef TOOL_LLVMGXX42MACHO_LDFLAGS.$(KBUILD_TARGET)
     47TOOL_LLVMGXX42MACHO_LDFLAGS.dll ?= -dynamiclib
    4848else
    49 TOOL_GXX4MACHO_LDFLAGS.dll ?= $(TOOL_GXX4MACHO_LDFLAGS.$(KBUILD_TARGET))
     49TOOL_LLVMGXX42MACHO_LDFLAGS.dll ?= $(TOOL_LLVMGXX42MACHO_LDFLAGS.$(KBUILD_TARGET))
    5050endif
    51 TOOL_GXX4MACHO_LDFLAGS.sysmod ?= -r
    52 #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)))
    53 TOOL_GXX4MACHO_DSYMUTIL  ?= dsymutil
     51TOOL_LLVMGXX42MACHO_LDFLAGS.sysmod ?= -r
     52#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)))
     53TOOL_LLVMGXX42MACHO_DSYMUTIL  ?= dsymutil
    5454
    5555ifdef SLKRUNS
    56 TOOL_GXX4MACHO_CC     += -fmessage-length=0
    57 TOOL_GXX4MACHO_CXX    += -fmessage-length=0
    58 TOOL_GXX4MACHO_OBJC   += -fmessage-length=0
    59 TOOL_GXX4MACHO_OBJCXX += -fmessage-length=0
     56TOOL_LLVMGXX42MACHO_CC     += -fmessage-length=0
     57TOOL_LLVMGXX42MACHO_CXX    += -fmessage-length=0
     58TOOL_LLVMGXX42MACHO_OBJC   += -fmessage-length=0
     59TOOL_LLVMGXX42MACHO_OBJCXX += -fmessage-length=0
    6060endif
    6161
    6262# General Properties used by kBuild
    63 TOOL_GXX4MACHO_COBJSUFF         ?= .o
    64 TOOL_GXX4MACHO_CFLAGS           ?=
    65 TOOL_GXX4MACHO_CFLAGS.debug     ?= -g
    66 TOOL_GXX4MACHO_CFLAGS.profile   ?= -O2 #-g -pg
    67 TOOL_GXX4MACHO_CFLAGS.release   ?= -O2
    68 TOOL_GXX4MACHO_CINCS            ?=
    69 TOOL_GXX4MACHO_CDEFS            ?=
    70 
    71 TOOL_GXX4MACHO_CXXOBJSUFF       ?= .o
    72 TOOL_GXX4MACHO_CXXFLAGS         ?=
    73 TOOL_GXX4MACHO_CXXFLAGS.debug   ?= -g
    74 TOOL_GXX4MACHO_CXXFLAGS.profile ?= -O2 #-g -pg
    75 TOOL_GXX4MACHO_CXXFLAGS.release ?= -O2
    76 TOOL_GXX4MACHO_CXXINCS          ?=
    77 TOOL_GXX4MACHO_CXXDEFS          ?=
    78 
    79 TOOL_GXX4MACHO_OBJCOBJSUFF      ?= .o
    80 TOOL_GXX4MACHO_OBJCFLAGS        ?=
    81 TOOL_GXX4MACHO_OBJCFLAGS.debug  ?= -g
    82 TOOL_GXX4MACHO_OBJCFLAGS.profile?= -O2 #-g -pg
    83 TOOL_GXX4MACHO_OBJCFLAGS.release?= -O2
    84 TOOL_GXX4MACHO_OBJCINCS         ?=
    85 TOOL_GXX4MACHO_OBJCDEFS         ?=
    86 
    87 TOOL_GXX4MACHO_OBJCXXOBJSUFF        ?= .o
    88 TOOL_GXX4MACHO_OBJCXXFLAGS          ?=
    89 TOOL_GXX4MACHO_OBJCXXFLAGS.debug    ?= -g
    90 TOOL_GXX4MACHO_OBJCXXFLAGS.profile  ?= -O2 #-g -pg
    91 TOOL_GXX4MACHO_OBJCXXFLAGS.release  ?= -O2
    92 TOOL_GXX4MACHO_OBJCXXINCS           ?=
    93 TOOL_GXX4MACHO_OBJCXXDEFS           ?=
    94 
    95 TOOL_GXX4MACHO_ASFLAGS          ?= -x assembler-with-cpp
    96 TOOL_GXX4MACHO_ASFLAGS.debug    ?= -g
    97 TOOL_GXX4MACHO_ASFLAGS.profile  ?= -g
    98 TOOL_GXX4MACHO_ASOBJSUFF        ?= .o
    99 
    100 TOOL_GXX4MACHO_AR               ?= ar$(HOSTSUFF_EXE)
    101 TOOL_GXX4MACHO_ARFLAGS          ?= -c -rs
    102 TOOL_GXX4MACHO_ARLIBSUFF        ?= .a
    103 
    104 TOOL_GXX4MACHO_LDFLAGS          ?=
    105 TOOL_GXX4MACHO_LDFLAGS.debug    ?= -g
    106 TOOL_GXX4MACHO_LDFLAGS.profile  ?= -g
    107 
    108 TOOL_GXX4MACHO_STRIP_PROGRAM    ?= strip -SXxru
    109 TOOL_GXX4MACHO_STRIP_DLL        ?= strip -Sxru
    110 TOOL_GXX4MACHO_STRIP_SYSMOD     ?= strip -Sru
     63TOOL_LLVMGXX42MACHO_COBJSUFF         ?= .o
     64TOOL_LLVMGXX42MACHO_CFLAGS           ?=
     65TOOL_LLVMGXX42MACHO_CFLAGS.debug     ?= -g
     66TOOL_LLVMGXX42MACHO_CFLAGS.profile   ?= -O2 #-g -pg
     67TOOL_LLVMGXX42MACHO_CFLAGS.release   ?= -O2
     68TOOL_LLVMGXX42MACHO_CINCS            ?=
     69TOOL_LLVMGXX42MACHO_CDEFS            ?=
     70
     71TOOL_LLVMGXX42MACHO_CXXOBJSUFF       ?= .o
     72TOOL_LLVMGXX42MACHO_CXXFLAGS         ?=
     73TOOL_LLVMGXX42MACHO_CXXFLAGS.debug   ?= -g
     74TOOL_LLVMGXX42MACHO_CXXFLAGS.profile ?= -O2 #-g -pg
     75TOOL_LLVMGXX42MACHO_CXXFLAGS.release ?= -O2
     76TOOL_LLVMGXX42MACHO_CXXINCS          ?=
     77TOOL_LLVMGXX42MACHO_CXXDEFS          ?=
     78
     79TOOL_LLVMGXX42MACHO_OBJCOBJSUFF      ?= .o
     80TOOL_LLVMGXX42MACHO_OBJCFLAGS        ?=
     81TOOL_LLVMGXX42MACHO_OBJCFLAGS.debug  ?= -g
     82TOOL_LLVMGXX42MACHO_OBJCFLAGS.profile?= -O2 #-g -pg
     83TOOL_LLVMGXX42MACHO_OBJCFLAGS.release?= -O2
     84TOOL_LLVMGXX42MACHO_OBJCINCS         ?=
     85TOOL_LLVMGXX42MACHO_OBJCDEFS         ?=
     86
     87TOOL_LLVMGXX42MACHO_OBJCXXOBJSUFF        ?= .o
     88TOOL_LLVMGXX42MACHO_OBJCXXFLAGS          ?=
     89TOOL_LLVMGXX42MACHO_OBJCXXFLAGS.debug    ?= -g
     90TOOL_LLVMGXX42MACHO_OBJCXXFLAGS.profile  ?= -O2 #-g -pg
     91TOOL_LLVMGXX42MACHO_OBJCXXFLAGS.release  ?= -O2
     92TOOL_LLVMGXX42MACHO_OBJCXXINCS           ?=
     93TOOL_LLVMGXX42MACHO_OBJCXXDEFS           ?=
     94
     95TOOL_LLVMGXX42MACHO_ASFLAGS          ?= -x assembler-with-cpp
     96TOOL_LLVMGXX42MACHO_ASFLAGS.debug    ?= -g
     97TOOL_LLVMGXX42MACHO_ASFLAGS.profile  ?= -g
     98TOOL_LLVMGXX42MACHO_ASOBJSUFF        ?= .o
     99
     100TOOL_LLVMGXX42MACHO_AR               ?= ar$(HOSTSUFF_EXE)
     101TOOL_LLVMGXX42MACHO_ARFLAGS          ?= -c -rs
     102TOOL_LLVMGXX42MACHO_ARLIBSUFF        ?= .a
     103
     104TOOL_LLVMGXX42MACHO_LDFLAGS          ?=
     105TOOL_LLVMGXX42MACHO_LDFLAGS.debug    ?= -g
     106TOOL_LLVMGXX42MACHO_LDFLAGS.profile  ?= -g
     107
     108TOOL_LLVMGXX42MACHO_STRIP_PROGRAM    ?= strip -SXxru
     109TOOL_LLVMGXX42MACHO_STRIP_DLL        ?= strip -Sxru
     110TOOL_LLVMGXX42MACHO_STRIP_SYSMOD     ?= strip -Sru
    111111
    112112
     
    115115# @param    1           The whole output filename.
    116116# @param    2           The output filename sans suffix.
    117 TOOL_GXX4MACHO_DEBUG_BUNDLE_FN = \
     117TOOL_LLVMGXX42MACHO_DEBUG_BUNDLE_FN = \
    118118    $(1).dSYM/ \
    119119    $(1).dSYM/Contents/ \
     
    131131#           does not care and only check for a symbol file in the DWARF
    132132#           directory with the same name as the debugged module.
    133 TOOL_GXX4MACHO_DEBUG_INSTALL_FN= \
     133TOOL_LLVMGXX42MACHO_DEBUG_INSTALL_FN= \
    134134    $(3).dSYM/ \
    135135    $(3).dSYM/Contents/ \
     
    153153# @param    $(outbase)  Output basename (full). Use this for list files and such.
    154154# @param    $(objsuff)  Object suffix.
    155 TOOL_GXX4MACHO_COMPILE_C_DEPEND =
    156 TOOL_GXX4MACHO_COMPILE_C_DEPORD =
     155TOOL_LLVMGXX42MACHO_COMPILE_C_DEPEND =
     156TOOL_LLVMGXX42MACHO_COMPILE_C_DEPORD =
    157157ifdef KBUILD_USE_KOBJCACHE
    158 TOOL_GXX4MACHO_COMPILE_C_USES_KOBJCACHE = 1
    159 TOOL_GXX4MACHO_COMPILE_C_OUTPUT = $(outbase).i
    160 define TOOL_GXX4MACHO_COMPILE_C_CMDS
     158TOOL_LLVMGXX42MACHO_COMPILE_C_USES_KOBJCACHE = 1
     159TOOL_LLVMGXX42MACHO_COMPILE_C_OUTPUT = $(outbase).i
     160define TOOL_LLVMGXX42MACHO_COMPILE_C_CMDS
    161161        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    162162                --kObjCache-cpp $(outbase).i\
    163                 $(TOOL_GXX4MACHO_CC) -E -o -\
     163                $(TOOL_LLVMGXX42MACHO_CC) -E -o -\
    164164                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    165165                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    166166                $(abspath $(source))\
    167167                --kObjCache-cc $(obj)\
    168                 $(TOOL_GXX4MACHO_CC) -c\
     168                $(TOOL_LLVMGXX42MACHO_CC) -c\
    169169                $(flags) -fpreprocessed -x c\
    170170                -o $(obj)\
     
    173173endef
    174174else  # !KBUILD_USE_KOBJCACHE
    175 TOOL_GXX4MACHO_COMPILE_C_OUTPUT =
    176 define TOOL_GXX4MACHO_COMPILE_C_CMDS
    177         $(QUIET)$(TOOL_GXX4MACHO_CC) -c\
     175TOOL_LLVMGXX42MACHO_COMPILE_C_OUTPUT =
     176define TOOL_LLVMGXX42MACHO_COMPILE_C_CMDS
     177        $(QUIET)$(TOOL_LLVMGXX42MACHO_CC) -c\
    178178                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    179179                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    197197# @param    $(outbase)  Output basename (full). Use this for list files and such.
    198198# @param    $(objsuff)  Object suffix.
    199 TOOL_GXX4MACHO_COMPILE_CXX_DEPEND =
    200 TOOL_GXX4MACHO_COMPILE_CXX_DEPORD =
     199TOOL_LLVMGXX42MACHO_COMPILE_CXX_DEPEND =
     200TOOL_LLVMGXX42MACHO_COMPILE_CXX_DEPORD =
    201201ifdef KBUILD_USE_KOBJCACHE
    202 TOOL_GXX4MACHO_COMPILE_CXX_USES_KOBJCACHE = 1
    203 TOOL_GXX4MACHO_COMPILE_CXX_OUTPUT = $(outbase).ii
    204 define TOOL_GXX4MACHO_COMPILE_CXX_CMDS
     202TOOL_LLVMGXX42MACHO_COMPILE_CXX_USES_KOBJCACHE = 1
     203TOOL_LLVMGXX42MACHO_COMPILE_CXX_OUTPUT = $(outbase).ii
     204define TOOL_LLVMGXX42MACHO_COMPILE_CXX_CMDS
    205205        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    206206                --kObjCache-cpp $(outbase).ii\
    207                 $(TOOL_GXX4MACHO_CXX) -E -o -\
     207                $(TOOL_LLVMGXX42MACHO_CXX) -E -o -\
    208208                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    209209                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    210210                $(abspath $(source))\
    211211                --kObjCache-cc $(obj)\
    212                 $(TOOL_GXX4MACHO_CXX) -c\
     212                $(TOOL_LLVMGXX42MACHO_CXX) -c\
    213213                $(flags) -fpreprocessed -x c++\
    214214                -o $(obj)\
     
    217217endef
    218218else  # !KBUILD_USE_KOBJCACHE
    219 TOOL_GXX4MACHO_COMPILE_CXX_OUTPUT =
    220 define TOOL_GXX4MACHO_COMPILE_CXX_CMDS
    221         $(QUIET)$(TOOL_GXX4MACHO_CXX) -c\
     219TOOL_LLVMGXX42MACHO_COMPILE_CXX_OUTPUT =
     220define TOOL_LLVMGXX42MACHO_COMPILE_CXX_CMDS
     221        $(QUIET)$(TOOL_LLVMGXX42MACHO_CXX) -c\
    222222                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    223223                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    241241# @param    $(outbase)  Output basename (full). Use this for list files and such.
    242242# @param    $(objsuff)  Object suffix.
    243 TOOL_GXX4MACHO_COMPILE_OBJC_DEPEND =
    244 TOOL_GXX4MACHO_COMPILE_OBJC_DEPORD =
     243TOOL_LLVMGXX42MACHO_COMPILE_OBJC_DEPEND =
     244TOOL_LLVMGXX42MACHO_COMPILE_OBJC_DEPORD =
    245245ifdef KBUILD_USE_KOBJCACHE
    246 TOOL_GXX4MACHO_COMPILE_OBJC_USES_KOBJCACHE = 1
    247 TOOL_GXX4MACHO_COMPILE_OBJC_OUTPUT = $(outbase).mi
    248 define TOOL_GXX4MACHO_COMPILE_OBJC_CMDS
     246TOOL_LLVMGXX42MACHO_COMPILE_OBJC_USES_KOBJCACHE = 1
     247TOOL_LLVMGXX42MACHO_COMPILE_OBJC_OUTPUT = $(outbase).mi
     248define TOOL_LLVMGXX42MACHO_COMPILE_OBJC_CMDS
    249249        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    250250                --kObjCache-cpp $(outbase).ii\
    251                 $(TOOL_GXX4MACHO_OBJC) -E -o -\
     251                $(TOOL_LLVMGXX42MACHO_OBJC) -E -o -\
    252252                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    253253                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    254254                $(abspath $(source))\
    255255                --kObjCache-cc $(obj)\
    256                 $(TOOL_GXX4MACHO_OBJC) -c\
     256                $(TOOL_LLVMGXX42MACHO_OBJC) -c\
    257257                $(flags) -fpreprocessed -x objective-c \
    258258                -o $(obj)\
     
    261261endef
    262262else  # !KBUILD_USE_KOBJCACHE
    263 TOOL_GXX4MACHO_COMPILE_OBJC_OUTPUT =
    264 define TOOL_GXX4MACHO_COMPILE_OBJC_CMDS
    265         $(QUIET)$(TOOL_GXX4MACHO_OBJC) -c\
     263TOOL_LLVMGXX42MACHO_COMPILE_OBJC_OUTPUT =
     264define TOOL_LLVMGXX42MACHO_COMPILE_OBJC_CMDS
     265        $(QUIET)$(TOOL_LLVMGXX42MACHO_OBJC) -c\
    266266                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    267267                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    285285# @param    $(outbase)  Output basename (full). Use this for list files and such.
    286286# @param    $(objsuff)  Object suffix.
    287 TOOL_GXX4MACHO_COMPILE_OBJCXX_DEPEND =
    288 TOOL_GXX4MACHO_COMPILE_OBJCXX_DEPORD =
     287TOOL_LLVMGXX42MACHO_COMPILE_OBJCXX_DEPEND =
     288TOOL_LLVMGXX42MACHO_COMPILE_OBJCXX_DEPORD =
    289289ifdef KBUILD_USE_KOBJCACHE
    290 TOOL_GXX4MACHO_COMPILE_OBJCXX_USES_KOBJCACHE = 1
    291 TOOL_GXX4MACHO_COMPILE_OBJCXX_OUTPUT = $(outbase).mii
    292 define TOOL_GXX4MACHO_COMPILE_OBJCXX_CMDS
     290TOOL_LLVMGXX42MACHO_COMPILE_OBJCXX_USES_KOBJCACHE = 1
     291TOOL_LLVMGXX42MACHO_COMPILE_OBJCXX_OUTPUT = $(outbase).mii
     292define TOOL_LLVMGXX42MACHO_COMPILE_OBJCXX_CMDS
    293293        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    294294                --kObjCache-cpp $(outbase).mii\
    295                 $(TOOL_GXX4MACHO_OBJCXX) -E -o -\
     295                $(TOOL_LLVMGXX42MACHO_OBJCXX) -E -o -\
    296296                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    297297                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    298298                $(abspath $(source))\
    299299                --kObjCache-cc $(obj)\
    300                 $(TOOL_GXX4MACHO_OBJCXX) -c\
     300                $(TOOL_LLVMGXX42MACHO_OBJCXX) -c\
    301301                $(flags) -fpreprocessed -x objective-c++ \
    302302                -o $(obj)\
     
    305305endef
    306306else  # !KBUILD_USE_KOBJCACHE
    307 TOOL_GXX4MACHO_COMPILE_OBJCXX_OUTPUT =
    308 define TOOL_GXX4MACHO_COMPILE_OBJCXX_CMDS
    309         $(QUIET)$(TOOL_GXX4MACHO_OBJCXX) -c\
     307TOOL_LLVMGXX42MACHO_COMPILE_OBJCXX_OUTPUT =
     308define TOOL_LLVMGXX42MACHO_COMPILE_OBJCXX_CMDS
     309        $(QUIET)$(TOOL_LLVMGXX42MACHO_OBJCXX) -c\
    310310                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    311311                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    330330# @param    $(objsuff)  Object suffix.
    331331#
    332 TOOL_GXX4MACHO_COMPILE_AS_OUTPUT =
    333 TOOL_GXX4MACHO_COMPILE_AS_DEPEND =
    334 TOOL_GXX4MACHO_COMPILE_AS_DEPORD =
    335 define TOOL_GXX4MACHO_COMPILE_AS_CMDS
    336         $(QUIET)$(TOOL_GXX4MACHO_AS) -c\
     332TOOL_LLVMGXX42MACHO_COMPILE_AS_OUTPUT =
     333TOOL_LLVMGXX42MACHO_COMPILE_AS_DEPEND =
     334TOOL_LLVMGXX42MACHO_COMPILE_AS_DEPORD =
     335define TOOL_LLVMGXX42MACHO_COMPILE_AS_CMDS
     336        $(QUIET)$(TOOL_LLVMGXX42MACHO_AS) -c\
    337337                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    338338                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    352352# @param    $(othersrc) Unhandled sources.
    353353# @param    $(outbase)  Output basename (full). Use this for list files and such.
    354 TOOL_GXX4MACHO_LINK_LIBRARY_OUTPUT =
    355 TOOL_GXX4MACHO_LINK_LIBRARY_DEPEND = $(othersrc)
    356 TOOL_GXX4MACHO_LINK_LIBRARY_DEPORD =
    357 define TOOL_GXX4MACHO_LINK_LIBRARY_CMDS
    358         $(if $(strip $(objs)),$(call xargs,$(QUIET)$(TOOL_GXX4MACHO_AR) $(flags) $(out),$(objs)))
     354TOOL_LLVMGXX42MACHO_LINK_LIBRARY_OUTPUT =
     355TOOL_LLVMGXX42MACHO_LINK_LIBRARY_DEPEND = $(othersrc)
     356TOOL_LLVMGXX42MACHO_LINK_LIBRARY_DEPORD =
     357define TOOL_LLVMGXX42MACHO_LINK_LIBRARY_CMDS
     358        $(if $(strip $(objs)),$(call xargs,$(QUIET)$(TOOL_LLVMGXX42MACHO_AR) $(flags) $(out),$(objs)))
    359359        $(foreach lib,$(othersrc)\
    360360                ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \
     
    362362                $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \
    363363                $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \
    364                         && $(TOOL_GXX4MACHO_AR) -x $(abspath $(lib)) \
     364                        && $(TOOL_LLVMGXX42MACHO_AR) -x $(abspath $(lib)) \
    365365                    && $(RM_EXT) -f ./__.SYMDEF* \
    366                         && $(TOOL_GXX4MACHO_AR) $(flags) $(out) *) \
     366                        && $(TOOL_LLVMGXX42MACHO_AR) $(flags) $(out) *) \
    367367                $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \
    368368                $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/)
     
    383383# @param    $(custom_post)  Custom step invoked after linking.
    384384# @param    $(outbase)  Output basename (full). Use this for list files and such.
    385 TOOL_GXX4MACHO_LINK_PROGRAM_OUTPUT = $(outbase).rsp
    386 TOOL_GXX4MACHO_LINK_PROGRAM_OUTPUT_DEBUG = $(call TOOL_GXX4MACHO_DEBUG_BUNDLE_FN,$(out))
    387 TOOL_GXX4MACHO_LINK_PROGRAM_DEBUG_INSTALL_FN = $(TOOL_GXX4MACHO_DEBUG_INSTALL_FN)
    388 TOOL_GXX4MACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    389 TOOL_GXX4MACHO_LINK_PROGRAM_DEPORD =
    390 define TOOL_GXX4MACHO_LINK_PROGRAM_CMDS
     385TOOL_LLVMGXX42MACHO_LINK_PROGRAM_OUTPUT = $(outbase).rsp
     386TOOL_LLVMGXX42MACHO_LINK_PROGRAM_OUTPUT_DEBUG = $(call TOOL_LLVMGXX42MACHO_DEBUG_BUNDLE_FN,$(out))
     387TOOL_LLVMGXX42MACHO_LINK_PROGRAM_DEBUG_INSTALL_FN = $(TOOL_LLVMGXX42MACHO_DEBUG_INSTALL_FN)
     388TOOL_LLVMGXX42MACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     389TOOL_LLVMGXX42MACHO_LINK_PROGRAM_DEPORD =
     390define TOOL_LLVMGXX42MACHO_LINK_PROGRAM_CMDS
    391391        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    392         $(QUIET)$(TOOL_GXX4MACHO_LD) $(flags) -o $(out)\
     392        $(QUIET)$(TOOL_LLVMGXX42MACHO_LD) $(flags) -o $(out)\
    393393                -filelist $(outbase).rsp\
    394394                $(foreach p,$(libpath), -L$(p))\
    395395                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))
    396396 ifeq ($(ld_debug),split)
    397         $(QUIET)$(TOOL_GXX4MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
    398         $(QUIET)$(TOOL_GXX4MACHO_STRIP_PROGRAM) $(out)
     397        $(QUIET)$(TOOL_LLVMGXX42MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
     398        $(QUIET)$(TOOL_LLVMGXX42MACHO_STRIP_PROGRAM) $(out)
    399399 endif
    400400endef
     
    414414# @param    $(custom_post)  Custom step invoked after linking.
    415415# @param    $(outbase)  Output basename (full). Use this for list files and such.
    416 TOOL_GXX4MACHO_LINK_DLL_OUTPUT = $(outbase).rsp
    417 TOOL_GXX4MACHO_LINK_DLL_OUTPUT_DEBUG = $(call TOOL_GXX4MACHO_DEBUG_BUNDLE_FN,$(out))
    418 TOOL_GXX4MACHO_LINK_DLL_DEBUG_INSTALL_FN = $(TOOL_GXX4MACHO_DEBUG_INSTALL_FN)
    419 TOOL_GXX4MACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    420 TOOL_GXX4MACHO_LINK_DLL_DEPORD =
    421 define TOOL_GXX4MACHO_LINK_DLL_CMDS
     416TOOL_LLVMGXX42MACHO_LINK_DLL_OUTPUT = $(outbase).rsp
     417TOOL_LLVMGXX42MACHO_LINK_DLL_OUTPUT_DEBUG = $(call TOOL_LLVMGXX42MACHO_DEBUG_BUNDLE_FN,$(out))
     418TOOL_LLVMGXX42MACHO_LINK_DLL_DEBUG_INSTALL_FN = $(TOOL_LLVMGXX42MACHO_DEBUG_INSTALL_FN)
     419TOOL_LLVMGXX42MACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     420TOOL_LLVMGXX42MACHO_LINK_DLL_DEPORD =
     421define TOOL_LLVMGXX42MACHO_LINK_DLL_CMDS
    422422        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    423         $(QUIET)$(TOOL_GXX4MACHO_LD) $(TOOL_GXX4MACHO_LDFLAGS.dll) $(flags) -o $(out)\
    424                 $(call TOOL_GXX4MACHO_LD_SONAME,$(target),$(out))\
     423        $(QUIET)$(TOOL_LLVMGXX42MACHO_LD) $(TOOL_LLVMGXX42MACHO_LDFLAGS.dll) $(flags) -o $(out)\
     424                $(call TOOL_LLVMGXX42MACHO_LD_SONAME,$(target),$(out))\
    425425                -filelist $(outbase).rsp\
    426426                $(foreach p,$(libpath), -L$(p))\
    427427                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))
    428428 ifeq ($(ld_debug),split)
    429         $(QUIET)$(TOOL_GXX4MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
    430         $(QUIET)$(TOOL_GXX4MACHO_STRIP_DLL) $(out)
     429        $(QUIET)$(TOOL_LLVMGXX42MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
     430        $(QUIET)$(TOOL_LLVMGXX42MACHO_STRIP_DLL) $(out)
    431431 endif
    432432endef
     
    446446# @param    $(custom_post)  Custom step invoked after linking.
    447447# @param    $(outbase)  Output basename (full). Use this for list files and such.
    448 TOOL_GXX4MACHO_LINK_SYSMOD_OUTPUT = $(outbase).rsp
    449 TOOL_GXX4MACHO_LINK_SYSMOD_OUTPUT_DEBUG = $(call TOOL_GXX4MACHO_DEBUG_BUNDLE_FN,$(out))
    450 TOOL_GXX4MACHO_LINK_SYSMOD_DEBUG_INSTALL_FN = $(TOOL_GXX4MACHO_DEBUG_INSTALL_FN)
    451 TOOL_GXX4MACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    452 TOOL_GXX4MACHO_LINK_SYSMOD_DEPORD =
    453 define TOOL_GXX4MACHO_LINK_SYSMOD_CMDS
     448TOOL_LLVMGXX42MACHO_LINK_SYSMOD_OUTPUT = $(outbase).rsp
     449TOOL_LLVMGXX42MACHO_LINK_SYSMOD_OUTPUT_DEBUG = $(call TOOL_LLVMGXX42MACHO_DEBUG_BUNDLE_FN,$(out))
     450TOOL_LLVMGXX42MACHO_LINK_SYSMOD_DEBUG_INSTALL_FN = $(TOOL_LLVMGXX42MACHO_DEBUG_INSTALL_FN)
     451TOOL_LLVMGXX42MACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     452TOOL_LLVMGXX42MACHO_LINK_SYSMOD_DEPORD =
     453define TOOL_LLVMGXX42MACHO_LINK_SYSMOD_CMDS
    454454        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    455         $(QUIET)$(TOOL_GXX4MACHO_LD_SYSMOD) $(TOOL_GXX4MACHO_LDFLAGS.sysmod) $(flags) -o $(out)\
     455        $(QUIET)$(TOOL_LLVMGXX42MACHO_LD_SYSMOD) $(TOOL_LLVMGXX42MACHO_LDFLAGS.sysmod) $(flags) -o $(out)\
    456456                -filelist $(outbase).rsp\
    457457                $(foreach p,$(libpath), -L$(p))\
    458458                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(lib)), $(lib)))
    459459 ifeq ($(ld_debug),split)
    460         $(QUIET)$(TOOL_GXX4MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
    461         $(QUIET)$(TOOL_GXX4MACHO_STRIP_SYSMOD) $(out)
     460        $(QUIET)$(TOOL_LLVMGXX42MACHO_DSYMUTIL) -o $(out).dSYM/ $(out)
     461        $(QUIET)$(TOOL_LLVMGXX42MACHO_STRIP_SYSMOD) $(out)
    462462 endif
    463463endef
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette