Boost logo

Boost-Build :

From: Rene Rivera (grafik666_at_[hidden])
Date: 2002-11-13 10:53:11


[2002-11-12] Vladimir Prus wrote:

>Rene Rivera wrote:
>> [2002-11-10] Vladimir Prus wrote:
>>
>>
>>>Rene Rivera wrote:
>>>Okay.. I seem to understand this better now, thanks. One more question on
>>
>> topic:
>>
>>>is there a way to hardcode the path to shared library in exe? I want it
in
>>>order to avoid setting LD_LIBRARY_PATH when debugging, when libraries
live
>>>in build directories.
>>
>>
>> Yes, you can, and this is what I do in my projects for debug binaries
also.
>> In V1 I have this set for all my targets:
>>
>> <gcc><linkflags>"-Wl,-rpath -Wl,."
>> <gcc><linkflags>"-Wl,-rpath -Wl,$(GCC_STDLIB_DIRECTORY)"
>
>Good. I think if we both need this feature, we can create a new feature for
>it, something like <hardcode-dll-paths>?

How about just the shorter <dll-path>; singular "path" seeing as one can
only specify one at a time.

>>>>Yes, that would be a good way to get both uses. In fact it might be
>>>
>> usefull
>>
>>>>to specify that for each source in the stage. Basically allowing to
>>>
>> create
>>
>>>>symlinks in the stage to arbitrary other targets.
>>>
>>>Nice idea. We'd need a mechanism for specifying different processing for
>>>different sources, though.
>>
>>
>> Any ideas on how to do that? I'll think about it.
>
>You see, now we have
>
> exe a : a.cpp mylib/<optimizaton>off ;
>
>but this specified which variant of "mylib" to select, while what we
>want is different processing for different sources. Maybe we can
>extend this mechanism. If <use-symlinks> is incidential property
>(the one which is assumed to not affect build products) then
>
> stage dist : mylib/<optimization>off/<use-symlink>yes ;
>
>would select the same variant of "mylib" as
>
> stage dist : mylib/<optimization>off ;
>
>However, we can make <use-symlink> somehow travel with the generated
>target, so that stage rule can take care of it. It's not trivial.

Looks obtuse... confusing.

What we need is a way of synthesising targets inline. How about making
symlinks a full fledged target, and making it possible to inline the
declaration? For example:

stage dist : [ symlink : mylib/<optimizations>off ] ;

"symlink" would, need to handle the optional target name to mean use the
same name as the source. And "stage" would need to correctly locate it at
the stage directory.

-- grafik - Don't Assume Anything
-- rrivera_at_[hidden] - grafik_at_[hidden]
-- 102708583_at_icq - Grafik666_at_AIM - Grafik_at_[hidden]

 


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