Boost logo

Boost-Build :

From: Jurko Gospodnetić (jurko.gospodnetic_at_[hidden])
Date: 2008-08-26 12:39:38


   Hi Jim.

> In tools/types/lib.jam, I tried adding this code, but it did not work.
> How can I use the output of the model command to change the shared lib
> suffix? The output of "model" on PA-RISC machines begins with 9000/.
>
> if [ os.name ] = HPUX
> {
> if [ MATCH "^9000/" : [ SHELL "model" ] ]
> {
> type SHARED_LIB : sl : LIB ;
> }
> }
> else
> {
> type SHARED_LIB : so : LIB ;
> }

   I believe that MATCH rule call actually returned an empty list no
matter what your model command returned. Try writing it like this:

     if [ os.name ] = HPUX
     {
         if [ MATCH "^(9000/)" : [ SHELL "model" ] ]
         {
             type SHARED_LIB : sl : LIB ;
         }
     }
     else
     {
         type SHARED_LIB : so : LIB ;
     }

   I believe MATCH rule returns a list of strings found at locations
marked using parentheses in your given regex. Since you gave no
parenthised of the expression - nothing was getting returned.

   Also, I have not looked the the file you plan to insert this into,
but could your if-logic perhaps be missing setting the .so extension for
HP-UX machines that are not PA-RISC?

   Hope this helps.

   Best regards,
     Jurko Gospodnetić


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk