boostorg / boostorg/build

[bug] QNX RANLIB not executed for built libraries

Aperta
#452 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
transition
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.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.