[Scons-users] =?GB2312?Q?is_there_any_way_that_I_can_get_the_final_command_li?= =?GB2312?Q?ne_from_scons=A3=BF?=

prife goprife at gmail.com
Sun Nov 18 09:09:58 EST 2012


HI, all

I use scons to build sources, and the C compiler is the armcc (which is
from MDK).
In most cases, scons works very well, but if when there are too many
objects in the final command line, then I will get an error.
like this:

armlink -o rtthread-stm32.axf --device DARMSTM --info sizes --info totals
--info unused --info veneers --list rtthread-stm32.map --scatter
stm32_rom.sct --libpath D:/Keil/ARM/RV31/LIB --keep __fsym_* --keep
__vsym_* build\application.o build\startup.o build\board.o
build\stm32f10x_it.o build\rtc.o ........................(many objs)

The Command line is too long.
scons: *** [rtthread-stm32.axf] Error 1

because the armcc has a limited command line length. It provides an
option
--via=file
ARM Compiler toolchain v4.1 for µVision Linker Reference Home > Linker
command-line options > --via=file
--via=*file*

This option reads an additional list of input filenames and linker options
from *file*.

so, I want to get the final command line, the write some to an temp
files, and use this --via option, then I can solve this issue. In fact I
can get the link and link flags with:

env['LINK']

env['LINKFLAGS']

like this:

armlink -o rtthread-stm32.axf --device DARMSTM --info sizes --info totals
--info unused --info veneers --list rtthread-stm32.map --scatter
stm32_rom.sct --libpath D:/Keil/ARM/RV31/LIB --keep __fsym_* --keep
__vsym_* --via ojb_files

so what I really need is the string include all the objects. Any
questions?

Best Regards

prife

--
把有限的时间投入到无限的学习中去
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://four.pairlist.net/pipermail/scons-users/attachments/20121118/4e4d234a/attachment.htm>


More information about the Scons-users mailing list