[bug] QNX RANLIB not executed for built libraries
- Lingua principale
- C++
- Stelle
- 251
- Fork
- 63
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
hi there,
I was trying to build boost (static libs) with QNX SDP 7.0 (compiler QCC 5.4.0).
As I noticed that the built static libraries do not have an index. This is because there is no following ```ranlib``` execution after library creation.
The problem here is that QNX has different RANLIB executables for different target architectures.
This means that the boost recipe cannot (easily) detect the correct executable it has to execute to create an index in the libraries.
As I have to specify the architecture in a pre-boost-build-step anyway (by setting environment variable ```RANLIB```) I was looking for a way to modify the ```ranlib``` executable boost executes. In the GCC recipe I found out that it retrieves the executable from the `````` feature ([see here](https://github.com/boostorg/build/blob/495410e2c1ea83cfde7ac307021a4d47f885a076/src/tools/gcc.jam#L315)) what in turn gets set by the configuration (```user-config.jam``` in my case). This file gets generated by a pre-boost-build-step and uses the data from the ```RANLIB``` environment variable. So I modifed the [qcc.jam](https://github.com/boostorg/build/blob/develop/src/tools/qcc.jam) to support the same.
The result is that the ```qcc``` toolset retrieves the `````` feature from the configuration.
See the patch file here:
[boost_build_qcc_use_ranlib_feature.patch.txt](https://github.com/boostorg/build/files/3298057/boost_build_qcc_use_ranlib_feature.patch.txt)
further more
-------------
The problem with this approach is that it forces the user to specify a ```ranlib``` feature. But this could be undesireable. I tried to make it optional but had no success so far as I am no BJAM/JAM expert at all.
Can some BJAM-enthusiast help me out?
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.