From 57fb427d0ffc6097f9072e63e2dd3c6aeb2e24b6 Mon Sep 17 00:00:00 2001 From: David Olsen Date: Wed, 2 Aug 2017 14:53:59 -0700 Subject: [PATCH] PGI C++ compiler support: Set DT_SONAME for shared libraries When creating a shared library, use the -soname option to set the DT_SONAME field to the simple name of the library. Setting the DT_SONAME field is necessary so that the shared library can be found when it is referenced by another shared library that is then referenced by an executable. --- src/tools/pgi.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/pgi.jam b/src/tools/pgi.jam index 5278ea288..0ea025e7a 100644 --- a/src/tools/pgi.jam +++ b/src/tools/pgi.jam @@ -118,7 +118,7 @@ rule link.dll ( targets * : sources * : properties * ) actions link.dll bind LIBRARIES { - "$(CONFIG_COMMAND)" $(OPTIONS) -shared -L"$(LINKPATH)" -R"$(RPATH)" -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) + "$(CONFIG_COMMAND)" $(OPTIONS) -shared -L"$(LINKPATH)" -R"$(RPATH)" -soname $(<[-1]:D=) -o "$(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) } actions updated together piecemeal pgi.archive