Clean up support library linkage on Android
* The explicitly linked support libraries like gnustl_shared, etc. can be linked as private libs, there's no need for them to show up in the .prl files of our libraries. * Removed the explicit linkage against libsupc++, which is a static library whos symbols are also available in libgnustl_shared. It is only needed when linking against gnustl_static, which we fortunately don't do. For QtQml on Android this is more than just cleanup. Without the first change, the libgnustl_shared comes early on in the link line, because it is a dependency of for example Qt5Network. Anything that qml.pro itself adds to LIBS comes afterwards. That is not intended, we want libgnustl_shared to come at the end of the link line, in order to make sure that the linker finds an overriding symbol from another library earlier in the link line first. The explicit linkage against libsupc++ affects the same, as that's the library that contains the symbol we want to override locally (__cxa_end_cleanup). (needed for QTBUG-33892) Change-Id: Id6dff733d6610ae8b15aa72f9cf60ae2c7834194 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
This commit is contained in:
parent
b5d01a9dfc
commit
557fe401ac
@ -178,7 +178,7 @@ QMAKE_LFLAGS_NOUNDEF = -Wl,--no-undefined
|
||||
QMAKE_LFLAGS_RPATH = -Wl,-rpath=
|
||||
QMAKE_LFLAGS_RPATHLINK = -Wl,-rpath-link=
|
||||
|
||||
QMAKE_LIBS = -lgnustl_shared -lsupc++ -llog -lz -lm -ldl -lc -lgcc
|
||||
QMAKE_LIBS_PRIVATE = -lgnustl_shared -llog -lz -lm -ldl -lc -lgcc
|
||||
QMAKE_LIBS_X11 =
|
||||
QMAKE_LIBS_THREAD =
|
||||
QMAKE_LIBS_EGL = -lEGL
|
||||
|
Loading…
Reference in New Issue
Block a user