Ignore:
Timestamp:
May 27, 2007, 6:45:22 PM (18 years ago)
Author:
bird
Message:

GCC -> GXX. (the GCC is going to do plain C linking using gcc instead of g++ to fix these incorrect dependencies on the C++ RT when linking C progs.)

File:
1 copied

Legend:

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

    r965 r971  
    22## @file
    33#
    4 # kBuild Tool Config - GCC v4 targeting Darwin (Mac OS X) Mach-o.
     4# kBuild Tool Config - GCC v4 targeting Darwin (Mac OS X) Mach-o, for building C++ code.
    55#
    66# Copyright (c) 2004-2007 knut st. osmundsen <bird-kBuild-spam@anduin.net>
     
    2525#
    2626
    27 TOOL_GCC4MACHO := GCC v4 targeting Darwin (Mac OS X) Mach-o.
     27TOOL_GXX4MACHO := GCC v4 targeting Darwin (Mac OS X) Mach-o, for building C++ code.
    2828
    2929# Tool Specific Properties
    30 TOOL_GCC4MACHO_CC  ?= gcc$(HOSTSUFF_EXE)
    31 TOOL_GCC4MACHO_CXX ?= g++$(HOSTSUFF_EXE)
    32 TOOL_GCC4MACHO_AS  ?= gcc$(HOSTSUFF_EXE)
    33 TOOL_GCC4MACHO_LD  ?= g++$(HOSTSUFF_EXE)
    34 TOOL_GCC4MACHO_LD_SYSMOD ?= g++$(HOSTSUFF_EXE)
    35 ifndef TOOL_GCC4MACHO_LDFLAGS.$(BUILD_TARGET)
    36 TOOL_GCC4MACHO_LDFLAGS.dll ?= -dynamiclib
     30TOOL_GXX4MACHO_CC  ?= gcc$(HOSTSUFF_EXE)
     31TOOL_GXX4MACHO_CXX ?= g++$(HOSTSUFF_EXE)
     32TOOL_GXX4MACHO_AS  ?= gcc$(HOSTSUFF_EXE)
     33TOOL_GXX4MACHO_LD  ?= g++$(HOSTSUFF_EXE)
     34TOOL_GXX4MACHO_LD_SYSMOD ?= g++$(HOSTSUFF_EXE)
     35ifndef TOOL_GXX4MACHO_LDFLAGS.$(BUILD_TARGET)
     36TOOL_GXX4MACHO_LDFLAGS.dll ?= -dynamiclib
    3737else
    38 TOOL_GCC4MACHO_LDFLAGS.dll ?= $(TOOL_GCC4MACHO_LDFLAGS.$(BUILD_TARGET))
     38TOOL_GXX4MACHO_LDFLAGS.dll ?= $(TOOL_GXX4MACHO_LDFLAGS.$(BUILD_TARGET))
    3939endif
    40 TOOL_GCC4MACHO_LDFLAGS.sysmod ?= -r
    41 #TOOL_GCC4MACHO_LD_SONAME = -Wl,-dylib_install_name $(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
     40TOOL_GXX4MACHO_LDFLAGS.sysmod ?= -r
     41#TOOL_GXX4MACHO_LD_SONAME = -Wl,-dylib_install_name $(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
    4242
    4343ifdef SLKRUNS
    44 TOOL_GCC4MACHO_CC  += -fmessage-length=0
    45 TOOL_GCC4MACHO_CXX += -fmessage-length=0
     44TOOL_GXX4MACHO_CC  += -fmessage-length=0
     45TOOL_GXX4MACHO_CXX += -fmessage-length=0
    4646endif
    4747
    4848# General Properties used by kBuild
    49 TOOL_GCC4MACHO_COBJSUFF         ?= .o
    50 TOOL_GCC4MACHO_CFLAGS           ?=
    51 TOOL_GCC4MACHO_CFLAGS.debug     ?= -g
    52 TOOL_GCC4MACHO_CFLAGS.profile   ?= -g -O2 #-pg
    53 TOOL_GCC4MACHO_CFLAGS.release   ?= -O2
    54 TOOL_GCC4MACHO_CINCS            ?=
    55 TOOL_GCC4MACHO_CDEFS            ?=
    56 
    57 TOOL_GCC4MACHO_CXXOBJSUFF       ?= .o
    58 TOOL_GCC4MACHO_CXXOBJSUFF       ?= .o
    59 TOOL_GCC4MACHO_CXXFLAGS         ?=
    60 TOOL_GCC4MACHO_CXXFLAGS.debug   ?= -g
    61 TOOL_GCC4MACHO_CXXFLAGS.profile ?= -g -O2 #-pg
    62 TOOL_GCC4MACHO_CXXFLAGS.release ?= -O2
    63 TOOL_GCC4MACHO_CXXINCS          ?=
    64 TOOL_GCC4MACHO_CXXDEFS          ?=
    65 
    66 TOOL_GCC4MACHO_ASFLAGS          ?= -x assembler-with-cpp
    67 TOOL_GCC4MACHO_ASFLAGS.debug    ?= -g
    68 TOOL_GCC4MACHO_ASFLAGS.profile  ?= -g
    69 TOOL_GCC4MACHO_ASOBJSUFF        ?= .o
    70 
    71 TOOL_GCC4MACHO_AR               ?= ar$(HOSTSUFF_EXE)
    72 TOOL_GCC4MACHO_ARFLAGS          ?= -c -rs
    73 TOOL_GCC4MACHO_ARLIBSUFF        ?= .a
    74 
    75 TOOL_GCC4MACHO_LDFLAGS          ?=
    76 TOOL_GCC4MACHO_LDFLAGS.debug    ?= -g
    77 TOOL_GCC4MACHO_LDFLAGS.profile  ?= -g
     49TOOL_GXX4MACHO_COBJSUFF         ?= .o
     50TOOL_GXX4MACHO_CFLAGS           ?=
     51TOOL_GXX4MACHO_CFLAGS.debug     ?= -g
     52TOOL_GXX4MACHO_CFLAGS.profile   ?= -g -O2 #-pg
     53TOOL_GXX4MACHO_CFLAGS.release   ?= -O2
     54TOOL_GXX4MACHO_CINCS            ?=
     55TOOL_GXX4MACHO_CDEFS            ?=
     56
     57TOOL_GXX4MACHO_CXXOBJSUFF       ?= .o
     58TOOL_GXX4MACHO_CXXOBJSUFF       ?= .o
     59TOOL_GXX4MACHO_CXXFLAGS         ?=
     60TOOL_GXX4MACHO_CXXFLAGS.debug   ?= -g
     61TOOL_GXX4MACHO_CXXFLAGS.profile ?= -g -O2 #-pg
     62TOOL_GXX4MACHO_CXXFLAGS.release ?= -O2
     63TOOL_GXX4MACHO_CXXINCS          ?=
     64TOOL_GXX4MACHO_CXXDEFS          ?=
     65
     66TOOL_GXX4MACHO_ASFLAGS          ?= -x assembler-with-cpp
     67TOOL_GXX4MACHO_ASFLAGS.debug    ?= -g
     68TOOL_GXX4MACHO_ASFLAGS.profile  ?= -g
     69TOOL_GXX4MACHO_ASOBJSUFF        ?= .o
     70
     71TOOL_GXX4MACHO_AR               ?= ar$(HOSTSUFF_EXE)
     72TOOL_GXX4MACHO_ARFLAGS          ?= -c -rs
     73TOOL_GXX4MACHO_ARLIBSUFF        ?= .a
     74
     75TOOL_GXX4MACHO_LDFLAGS          ?=
     76TOOL_GXX4MACHO_LDFLAGS.debug    ?= -g
     77TOOL_GXX4MACHO_LDFLAGS.profile  ?= -g
    7878
    7979
     
    9191# @param    $(outbase)  Output basename (full). Use this for list files and such.
    9292# @param    $(objsuff)  Object suffix.
    93 TOOL_GCC4MACHO_COMPILE_C_OUTPUT =
    94 TOOL_GCC4MACHO_COMPILE_C_DEPEND =
    95 TOOL_GCC4MACHO_COMPILE_C_DEPORD =
    96 define TOOL_GCC4MACHO_COMPILE_C_CMDS
    97         $(QUIET)$(TOOL_GCC4MACHO_CC) -c\
     93TOOL_GXX4MACHO_COMPILE_C_OUTPUT =
     94TOOL_GXX4MACHO_COMPILE_C_DEPEND =
     95TOOL_GXX4MACHO_COMPILE_C_DEPORD =
     96define TOOL_GXX4MACHO_COMPILE_C_CMDS
     97        $(QUIET)$(TOOL_GXX4MACHO_CC) -c\
    9898                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    9999                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    115115# @param    $(outbase)  Output basename (full). Use this for list files and such.
    116116# @param    $(objsuff)  Object suffix.
    117 TOOL_GCC4MACHO_COMPILE_CXX_OUTPUT =
    118 TOOL_GCC4MACHO_COMPILE_CXX_DEPEND =
    119 TOOL_GCC4MACHO_COMPILE_CXX_DEPORD =
    120 define TOOL_GCC4MACHO_COMPILE_CXX_CMDS
    121         $(QUIET)$(TOOL_GCC4MACHO_CXX) -c\
     117TOOL_GXX4MACHO_COMPILE_CXX_OUTPUT =
     118TOOL_GXX4MACHO_COMPILE_CXX_DEPEND =
     119TOOL_GXX4MACHO_COMPILE_CXX_DEPORD =
     120define TOOL_GXX4MACHO_COMPILE_CXX_CMDS
     121        $(QUIET)$(TOOL_GXX4MACHO_CXX) -c\
    122122                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    123123                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    140140# @param    $(objsuff)  Object suffix.
    141141#
    142 TOOL_GCC4MACHO_COMPILE_AS_OUTPUT =
    143 TOOL_GCC4MACHO_COMPILE_AS_DEPEND =
    144 TOOL_GCC4MACHO_COMPILE_AS_DEPORD =
    145 define TOOL_GCC4MACHO_COMPILE_AS_CMDS
    146         $(QUIET)$(TOOL_GCC4MACHO_AS) -c\
     142TOOL_GXX4MACHO_COMPILE_AS_OUTPUT =
     143TOOL_GXX4MACHO_COMPILE_AS_DEPEND =
     144TOOL_GXX4MACHO_COMPILE_AS_DEPORD =
     145define TOOL_GXX4MACHO_COMPILE_AS_CMDS
     146        $(QUIET)$(TOOL_GXX4MACHO_AS) -c\
    147147                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    148148                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    161161# @param    $(othersrc) Unhandled sources.
    162162# @param    $(outbase)  Output basename (full). Use this for list files and such.
    163 TOOL_GCC4MACHO_LINK_LIBRARY_OUTPUT =
    164 TOOL_GCC4MACHO_LINK_LIBRARY_DEPEND = $(othersrc)
    165 TOOL_GCC4MACHO_LINK_LIBRARY_DEPORD =
    166 define TOOL_GCC4MACHO_LINK_LIBRARY_CMDS
    167         $(call xargs,$(QUIET)$(TOOL_GCC4MACHO_AR) $(flags) $(out),$(objs))
     163TOOL_GXX4MACHO_LINK_LIBRARY_OUTPUT =
     164TOOL_GXX4MACHO_LINK_LIBRARY_DEPEND = $(othersrc)
     165TOOL_GXX4MACHO_LINK_LIBRARY_DEPORD =
     166define TOOL_GXX4MACHO_LINK_LIBRARY_CMDS
     167        $(call xargs,$(QUIET)$(TOOL_GXX4MACHO_AR) $(flags) $(out),$(objs))
    168168        $(foreach lib,$(othersrc)\
    169169                ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \
     
    171171                $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \
    172172                $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \
    173                         && $(TOOL_GCC4MACHO_AR) -x $(abspath $(lib)) \
     173                        && $(TOOL_GXX4MACHO_AR) -x $(abspath $(lib)) \
    174174                    && $(RM_EXT) -f ./__.SYMDEF* \
    175                         && $(TOOL_GCC4MACHO_AR) $(flags) $(out) *) \
     175                        && $(TOOL_GXX4MACHO_AR) $(flags) $(out) *) \
    176176                $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \
    177177                $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/)
     
    192192# @param    $(custom_post)  Custom step invoked after linking.
    193193# @param    $(outbase)  Output basename (full). Use this for list files and such.
    194 TOOL_GCC4MACHO_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
    195 TOOL_GCC4MACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    196 TOOL_GCC4MACHO_LINK_PROGRAM_DEPORD =
    197 define TOOL_GCC4MACHO_LINK_PROGRAM_CMDS
     194TOOL_GXX4MACHO_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
     195TOOL_GXX4MACHO_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     196TOOL_GXX4MACHO_LINK_PROGRAM_DEPORD =
     197define TOOL_GXX4MACHO_LINK_PROGRAM_CMDS
    198198        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    199         $(QUIET)$(TOOL_GCC4MACHO_LD) $(flags) -o $(out)\
     199        $(QUIET)$(TOOL_GXX4MACHO_LD) $(flags) -o $(out)\
    200200                -filelist $(outbase).rsp\
    201201                $(foreach p,$(libpath), -L$(p))\
     
    217217# @param    $(custom_post)  Custom step invoked after linking.
    218218# @param    $(outbase)  Output basename (full). Use this for list files and such.
    219 TOOL_GCC4MACHO_LINK_DLL_OUTPUT = $(outbase).rsp
    220 TOOL_GCC4MACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    221 TOOL_GCC4MACHO_LINK_DLL_DEPORD =
    222 define TOOL_GCC4MACHO_LINK_DLL_CMDS
     219TOOL_GXX4MACHO_LINK_DLL_OUTPUT = $(outbase).rsp
     220TOOL_GXX4MACHO_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     221TOOL_GXX4MACHO_LINK_DLL_DEPORD =
     222define TOOL_GXX4MACHO_LINK_DLL_CMDS
    223223        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    224         $(QUIET)$(TOOL_GCC4MACHO_LD) $(TOOL_GCC4MACHO_LDFLAGS.dll) $(flags) -o $(out)\
    225                 $(call TOOL_GCC4MACHO_LD_SONAME,$(target),$(out))\
     224        $(QUIET)$(TOOL_GXX4MACHO_LD) $(TOOL_GXX4MACHO_LDFLAGS.dll) $(flags) -o $(out)\
     225                $(call TOOL_GXX4MACHO_LD_SONAME,$(target),$(out))\
    226226                -filelist $(outbase).rsp\
    227227                $(foreach p,$(libpath), -L$(p))\
     
    243243# @param    $(custom_post)  Custom step invoked after linking.
    244244# @param    $(outbase)  Output basename (full). Use this for list files and such.
    245 TOOL_GCC4MACHO_LINK_SYSMOD_OUTPUT = $(outbase).rsp
    246 TOOL_GCC4MACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    247 TOOL_GCC4MACHO_LINK_SYSMOD_DEPORD =
    248 define TOOL_GCC4MACHO_LINK_SYSMOD_CMDS
     245TOOL_GXX4MACHO_LINK_SYSMOD_OUTPUT = $(outbase).rsp
     246TOOL_GXX4MACHO_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     247TOOL_GXX4MACHO_LINK_SYSMOD_DEPORD =
     248define TOOL_GXX4MACHO_LINK_SYSMOD_CMDS
    249249        $(QUIET)$(APPEND) -n $(outbase).rsp $(objs)
    250         $(QUIET)$(TOOL_GCC4MACHO_LD_SYSMOD) $(TOOL_GCC4MACHO_LDFLAGS.sysmod) $(flags) -o $(out)\
     250        $(QUIET)$(TOOL_GXX4MACHO_LD_SYSMOD) $(TOOL_GXX4MACHO_LDFLAGS.sysmod) $(flags) -o $(out)\
    251251                -filelist $(outbase).rsp\
    252252                $(foreach p,$(libpath), -L$(p))\
Note: See TracChangeset for help on using the changeset viewer.