| @@ -8,15 +8,15 @@ | |||||
| // http://www.wtfpl.net/ for more details. | // http://www.wtfpl.net/ for more details. | ||||
| // | // | ||||
| #if defined HAVE_CONFIG_H | |||||
| #if HAVE_CONFIG_H | |||||
| # include "config.h" | # include "config.h" | ||||
| #endif | #endif | ||||
| #if defined HAVE_UNISTD_H | |||||
| #if HAVE_UNISTD_H | |||||
| # include <unistd.h> | # include <unistd.h> | ||||
| #endif | #endif | ||||
| #ifdef _WIN32 | |||||
| #if _WIN32 | |||||
| # define WIN32_LEAN_AND_MEAN | # define WIN32_LEAN_AND_MEAN | ||||
| # include <direct.h> | # include <direct.h> | ||||
| #endif | #endif | ||||
| @@ -29,7 +29,7 @@ namespace lol | |||||
| namespace System | namespace System | ||||
| { | { | ||||
| #if defined _WIN32 | |||||
| #if _WIN32 | |||||
| # define SEPARATOR '\\' | # define SEPARATOR '\\' | ||||
| #else | #else | ||||
| # define SEPARATOR '/' | # define SEPARATOR '/' | ||||
| @@ -45,23 +45,29 @@ void Init(int argc, char *argv[], | |||||
| using namespace std; | using namespace std; | ||||
| /* | /* | ||||
| * Retrieve binary directory, defaulting to current dir. | |||||
| * Retrieve binary directory, defaulting to no directory on Android | |||||
| * and emscripten, and the current directory on other platforms. | |||||
| */ | */ | ||||
| #if __ANDROID__ | |||||
| /* Android assets are accessed using no prefix at all. */ | |||||
| #if __ANDROID__ || EMSCRIPTEN | |||||
| String binarydir = ""; | String binarydir = ""; | ||||
| #elif defined HAVE_GETCWD | |||||
| char *cwd = getcwd(nullptr, 0); | |||||
| String binarydir = String(cwd ? cwd : ".") + SEPARATOR; | |||||
| free(cwd); | |||||
| #elif defined HAVE__GETCWD || (defined _WIN32 && !defined _XBOX) | |||||
| char *cwd = _getcwd(nullptr, 0); | |||||
| String binarydir = String(cwd ? cwd : ".") + SEPARATOR; | |||||
| free(cwd); | |||||
| #else | #else | ||||
| String binarydir = "./"; | |||||
| #endif | |||||
| String binarydir = "."; | |||||
| char *cwd = nullptr; | |||||
| # if HAVE_GETCWD | |||||
| cwd = getcwd(nullptr, 0); | |||||
| # elif HAVE__GETCWD || (_WIN32 && !_XBOX) | |||||
| cwd = _getcwd(nullptr, 0); | |||||
| # endif | |||||
| if (cwd) | |||||
| { | |||||
| binarydir = cwd; | |||||
| free(cwd); | |||||
| } | |||||
| binarydir += SEPARATOR; | |||||
| if (argc > 0) | if (argc > 0) | ||||
| { | { | ||||
| @@ -69,6 +75,7 @@ void Init(int argc, char *argv[], | |||||
| if (last_sep) | if (last_sep) | ||||
| binarydir = String(argv[0], last_sep - argv[0] + 1); | binarydir = String(argv[0], last_sep - argv[0] + 1); | ||||
| } | } | ||||
| #endif | |||||
| /* | /* | ||||
| * Find the common prefix between project dir and solution dir. | * Find the common prefix between project dir and solution dir. | ||||