src: fix non-linking with some compilers/linkers 44/213544/1 accepted/tizen/unified/20190909.050752 submit/tizen/20190906.120330
authorAdrian Szyndela <adrian.s@samsung.com>
Fri, 6 Sep 2019 11:06:31 +0000 (13:06 +0200)
committerAdrian Szyndela <adrian.s@samsung.com>
Fri, 6 Sep 2019 11:12:41 +0000 (13:12 +0200)
We got a report that the library does not link within some
environments, giving messages like:

 undefined reference to `BusPathResolver::KDBUS_SYSTEM_BUS_PATH'

This is due to missing definition of static constexpr fields.
It is not necessary to give such definition when a field is initialized
inline since C++17, but this is compiled with C++11.

This commit adds definition of static constexpr fields.

Change-Id: Ia354f0e1aa5f1051571bf328fc654627f69c5dbd

src/libdbuspolicy1.cpp

index 74c8ed2..404dad7 100644 (file)
@@ -273,6 +273,9 @@ public:
        uid_t bus_owner() { return owner; }
 };
 
+constexpr boost::string_ref BusPathResolver::KDBUS_PATH_PREFIX;
+constexpr boost::string_ref BusPathResolver::KDBUS_SYSTEM_BUS_PATH;
+
 DBUSPOLICY1_EXPORT void* dbuspolicy1_init_shared(const char *bus_path, int fd)
 {
        assert(bus_path);