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

Give every GCC command the option of being spawned on NT if too long for a .BAT file.

[SVN r29251]
This commit is contained in:
Dave Abrahams
2005-05-27 17:13:17 +00:00
parent bea9c85585
commit 41bb7eefaf

View File

@@ -385,6 +385,19 @@ if ! $(on-windows)
flags gcc .SET_EXIT : "set -e" ;
}
# Since GCC doesn't support response files, we want to give it a
# chance to execute any long commands via spawnvp on NT, where the
# command-line length limitation can really get in the way. We call
# this on every target, but it will only take effect for targets we
# deem spawnable, and that have long command-lines.
rule gcc-spawn ( targets + )
{
if $(NT)
{
JAMSHELL on $(targets) = % ;
}
}
#### Link ####
rule Link-action
@@ -443,10 +456,7 @@ rule Link-action
gRUN_LD_LIBRARY_PATH($(<)) += $(STDLIBPATH:T) ;
# Workaround GCC's lack of command-files and NT's line-length limitation.
if $(NT) {
JAMSHELL on $(<) = % ;
}
gcc-spawn $(<) ;
gcc-Link-action $(<) : $(>) ;
if $(DLLVERSION) && $(TARGET_TYPE) in $(SHARED_TYPES) && ( $(OS) = LINUX || $(OS) = OPENBSD ) && ! $(NO_GNU_LN)
@@ -469,6 +479,7 @@ actions gcc-Link-action bind NEEDLIBS NEEDIMPS
rule Cc-action
{
gcc-spawn $(<) ;
_ on $(<) = " " ;
gcc-Cc-action $(<) : $(>) ;
}
@@ -483,6 +494,7 @@ actions gcc-Cc-action
#### C++ ####
rule C++-action
{
gcc-spawn $(<) ;
_ on $(<) = " " ;
gcc-C++-action $(<) : $(>) ;
}
@@ -498,6 +510,7 @@ actions gcc-C++-action
rule Archive-action
{
gcc-spawn $(<) ;
gcc-Archive-action $(<) : $(>) ;
}