Changeset 1064


Ignore:
Timestamp:
Jul 10, 2007, 5:06:17 PM (18 years ago)
Author:
bird
Message:

64-bit variations on the GXX32/GCC32 tools.

Location:
trunk/kBuild/tools
Files:
2 copied

Legend:

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

    r1062 r1064  
    22## @file
    33#
    4 # kBuild Tool Config - Generic 32-bit GCC v3.2.x or later Using The System GCC.
     4# kBuild Tool Config - Generic 64-bit GCC v3.2.x or later Using The System GCC.
    55#
    66# Copyright (c) 2004-2007 knut st. osmundsen <bird-kBuild-spam@anduin.net>
     
    2525#
    2626
    27 TOOL_GCC32 := Generic 32-bit GCC v3.2.x or later Using The System GCC. \
     27TOOL_GCC64 := Generic 64-bit GCC v3.2.x or later Using The System GCC. \
    2828        More or less Linux/ELF specfic.
    2929
    3030# Tool Specific Properties
    31 TOOL_GCC32_CC  ?= gcc$(HOSTSUFF_EXE) -m32
    32 TOOL_GCC32_CXX ?= g++$(HOSTSUFF_EXE) -m32
    33 TOOL_GCC32_AS  ?= gcc$(HOSTSUFF_EXE) -m32
    34 TOOL_GCC32_AR  ?= ar$(HOSTSUFF_EXE)
    35 TOOL_GCC32_LD  ?= gcc$(HOSTSUFF_EXE) -m32
    36 TOOL_GCC32_LD_SYSMOD ?= ld$(HOSTSUFF_EXE)
    37 ifndef TOOL_GCC32_LDFLAGS.$(BUILD_TARGET)
    38 TOOL_GCC32_LDFLAGS.dll ?= -shared
     31TOOL_GCC64_CC  ?= gcc$(HOSTSUFF_EXE) -m64
     32TOOL_GCC64_CXX ?= g++$(HOSTSUFF_EXE) -m64
     33TOOL_GCC64_AS  ?= gcc$(HOSTSUFF_EXE) -m64
     34TOOL_GCC64_AR  ?= ar$(HOSTSUFF_EXE)
     35TOOL_GCC64_LD  ?= gcc$(HOSTSUFF_EXE) -m64
     36TOOL_GCC64_LD_SYSMOD ?= ld$(HOSTSUFF_EXE)
     37ifndef TOOL_GCC64_LDFLAGS.$(BUILD_TARGET)
     38TOOL_GCC64_LDFLAGS.dll ?= -shared
    3939else
    40 TOOL_GCC32_LDFLAGS.dll ?= $(TOOL_GCC32_LDFLAGS.$(BUILD_TARGET))
    41 endif
    42 TOOL_GCC32_LDFLAGS.sysmod ?= -r -m elf_i386
    43 TOOL_GCC32_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
     40TOOL_GCC64_LDFLAGS.dll ?= $(TOOL_GCC64_LDFLAGS.$(BUILD_TARGET))
     41endif
     42TOOL_GCC64_LDFLAGS.sysmod ?= -r -m elf_x86_64
     43TOOL_GCC64_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
    4444ifeq ($(BUILD_TARGET),os2)
    45 TOOL_GCC32_LD_MAP ?= -Zmap=$(1)
     45TOOL_GCC64_LD_MAP ?= -Zmap=$(1)
    4646else
    47 TOOL_GCC32_LD_MAP ?= -Wl,-Map -Wl,$(1) -Wl,--cref
     47TOOL_GCC64_LD_MAP ?= -Wl,-Map -Wl,$(1) -Wl,--cref
    4848endif
    4949ifeq ($(BUILD_TARGET),os2)
    50 TOOL_GCC32_LD_SYSMOD_MAP ?= -Zmap=$(1)
     50TOOL_GCC64_LD_SYSMOD_MAP ?= -Zmap=$(1)
    5151else
    52 TOOL_GCC32_LD_SYSMOD_MAP ?= -Map $(1) --cref
     52TOOL_GCC64_LD_SYSMOD_MAP ?= -Map $(1) --cref
    5353endif
    5454ifdef SLKRUNS
    55 TOOL_GCC32_CC  += -fmessage-length=0
    56 TOOL_GCC32_CXX += -fmessage-length=0
     55TOOL_GCC64_CC  += -fmessage-length=0
     56TOOL_GCC64_CXX += -fmessage-length=0
    5757endif
    5858
    5959# General Properties used by kBuild
    60 TOOL_GCC32_COBJSUFF         ?= .o
    61 TOOL_GCC32_CFLAGS           ?=
    62 TOOL_GCC32_CFLAGS.debug     ?= -g
    63 TOOL_GCC32_CFLAGS.profile   ?= -O2 #-g -pg
    64 TOOL_GCC32_CFLAGS.release   ?= -O2
    65 TOOL_GCC32_CINCS            ?=
    66 TOOL_GCC32_CDEFS            ?=
    67 
    68 TOOL_GCC32_CXXOBJSUFF       ?= .o
    69 TOOL_GCC32_CXXOBJSUFF       ?= .o
    70 TOOL_GCC32_CXXFLAGS         ?=
    71 TOOL_GCC32_CXXFLAGS.debug   ?= -g
    72 TOOL_GCC32_CXXFLAGS.profile ?= -O2 #-g -pg
    73 TOOL_GCC32_CXXFLAGS.release ?= -O2
    74 TOOL_GCC32_CXXINCS          ?=
    75 TOOL_GCC32_CXXDEFS          ?=
    76 
    77 TOOL_GCC32_ASFLAGS          ?= -x assembler-with-cpp
    78 TOOL_GCC32_ASFLAGS.debug    ?= -g
    79 TOOL_GCC32_ASFLAGS.profile  ?= -g
    80 TOOL_GCC32_ASOBJSUFF        ?= .o
    81 
    82 TOOL_GCC32_ARFLAGS          ?= cr
    83 TOOL_GCC32_ARLIBSUFF        ?= .a
    84 
    85 TOOL_GCC32_LDFLAGS          ?=
    86 TOOL_GCC32_LDFLAGS.debug    ?= -g
    87 TOOL_GCC32_LDFLAGS.profile  ?= -g
     60TOOL_GCC64_COBJSUFF         ?= .o
     61TOOL_GCC64_CFLAGS           ?=
     62TOOL_GCC64_CFLAGS.debug     ?= -g
     63TOOL_GCC64_CFLAGS.profile   ?= -O2 #-g -pg
     64TOOL_GCC64_CFLAGS.release   ?= -O2
     65TOOL_GCC64_CINCS            ?=
     66TOOL_GCC64_CDEFS            ?=
     67
     68TOOL_GCC64_CXXOBJSUFF       ?= .o
     69TOOL_GCC64_CXXOBJSUFF       ?= .o
     70TOOL_GCC64_CXXFLAGS         ?=
     71TOOL_GCC64_CXXFLAGS.debug   ?= -g
     72TOOL_GCC64_CXXFLAGS.profile ?= -O2 #-g -pg
     73TOOL_GCC64_CXXFLAGS.release ?= -O2
     74TOOL_GCC64_CXXINCS          ?=
     75TOOL_GCC64_CXXDEFS          ?=
     76
     77TOOL_GCC64_ASFLAGS          ?= -x assembler-with-cpp
     78TOOL_GCC64_ASFLAGS.debug    ?= -g
     79TOOL_GCC64_ASFLAGS.profile  ?= -g
     80TOOL_GCC64_ASOBJSUFF        ?= .o
     81
     82TOOL_GCC64_ARFLAGS          ?= cr
     83TOOL_GCC64_ARLIBSUFF        ?= .a
     84
     85TOOL_GCC64_LDFLAGS          ?=
     86TOOL_GCC64_LDFLAGS.debug    ?= -g
     87TOOL_GCC64_LDFLAGS.profile  ?= -g
    8888
    8989
     
    101101# @param    $(outbase)  Output basename (full). Use this for list files and such.
    102102# @param    $(objsuff)  Object suffix.
    103 TOOL_GCC32_COMPILE_C_DEPEND =
    104 TOOL_GCC32_COMPILE_C_DEPORD =
     103TOOL_GCC64_COMPILE_C_DEPEND =
     104TOOL_GCC64_COMPILE_C_DEPORD =
    105105ifdef USE_KOBJCACHE
    106 TOOL_GCC32_COMPILE_C_USES_KOBJCACHE = 1
    107 TOOL_GCC32_COMPILE_C_OUTPUT = $(outbase).i
    108 define TOOL_GCC32_COMPILE_C_CMDS
     106TOOL_GCC64_COMPILE_C_USES_KOBJCACHE = 1
     107TOOL_GCC64_COMPILE_C_OUTPUT = $(outbase).i
     108define TOOL_GCC64_COMPILE_C_CMDS
    109109        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    110110                --kObjCache-cpp $(outbase).i\
    111                 $(TOOL_GCC32_CC) -E -o -\
     111                $(TOOL_GCC64_CC) -E -o -\
    112112                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    113113                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    114114                $(abspath $(source))\
    115115                --kObjCache-cc $(obj)\
    116                 $(TOOL_GCC32_CC) -c\
     116                $(TOOL_GCC64_CC) -c\
    117117                $(flags) -fpreprocessed -x c\
    118118                -o $(obj)\
     
    120120endef
    121121else # !USE_KOBJCACHE
    122 TOOL_GCC32_COMPILE_C_OUTPUT =
    123 define TOOL_GCC32_COMPILE_C_CMDS
    124         $(QUIET)$(TOOL_GCC32_CC) -c\
     122TOOL_GCC64_COMPILE_C_OUTPUT =
     123define TOOL_GCC64_COMPILE_C_CMDS
     124        $(QUIET)$(TOOL_GCC64_CC) -c\
    125125                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    126126                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    143143# @param    $(outbase)  Output basename (full). Use this for list files and such.
    144144# @param    $(objsuff)  Object suffix.
    145 TOOL_GCC32_COMPILE_CXX_DEPEND =
    146 TOOL_GCC32_COMPILE_CXX_DEPORD =
     145TOOL_GCC64_COMPILE_CXX_DEPEND =
     146TOOL_GCC64_COMPILE_CXX_DEPORD =
    147147ifdef USE_KOBJCACHE
    148 TOOL_GCC32_COMPILE_CXX_USES_KOBJCACHE = 1
    149 TOOL_GCC32_COMPILE_CXX_OUTPUT = $(outbase).ii
    150 define TOOL_GCC32_COMPILE_CXX_CMDS
     148TOOL_GCC64_COMPILE_CXX_USES_KOBJCACHE = 1
     149TOOL_GCC64_COMPILE_CXX_OUTPUT = $(outbase).ii
     150define TOOL_GCC64_COMPILE_CXX_CMDS
    151151        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    152152                --kObjCache-cpp $(outbase).ii\
    153                 $(TOOL_GCC32_CXX) -E -o -\
     153                $(TOOL_GCC64_CXX) -E -o -\
    154154                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    155155                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    156156                $(abspath $(source))\
    157157                --kObjCache-cc $(obj)\
    158                 $(TOOL_GCC32_CXX) -c\
     158                $(TOOL_GCC64_CXX) -c\
    159159                $(flags) -fpreprocessed -x c++\
    160160                -o $(obj)\
     
    163163else # !USE_KOBJCACHE
    164164
    165 TOOL_GCC32_COMPILE_CXX_OUTPUT =
    166 define TOOL_GCC32_COMPILE_CXX_CMDS
    167         $(QUIET)$(TOOL_GCC32_CXX) -c\
     165TOOL_GCC64_COMPILE_CXX_OUTPUT =
     166define TOOL_GCC64_COMPILE_CXX_CMDS
     167        $(QUIET)$(TOOL_GCC64_CXX) -c\
    168168                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    169169                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    187187# @param    $(objsuff)  Object suffix.
    188188#
    189 TOOL_GCC32_COMPILE_AS_OUTPUT =
    190 TOOL_GCC32_COMPILE_AS_DEPEND =
    191 TOOL_GCC32_COMPILE_AS_DEPORD =
    192 define TOOL_GCC32_COMPILE_AS_CMDS
    193         $(QUIET)$(TOOL_GCC32_AS) -c\
     189TOOL_GCC64_COMPILE_AS_OUTPUT =
     190TOOL_GCC64_COMPILE_AS_DEPEND =
     191TOOL_GCC64_COMPILE_AS_DEPORD =
     192define TOOL_GCC64_COMPILE_AS_CMDS
     193        $(QUIET)$(TOOL_GCC64_AS) -c\
    194194                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    195195                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    208208# @param    $(othersrc) Unhandled sources.
    209209# @param    $(outbase)  Output basename (full). Use this for list files and such.
    210 TOOL_GCC32_LINK_LIBRARY_OUTPUT = $(out).ar-script
    211 TOOL_GCC32_LINK_LIBRARY_DEPEND = $(othersrc)
    212 TOOL_GCC32_LINK_LIBRARY_DEPORD =
    213 define TOOL_GCC32_LINK_LIBRARY_CMDS
     210TOOL_GCC64_LINK_LIBRARY_OUTPUT = $(out).ar-script
     211TOOL_GCC64_LINK_LIBRARY_DEPEND = $(othersrc)
     212TOOL_GCC64_LINK_LIBRARY_DEPORD =
     213define TOOL_GCC64_LINK_LIBRARY_CMDS
    214214        $(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)'
    215215        $(QUIET)$(APPEND) -n $(out).ar-script \
     
    218218        $(QUIET)$(APPEND) $(out).ar-script 'SAVE'
    219219        $(QUIET)$(APPEND) $(out).ar-script 'END'
    220         $(QUIET)$(TOOL_GCC32_AR) -M < $(out).ar-script
     220        $(QUIET)$(TOOL_GCC64_AR) -M < $(out).ar-script
    221221endef
    222222
     
    235235# @param    $(custom_post)  Custom step invoked after linking.
    236236# @param    $(outbase)  Output basename (full). Use this for list files and such.
    237 TOOL_GCC32_LINK_PROGRAM_OUTPUT =
    238 TOOL_GCC32_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map
    239 TOOL_GCC32_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    240 TOOL_GCC32_LINK_PROGRAM_DEPORD =
    241 define TOOL_GCC32_LINK_PROGRAM_CMDS
    242         $(QUIET)$(TOOL_GCC32_LD) $(flags) -o $(out) $(objs)\
     237TOOL_GCC64_LINK_PROGRAM_OUTPUT =
     238TOOL_GCC64_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map
     239TOOL_GCC64_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     240TOOL_GCC64_LINK_PROGRAM_DEPORD =
     241define TOOL_GCC64_LINK_PROGRAM_CMDS
     242        $(QUIET)$(TOOL_GCC64_LD) $(flags) -o $(out) $(objs)\
    243243                $(foreach p,$(libpath), -L$(p))\
    244244                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
    245                 $(call TOOL_GCC32_LD_MAP,$(outbase).map)
     245                $(call TOOL_GCC64_LD_MAP,$(outbase).map)
    246246endef
    247247
     
    260260# @param    $(custom_post)  Custom step invoked after linking.
    261261# @param    $(outbase)  Output basename (full). Use this for list files and such.
    262 TOOL_GCC32_LINK_DLL_OUTPUT =
    263 TOOL_GCC32_LINK_DLL_OUTPUT_MAYBE = $(outbase).map
    264 TOOL_GCC32_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    265 TOOL_GCC32_LINK_DLL_DEPORD =
    266 define TOOL_GCC32_LINK_DLL_CMDS
    267         $(QUIET)$(TOOL_GCC32_LD) $(TOOL_GCC32_LDFLAGS.dll) $(flags) -o $(out)\
    268                 $(if $(filter-out win32 os2, $(BUILD_TARGET)),$(call TOOL_GCC32_LD_SONAME,$(target),$(out)))\
     262TOOL_GCC64_LINK_DLL_OUTPUT =
     263TOOL_GCC64_LINK_DLL_OUTPUT_MAYBE = $(outbase).map
     264TOOL_GCC64_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     265TOOL_GCC64_LINK_DLL_DEPORD =
     266define TOOL_GCC64_LINK_DLL_CMDS
     267        $(QUIET)$(TOOL_GCC64_LD) $(TOOL_GCC64_LDFLAGS.dll) $(flags) -o $(out)\
     268                $(if $(filter-out win os2, $(BUILD_TARGET)),$(call TOOL_GCC64_LD_SONAME,$(target),$(out)))\
    269269                $(objs)\
    270270                $(foreach p,$(libpath), -L$(p))\
    271271                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
    272                 $(call TOOL_GCC32_LD_MAP,$(outbase).map)
     272                $(call TOOL_GCC64_LD_MAP,$(outbase).map)
    273273endef
    274274
     
    287287# @param    $(custom_post)  Custom step invoked after linking.
    288288# @param    $(outbase)  Output basename (full). Use this for list files and such.
    289 TOOL_GCC32_LINK_SYSMOD_OUTPUT =
    290 TOOL_GCC32_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map
    291 TOOL_GCC32_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    292 TOOL_GCC32_LINK_SYSMOD_DEPORD =
    293 define TOOL_GCC32_LINK_SYSMOD_CMDS
    294         $(QUIET)$(TOOL_GCC32_LD_SYSMOD) $(TOOL_GCC32_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\
     289TOOL_GCC64_LINK_SYSMOD_OUTPUT =
     290TOOL_GCC64_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map
     291TOOL_GCC64_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     292TOOL_GCC64_LINK_SYSMOD_DEPORD =
     293define TOOL_GCC64_LINK_SYSMOD_CMDS
     294        $(QUIET)$(TOOL_GCC64_LD_SYSMOD) $(TOOL_GCC64_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\
    295295                $(foreach p,$(libpath), -L$(p))\
    296296                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
    297                 $(call TOOL_GCC32_LD_SYSMOD_MAP,$(outbase).map)
    298 endef
    299 
     297                $(call TOOL_GCC64_LD_SYSMOD_MAP,$(outbase).map)
     298endef
     299
  • trunk/kBuild/tools/GXX64.kmk

    r1062 r1064  
    22## @file
    33#
    4 # kBuild Tool Config - Generic 32-bit GCC v3.2.x or later using the system GCC, for building C++ code.
     4# kBuild Tool Config - Generic 64-bit GCC v3.2.x or later using the system GCC, for building C++ code.
    55#
    66# Copyright (c) 2004-2007 knut st. osmundsen <bird-kBuild-spam@anduin.net>
     
    2525#
    2626
    27 TOOL_GXX32 := Generic 32-bit GCC v3.2.x or later using the system GCC, for building C++ code. \
     27TOOL_GXX64 := Generic 64-bit GCC v3.2.x or later using the system GCC, for building C++ code. \
    2828        More or less Linux/ELF specfic.
    2929
    3030# Tool Specific Properties
    31 TOOL_GXX32_CC  ?= gcc$(HOSTSUFF_EXE) -m32
    32 TOOL_GXX32_CXX ?= g++$(HOSTSUFF_EXE) -m32
    33 TOOL_GXX32_AS  ?= gcc$(HOSTSUFF_EXE) -m32
    34 TOOL_GXX32_AR  ?= ar$(HOSTSUFF_EXE)
    35 TOOL_GXX32_LD  ?= g++$(HOSTSUFF_EXE) -m32
    36 TOOL_GXX32_LD_SYSMOD ?= ld$(HOSTSUFF_EXE)
    37 ifndef TOOL_GXX32_LDFLAGS.$(BUILD_TARGET)
    38 TOOL_GXX32_LDFLAGS.dll ?= -shared
     31TOOL_GXX64_CC  ?= gcc$(HOSTSUFF_EXE) -m64
     32TOOL_GXX64_CXX ?= g++$(HOSTSUFF_EXE) -m64
     33TOOL_GXX64_AS  ?= gcc$(HOSTSUFF_EXE) -m64
     34TOOL_GXX64_AR  ?= ar$(HOSTSUFF_EXE)
     35TOOL_GXX64_LD  ?= g++$(HOSTSUFF_EXE) -m64
     36TOOL_GXX64_LD_SYSMOD ?= ld$(HOSTSUFF_EXE)
     37ifndef TOOL_GXX64_LDFLAGS.$(BUILD_TARGET)
     38TOOL_GXX64_LDFLAGS.dll ?= -shared
    3939else
    40 TOOL_GXX32_LDFLAGS.dll ?= $(TOOL_GXX32_LDFLAGS.$(BUILD_TARGET))
    41 endif
    42 TOOL_GXX32_LDFLAGS.sysmod ?= -r -m elf_i386
    43 TOOL_GXX32_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
     40TOOL_GXX64_LDFLAGS.dll ?= $(TOOL_GXX64_LDFLAGS.$(BUILD_TARGET))
     41endif
     42TOOL_GXX64_LDFLAGS.sysmod ?= -r -m elf_x86_64
     43TOOL_GXX64_LD_SONAME ?= -Wl,-soname=$(firstword $($(1)_SONAME.$(BUILD_TARGET).$(BUILD_TYPE)) $($(1)_SONAME.$(BUILD_TARGET)) $($(1)_SONAME.$(BUILD_TYPE)) $($(1)_SONAME) $(notdir $(2)))
    4444ifeq ($(BUILD_TARGET),os2)
    45 TOOL_GXX32_LD_MAP ?= -Zmap=$(1)
     45TOOL_GXX64_LD_MAP ?= -Zmap=$(1)
    4646else
    47 TOOL_GXX32_LD_MAP ?= -Wl,-Map -Wl,$(1) -Wl,--cref
     47TOOL_GXX64_LD_MAP ?= -Wl,-Map -Wl,$(1) -Wl,--cref
    4848endif
    4949ifeq ($(BUILD_TARGET),os2)
    50 TOOL_GXX32_LD_SYSMOD_MAP ?= -Zmap=$(1)
     50TOOL_GXX64_LD_SYSMOD_MAP ?= -Zmap=$(1)
    5151else
    52 TOOL_GXX32_LD_SYSMOD_MAP ?= -Map $(1) --cref
     52TOOL_GXX64_LD_SYSMOD_MAP ?= -Map $(1) --cref
    5353endif
    5454ifdef SLKRUNS
    55 TOOL_GXX32_CC  += -fmessage-length=0
    56 TOOL_GXX32_CXX += -fmessage-length=0
     55TOOL_GXX64_CC  += -fmessage-length=0
     56TOOL_GXX64_CXX += -fmessage-length=0
    5757endif
    5858
    5959# General Properties used by kBuild
    60 TOOL_GXX32_COBJSUFF         ?= .o
    61 TOOL_GXX32_CFLAGS           ?=
    62 TOOL_GXX32_CFLAGS.debug     ?= -g
    63 TOOL_GXX32_CFLAGS.profile   ?= -O2 #-g -pg
    64 TOOL_GXX32_CFLAGS.release   ?= -O2
    65 TOOL_GXX32_CINCS            ?=
    66 TOOL_GXX32_CDEFS            ?=
    67 
    68 TOOL_GXX32_CXXOBJSUFF       ?= .o
    69 TOOL_GXX32_CXXOBJSUFF       ?= .o
    70 TOOL_GXX32_CXXFLAGS         ?=
    71 TOOL_GXX32_CXXFLAGS.debug   ?= -g
    72 TOOL_GXX32_CXXFLAGS.profile ?= -O2 #-g -pg
    73 TOOL_GXX32_CXXFLAGS.release ?= -O2
    74 TOOL_GXX32_CXXINCS          ?=
    75 TOOL_GXX32_CXXDEFS          ?=
    76 
    77 TOOL_GXX32_ASFLAGS          ?= -x assembler-with-cpp
    78 TOOL_GXX32_ASFLAGS.debug    ?= -g
    79 TOOL_GXX32_ASFLAGS.profile  ?= -g
    80 TOOL_GXX32_ASOBJSUFF        ?= .o
    81 
    82 TOOL_GXX32_ARFLAGS          ?= cr
    83 TOOL_GXX32_ARLIBSUFF        ?= .a
    84 
    85 TOOL_GXX32_LDFLAGS          ?=
    86 TOOL_GXX32_LDFLAGS.debug    ?= -g
    87 TOOL_GXX32_LDFLAGS.profile  ?= -g
     60TOOL_GXX64_COBJSUFF         ?= .o
     61TOOL_GXX64_CFLAGS           ?=
     62TOOL_GXX64_CFLAGS.debug     ?= -g
     63TOOL_GXX64_CFLAGS.profile   ?= -O2 #-g -pg
     64TOOL_GXX64_CFLAGS.release   ?= -O2
     65TOOL_GXX64_CINCS            ?=
     66TOOL_GXX64_CDEFS            ?=
     67
     68TOOL_GXX64_CXXOBJSUFF       ?= .o
     69TOOL_GXX64_CXXOBJSUFF       ?= .o
     70TOOL_GXX64_CXXFLAGS         ?=
     71TOOL_GXX64_CXXFLAGS.debug   ?= -g
     72TOOL_GXX64_CXXFLAGS.profile ?= -O2 #-g -pg
     73TOOL_GXX64_CXXFLAGS.release ?= -O2
     74TOOL_GXX64_CXXINCS          ?=
     75TOOL_GXX64_CXXDEFS          ?=
     76
     77TOOL_GXX64_ASFLAGS          ?= -x assembler-with-cpp
     78TOOL_GXX64_ASFLAGS.debug    ?= -g
     79TOOL_GXX64_ASFLAGS.profile  ?= -g
     80TOOL_GXX64_ASOBJSUFF        ?= .o
     81
     82TOOL_GXX64_ARFLAGS          ?= cr
     83TOOL_GXX64_ARLIBSUFF        ?= .a
     84
     85TOOL_GXX64_LDFLAGS          ?=
     86TOOL_GXX64_LDFLAGS.debug    ?= -g
     87TOOL_GXX64_LDFLAGS.profile  ?= -g
    8888
    8989
     
    101101# @param    $(outbase)  Output basename (full). Use this for list files and such.
    102102# @param    $(objsuff)  Object suffix.
    103 TOOL_GXX32_COMPILE_C_DEPEND =
    104 TOOL_GXX32_COMPILE_C_DEPORD =
     103TOOL_GXX64_COMPILE_C_DEPEND =
     104TOOL_GXX64_COMPILE_C_DEPORD =
    105105ifdef USE_KOBJCACHE
    106 TOOL_GXX32_COMPILE_C_USES_KOBJCACHE = 1
    107 TOOL_GXX32_COMPILE_C_OUTPUT = $(outbase).i
    108 define TOOL_GXX32_COMPILE_C_CMDS
     106TOOL_GXX64_COMPILE_C_USES_KOBJCACHE = 1
     107TOOL_GXX64_COMPILE_C_OUTPUT = $(outbase).i
     108define TOOL_GXX64_COMPILE_C_CMDS
    109109        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    110110                --kObjCache-cpp $(outbase).i\
    111                 $(TOOL_GXX32_CC) -E -o -\
     111                $(TOOL_GXX64_CC) -E -o -\
    112112                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    113113                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    114114                $(abspath $(source))\
    115115                --kObjCache-cc $(obj)\
    116                 $(TOOL_GXX32_CC) -c\
     116                $(TOOL_GXX64_CC) -c\
    117117                $(flags) -fpreprocessed -x c\
    118118                -o $(obj)\
     
    120120endef
    121121else # !USE_KOBJCACHE
    122 TOOL_GXX32_COMPILE_C_OUTPUT =
    123 define TOOL_GXX32_COMPILE_C_CMDS
    124         $(QUIET)$(TOOL_GXX32_CC) -c\
     122TOOL_GXX64_COMPILE_C_OUTPUT =
     123define TOOL_GXX64_COMPILE_C_CMDS
     124        $(QUIET)$(TOOL_GXX64_CC) -c\
    125125                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    126126                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    143143# @param    $(outbase)  Output basename (full). Use this for list files and such.
    144144# @param    $(objsuff)  Object suffix.
    145 TOOL_GXX32_COMPILE_CXX_DEPEND =
    146 TOOL_GXX32_COMPILE_CXX_DEPORD =
     145TOOL_GXX64_COMPILE_CXX_DEPEND =
     146TOOL_GXX64_COMPILE_CXX_DEPORD =
    147147ifdef USE_KOBJCACHE
    148 TOOL_GXX32_COMPILE_CXX_USES_KOBJCACHE = 1
    149 TOOL_GXX32_COMPILE_CXX_OUTPUT = $(outbase).ii
    150 define TOOL_GXX32_COMPILE_CXX_CMDS
     148TOOL_GXX64_COMPILE_CXX_USES_KOBJCACHE = 1
     149TOOL_GXX64_COMPILE_CXX_OUTPUT = $(outbase).ii
     150define TOOL_GXX64_COMPILE_CXX_CMDS
    151151        $(QUIET)$(KOBJCACHE) -f $(outbase).koc -d $(PATH_OBJCACHE) -t $(bld_trg).$(bld_trg_arch) -p\
    152152                --kObjCache-cpp $(outbase).ii\
    153                 $(TOOL_GXX32_CXX) -E -o -\
     153                $(TOOL_GXX64_CXX) -E -o -\
    154154                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    155155                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
    156156                $(abspath $(source))\
    157157                --kObjCache-cc $(obj)\
    158                 $(TOOL_GXX32_CXX) -c\
     158                $(TOOL_GXX64_CXX) -c\
    159159                $(flags) -fpreprocessed -x c++\
    160160                -o $(obj)\
     
    162162endef
    163163else # !USE_KOBJCACHE
    164 TOOL_GXX32_COMPILE_CXX_OUTPUT =
    165 define TOOL_GXX32_COMPILE_CXX_CMDS
    166         $(QUIET)$(TOOL_GXX32_CXX) -c\
     164TOOL_GXX64_COMPILE_CXX_OUTPUT =
     165define TOOL_GXX64_COMPILE_CXX_CMDS
     166        $(QUIET)$(TOOL_GXX64_CXX) -c\
    167167                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    168168                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    186186# @param    $(objsuff)  Object suffix.
    187187#
    188 TOOL_GXX32_COMPILE_AS_OUTPUT =
    189 TOOL_GXX32_COMPILE_AS_DEPEND =
    190 TOOL_GXX32_COMPILE_AS_DEPORD =
    191 define TOOL_GXX32_COMPILE_AS_CMDS
    192         $(QUIET)$(TOOL_GXX32_AS) -c\
     188TOOL_GXX64_COMPILE_AS_OUTPUT =
     189TOOL_GXX64_COMPILE_AS_DEPEND =
     190TOOL_GXX64_COMPILE_AS_DEPORD =
     191define TOOL_GXX64_COMPILE_AS_CMDS
     192        $(QUIET)$(TOOL_GXX64_AS) -c\
    193193                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    194194                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP\
     
    207207# @param    $(othersrc) Unhandled sources.
    208208# @param    $(outbase)  Output basename (full). Use this for list files and such.
    209 TOOL_GXX32_LINK_LIBRARY_OUTPUT = $(out).ar-script
    210 TOOL_GXX32_LINK_LIBRARY_DEPEND = $(othersrc)
    211 TOOL_GXX32_LINK_LIBRARY_DEPORD =
     209TOOL_GXX64_LINK_LIBRARY_OUTPUT = $(out).ar-script
     210TOOL_GXX64_LINK_LIBRARY_DEPEND = $(othersrc)
     211TOOL_GXX64_LINK_LIBRARY_DEPORD =
    212212ifeq ($(filter append-dash-n,$(KMK_FEATURES)),append-dash-n)
    213 define TOOL_GXX32_LINK_LIBRARY_CMDS
     213define TOOL_GXX64_LINK_LIBRARY_CMDS
    214214        $(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)'
    215215        $(QUIET)$(APPEND) -n $(out).ar-script \
     
    218218        $(QUIET)$(APPEND) $(out).ar-script 'SAVE'
    219219        $(QUIET)$(APPEND) $(out).ar-script 'END'
    220         $(QUIET)$(TOOL_GXX32_AR) -M < $(out).ar-script
     220        $(QUIET)$(TOOL_GXX64_AR) -M < $(out).ar-script
    221221endef
    222222else
    223 define TOOL_GXX32_LINK_LIBRARY_CMDS
     223define TOOL_GXX64_LINK_LIBRARY_CMDS
    224224        $(QUIET)$(APPEND) $(out).ar-script "CREATE $(out)"
    225225        $(foreach o, $(objs)\
     
    229229        $(QUIET)$(APPEND) $(out).ar-script "SAVE"
    230230        $(QUIET)$(APPEND) $(out).ar-script "END"
    231         $(QUIET)$(TOOL_GXX32_AR) -M < $(out).ar-script
     231        $(QUIET)$(TOOL_GXX64_AR) -M < $(out).ar-script
    232232endef
    233233endif
     
    247247# @param    $(custom_post)  Custom step invoked after linking.
    248248# @param    $(outbase)  Output basename (full). Use this for list files and such.
    249 TOOL_GXX32_LINK_PROGRAM_OUTPUT =
    250 TOOL_GXX32_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map
    251 TOOL_GXX32_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    252 TOOL_GXX32_LINK_PROGRAM_DEPORD =
    253 define TOOL_GXX32_LINK_PROGRAM_CMDS
    254         $(QUIET)$(TOOL_GXX32_LD) $(flags) -o $(out) $(objs)\
     249TOOL_GXX64_LINK_PROGRAM_OUTPUT =
     250TOOL_GXX64_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map
     251TOOL_GXX64_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     252TOOL_GXX64_LINK_PROGRAM_DEPORD =
     253define TOOL_GXX64_LINK_PROGRAM_CMDS
     254        $(QUIET)$(TOOL_GXX64_LD) $(flags) -o $(out) $(objs)\
    255255                $(foreach p,$(libpath), -L$(p))\
    256256                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
    257                 $(call TOOL_GXX32_LD_MAP,$(outbase).map)
     257                $(call TOOL_GXX64_LD_MAP,$(outbase).map)
    258258endef
    259259
     
    272272# @param    $(custom_post)  Custom step invoked after linking.
    273273# @param    $(outbase)  Output basename (full). Use this for list files and such.
    274 TOOL_GXX32_LINK_DLL_OUTPUT =
    275 TOOL_GXX32_LINK_DLL_OUTPUT_MAYBE = $(outbase).map
    276 TOOL_GXX32_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    277 TOOL_GXX32_LINK_DLL_DEPORD =
    278 define TOOL_GXX32_LINK_DLL_CMDS
    279         $(QUIET)$(TOOL_GXX32_LD) $(TOOL_GXX32_LDFLAGS.dll) $(flags) -o $(out)\
    280                 $(if $(filter-out win32 os2, $(BUILD_TARGET)),$(call TOOL_GXX32_LD_SONAME,$(target),$(out)))\
     274TOOL_GXX64_LINK_DLL_OUTPUT =
     275TOOL_GXX64_LINK_DLL_OUTPUT_MAYBE = $(outbase).map
     276TOOL_GXX64_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     277TOOL_GXX64_LINK_DLL_DEPORD =
     278define TOOL_GXX64_LINK_DLL_CMDS
     279        $(QUIET)$(TOOL_GXX64_LD) $(TOOL_GXX64_LDFLAGS.dll) $(flags) -o $(out)\
     280                $(if $(filter-out win os2, $(BUILD_TARGET)),$(call TOOL_GXX64_LD_SONAME,$(target),$(out)))\
    281281                $(objs)\
    282282                $(foreach p,$(libpath), -L$(p))\
    283283                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
    284                 $(call TOOL_GXX32_LD_MAP,$(outbase).map)
     284                $(call TOOL_GXX64_LD_MAP,$(outbase).map)
    285285endef
    286286
     
    299299# @param    $(custom_post)  Custom step invoked after linking.
    300300# @param    $(outbase)  Output basename (full). Use this for list files and such.
    301 TOOL_GXX32_LINK_SYSMOD_OUTPUT =
    302 TOOL_GXX32_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map
    303 TOOL_GXX32_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
    304 TOOL_GXX32_LINK_SYSMOD_DEPORD =
    305 define TOOL_GXX32_LINK_SYSMOD_CMDS
    306         $(QUIET)$(TOOL_GXX32_LD_SYSMOD) $(TOOL_GXX32_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\
     301TOOL_GXX64_LINK_SYSMOD_OUTPUT =
     302TOOL_GXX64_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map
     303TOOL_GXX64_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))
     304TOOL_GXX64_LINK_SYSMOD_DEPORD =
     305define TOOL_GXX64_LINK_SYSMOD_CMDS
     306        $(QUIET)$(TOOL_GXX64_LD_SYSMOD) $(TOOL_GXX64_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\
    307307                $(foreach p,$(libpath), -L$(p))\
    308308                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
    309                 $(call TOOL_GXX32_LD_SYSMOD_MAP,$(outbase).map)
    310 endef
    311 
     309                $(call TOOL_GXX64_LD_SYSMOD_MAP,$(outbase).map)
     310endef
     311
Note: See TracChangeset for help on using the changeset viewer.