From 83c7e1e129b1250bc73bf75e9378dfbe242b09c7 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 2 Jan 2013 19:19:40 +0100 Subject: configure.ac: disable C++ RTTI RTTI adds overhead to the binary, and we don't need that. --- configure.ac | 1 + src/DatabaseGlue.cxx | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 305b2130..9ade4bdf 100644 --- a/configure.ac +++ b/configure.ac @@ -1542,6 +1542,7 @@ if test "x$enable_debug" = xno; then AX_APPEND_COMPILE_FLAGS([-fno-threadsafe-statics]) AX_APPEND_COMPILE_FLAGS([-fmerge-all-constants]) AX_APPEND_COMPILE_FLAGS([-fno-exceptions]) + AX_APPEND_COMPILE_FLAGS([-fno-rtti]) AC_LANG_POP AX_APPEND_LINK_FLAGS([-Wl,--gc-sections]) diff --git a/src/DatabaseGlue.cxx b/src/DatabaseGlue.cxx index b980ded8..03a717cb 100644 --- a/src/DatabaseGlue.cxx +++ b/src/DatabaseGlue.cxx @@ -49,6 +49,7 @@ extern "C" { static Database *db; static bool db_is_open; +static bool is_simple; bool db_init(const struct config_param *param, GError **error_r) @@ -58,6 +59,8 @@ db_init(const struct config_param *param, GError **error_r) const char *plugin_name = config_get_block_string(param, "plugin", "simple"); + is_simple = strcmp(plugin_name, "simple") == 0; + const DatabasePlugin *plugin = GetDatabasePluginByName(plugin_name); if (plugin == NULL) { g_set_error(error_r, db_quark(), 0, @@ -104,7 +107,7 @@ db_is_simple(void) { assert(db == NULL || db_is_open); - return dynamic_cast(db) != nullptr; + return is_simple; } struct directory * -- cgit v1.2.3