FYI, I tried with and without --v2

2010/5/26 Christina Larocca <christina.larocca@gmail.com>
Hello again:

This is the whole function:


# This rule is called by Boost.Build to determine the name of target. We use it
# to encode the build variant, compiler name and boost version in the target
# name.
#
rule tag ( name : type ? : property-set )
{
    if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB
    {
        if $(layout) = versioned

        {
            local result = [ common.format-name
                <base> <toolset> <threading> <runtime> -$(BOOST_VERSION_TAG)

                -$(BUILD_ID)
                : $(name) : $(type) : $(property-set) ] ;

            # Optionally add version suffix. On NT, library with version suffix
            # will not be recognized by linkers. On CYGWIN, we get strage
            # duplicate symbol errors when library is generated with version
            # suffix. On OSX, version suffix is not needed -- the linker expects
            # the libFoo.1.2.3.dylib format. AIX linkers do not accept version
            # suffixes either. Pgi compilers can not accept library with version
            # suffix.
            if $(type) = SHARED_LIB &&
              ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix ) &&
                ! ( [ $(property-set).get <toolset> ] in pgi ) )
            {
                result = $(result).$(BOOST_VERSION)  ;
            }

            return $(result) ;
        }
        else

        {
        ECHO name: $(name) type: $(type) layout: $(layout) ;
           if $(name) = boost_math_c99
                {
                local result = [ common.format-name
                <base> -$(BUILD_ID)
                <base> -$(BUILD_ID)
                <base> -$(BUILD_ID)
                : $(name) : $(type) : $(property-set) ] ;
                }
           else
                {
                local result = [ common.format-name
                <base> -$(BUILD_ID)
                <base> -$(BUILD_ID))
                : $(name) : $(type) : $(property-set) ] ;
                }
            # Optionally add version suffix. On NT, library with version suffix
            # will not be recognized by linkers. On CYGWIN, we get strage
            # duplicate symbol errors when library is generated with version
            # suffix. On OSX, version suffix is not needed -- the linker expects
            # the libFoo.1.2.3.dylib format. AIX linkers do not accept version
            # suffixes either. Pgi compilers can not accept library with version
            # suffix.
            if $(type) = SHARED_LIB &&
              ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix ) &&
                ! ( [ $(property-set).get <toolset> ] in pgi ) )
            {
                result = $(result).$(BOOST_VERSION)  ;
            }

            return $(result) ;
        }
    }
}

With the ECHO command I get log lines as:

user@comp:~/compilations/Boost/source2/boost_1_39_0) ./bjam --v2 --layout=system

Building C++ Boost.

After the build, the headers will be located at
 
    /remote/mw/dsdeldev/compilations/Boost/source2/boost_1_39_0
   
The libraries will be located at 
   
    /remote/mw/dsdeldev/compilations/Boost/source2/boost_1_39_0/stage/lib
    
Use 'bjam install --prefix=<path>' if you wish to install headers and
libraries to a different location and remove the source tree.


name: boost_date_time type: SHARED_LIB layout: system
name: boost_system type: SHARED_LIB layout: system
name: boost_filesystem type: SHARED_LIB layout: system
warning: Graph library does not contain optional GraphML reader.
note: to enable GraphML support, set EXPAT_INCLUDE and EXPAT_LIBPATH to the
note: directories containing the Expat headers and libraries, respectively.
name: boost_graph type: SHARED_LIB layout: system
name: boost_iostreams type: SHARED_LIB layout: system
name: boost_math_tr1 type: SHARED_LIB layout: system
name: boost_math_tr1f type: SHARED_LIB layout: system
name: boost_math_tr1l type: SHARED_LIB layout: system
name: boost_math_c99 type: SHARED_LIB layout: system
name: boost_math_c99f type: SHARED_LIB layout: system
name: boost_math_c99l type: SHARED_LIB layout: system
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
name: boost_program_options type: SHARED_LIB layout: system
name: boost_python type: SHARED_LIB layout: system
warning: Building Boost.Regex with the optional Unicode/ICU support disabled.
note: Please refer to the Boost.Regex documentation for more information
note: this is a strictly optional feature.
name: boost_regex type: SHARED_LIB layout: system
name: boost_serialization type: SHARED_LIB layout: system
name: boost_wserialization type: SHARED_LIB layout: system
name: boost_signals type: SHARED_LIB layout: system
name: boost_prg_exec_monitor type: SHARED_LIB layout: system
name: boost_test_exec_monitor type: STATIC_LIB layout: system
name: boost_unit_test_framework type: SHARED_LIB layout: system
name: boost_thread type: SHARED_LIB layout: system
name: boost_wave type: SHARED_LIB layout: system
name: boost_date_time type: STATIC_LIB layout: system
name: boost_system type: STATIC_LIB layout: system
name: boost_filesystem type: STATIC_LIB layout: system
name: boost_graph type: STATIC_LIB layout: system
name: boost_iostreams type: STATIC_LIB layout: system
name: boost_math_tr1 type: STATIC_LIB layout: system
name: boost_math_tr1f type: STATIC_LIB layout: system
name: boost_math_tr1l type: STATIC_LIB layout: system
name: boost_math_c99 type: STATIC_LIB layout: system
name: boost_math_c99f type: STATIC_LIB layout: system
name: boost_math_c99l type: STATIC_LIB layout: system
name: boost_program_options type: STATIC_LIB layout: system
name: boost_python type: STATIC_LIB layout: system
name: boost_regex type: STATIC_LIB layout: system
name: boost_serialization type: STATIC_LIB layout: system
name: boost_wserialization type: STATIC_LIB layout: system
name: boost_signals type: STATIC_LIB layout: system
name: boost_prg_exec_monitor type: STATIC_LIB layout: system
name: boost_test_exec_monitor type: STATIC_LIB layout: system
name: boost_unit_test_framework type: STATIC_LIB layout: system
name: boost_thread type: STATIC_LIB layout: system
name: boost_wave type: STATIC_LIB layout: system
name: boost_date_time type: SHARED_LIB layout: system
name: boost_system type: SHARED_LIB layout: system
name: boost_filesystem type: SHARED_LIB layout: system
name: boost_graph type: SHARED_LIB layout: system
name: boost_iostreams type: SHARED_LIB layout: system
name: boost_math_tr1 type: SHARED_LIB layout: system
name: boost_math_tr1f type: SHARED_LIB layout: system
name: boost_math_tr1l type: SHARED_LIB layout: system
name: boost_math_c99 type: SHARED_LIB layout: system
name: boost_math_c99f type: SHARED_LIB layout: system
name: boost_math_c99l type: SHARED_LIB layout: system
name: boost_program_options type: SHARED_LIB layout: system
name: boost_python type: SHARED_LIB layout: system
name: boost_regex type: SHARED_LIB layout: system
name: boost_serialization type: SHARED_LIB layout: system
name: boost_wserialization type: SHARED_LIB layout: system
name: boost_signals type: SHARED_LIB layout: system
name: boost_prg_exec_monitor type: SHARED_LIB layout: system
name: boost_test_exec_monitor type: STATIC_LIB layout: system
name: boost_unit_test_framework type: SHARED_LIB layout: system
name: boost_thread type: SHARED_LIB layout: system
name: boost_wave type: SHARED_LIB layout: system
...patience...
...patience...
...patience...
...found 5977 targets...
...updating 930 targets...
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/cbrtf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/copysignf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/erfcf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/erff.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/expm1f.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/fmaxf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/fminf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/fpclassifyf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/hypotf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/lgammaf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/llroundf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/log1pf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/lroundf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/nextafterf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/nexttowardf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/roundf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/tgammaf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/truncf.o
gcc.link.dll bin.v2/libs/math/build/gcc-3.4.2/release/threading-multi/libboost_math_c99f.so
common.copy stage/lib/libboost_math_c99f.so

I hope this helps

Regards
Christina.

2010/5/25 Steven Watanabe <watanabesj@gmail.com>
AMDG


Christina Larocca wrote:
Hello, sorry for the double else, it was only a copy error.

I've tried with:

if $(name) = boost_math_c99
 

This ought to work.


if <name>boost_math_c99
 

This test should always be true.  It is
parsed as


if "<name>boost_math_c99"

and tests whether "<name>boost_math_c99" is
non-empty.


if $(base) = boost_math_c99
 

base is not a variable that's in scope.


if <name>boost_math_c99
 

This test should always succeed.


but nothing works. The if blocks are skipped.
 

Try adding

ECHO name: $(name) type: $(type) layout: $(layout) ;

at the top of the tag rule.

Also, can you post the whole function?  The
layout=system block doesn't appear to get
executed at all.


In Christ,
Steven Watanabe

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build