2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-16 01:12:13 +00:00

Merge from trunk.

[SVN r33826]
This commit is contained in:
Vladimir Prus
2006-04-26 09:35:48 +00:00
parent 48d0100e2e
commit e166a97779
3 changed files with 31 additions and 15 deletions

View File

@@ -46,7 +46,7 @@ generators.register-linker como-win.link
: <toolset>como <toolset-como:platform>win ;
# Note that status of shared libraries support is not clear, so we don't
# define the link.dll generator.
generators.register-archiver como-winc.archive
generators.register-archiver como-win.archive
: OBJ : STATIC_LIB
: <toolset>como <toolset-como:platform>win ;
@@ -84,19 +84,14 @@ flags como-win FINDLIBS <find-shared-library> ;
flags como-win FINDLIBS <find-static-library> ;
RM = [ common.rm-command ] ;
nl = "
" ;
#### Link ####
rule link ( targets + : sources * : properties * )
{
common.response-file $(targets) : $(sources) : $(targets[2])
: $(properties) ;
}
# for como, we repeat all libraries so that dependencies are always resolved
actions link bind LIBRARIES RSP
actions link bind LIBRARIES
{
$(CONFIG_COMMAND) --no_version --no_prelink_verbose $(LINKFLAGS) -o "$(<[1]:S=)" @"$(RSP:W)" "$(LIBRARIES)" "$(FINDLIBS:S=.lib)" && $(RM) "$(RSP)"
$(CONFIG_COMMAND) --no_version --no_prelink_verbose $(LINKFLAGS) -o "$(<[1]:S=)" @"@($(<[1]:W).rsp:E=$(nl)"$(>)")" "$(LIBRARIES)" "$(FINDLIBS:S=.lib)"
}
actions compile.c
@@ -116,9 +111,9 @@ rule archive ( targets + : sources * : properties * )
common.response-file $(targets) : $(sources) : $(targets[2]) : $(properties) ;
}
actions updated together piecemeal archive bind RSP
actions updated together piecemeal archive
{
$(CONFIG_COMMAND) --no_version --no_prelink_verbose --prelink_object @"$(RSP:W)"
lib $(ARFLAGS) /nologo /out:"$(<:S=.lib)" @"$(RSP:W)" && $(RM) "$(RSP)"
$(CONFIG_COMMAND) --no_version --no_prelink_verbose --prelink_object "$(LIBRARIES)"
lib $(ARFLAGS) /nologo /out:"$(<:S=.lib)" "$(LIBRARIES)"
}

View File

@@ -78,6 +78,22 @@ rule init ( version ? : command * : options * )
flags cw.compile .CC $(condition) : $(prefix)$(compiler) ;
flags cw.link .LD $(condition) : $(prefix)$(linker) ;
flags cw.archive .LD $(condition) : $(prefix)$(linker) ;
if [ MATCH ^([89]\\.) : $(version) ]
{
if [ os.name ] = NT
{
# The runtime libraries
flags cw.compile CFLAGS <runtime-link>static/<threading>single/<runtime-debugging>off : -runtime ss ;
flags cw.compile CFLAGS <runtime-link>static/<threading>single/<runtime-debugging>on : -runtime ssd ;
flags cw.compile CFLAGS <runtime-link>static/<threading>multi/<runtime-debugging>off : -runtime sm ;
flags cw.compile CFLAGS <runtime-link>static/<threading>multi/<runtime-debugging>on : -runtime smd ;
flags cw.compile CFLAGS <runtime-link>shared/<runtime-debugging>off : -runtime dm ;
flags cw.compile CFLAGS <runtime-link>shared/<runtime-debugging>on : -runtime dmd ;
}
}
}
rule default-paths ( version ? ) # FIXME
@@ -100,6 +116,9 @@ rule default-paths ( version ? ) # FIXME
return $(possible-paths) ;
}
## declare generators
generators.register-c-compiler cw.compile.c++ : CPP : OBJ : <toolset>cw ;

View File

@@ -660,6 +660,8 @@ flags msvc.link FINDLIBS_SA <find-shared-library> ;
flags msvc.link LIBRARY_OPTION <toolset>msvc : "" : unchecked ;
flags msvc.link LIBRARIES_MENTIONED_BY_FILE : <library-file> ;
flags msvc.archive AROPTIONS <archiveflags> ;
rule link.dll ( targets + : sources * : properties * )
{
@@ -677,7 +679,7 @@ if [ os.name ] in NT
actions archive
{
if exist "$(<[1])" DEL "$(<[1])"
$(.LD) /lib /NOLOGO /out:"$(<[1])" @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
$(.LD) /lib /NOLOGO $(AROPTIONS) /out:"$(<[1])" @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
}
}
else
@@ -685,7 +687,7 @@ else
actions archive
{
$(RM) "$(<[1])"
$(.LD) /lib /NOLOGO /out:"$(<[1])" @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
$(.LD) /lib /NOLOGO $(AROPTIONS) /out:"$(<[1])" @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
}
}