2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-16 13:22:11 +00:00

Do not hardcode dll paths in libraries. That's not really needed, and

would force us to relink all libraries when staging.

Now that libraries do not hardcode dll paths, add a check that correct
-rpath-link options are added. When staging, we don't hardcode-dll-paths,
and libraries never hardcode dll paths, so if there's a long chain of
libraries, we should add -rpath-link, otherwise the linker won't find
the dynamic libraries and will complain.


[SVN r25756]
This commit is contained in:
Vladimir Prus
2004-10-16 09:31:58 +00:00
parent d6e1f35760
commit faecbd8532
2 changed files with 7 additions and 1 deletions

View File

@@ -12,7 +12,12 @@ import string
t = Tester()
t.write("Jamfile", """
t.write("Jamfile", """
# Stage the binary, so that it will be relinked
# without hardcode-dll-paths. That will chech that
# we pass correct -rpath-link, even if not passing
# -rpath.
stage dist : main ;
exe main : main.cpp b ;
""")

View File

@@ -693,6 +693,7 @@ class linking-generator : generator
rule run ( project name ? : property-set : sources + : multiple ? )
{
if [ $(property-set).get <hardcode-dll-paths> ] = true
&& [ type.is-derived $(self.target-types[1]) EXE ]
{
local xdll-path = [ $(property-set).get <xdll-path> ] ;
# It's possible that we have libraries in sources which did not came