Mir

Merge lp:~afrantzis/mir/move-lttng-libs into lp:~mir-team/mir/trunk

Proposed by Alexandros Frantzis
Status: Merged
Approved by: Alexandros Frantzis
Approved revision: no longer in the source branch.
Merged at revision: 778
Proposed branch: lp:~afrantzis/mir/move-lttng-libs
Merge into: lp:~mir-team/mir/trunk
Diff against target: 98 lines (+32/-7)
6 files modified
CMakeLists.txt (+2/-0)
debian/mir-test-tools.install (+2/-2)
src/client/lttng/CMakeLists.txt (+1/-1)
src/server/lttng/CMakeLists.txt (+1/-1)
src/shared/lttng/CMakeLists.txt (+2/-0)
src/shared/lttng/tracepoint_provider.cpp (+24/-3)
To merge this branch: bzr merge lp:~afrantzis/mir/move-lttng-libs
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Didier Roche-Tolomelli Approve
Review via email: mp+171492@code.launchpad.net

Commit message

lttng: Install tracepoint provider libraries in private lib subdirectory

Description of the change

lttng: Install tracepoint provider libraries in private lib subdirectory

To post a comment you must log in.
Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

Looking good, thanks Alexandros!

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2013-06-25 11:41:09 +0000
3+++ CMakeLists.txt 2013-06-26 10:04:26 +0000
4@@ -140,6 +140,8 @@
5
6 include_directories(${MIR_ANDROID_INCLUDE_DIRECTORIES})
7
8+set(MIR_TRACEPOINT_LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/mir/tools)
9+
10 set(MIR_GENERATED_INCLUDE_DIRECTORIES)
11 macro(uses_android_input _target_name)
12 set_property(TARGET ${_target_name} APPEND_STRING PROPERTY COMPILE_FLAGS "${MIR_ANDROID_INPUT_COMPILE_FLAGS}")
13
14=== modified file 'debian/mir-test-tools.install'
15--- debian/mir-test-tools.install 2013-06-24 16:59:17 +0000
16+++ debian/mir-test-tools.install 2013-06-26 10:04:26 +0000
17@@ -1,3 +1,3 @@
18 usr/lib/*/mir/tools/mir_stress
19-usr/lib/*/libmirclientlttng.so
20-usr/lib/*/libmirserverlttng.so
21+usr/lib/*/mir/tools/libmirclientlttng.so
22+usr/lib/*/mir/tools/libmirserverlttng.so
23
24=== modified file 'src/client/lttng/CMakeLists.txt'
25--- src/client/lttng/CMakeLists.txt 2013-06-24 12:15:28 +0000
26+++ src/client/lttng/CMakeLists.txt 2013-06-26 10:04:26 +0000
27@@ -37,5 +37,5 @@
28 )
29
30 install(TARGETS mirclientlttng
31- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
32+ LIBRARY DESTINATION ${MIR_TRACEPOINT_LIB_INSTALL_DIR}
33 )
34
35=== modified file 'src/server/lttng/CMakeLists.txt'
36--- src/server/lttng/CMakeLists.txt 2013-06-24 12:15:28 +0000
37+++ src/server/lttng/CMakeLists.txt 2013-06-26 10:04:26 +0000
38@@ -51,5 +51,5 @@
39 )
40
41 install(TARGETS mirserverlttng
42- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
43+ LIBRARY DESTINATION ${MIR_TRACEPOINT_LIB_INSTALL_DIR}
44 )
45
46=== modified file 'src/shared/lttng/CMakeLists.txt'
47--- src/shared/lttng/CMakeLists.txt 2013-06-03 12:15:44 +0000
48+++ src/shared/lttng/CMakeLists.txt 2013-06-26 10:04:26 +0000
49@@ -1,3 +1,5 @@
50+add_definitions(-DMIR_TRACEPOINT_LIB_INSTALL_PATH="${CMAKE_INSTALL_PREFIX}/${MIR_TRACEPOINT_LIB_INSTALL_DIR}")
51+
52 add_library(
53 mirsharedlttng STATIC
54
55
56=== modified file 'src/shared/lttng/tracepoint_provider.cpp'
57--- src/shared/lttng/tracepoint_provider.cpp 2013-06-03 12:15:44 +0000
58+++ src/shared/lttng/tracepoint_provider.cpp 2013-06-26 10:04:26 +0000
59@@ -23,15 +23,36 @@
60
61 #include <dlfcn.h>
62
63-mir::lttng::TracepointProvider::TracepointProvider(std::string const& lib_name)
64- : lib{dlopen(lib_name.c_str(), RTLD_NOW)}
65-{
66+namespace
67+{
68+
69+std::string const tracepoint_lib_install_path{MIR_TRACEPOINT_LIB_INSTALL_PATH};
70+
71+void* open_tracepoint_lib(std::string const& lib_name)
72+{
73+ auto lib = dlopen(lib_name.c_str(), RTLD_NOW);
74+
75+ if (lib == nullptr)
76+ {
77+ std::string path{tracepoint_lib_install_path + "/" + lib_name};
78+ lib = dlopen(path.c_str(), RTLD_NOW);
79+ }
80+
81 if (lib == nullptr)
82 {
83 std::string msg{"Failed to load tracepoint provider: "};
84 msg += dlerror();
85 BOOST_THROW_EXCEPTION(std::runtime_error(msg));
86 }
87+
88+ return lib;
89+}
90+
91+}
92+
93+mir::lttng::TracepointProvider::TracepointProvider(std::string const& lib_name)
94+ : lib{open_tracepoint_lib(lib_name)}
95+{
96 }
97
98 mir::lttng::TracepointProvider::~TracepointProvider() noexcept

Subscribers

People subscribed via source and target branches