Yes, I think your solution seems reasonable. It's possible we might want a similar cpp.assemblerMode option as well, but I'm not sure.
> On Oct 10, 2017, at 9:20 AM, Denis Shienkov <[email protected]> wrote: > > Hmm, how, then, about the smart *assembler* options? > > For example, I have an assembler files *.s which contains both asm-code and > c-code. It compiles before in Atmel Studio, using the "avr-gcc -x > assembler-with-cpp" option. But, in QBS it fails, because QBS launch the > 'avr-as' instead of 'avr-gcc', and, seems the 'avr-as' have not similar > option, so, future linking fails. > > So, I use workaround: > > cpp.assemblerName: cpp.compilerName > > and pass to cpp.assemblerFlags propery the required compiler options. > > I'm not sure if it is correct decision. > > BR, > Denis > > 10.10.2017 0:08, Jake Petroules пишет: >> Indeed it has, and your advice is correct. This is probably a good candidate >> for our FAQ. I've created a task for it: >> https://bugreports.qt.io/browse/QBS-1213 >> >>> On Oct 9, 2017, at 10:40 PM, [email protected] wrote: >>> >>> Hi Denis, >>> >>> This issue has been asked several times. >>> The short answer is this: put the real linker flags without -Wl into >>> linkerFlags and put the other ones into driverFlags. >>> >>> linkerName and linkerMode are uneeded (as far as I know). >>> >>> Here is an example of how I did it: >>> https://github.com/Venemo/efm32-qbs-example/blob/master/qbs-custom/impo >>> rts/ArmMcuProduct.qbs >>> >>> >>> >>> Hope this helps, >>> Timur >>> >>> On Mon, 2017-10-09 at 18:32 +0300, Denis Shienkov wrote: >>>> Hi all, >>>> >>>> I use the AVR-GCC compiler, and I need to use following command line: >>>> >>>> "-nostartfiles -nodefaultlibs -nostdlib -Wl,- >>>> Map="$(OutputFileName).map" -Wl,--start-group -Wl,-lm -Wl,--end- >>>> group -Wl,--gc-sections -mrelax -Wl,-section-start=.text=0x1f400 >>>> -Wl,-section-start=.ExtReset=0x1e000 -Wl,-section- >>>> start=.noinit=0x801032 -mmcu=at90can128 -B "C:\Program Files >>>> (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2.132\gcc\dev\at90can >>>> 128" " >>>> >>>> but, the qbs is too 'intelligent' and generates a wrong command line >>>> for this options: >>>> >>>> cpp.linkerMode: "manual" >>>> cpp.linkerName: cpp.compilerName >>>> >>>> cpp.linkerFlags: [ >>>> "-nostartfiles", >>>> "-nodefaultlibs", >>>> "-nostdlib", >>>> "-Wl,-Map=" + product.targetName + ".map", >>>> "-Wl,--start-group", >>>> "-Wl,--end-group", >>>> "-Wl,--gc-sections", >>>> "-Wl,-section-start=.text=0x1f400", >>>> "-Wl,-section-start=.ExtReset=0x1e000", >>>> "-Wl,-section-start=.noinit=0x801032", >>>> "-Wc,-mmcu=" + avrdevice, >>>> "-B", >>>> "C:/Program Files >>>> (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/" + >>>> avrdevice, >>>> "-mrelax", >>>> ] >>>> >>>> resulting line looks like: >>>> >>>> " >>>> "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu- >>>> toolchain\bin\avr-gcc.exe" -Xlinker -nostartfiles -Xlinker >>>> -nodefaultlibs -Xlinker -nostdlib -Xlinker "-Wl,-Map=monitorapp.map" >>>> -Xlinker "-Wl,--start-group" -Xlinker "-Wl,--end-group" -Xlinker "- >>>> Wl,--gc-sections" -Xlinker "-Wl,-section-start=.text=0x1f400" >>>> -Xlinker "-Wl,-section-start=.ExtReset=0x1e000" -Xlinker "-Wl,- >>>> section-start=.noinit=0x801032" -Xlinker "-Wc,-mmcu=at90can128" >>>> -Xlinker -B -Xlinker "C:/Program Files >>>> (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.2.132/gcc/dev/at90can >>>> 128" -Xlinker -mrelax >>>> " >>>> it insert еру -XLinker flags everywhere... >>>> >>>> How to disable an 'intelligent' feature ? >>>> >>>> BR, >>>> Denis >>>> _______________________________________________ >>>> Qbs mailing list >>>> [email protected] >>>> http://lists.qt-project.org/mailman/listinfo/qbs >>> _______________________________________________ >>> Qbs mailing list >>> [email protected] >>> http://lists.qt-project.org/mailman/listinfo/qbs > -- Jake Petroules - [email protected] The Qt Company - Silicon Valley Qbs build tool evangelist - qbs.io _______________________________________________ Qbs mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/qbs
