[Qbs] How to pass -march=armv7-a to the g++ linking command line (without -Wl, )
Christian Kandeler
christian.kandeler at qt.io
Mon Jan 15 15:57:19 CET 2018
On Mon, 15 Jan 2018 15:13:41 +0100
Ola Røer Thorsen <ola at silentwings.no> wrote:
> [...]
> The qmake build ends up linking the application with a command line like
> this:
>
> arm-fslc-linux-gnueabi-g++
> -mfloat-abi=hard
> --sysroot=/srv/XXXXXXXX/sysroots/armv7at2hf-neon-fslc-linux-gnueabi
> -Wl,--gc-sections
> -Wl,-O1
> -Wl,-rpath,/opt/qt5.6.3/lib
> -o etc etc
>
> Qbs does this:
>
> arm-fslc-linux-gnueabi-g++
> -Wl,-rpath,/opt/qt5.6.3/lib,--gc-sections,-O1
> --sysroot=/srv/XXXXXXXXX/sysroots/armv7at2hf-neon-fslc-linux-gnueabi
> -L/srv/XXXXXXX/sysroots/armv7at2hf-neon-fslc-linux-gnueabi/opt/qt5.6.3/lib
> -march=armv7-a
> -o etc etc
>
> I'm struggling to find the property or similar in the cpp module that adds
> the "-mfloat-abi=hard"-option to g++ when used for linking.
>
> Adding "-mfloat-abi=hard" to cpp.linkerFlags does not work as the option
> should not be wrapped with "-Wl,".
>
> Adding -"mfloat-abi=hard" to cpp.commonCompilerFlags is necessary for the
> compiling but does not work for the linking.
>
> So, how do I make qbs link using "g++ --mfloat-abi=hard"?
That would be cpp.driverFlags. See http://doc-snapshots.qt.io/qbs/qml-qbsmodules-cpp.html#driverFlags-prop
(The question you asked in the body of the email does not match the one from the subject, by the way.)
Christian
More information about the Qbs
mailing list