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/GXX3PLAIN.kmk

    r965 r971  
    22## @file
    33#
    4 # kBuild Tool Config - Generic GCC v3.2.x or later Using The System GCC, any Unix Linker and Unix Archiver.
     4# kBuild Tool Config - Generic GCC v3.2.x or later using the system GCC, any Unix linker and Unix archiver to build C++ code.
    55#
    66# Copyright (c) 2004-2007 knut st. osmundsen <bird-kBuild-spam@anduin.net>
     
    2525#
    2626
    27 TOOL_GCC3PLAIN := Generic GCC v3.2.x or later Using The System GCC, any Unix Linker and Unix Archiver.
     27TOOL_GXX3PLAIN := Generic GCC v3.2.x or later using the system GCC, any Unix linker and Unix archiver to build C++ code.
    2828
    2929# Tool Specific Properties
    30 TOOL_GCC3PLAIN_CC  ?= gcc$(HOSTSUFF_EXE)
    31 TOOL_GCC3PLAIN_CXX ?= g++$(HOSTSUFF_EXE)
    32 TOOL_GCC3PLAIN_AS  ?= gcc$(HOSTSUFF_EXE)
    33 TOOL_GCC3PLAIN_AR  ?= ar$(HOSTSUFF_EXE)
    34 TOOL_GCC3PLAIN_RANLIB ?= ranlib$(HOSTSUFF_EXE)
    35 TOOL_GCC3PLAIN_LD  ?= g++$(HOSTSUFF_EXE)
    36 TOOL_GCC3PLAIN_LDFLAGS.dll.os2 ?= -Zdll
    37 TOOL_GCC3PLAIN_LDFLAGS.dll.darwin ?= -dynamiclib
    38 ifndef TOOL_GCC_LDFLAGS.$(BUILD_TARGET)
    39  TOOL_GCC3PLAIN_LDFLAGS.dll ?= -shared
     30TOOL_GXX3PLAIN_CC  ?= gcc$(HOSTSUFF_EXE)
     31TOOL_GXX3PLAIN_CXX ?= g++$(HOSTSUFF_EXE)
     32TOOL_GXX3PLAIN_AS  ?= gcc$(HOSTSUFF_EXE)
     33TOOL_GXX3PLAIN_AR  ?= ar$(HOSTSUFF_EXE)
     34TOOL_GXX3PLAIN_RANLIB ?= ranlib$(HOSTSUFF_EXE)
     35TOOL_GXX3PLAIN_LD  ?= g++$(HOSTSUFF_EXE)
     36TOOL_GXX3PLAIN_LDFLAGS.dll.os2 ?= -Zdll
     37TOOL_GXX3PLAIN_LDFLAGS.dll.darwin ?= -dynamiclib
     38ifndef TOOL_GXX3PLAIN_LDFLAGS.$(BUILD_TARGET)
     39 TOOL_GXX3PLAIN_LDFLAGS.dll ?= -shared
    4040else
    41  TOOL_GCC3PLAIN_LDFLAGS.dll ?= $(TOOL_GCC_LDFLAGS.$(BUILD_TARGET))
     41 TOOL_GXX3PLAIN_LDFLAGS.dll ?= $(TOOL_GXX3PLAIN_LDFLAGS.$(BUILD_TARGET))
    4242endif
    43 TOOL_GCC3PLAIN_LD_SONAME.darwin ?= $(NO_SUCH_VARIABLE)
    44 TOOL_GCC3PLAIN_LD_SONAME.os2 ?= $(NO_SUCH_VARIABLE)
    45 TOOL_GCC3PLAIN_LD_SONAME.win ?= $(NO_SUCH_VARIABLE)
    46 ifndef TOOL_GCC3PLAIN_LD_SONAME.$(BUILD_TARGET)
    47  TOOL_GCC3PLAIN_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
     43TOOL_GXX3PLAIN_LD_SONAME.darwin ?= $(NO_SUCH_VARIABLE)
     44TOOL_GXX3PLAIN_LD_SONAME.os2 ?= $(NO_SUCH_VARIABLE)
     45TOOL_GXX3PLAIN_LD_SONAME.win ?= $(NO_SUCH_VARIABLE)
     46ifndef TOOL_GXX3PLAIN_LD_SONAME.$(BUILD_TARGET)
     47 TOOL_GXX3PLAIN_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
    4848else
    49  TOOL_GCC3PLAIN_LD_SONAME ?= $(TOOL_GCC3PLAIN_LD_SONAME.$(BUILD_TARGET))
     49 TOOL_GXX3PLAIN_LD_SONAME ?= $(TOOL_GXX3PLAIN_LD_SONAME.$(BUILD_TARGET))
    5050endif
    5151ifdef SLKRUNS
    52  TOOL_GCC3PLAIN_CC  += -fmessage-length=0
    53  TOOL_GCC3PLAIN_CXX += -fmessage-length=0
     52 TOOL_GXX3PLAIN_CC  += -fmessage-length=0
     53 TOOL_GXX3PLAIN_CXX += -fmessage-length=0
    5454endif
    5555
    5656# General Properties used by kBuild
    57 TOOL_GCC3PLAIN_COBJSUFF         ?= .o
    58 TOOL_GCC3PLAIN_CFLAGS           ?=
    59 TOOL_GCC3PLAIN_CFLAGS.debug     ?= -g
    60 TOOL_GCC3PLAIN_CFLAGS.profile   ?= -g -O2 #-pg
    61 TOOL_GCC3PLAIN_CFLAGS.release   ?= -O2
    62 TOOL_GCC3PLAIN_CINCS            ?=
    63 TOOL_GCC3PLAIN_CDEFS            ?=
    64 
    65 TOOL_GCC3PLAIN_CXXOBJSUFF       ?= .o
    66 TOOL_GCC3PLAIN_CXXOBJSUFF       ?= .o
    67 TOOL_GCC3PLAIN_CXXFLAGS         ?=
    68 TOOL_GCC3PLAIN_CXXFLAGS.debug   ?= -g
    69 TOOL_GCC3PLAIN_CXXFLAGS.profile ?= -g -O2 #-pg
    70 TOOL_GCC3PLAIN_CXXFLAGS.release ?= -O2
    71 TOOL_GCC3PLAIN_CXXINCS          ?=
    72 TOOL_GCC3PLAIN_CXXDEFS          ?=
    73 
    74 TOOL_GCC3PLAIN_ASFLAGS          ?= -x assembler-with-cpp
    75 TOOL_GCC3PLAIN_ASFLAGS.debug    ?= -g
    76 TOOL_GCC3PLAIN_ASFLAGS.profile  ?= -g
    77 TOOL_GCC3PLAIN_ASOBJSUFF        ?= .o
    78 
    79 TOOL_GCC3PLAIN_ARFLAGS          ?= cr
    80 TOOL_GCC3PLAIN_ARLIBSUFF        ?= .a
    81 
    82 TOOL_GCC3PLAIN_LDFLAGS          ?=
    83 TOOL_GCC3PLAIN_LDFLAGS.debug    ?= -g
    84 TOOL_GCC3PLAIN_LDFLAGS.profile  ?= -g
     57TOOL_GXX3PLAIN_COBJSUFF         ?= .o
     58TOOL_GXX3PLAIN_CFLAGS           ?=
     59TOOL_GXX3PLAIN_CFLAGS.debug     ?= -g
     60TOOL_GXX3PLAIN_CFLAGS.profile   ?= -g -O2 #-pg
     61TOOL_GXX3PLAIN_CFLAGS.release   ?= -O2
     62TOOL_GXX3PLAIN_CINCS            ?=
     63TOOL_GXX3PLAIN_CDEFS            ?=
     64
     65TOOL_GXX3PLAIN_CXXOBJSUFF       ?= .o
     66TOOL_GXX3PLAIN_CXXOBJSUFF       ?= .o
     67TOOL_GXX3PLAIN_CXXFLAGS         ?=
     68TOOL_GXX3PLAIN_CXXFLAGS.debug   ?= -g
     69TOOL_GXX3PLAIN_CXXFLAGS.profile ?= -g -O2 #-pg
     70TOOL_GXX3PLAIN_CXXFLAGS.release ?= -O2
     71TOOL_GXX3PLAIN_CXXINCS          ?=
     72TOOL_GXX3PLAIN_CXXDEFS          ?=
     73
     74TOOL_GXX3PLAIN_ASFLAGS          ?= -x assembler-with-cpp
     75TOOL_GXX3PLAIN_ASFLAGS.debug    ?= -g
     76TOOL_GXX3PLAIN_ASFLAGS.profile  ?= -g
     77TOOL_GXX3PLAIN_ASOBJSUFF        ?= .o
     78
     79TOOL_GXX3PLAIN_ARFLAGS          ?= cr
     80TOOL_GXX3PLAIN_ARLIBSUFF        ?= .a
     81
     82TOOL_GXX3PLAIN_LDFLAGS          ?=
     83TOOL_GXX3PLAIN_LDFLAGS.debug    ?= -g
     84TOOL_GXX3PLAIN_LDFLAGS.profile  ?= -g
    8585
    8686
     
    9898# @param    $(outbase)  Output basename (full). Use this for list files and such.
    9999# @param    $(objsuff)  Object suffix.
    100 TOOL_GCC3PLAIN_COMPILE_C_OUTPUT =
    101 TOOL_GCC3PLAIN_COMPILE_C_DEPEND =
    102 TOOL_GCC3PLAIN_COMPILE_C_DEPORD =
    103 define TOOL_GCC3PLAIN_COMPILE_C_CMDS
    104         $(QUIET)$(TOOL_GCC3PLAIN_CC) -c\
     100TOOL_GXX3PLAIN_COMPILE_C_OUTPUT =
     101TOOL_GXX3PLAIN_COMPILE_C_DEPEND =
     102TOOL_GXX3PLAIN_COMPILE_C_DEPORD =
     103define TOOL_GXX3PLAIN_COMPILE_C_CMDS
     104        $(QUIET)$(TOOL_GXX3PLAIN_CC) -c\
    105105                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    106106                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    122122# @param    $(outbase)  Output basename (full). Use this for list files and such.
    123123# @param    $(objsuff)  Object suffix.
    124 TOOL_GCC3PLAIN_COMPILE_CXX_OUTPUT =
    125 TOOL_GCC3PLAIN_COMPILE_CXX_DEPEND =
    126 TOOL_GCC3PLAIN_COMPILE_CXX_DEPORD =
    127 define TOOL_GCC3PLAIN_COMPILE_CXX_CMDS
    128         $(QUIET)$(TOOL_GCC3PLAIN_CXX) -c\
     124TOOL_GXX3PLAIN_COMPILE_CXX_OUTPUT =
     125TOOL_GXX3PLAIN_COMPILE_CXX_DEPEND =
     126TOOL_GXX3PLAIN_COMPILE_CXX_DEPORD =
     127define TOOL_GXX3PLAIN_COMPILE_CXX_CMDS
     128        $(QUIET)$(TOOL_GXX3PLAIN_CXX) -c\
    129129                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    130130                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    147147# @param    $(objsuff)  Object suffix.
    148148#
    149 TOOL_GCC3PLAIN_COMPILE_AS_OUTPUT =
    150 TOOL_GCC3PLAIN_COMPILE_AS_DEPEND =
    151 TOOL_GCC3PLAIN_COMPILE_AS_DEPORD =
    152 define TOOL_GCC3PLAIN_COMPILE_AS_CMDS
    153         $(QUIET)$(TOOL_GCC3PLAIN_AS) -c\
     149TOOL_GXX3PLAIN_COMPILE_AS_OUTPUT =
     150TOOL_GXX3PLAIN_COMPILE_AS_DEPEND =
     151TOOL_GXX3PLAIN_COMPILE_AS_DEPORD =
     152define TOOL_GXX3PLAIN_COMPILE_AS_CMDS
     153        $(QUIET)$(TOOL_GXX3PLAIN_AS) -c\
    154154                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    155155                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    168168# @param    $(othersrc) Unhandled sources.
    169169# @param    $(outbase)  Output basename (full). Use this for list files and such.
    170 TOOL_GCC3PLAIN_LINK_LIBRARY_OUTPUT = $(out).ar-script
    171 TOOL_GCC3PLAIN_LINK_LIBRARY_DEPEND = $(othersrc)
    172 TOOL_GCC3PLAIN_LINK_LIBRARY_DEPORD =
    173 define TOOL_GCC3PLAIN_LINK_LIBRARY_CMDS
    174         $(call xargs,$(QUIET)$(TOOL_GCC3PLAIN_AR) $(flags) $(out),$(objs))
     170TOOL_GXX3PLAIN_LINK_LIBRARY_OUTPUT = $(out).ar-script
     171TOOL_GXX3PLAIN_LINK_LIBRARY_DEPEND = $(othersrc)
     172TOOL_GXX3PLAIN_LINK_LIBRARY_DEPORD =
     173define TOOL_GXX3PLAIN_LINK_LIBRARY_CMDS
     174        $(call xargs,$(QUIET)$(TOOL_GXX3PLAIN_AR) $(flags) $(out),$(objs))
    175175        $(foreach lib,$(othersrc)\
    176176                ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \
     
    178178                $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \
    179179                $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \
    180                         && $(TOOL_GCC3PLAIN_AR) x $(abspath $(lib)) \
    181                         && $(TOOL_GCC3PLAIN_AR) $(flags) $(out) *) \
     180                        && $(TOOL_GXX3PLAIN_AR) x $(abspath $(lib)) \
     181                        && $(TOOL_GXX3PLAIN_AR) $(flags) $(out) *) \
    182182                $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \
    183183                $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/)
    184         $(QUIET)$(TOOL_GCC3PLAIN_RANLIB) $(out)
     184        $(QUIET)$(TOOL_GXX3PLAIN_RANLIB) $(out)
    185185endef
    186186
     
    199199# @param    $(custom_post)  Custom step invoked after linking.
    200200# @param    $(outbase)  Output basename (full). Use this for list files and such.
    201 TOOL_GCC3PLAIN_LINK_PROGRAM_OUTPUT = $(outbase).map
    202 TOOL_GCC3PLAIN_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
     201TOOL_GXX3PLAIN_LINK_PROGRAM_OUTPUT = $(outbase).map
     202TOOL_GXX3PLAIN_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
    203203                $(filter %.def, $(othersrc))
    204 TOOL_GCC3PLAIN_LINK_PROGRAM_DEPORD =
    205 define TOOL_GCC3PLAIN_LINK_PROGRAM_CMDS
    206         $(QUIET)$(TOOL_GCC3PLAIN_LD) $(flags) -o $(out) $(objs)\
     204TOOL_GXX3PLAIN_LINK_PROGRAM_DEPORD =
     205define TOOL_GXX3PLAIN_LINK_PROGRAM_CMDS
     206        $(QUIET)$(TOOL_GXX3PLAIN_LD) $(flags) -o $(out) $(objs)\
    207207                $(filter %.def, $(othersrc))\
    208208                $(foreach p,$(libpath), -L$(p))\
     
    224224# @param    $(custom_post)  Custom step invoked after linking.
    225225# @param    $(outbase)  Output basename (full). Use this for list files and such.
    226 TOOL_GCC3PLAIN_LINK_DLL_OUTPUT = $(outbase).map
    227 TOOL_GCC3PLAIN_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
     226TOOL_GXX3PLAIN_LINK_DLL_OUTPUT = $(outbase).map
     227TOOL_GXX3PLAIN_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
    228228                $(filter %.def, $(othersrc))
    229 TOOL_GCC3PLAIN_LINK_DLL_DEPORD =
    230 define TOOL_GCC3PLAIN_LINK_DLL_CMDS
    231         $(QUIET)$(TOOL_GCC3PLAIN_LD) $(TOOL_GCC3PLAIN_LDFLAGS.dll) $(flags) -o $(out)\
    232                 $(if $(filter-out win32 os2, $(BUILD_TARGET)),$(call TOOL_GCC3PLAIN_LD_SONAME,$(target),$(out)))\
     229TOOL_GXX3PLAIN_LINK_DLL_DEPORD =
     230define TOOL_GXX3PLAIN_LINK_DLL_CMDS
     231        $(QUIET)$(TOOL_GXX3PLAIN_LD) $(TOOL_GXX3PLAIN_LDFLAGS.dll) $(flags) -o $(out)\
     232                $(if $(filter-out win32 os2, $(BUILD_TARGET)),$(call TOOL_GXX3PLAIN_LD_SONAME,$(target),$(out)))\
    233233                $(objs)\
    234234                $(filter %.def, $(othersrc))\
Note: See TracChangeset for help on using the changeset viewer.