Adding a parameter for use in toolchain 'using' line

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Adding a parameter for use in toolchain 'using' line

Boost - Build mailing list

Hi Build Experts,

I’m trying to update tools/build/src/tools/clang-vxworks.jam for newer version of the compiler.

Wind River’s compiler team have decided to use a completely unmodified compiler, so the cross-build linker configuration is more complex.

 

I would like to propagate the build configuration from the project.config or user.config file so the complete configuration can be supplied in a single file for each target board/processor targeted.

 

With something like this:

 

using clang-vxworks : : $(cxx) :

                    <cflags>$(cflags)

                    <cxxflags>$(cxxflags)

                    <compileflags>$(compileflags)

                    <archiver>$(ar)

                    <linker>$(linker)

                    <library-path>$(library-path)

                    <libraries>$(libraries)

                    <crt0-obj>$(crt0-obj)

                    <linkflags>$(linkflags)

                    <linkflags-static>$(linkflags-static)

                    <linkflags-dynamic>$(linkflags-dynamic)

                    <linkflags-dll>$(linkflags-dll) ;

 

But some options on the “using” line appear to be regular “features” and some don’t appear to be defined anywhere  as a formal feature?  Where are these “special features” declared, and how is there behavior different from a regular “feature”?

Many Thanks,

 

Brian

Wind River

 


_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Adding a parameter for use in toolchain 'using' line

Boost - Build mailing list
AMDG

On 08/21/2018 08:31 AM, Kuhl, Brian via Boost-build wrote:

> <snip>
> With something like this:
>
> using clang-vxworks : : $(cxx) :
>                     <cflags>$(cflags)
>                     <cxxflags>$(cxxflags)
>                     <compileflags>$(compileflags)
>                     <archiver>$(ar)
>                     <linker>$(linker)
>                     <library-path>$(library-path)
>                     <libraries>$(libraries)
>                     <crt0-obj>$(crt0-obj)
>                     <linkflags>$(linkflags)
>                     <linkflags-static>$(linkflags-static)
>                     <linkflags-dynamic>$(linkflags-dynamic)
>                     <linkflags-dll>$(linkflags-dll) ;
>
> But some options on the "using" line appear to be regular "features" and some don't appear to be defined anywhere  as a formal feature?  Where are these "special features" declared, and how is there behavior different from a regular "feature"?
>

They are *not* features.  Even the ones that have the
same names as features are not actually features.
They are all processed by the init rule:

-
https://github.com/boostorg/build/blob/develop/src/tools/clang-vxworks.jam#L65
  handles standard cflags, cxxflags, linkflags.
-
https://github.com/boostorg/build/blob/develop/src/tools/clang-vxworks.jam#L70
  looks up the toolset specific option <archiver>

In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build