Handle --migrate even when compiled without leveldb support

This commit is contained in:
Kahrl 2013-09-10 18:29:51 +02:00
parent c6e3797c1a
commit 10a38a3005

@ -79,8 +79,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "guiEngine.h" #include "guiEngine.h"
#include "mapsector.h" #include "mapsector.h"
#ifdef USE_LEVELDB
#include "database-sqlite3.h" #include "database-sqlite3.h"
#ifdef USE_LEVELDB
#include "database-leveldb.h" #include "database-leveldb.h"
#endif #endif
@ -795,10 +795,8 @@ int main(int argc, char *argv[])
_("Set logfile path ('' = no logging)")))); _("Set logfile path ('' = no logging)"))));
allowed_options.insert(std::make_pair("gameid", ValueSpec(VALUETYPE_STRING, allowed_options.insert(std::make_pair("gameid", ValueSpec(VALUETYPE_STRING,
_("Set gameid (\"--gameid list\" prints available ones)")))); _("Set gameid (\"--gameid list\" prints available ones)"))));
#if USE_LEVELDB
allowed_options.insert(std::make_pair("migrate", ValueSpec(VALUETYPE_STRING, allowed_options.insert(std::make_pair("migrate", ValueSpec(VALUETYPE_STRING,
_("Migrate from current map backend to another (Only works when using minetestserver or with --server)")))); _("Migrate from current map backend to another (Only works when using minetestserver or with --server)"))));
#endif
#ifndef SERVER #ifndef SERVER
allowed_options.insert(std::make_pair("videomodes", ValueSpec(VALUETYPE_FLAG, allowed_options.insert(std::make_pair("videomodes", ValueSpec(VALUETYPE_FLAG,
_("Show available video modes")))); _("Show available video modes"))));
@ -1219,7 +1217,6 @@ int main(int argc, char *argv[])
// Create server // Create server
Server server(world_path, gamespec, false); Server server(world_path, gamespec, false);
#if USE_LEVELDB
// Database migration // Database migration
if (cmd_args.exists("migrate")) { if (cmd_args.exists("migrate")) {
std::string migrate_to = cmd_args.get("migrate"); std::string migrate_to = cmd_args.get("migrate");
@ -1242,8 +1239,10 @@ int main(int argc, char *argv[])
} }
if (migrate_to == "sqlite3") if (migrate_to == "sqlite3")
new_db = new Database_SQLite3(&(ServerMap&)server.getMap(), world_path); new_db = new Database_SQLite3(&(ServerMap&)server.getMap(), world_path);
#if USE_LEVELDB
else if (migrate_to == "leveldb") else if (migrate_to == "leveldb")
new_db = new Database_LevelDB(&(ServerMap&)server.getMap(), world_path); new_db = new Database_LevelDB(&(ServerMap&)server.getMap(), world_path);
#endif
else { else {
errorstream << "Migration to " << migrate_to << " is not supported" << std::endl; errorstream << "Migration to " << migrate_to << " is not supported" << std::endl;
return 1; return 1;
@ -1275,7 +1274,6 @@ int main(int argc, char *argv[])
return 0; return 0;
} }
#endif
server.start(port); server.start(port);