Feature request #9917
Support building on ARM
|Pull Request or Patch supplied:||No||Resolution:|
|Easy fix?:||No||Copied to github as #:||18428|
The QGIS package maintained by the Debian GIS team contains some patches to support the ARM architecture.
As part of the effort to reduce the divergence between the official Debian package and QGIS upsteam I'm forwarding these changes.
The patch series for ARM support includes three commits, for which I've prepared a pull request on GitHub.
1) On armel/armhf qreal is typedef'ed to float not double.
This patch adds qreal versions of some functions on arm. It was originally
writen by Konstantinos Margaritis and later fixed by Peter Michael Green.
2) Fix qreal vs double.
In qt4 on arm architectures qreal is defined as float while on other
architectures it is defined as double. This can cause problems if qreal
and double are carelessly mixed.
In this particular case the problem is that qMin/qMax are templates defined
to take two parameters of the same type. If two different types are passed
in then C++ can't resolve what type the template parameter should be and
bails out. The fix is simple, typecast one of the parameters so they
3) Disable features on ARM.
Building QGIS on ARM produces the error:
sip: qgis/python/core/qgsclipper.sip:44: QgsClipper::trimFeature() unsupported function argument type - provide %MethodCode and a C++ signature
For the Android builds this was fixed in 2cc684793ceb29d8600d71564fb38f92c998f588.
This patch adapts the Android fix, by disabling the SIP features on all ARM systems.