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

    r965 r971  
    22## @file
    33#
    4 # kBuild Tool Config - GCC v3 targeting OS/2 OMF.
     4# kBuild Tool Config - GCC v3 targeting OS/2 OMF, for building C++ code.
    55#
    66# Copyright (c) 2004-2007 knut st. osmundsen <bird-kBuild-spam@anduin.net>
     
    2525#
    2626
    27 TOOL_GCC3OMF := GCC v3 targeting OS/2 OMF.
     27TOOL_GXX3OMF := GCC v3 targeting OS/2 OMF, for building C++ code.
    2828
    2929# Tool Specific Properties
    30 TOOL_GCC3OMF_CC  ?= gcc$(HOSTSUFF_EXE)
    31 TOOL_GCC3OMF_CXX ?= g++$(HOSTSUFF_EXE)
    32 TOOL_GCC3OMF_AS  ?= gcc$(HOSTSUFF_EXE)
    33 TOOL_GCC3OMF_AR  ?= emxomfar$(HOSTSUFF_EXE)
    34 TOOL_GCC3OMF_AR_IMP ?= emximp$(HOSTSUFF_EXE)
    35 TOOL_GCC3OMF_LD ?= g++$(HOSTSUFF_EXE)
    36 TOOL_GCC3OMF_LD_SYSMOD ?= g++$(HOSTSUFF_EXE)
    37 ifndef TOOL_GCC3OMF_LDFLAGS.$(BUILD_TARGET)
    38 TOOL_GCC3OMF_LDFLAGS.dll ?= -shared -Zdll
     30TOOL_GXX3OMF_CC  ?= gcc$(HOSTSUFF_EXE)
     31TOOL_GXX3OMF_CXX ?= g++$(HOSTSUFF_EXE)
     32TOOL_GXX3OMF_AS  ?= gcc$(HOSTSUFF_EXE)
     33TOOL_GXX3OMF_AR  ?= emxomfar$(HOSTSUFF_EXE)
     34TOOL_GXX3OMF_AR_IMP ?= emximp$(HOSTSUFF_EXE)
     35TOOL_GXX3OMF_LD ?= g++$(HOSTSUFF_EXE)
     36TOOL_GXX3OMF_LD_SYSMOD ?= g++$(HOSTSUFF_EXE)
     37ifndef TOOL_GXX3OMF_LDFLAGS.$(BUILD_TARGET)
     38TOOL_GXX3OMF_LDFLAGS.dll ?= -shared -Zdll
    3939else
    40 TOOL_GCC3OMF_LDFLAGS.dll ?= $(TOOL_GCC3OMF_LDFLAGS.$(BUILD_TARGET))
     40TOOL_GXX3OMF_LDFLAGS.dll ?= $(TOOL_GXX3OMF_LDFLAGS.$(BUILD_TARGET))
    4141endif
    42 TOOL_GCC3OMF_LDFLAGS.sysmod ?= -nostdlib
    43 TOOL_GCC3OMF_LD_MAP ?= -Zmap=$(1)
    44 TOOL_GCC3OMF_LD_SYSMOD_MAP ?= -Zmap=$(1)
     42TOOL_GXX3OMF_LDFLAGS.sysmod ?= -nostdlib
     43TOOL_GXX3OMF_LD_MAP ?= -Zmap=$(1)
     44TOOL_GXX3OMF_LD_SYSMOD_MAP ?= -Zmap=$(1)
    4545
    4646ifdef SLKRUNS
    47 TOOL_GCC3OMF_CC  += -fmessage-length=0
    48 TOOL_GCC3OMF_CXX += -fmessage-length=0
     47TOOL_GXX3OMF_CC  += -fmessage-length=0
     48TOOL_GXX3OMF_CXX += -fmessage-length=0
    4949endif
    5050
    5151# General Properties used by kBuild
    52 TOOL_GCC3OMF_COBJSUFF         ?= .o
    53 TOOL_GCC3OMF_CFLAGS           ?= -Zomf
    54 TOOL_GCC3OMF_CFLAGS.debug     ?= -g
    55 TOOL_GCC3OMF_CFLAGS.profile   ?= -g -O2 #-pg
    56 TOOL_GCC3OMF_CFLAGS.release   ?= -O2
    57 TOOL_GCC3OMF_CINCS            ?=
    58 TOOL_GCC3OMF_CDEFS            ?=
    59 
    60 TOOL_GCC3OMF_CXXOBJSUFF       ?= .o
    61 TOOL_GCC3OMF_CXXOBJSUFF       ?= .o
    62 TOOL_GCC3OMF_CXXFLAGS         ?= -Zomf
    63 TOOL_GCC3OMF_CXXFLAGS.debug   ?= -g
    64 TOOL_GCC3OMF_CXXFLAGS.profile ?= -g -O2 #-pg
    65 TOOL_GCC3OMF_CXXFLAGS.release ?= -O2
    66 TOOL_GCC3OMF_CXXINCS          ?=
    67 TOOL_GCC3OMF_CXXDEFS          ?=
    68 
    69 TOOL_GCC3OMF_ASFLAGS          ?= -x assembler-with-cpp
    70 TOOL_GCC3OMF_ASFLAGS.debug    ?= -g
    71 TOOL_GCC3OMF_ASFLAGS.profile  ?= -g
    72 TOOL_GCC3OMF_ASOBJSUFF        ?= .obj
    73 
    74 TOOL_GCC3OMF_ARFLAGS          ?= cr
    75 TOOL_GCC3OMF_ARLIBSUFF        ?= .lib
    76 
    77 TOOL_GCC3OMF_LDFLAGS          ?= -Zomf
    78 TOOL_GCC3OMF_LDFLAGS.debug    ?= -g
    79 TOOL_GCC3OMF_LDFLAGS.profile  ?= -g
     52TOOL_GXX3OMF_COBJSUFF         ?= .o
     53TOOL_GXX3OMF_CFLAGS           ?= -Zomf
     54TOOL_GXX3OMF_CFLAGS.debug     ?= -g
     55TOOL_GXX3OMF_CFLAGS.profile   ?= -g -O2 #-pg
     56TOOL_GXX3OMF_CFLAGS.release   ?= -O2
     57TOOL_GXX3OMF_CINCS            ?=
     58TOOL_GXX3OMF_CDEFS            ?=
     59
     60TOOL_GXX3OMF_CXXOBJSUFF       ?= .o
     61TOOL_GXX3OMF_CXXOBJSUFF       ?= .o
     62TOOL_GXX3OMF_CXXFLAGS         ?= -Zomf
     63TOOL_GXX3OMF_CXXFLAGS.debug   ?= -g
     64TOOL_GXX3OMF_CXXFLAGS.profile ?= -g -O2 #-pg
     65TOOL_GXX3OMF_CXXFLAGS.release ?= -O2
     66TOOL_GXX3OMF_CXXINCS          ?=
     67TOOL_GXX3OMF_CXXDEFS          ?=
     68
     69TOOL_GXX3OMF_ASFLAGS          ?= -x assembler-with-cpp
     70TOOL_GXX3OMF_ASFLAGS.debug    ?= -g
     71TOOL_GXX3OMF_ASFLAGS.profile  ?= -g
     72TOOL_GXX3OMF_ASOBJSUFF        ?= .obj
     73
     74TOOL_GXX3OMF_ARFLAGS          ?= cr
     75TOOL_GXX3OMF_ARLIBSUFF        ?= .lib
     76
     77TOOL_GXX3OMF_LDFLAGS          ?= -Zomf
     78TOOL_GXX3OMF_LDFLAGS.debug    ?= -g
     79TOOL_GXX3OMF_LDFLAGS.profile  ?= -g
    8080
    8181
     
    9393# @param    $(outbase)  Output basename (full). Use this for list files and such.
    9494# @param    $(objsuff)  Object suffix.
    95 TOOL_GCC3OMF_COMPILE_C_OUTPUT =
    96 TOOL_GCC3OMF_COMPILE_C_DEPEND =
    97 TOOL_GCC3OMF_COMPILE_C_DEPORD =
    98 define TOOL_GCC3OMF_COMPILE_C_CMDS
    99         $(QUIET)$(TOOL_GCC3OMF_CC) -c\
     95TOOL_GXX3OMF_COMPILE_C_OUTPUT =
     96TOOL_GXX3OMF_COMPILE_C_DEPEND =
     97TOOL_GXX3OMF_COMPILE_C_DEPORD =
     98define TOOL_GXX3OMF_COMPILE_C_CMDS
     99        $(QUIET)$(TOOL_GXX3OMF_CC) -c\
    100100                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    101101                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP \
     
    118118# @param    $(outbase)  Output basename (full). Use this for list files and such.
    119119# @param    $(objsuff)  Object suffix.
    120 TOOL_GCC3OMF_COMPILE_CXX_OUTPUT =
    121 TOOL_GCC3OMF_COMPILE_CXX_DEPEND =
    122 TOOL_GCC3OMF_COMPILE_CXX_DEPORD =
    123 define TOOL_GCC3OMF_COMPILE_CXX_CMDS
    124         $(QUIET)$(TOOL_GCC3OMF_CXX) -c\
     120TOOL_GXX3OMF_COMPILE_CXX_OUTPUT =
     121TOOL_GXX3OMF_COMPILE_CXX_DEPEND =
     122TOOL_GXX3OMF_COMPILE_CXX_DEPORD =
     123define TOOL_GXX3OMF_COMPILE_CXX_CMDS
     124        $(QUIET)$(TOOL_GXX3OMF_CXX) -c\
    125125                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    126126                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP \
     
    143143# @param    $(objsuff)  Object suffix.
    144144#
    145 TOOL_GCC3OMF_COMPILE_AS_OUTPUT =
    146 TOOL_GCC3OMF_COMPILE_AS_DEPEND =
    147 TOOL_GCC3OMF_COMPILE_AS_DEPORD =
    148 define TOOL_GCC3OMF_COMPILE_AS_CMDS
    149         $(QUIET)$(TOOL_GCC3OMF_AS) -c\
     145TOOL_GXX3OMF_COMPILE_AS_OUTPUT =
     146TOOL_GXX3OMF_COMPILE_AS_DEPEND =
     147TOOL_GXX3OMF_COMPILE_AS_DEPORD =
     148define TOOL_GXX3OMF_COMPILE_AS_CMDS
     149        $(QUIET)$(TOOL_GXX3OMF_AS) -c\
    150150                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    151151                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    165165#
    166166# @param    $(outbase)  Output basename (full). Use this for list files and such.
    167 TOOL_GCC3OMF_LINK_LIBRARY_OUTPUT = $(outbase).rsp
    168 TOOL_GCC3OMF_LINK_LIBRARY_DEPEND = $(othersrc)
    169 TOOL_GCC3OMF_LINK_LIBRARY_DEPORD =
    170 define TOOL_GCC3OMF_LINK_LIBRARY_CMDS
     167TOOL_GXX3OMF_LINK_LIBRARY_OUTPUT = $(outbase).rsp
     168TOOL_GXX3OMF_LINK_LIBRARY_DEPEND = $(othersrc)
     169TOOL_GXX3OMF_LINK_LIBRARY_DEPORD =
     170define TOOL_GXX3OMF_LINK_LIBRARY_CMDS
    171171        $(if $(filter %.def %.imp,$(othersrc))\
    172172                ,$(QUIET)$(APPEND) -n $(outbase).rsp $(filter %.def %.imp,$(othersrc))\
    173                  $(NL)$(TAB)$(QUIET)$(QUIET)$(TOOL_GCC3OMF_AR_IMP) -o $(out) @$(outbase).rsp\
     173                 $(NL)$(TAB)$(QUIET)$(QUIET)$(TOOL_GXX3OMF_AR_IMP) -o $(out) @$(outbase).rsp\
    174174                 $(NL)$(TAB)$(QUIET)$(RM) -f $(outbase).rsp)
    175175        $(QUIET)$(APPEND) -n $(outbase).rsp $(flags) $(out) $(objs) $(filter-out %.def %.imp,$(othersrc))
    176         $(TOOL_GCC3OMF_AR) @$(outbase).rsp
     176        $(TOOL_GXX3OMF_AR) @$(outbase).rsp
    177177endef
    178178
     
    192192#
    193193# @param    $(outbase)  Output basename (full). Use this for list files and such.
    194 TOOL_GCC3OMF_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
    195 TOOL_GCC3OMF_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    196 TOOL_GCC3OMF_LINK_PROGRAM_DEPORD =
    197 define TOOL_GCC3OMF_LINK_PROGRAM_CMDS
     194TOOL_GXX3OMF_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
     195TOOL_GXX3OMF_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     196TOOL_GXX3OMF_LINK_PROGRAM_DEPORD =
     197define TOOL_GXX3OMF_LINK_PROGRAM_CMDS
    198198        $(QUIET)$(APPEND) -n $(outbase).rsp\
    199199                $(flags)\
     
    204204                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
    205205                -Zmap=$(outbase).map
    206         $(QUIET)$(TOOL_GCC3OMF_LD) @$(outbase).rsp
     206        $(QUIET)$(TOOL_GXX3OMF_LD) @$(outbase).rsp
    207207endef
    208208
     
    222222#
    223223# @param    $(outbase)  Output basename (full). Use this for list files and such.
    224 TOOL_GCC3OMF_LINK_DLL_OUTPUT = $(outbase).map $(outbase).rsp
    225 TOOL_GCC3OMF_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    226 TOOL_GCC3OMF_LINK_DLL_DEPORD =
    227 define TOOL_GCC3OMF_LINK_DLL_CMDS
     224TOOL_GXX3OMF_LINK_DLL_OUTPUT = $(outbase).map $(outbase).rsp
     225TOOL_GXX3OMF_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     226TOOL_GXX3OMF_LINK_DLL_DEPORD =
     227define TOOL_GXX3OMF_LINK_DLL_CMDS
    228228        $(QUIET)$(APPEND) -n $(outbase).rsp\
    229                 $(TOOL_GCC3OMF_LDFLAGS.dll)\
     229                $(TOOL_GXX3OMF_LDFLAGS.dll)\
    230230                $(flags)\
    231231                -o $(out)\
     
    235235                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
    236236                -Zmap=$(outbase).map
    237         $(TOOL_GCC3OMF_LD) @$(outbase).rsp
     237        $(TOOL_GXX3OMF_LD) @$(outbase).rsp
    238238endef
    239239
     
    253253#
    254254# @param    $(outbase)  Output basename (full). Use this for list files and such.
    255 TOOL_GCC3OMF_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
    256 TOOL_GCC3OMF_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    257 TOOL_GCC3OMF_LINK_SYSMOD_DEPORD =
    258 define TOOL_GCC3OMF_LINK_SYSMOD_CMDS
     255TOOL_GXX3OMF_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
     256TOOL_GXX3OMF_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     257TOOL_GXX3OMF_LINK_SYSMOD_DEPORD =
     258define TOOL_GXX3OMF_LINK_SYSMOD_CMDS
    259259        $(QUIET)$(APPEND) -n $(outbase).rsp\
    260                 $(TOOL_GCC3OMF_LDFLAGS.sysmod)\
     260                $(TOOL_GXX3OMF_LDFLAGS.sysmod)\
    261261                $(flags)\
    262262                -o $(out)\
     
    266266                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
    267267                -Zmap=$(outbase).map
    268         $(QUIET)$(TOOL_GCC3OMF_LD_SYSMOD) @$(outbase).rsp
    269 endef
    270 
     268        $(QUIET)$(TOOL_GXX3OMF_LD_SYSMOD) @$(outbase).rsp
     269endef
     270
Note: See TracChangeset for help on using the changeset viewer.