|
Boost Testing : |
From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2006-03-27 06:26:50
Vladimir Prus wrote:
> Markus Sch?pflin wrote:
>
>> I plan to switch TestDrive to V2/1_34_0 as soon as I find time to make the
>> gcc/Tru64 toolset really work on V2. It still has some issues with dynamic
>> libs.
>
> I did not know there were problems. Anything I can do to help you?
Ha! I was hoping you'd say that. ;-)
Attached is a patch which makes the gcc toolset work on Tru64. This is not
meant to be applied directly, just to highlight the changes needed.
There are three issues left:
1) -R does not work, but there is -rpath instead. The ld man page on my
Linux box seems to indicate that -rpath should really be used, as this is
more widely available with ELF linkers.
2) There is no -rpath-link option.
3) There is no -strip-all, but there is -s instead.
Maybe a new linker type 'osf' or 'tru64' should be added, which gets
configured automatically when os.name = OSF. Any maybe the SONAME handling
could somehow be integrated there as well.
Thanks, Markus
Index: gcc.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/v2/tools/gcc.jam,v
retrieving revision 1.63
diff -u -w -r1.63 gcc.jam
--- gcc.jam 10 Mar 2006 13:38:40 -0000 1.63
+++ gcc.jam 27 Mar 2006 11:24:57 -0000
@@ -262,8 +262,6 @@
# We use --strip-all flag as opposed to -s since icc
# (intel's compiler) is generally option-compatible with
# and inherits from gcc toolset, but does not support -s
- flags $(toolset).link OPTIONS $(condition)/<debug-symbols>off : -Wl,--strip-all
- : unchecked ;
flags $(toolset).link RPATH $(condition) : <dll-path> : unchecked ;
flags $(toolset).link RPATH_LINK $(condition) : <xdll-path> : unchecked ;
}
@@ -319,7 +317,7 @@
actions link bind LIBRARIES
{
- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(OPTIONS) $(USER_OPTIONS)
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-rpath$(SPACE)-Wl,"$(RPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(OPTIONS) $(USER_OPTIONS)
}
@@ -361,7 +359,7 @@
# Differ from 'link' above only by -shared.
actions link.dll bind LIBRARIES
{
- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-R$(SPACE)-Wl,"$(RPATH)" -o "$(<)" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[1]:D=) -shared "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(OPTIONS) $(USER_OPTIONS)
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,-rpath$(SPACE)-Wl,"$(RPATH)" -o "$(<)" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[1]:D=) -shared "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(OPTIONS) $(USER_OPTIONS)
}
# Set up threading support. It's somewhat contrived, so perform it at the end,