From db31c2f832dd4067e4670dd469fe3b696188576b Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 28 Feb 2017 22:49:10 +0300 Subject: Add configure flag for use physfs. New configure option: --without-physfs For now manaplus cant be compiled without physfs. --- src/fs/virtfs.cpp | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) (limited to 'src/fs/virtfs.cpp') diff --git a/src/fs/virtfs.cpp b/src/fs/virtfs.cpp index 7aa30940c..3ba214dc7 100644 --- a/src/fs/virtfs.cpp +++ b/src/fs/virtfs.cpp @@ -20,8 +20,11 @@ #include "fs/virtfs.h" -#include "fs/virtfsdir.h" +#ifdef USE_PHYSFS #include "fs/virtfsphys.h" +#else // USE_PHYSFS +#include "fs/virtfsdir.h" +#endif // USE_PHYSFS #include "fs/virtfile.h" #include "fs/virtfsfuncs.h" #include "fs/virtlist.h" @@ -34,33 +37,52 @@ namespace VirtFs { void init(const std::string &restrict name) { +#ifdef USE_PHYSFS VirtFsPhys::init(name); +#else // USE_PHYSFS VirtFsDir::init(name); +#endif // USE_PHYSFS updateDirSeparator(); } void updateDirSeparator() { +#ifdef USE_PHYSFS + dirSeparator = VirtFsPhys::getDirSeparator(); +#else // USE_PHYSFS #ifdef WIN32 dirSeparator = "\\"; #else // WIN32 dirSeparator = "/"; #endif // WIN32 +#endif // USE_PHYSFS } const char *getDirSeparator() { +#ifdef USE_PHYSFS + return VirtFsPhys::getDirSeparator(); +#else // USE_PHYSFS return dirSeparator; +#endif // USE_PHYSFS } const char *getBaseDir() { +#ifdef USE_PHYSFS + return VirtFsPhys::getBaseDir(); +#else // USE_PHYSFS return VirtFsDir::getBaseDir(); +#endif // USE_PHYSFS } const char *getUserDir() { +#ifdef USE_PHYSFS + return VirtFsPhys::getUserDir(); +#else // USE_PHYSFS return VirtFsDir::getUserDir(); +#endif // USE_PHYSFS } bool exists(const std::string &restrict name) @@ -147,8 +169,12 @@ namespace VirtFs bool deinit() { - VirtFsDir::deinit(); +#ifdef USE_PHYSFS return VirtFsPhys::deinit(); +#else // USE_PHYSFS + VirtFsDir::deinit(); + return true; +#endif // USE_PHYSFS } void permitLinks(const bool val) -- cgit v1.2.3-60-g2f50