VirtualBox

Changeset 772 in kBuild


Ignore:
Timestamp:
Jan 19, 2007 5:00:33 AM (18 years ago)
Author:
bird
Message:

use append -n for creating the ar-script if available.

Location:
trunk/kBuild/tools
Files:
6 edited

Legend:

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

    r697 r772  
    6060# General Properties used by kBuild
    6161TOOL_GCC3_COBJSUFF         ?= .o
    62 TOOL_GCC3_CFLAGS           ?= 
     62TOOL_GCC3_CFLAGS           ?=
    6363TOOL_GCC3_CFLAGS.debug     ?= -g
    6464TOOL_GCC3_CFLAGS.profile   ?= -g -O2 #-pg
     
    6969TOOL_GCC3_CXXOBJSUFF       ?= .o
    7070TOOL_GCC3_CXXOBJSUFF       ?= .o
    71 TOOL_GCC3_CXXFLAGS         ?= 
     71TOOL_GCC3_CXXFLAGS         ?=
    7272TOOL_GCC3_CXXFLAGS.debug   ?= -g
    7373TOOL_GCC3_CXXFLAGS.profile ?= -g -O2 #-pg
     
    172172# @param    $(othersrc) Unhandled sources.
    173173# @param    $(outbase)  Output basename (full). Use this for list files and such.
    174 TOOL_GCC3_LINK_LIBRARY_OUTPUT = $(out).ar-script
    175 TOOL_GCC3_LINK_LIBRARY_DEPEND = $(filter %.a %.lib %.def %.imp,$(othersrc))
     174TOOL_GCC3_LINK_LIBRARY_OUTPUT = $(out).ar-script $(outbase).imp.a
     175TOOL_GCC3_LINK_LIBRARY_DEPEND = $(othersrc)
    176176TOOL_GCC3_LINK_LIBRARY_DEPORD =
     177ifeq ($(filter append-dash-n,$(KMK_FEATURES)),append-dash-n)
     178define TOOL_GCC3_LINK_LIBRARY_CMDS
     179        $(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)'
     180        $(QUIET)$(APPEND) -n $(out).ar-script \
     181                $(foreach o,$(objs), 'ADDMOD $(o)') \
     182                $(foreach o,$(filter-out %.def %.imp,$(othersrc)), 'ADDLIB $(o)')
     183        $(if $(filter %.def %.imp,$(othersrc))\
     184                ,$(TOOL_GCC3_AR_IMP) -o $(outbase).imp.a $(filter %.def %.imp,$(othersrc))\
     185                 $(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script 'ADDLIB $(outbase).imp.a')
     186        $(QUIET)$(APPEND) $(out).ar-script 'SAVE'
     187        $(QUIET)$(APPEND) $(out).ar-script 'END'
     188        $(QUIET)$(TOOL_GCC3_AR) -M < $(out).ar-script
     189endef
     190else
    177191define TOOL_GCC3_LINK_LIBRARY_CMDS
    178192        $(QUIET)$(APPEND) $(out).ar-script "CREATE $(out)"
    179193        $(foreach o, $(objs)\
    180194                ,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDMOD $(o)")
    181         $(foreach srclib, $(filter %.a %.lib,$(othersrc))\
     195        $(foreach srclib, $(filter-out %.def %.imp,$(othersrc))\
    182196                ,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDLIB $(srclib)")
    183197        $(if $(filter %.def %.imp,$(othersrc))\
     
    188202        $(QUIET)$(TOOL_GCC3_AR) -M < $(out).ar-script
    189203endef
     204endif
    190205
    191206
  • trunk/kBuild/tools/GCC32.kmk

    r697 r772  
    5959# General Properties used by kBuild
    6060TOOL_GCC32_COBJSUFF         ?= .o
    61 TOOL_GCC32_CFLAGS           ?= 
     61TOOL_GCC32_CFLAGS           ?=
    6262TOOL_GCC32_CFLAGS.debug     ?= -g
    6363TOOL_GCC32_CFLAGS.profile   ?= -g -O2 #-pg
     
    6868TOOL_GCC32_CXXOBJSUFF       ?= .o
    6969TOOL_GCC32_CXXOBJSUFF       ?= .o
    70 TOOL_GCC32_CXXFLAGS         ?= 
     70TOOL_GCC32_CXXFLAGS         ?=
    7171TOOL_GCC32_CXXFLAGS.debug   ?= -g
    7272TOOL_GCC32_CXXFLAGS.profile ?= -g -O2 #-pg
     
    172172# @param    $(outbase)  Output basename (full). Use this for list files and such.
    173173TOOL_GCC32_LINK_LIBRARY_OUTPUT = $(out).ar-script
    174 TOOL_GCC32_LINK_LIBRARY_DEPEND = $(filter %.a %.lib,$(othersrc))
     174TOOL_GCC32_LINK_LIBRARY_DEPEND = $(othersrc)
    175175TOOL_GCC32_LINK_LIBRARY_DEPORD =
     176ifeq ($(filter append-dash-n,$(KMK_FEATURES)),append-dash-n)
     177define TOOL_GCC32_LINK_LIBRARY_CMDS
     178        $(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)'
     179        $(QUIET)$(APPEND) -n $(out).ar-script \
     180                $(foreach o,$(objs), 'ADDMOD $(o)') \
     181                $(foreach o,$(othersrc)), 'ADDLIB $(o)')
     182        $(QUIET)$(APPEND) $(out).ar-script 'SAVE'
     183        $(QUIET)$(APPEND) $(out).ar-script 'END'
     184        $(QUIET)$(TOOL_GCC32_AR) -M < $(out).ar-script
     185endef
     186else
    176187define TOOL_GCC32_LINK_LIBRARY_CMDS
    177188        $(QUIET)$(APPEND) $(out).ar-script "CREATE $(out)"
    178189        $(foreach o, $(objs)\
    179190                ,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDMOD $(o)")
    180         $(foreach srclib, $(filter %.a %.lib,$(othersrc))\
     191        $(foreach srclib,$(othersrc)\
    181192                ,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDLIB $(srclib)")
    182193        $(QUIET)$(APPEND) $(out).ar-script "SAVE"
     
    184195        $(QUIET)$(TOOL_GCC32_AR) -M < $(out).ar-script
    185196endef
     197endif
    186198
    187199
  • trunk/kBuild/tools/GCC3OMF.kmk

    r697 r772  
    166166# @param    $(outbase)  Output basename (full). Use this for list files and such.
    167167TOOL_GCC3OMF_LINK_LIBRARY_OUTPUT =
    168 TOOL_GCC3OMF_LINK_LIBRARY_DEPEND = $(filter %.a %.lib %.def %.imp,$(othersrc))
     168TOOL_GCC3OMF_LINK_LIBRARY_DEPEND = $(othersrc)
    169169TOOL_GCC3OMF_LINK_LIBRARY_DEPORD =
    170170define TOOL_GCC3OMF_LINK_LIBRARY_CMDS
    171171        $(QUIET)$(if $(filter %.def %.imp,$(othersrc)),$(TOOL_GCC3OMF_AR_IMP) -o $(out) $(filter %.def %.imp,$(othersrc)),)
    172         $(QUIET)$(TOOL_GCC3OMF_AR) $(flags) $(out) $(objs) $(filter %.a %.lib,$(othersrc))
     172        $(QUIET)$(TOOL_GCC3OMF_AR) $(flags) $(out) $(objs) $(filter-out %.def %.imp,$(othersrc))
    173173endef
    174174
  • trunk/kBuild/tools/GCC4MACHO.kmk

    r697 r772  
    5151# General Properties used by kBuild
    5252TOOL_GCC4MACHO_COBJSUFF         ?= .o
    53 TOOL_GCC4MACHO_CFLAGS           ?= 
     53TOOL_GCC4MACHO_CFLAGS           ?=
    5454TOOL_GCC4MACHO_CFLAGS.debug     ?= -g
    5555TOOL_GCC4MACHO_CFLAGS.profile   ?= -g -O2 #-pg
    56 TOOL_GCC4MACHO_CFLAGS.release   ?= -O2 
     56TOOL_GCC4MACHO_CFLAGS.release   ?= -O2
    5757TOOL_GCC4MACHO_CINCS            ?=
    5858TOOL_GCC4MACHO_CDEFS            ?=
     
    6060TOOL_GCC4MACHO_CXXOBJSUFF       ?= .o
    6161TOOL_GCC4MACHO_CXXOBJSUFF       ?= .o
    62 TOOL_GCC4MACHO_CXXFLAGS         ?= 
     62TOOL_GCC4MACHO_CXXFLAGS         ?=
    6363TOOL_GCC4MACHO_CXXFLAGS.debug   ?= -g
    6464TOOL_GCC4MACHO_CXXFLAGS.profile ?= -g -O2 #-pg
     
    164164# @param    $(othersrc) Unhandled sources.
    165165# @param    $(outbase)  Output basename (full). Use this for list files and such.
    166 TOOL_GCC4MACHO_LINK_LIBRARY_OUTPUT = 
    167 TOOL_GCC4MACHO_LINK_LIBRARY_DEPEND = $(filter %.a %.lib %.def %.imp,$(othersrc))
     166TOOL_GCC4MACHO_LINK_LIBRARY_OUTPUT =
     167TOOL_GCC4MACHO_LINK_LIBRARY_DEPEND = $(othersrc)
    168168TOOL_GCC4MACHO_LINK_LIBRARY_DEPORD =
    169169define TOOL_GCC4MACHO_LINK_LIBRARY_CMDS
    170         $(QUIET)$(TOOL_GCC4MACHO_AR) $(flags) $(out) $(objs) $(filter %.a %.lib, $(othersrc))
     170        $(QUIET)$(TOOL_GCC4MACHO_AR) $(flags) $(out) $(objs) $(othersrc)
    171171endef
    172172
  • trunk/kBuild/tools/MINGW32.kmk

    r771 r772  
    194194# @param    $(outbase)  Output basename (full). Use this for list files and such.
    195195TOOL_MINGW32_LINK_LIBRARY_OUTPUT = $(out).ar-script
     196TOOL_MINGW32_LINK_LIBRARY_DEPEND = $(othersrc)
    196197TOOL_MINGW32_LINK_LIBRARY_DEPORD =
    197198ifeq ($(filter append-dash-n,$(KMK_FEATURES)),append-dash-n)
    198 TOOL_MINGW32_LINK_LIBRARY_DEPEND = $(othersrc)
    199199define TOOL_MINGW32_LINK_LIBRARY_CMDS
    200         $(QUIET)$(APPEND) $(out).ar-script CREATE $(out)
     200        $(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)'
    201201        $(QUIET)$(APPEND) -n $(out).ar-script \
    202202                $(foreach o,$(objs), 'ADDMOD $(o)') \
     
    207207endef
    208208else
    209 TOOL_MINGW32_LINK_LIBRARY_DEPEND = $(filter %.a %.lib,$(othersrc))
    210209define TOOL_MINGW32_LINK_LIBRARY_CMDS
    211210        $(QUIET)$(APPEND) $(out).ar-script "CREATE $(out)"
    212211        $(foreach o, $(objs)\
    213212                ,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDMOD $(o)")
    214         $(foreach srclib, $(filter %.a %.lib,$(othersrc))\
     213        $(foreach srclib, $(othersrc)\
    215214                ,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDLIB $(srclib)")
    216215        $(QUIET)$(APPEND) $(out).ar-script "SAVE"
  • trunk/kBuild/tools/XGCCAMD64LINUX.kmk

    r706 r772  
    192192# @param    $(outbase)  Output basename (full). Use this for list files and such.
    193193TOOL_XGCCAMD64LINUX_LINK_LIBRARY_OUTPUT = $(out).ar-script
    194 TOOL_XGCCAMD64LINUX_LINK_LIBRARY_DEPEND = $(filter %.a %.lib,$(othersrc))
     194TOOL_XGCCAMD64LINUX_LINK_LIBRARY_DEPEND = $(othersrc)
    195195TOOL_XGCCAMD64LINUX_LINK_LIBRARY_DEPORD =
     196ifeq ($(filter append-dash-n,$(KMK_FEATURES)),append-dash-n)
     197define TOOL_XGCCAMD64LINUX_LINK_LIBRARY_CMDS
     198        $(QUIET)$(APPEND) $(out).ar-script 'CREATE $(out)'
     199        $(QUIET)$(APPEND) -n $(out).ar-script \
     200                $(foreach o,$(objs), 'ADDMOD $(o)') \
     201                $(foreach o,$(othersrc)), 'ADDLIB $(o)')
     202        $(QUIET)$(APPEND) $(out).ar-script 'SAVE'
     203        $(QUIET)$(APPEND) $(out).ar-script 'END'
     204        $(QUIET)$(TOOL_XGCCAMD64LINUX_AR) -M < $(out).ar-script
     205endef
     206else
    196207define TOOL_XGCCAMD64LINUX_LINK_LIBRARY_CMDS
    197208        $(QUIET)$(APPEND) $(out).ar-script "CREATE $(out)"
    198209        $(foreach o, $(objs)\
    199210                ,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDMOD $(o)")
    200         $(foreach srclib, $(filter %.a %.lib,$(othersrc))\
     211        $(foreach srclib, $(othersrc)\
    201212                ,$(NL)$(TAB)$(QUIET)$(APPEND) $(out).ar-script "ADDLIB $(srclib)")
    202213        $(QUIET)$(APPEND) $(out).ar-script "SAVE"
     
    204215        $(QUIET)$(TOOL_XGCCAMD64LINUX_AR) -M < $(out).ar-script
    205216endef
     217endif
    206218
    207219
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