mirror of
https://github.com/Llewellynvdm/conky.git
synced 2025-01-29 18:18:39 +00:00
Work around linker missing objects when building tests
Since we rely on a global object ctor to add a display output to the list, it is not referenced from anywhere else, so does not get linked in when building tests since most objects are pulled from a static library. Another option would be to use --whole-archive to link to it.
This commit is contained in:
parent
5b22723a3b
commit
7cf80d5948
@ -43,6 +43,7 @@ namespace {
|
|||||||
conky::display_output_console console_output("console");
|
conky::display_output_console console_output("console");
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
void init_console_output() {}
|
||||||
|
|
||||||
namespace priv {} // namespace priv
|
namespace priv {} // namespace priv
|
||||||
|
|
||||||
|
@ -49,6 +49,7 @@ namespace {
|
|||||||
conky::display_output_file file_output("file");
|
conky::display_output_file file_output("file");
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
extern void init_file_output() {}
|
||||||
|
|
||||||
namespace priv {} // namespace priv
|
namespace priv {} // namespace priv
|
||||||
|
|
||||||
|
@ -47,6 +47,7 @@ conky::disabled_display_output http_output_disabled("http", "BUILD_HTTP");
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
extern void init_http_output() {}
|
||||||
|
|
||||||
// TODO: cleanup namespace
|
// TODO: cleanup namespace
|
||||||
// namespace priv {
|
// namespace priv {
|
||||||
|
@ -52,6 +52,7 @@ conky::disabled_display_output ncurses_output_disabled("ncurses",
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
extern void init_ncurses_output() {}
|
||||||
|
|
||||||
// namespace priv {
|
// namespace priv {
|
||||||
|
|
||||||
|
@ -50,6 +50,13 @@ display_outputs_t *display_outputs;
|
|||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
// HACK: force the linker to link all the objects in with test enabled
|
||||||
|
extern void init_console_output();
|
||||||
|
extern void init_ncurses_output();
|
||||||
|
extern void init_file_output();
|
||||||
|
extern void init_http_output();
|
||||||
|
extern void init_x11_output();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The selected and active display output.
|
* The selected and active display output.
|
||||||
*/
|
*/
|
||||||
@ -99,6 +106,12 @@ disabled_display_output::disabled_display_output(const std::string &name,
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool initialize_display_outputs() {
|
bool initialize_display_outputs() {
|
||||||
|
init_console_output();
|
||||||
|
init_ncurses_output();
|
||||||
|
init_file_output();
|
||||||
|
init_http_output();
|
||||||
|
init_x11_output();
|
||||||
|
|
||||||
std::vector<display_output_base *> outputs;
|
std::vector<display_output_base *> outputs;
|
||||||
outputs.reserve(display_outputs->size());
|
outputs.reserve(display_outputs->size());
|
||||||
|
|
||||||
|
@ -193,6 +193,7 @@ conky::disabled_display_output x11_output_disabled("x11", "BUILD_X11");
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
extern void init_x11_output() {}
|
||||||
|
|
||||||
namespace priv {} // namespace priv
|
namespace priv {} // namespace priv
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user