aboutsummaryrefslogtreecommitdiffstats
path: root/src/Main.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-01-30 20:29:48 +0100
committerMax Kellermann <max@duempel.org>2014-01-30 20:39:40 +0100
commit4465e2c46bbed438377dc4a99df333bd5c058d5e (patch)
treecbc1d27aad939689f44b0ac3542a6ca1777b9dc1 /src/Main.cxx
parent34b309b99aa2f274308f19974c428e1c7ac5d66f (diff)
downloadmpd-4465e2c46bbed438377dc4a99df333bd5c058d5e.tar.gz
mpd-4465e2c46bbed438377dc4a99df333bd5c058d5e.tar.xz
mpd-4465e2c46bbed438377dc4a99df333bd5c058d5e.zip
db: add compile-time option to disable database
Diffstat (limited to 'src/Main.cxx')
-rw-r--r--src/Main.cxx23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/Main.cxx b/src/Main.cxx
index 2c5d183ea..23b36ade3 100644
--- a/src/Main.cxx
+++ b/src/Main.cxx
@@ -23,13 +23,10 @@
#include "CommandLine.hxx"
#include "PlaylistFile.hxx"
#include "PlaylistGlobal.hxx"
-#include "db/update/Service.hxx"
#include "MusicChunk.hxx"
#include "StateFile.hxx"
#include "PlayerThread.hxx"
#include "Mapper.hxx"
-#include "db/DatabaseGlue.hxx"
-#include "db/DatabaseSimple.hxx"
#include "Permission.hxx"
#include "Listen.hxx"
#include "client/Client.hxx"
@@ -67,6 +64,12 @@
#include "config/ConfigOption.hxx"
#include "Stats.hxx"
+#ifdef ENABLE_DATABASE
+#include "db/update/Service.hxx"
+#include "db/DatabaseGlue.hxx"
+#include "db/DatabaseSimple.hxx"
+#endif
+
#ifdef ENABLE_NEIGHBOR_PLUGINS
#include "neighbor/Glue.hxx"
#endif
@@ -150,6 +153,8 @@ glue_mapper_init(Error &error)
return true;
}
+#ifdef ENABLE_DATABASE
+
/**
* Returns the database. If this function returns false, this has not
* succeeded, and the caller should create the database after the
@@ -202,6 +207,8 @@ glue_db_init_and_load(void)
return !db_is_simple() || db_exists();
}
+#endif
+
/**
* Configure and initialize the sticker subsystem.
*/
@@ -449,11 +456,13 @@ int mpd_main(int argc, char *argv[])
decoder_plugin_init_all();
+#ifdef ENABLE_DATABASE
const bool create_db = !glue_db_init_and_load();
instance->update = db_is_simple()
? new UpdateService(*main_loop)
: nullptr;
+#endif
glue_sticker_init();
@@ -490,6 +499,7 @@ int mpd_main(int argc, char *argv[])
player_create(instance->partition->pc);
+#ifdef ENABLE_DATABASE
if (create_db) {
/* the database failed to load: recreate the
database */
@@ -497,6 +507,7 @@ int mpd_main(int argc, char *argv[])
if (job == 0)
FatalError("directory update failed");
}
+#endif
if (!glue_state_file_init(error)) {
LogError(error);
@@ -562,6 +573,7 @@ int mpd_main(int argc, char *argv[])
}
#endif
+#ifdef ENABLE_DATABASE
delete instance->update;
const clock_t start = clock();
@@ -569,6 +581,7 @@ int mpd_main(int argc, char *argv[])
FormatDebug(main_domain,
"db_finish took %f seconds",
((float)(clock()-start))/CLOCKS_PER_SEC);
+#endif
#ifdef ENABLE_SQLITE
sticker_global_finish();
@@ -578,7 +591,11 @@ int mpd_main(int argc, char *argv[])
playlist_list_global_finish();
input_stream_global_finish();
+
+#ifdef ENABLE_DATABASE
mapper_finish();
+#endif
+
delete instance->partition;
command_finish();
decoder_plugin_deinit_all();