summaryrefslogtreecommitdiffstats
path: root/fastos
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2019-03-18 12:28:28 +0100
committerTor Egge <Tor.Egge@broadpark.no>2019-03-18 12:28:28 +0100
commitf20957c4d0d6eaf574d711bab19abf793ef7c084 (patch)
tree4206a9ba2525ac325efc50d25f401692ff2641d3 /fastos
parente52b3ab39a5ae05fc1b1d538b6efa852f321a2f2 (diff)
Handle shared library names on darwin.
Diffstat (limited to 'fastos')
-rw-r--r--fastos/src/vespa/fastos/unix_dynamiclibrary.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/fastos/src/vespa/fastos/unix_dynamiclibrary.cpp b/fastos/src/vespa/fastos/unix_dynamiclibrary.cpp
index f3d3aa35511..16533445757 100644
--- a/fastos/src/vespa/fastos/unix_dynamiclibrary.cpp
+++ b/fastos/src/vespa/fastos/unix_dynamiclibrary.cpp
@@ -6,13 +6,24 @@
namespace {
const std::string FASTOS_DYNLIB_PREFIX("lib");
+#ifdef __APPLE__
+const std::string FASTOS_DYNLIB_SUFFIX(".dylib");
+#else
const std::string FASTOS_DYNLIB_SUFFIX(".so");
const std::string FASTOS_DYNLIB_SUFPREFIX(".so.");
+#endif
bool hasValidSuffix(const std::string & s)
{
- return (s.rfind(FASTOS_DYNLIB_SUFFIX) == (s.size() - FASTOS_DYNLIB_SUFFIX.size()))
- || (s.rfind(FASTOS_DYNLIB_SUFPREFIX) != std::string::npos);
+ if (s.rfind(FASTOS_DYNLIB_SUFFIX) == (s.size() - FASTOS_DYNLIB_SUFFIX.size())) {
+ return true;
+ }
+#ifndef __APPLE__
+ if (s.rfind(FASTOS_DYNLIB_SUFPREFIX) != std::string::npos) {
+ return true;
+ }
+#endif
+ return false;
}
}