From 7bf64922f5e2665ad1d6392b0e4141cde40606a2 Mon Sep 17 00:00:00 2001 From: Kelly Wilson Date: Thu, 4 Jun 2009 16:04:26 -0600 Subject: [PATCH] Fix for finding ldc.conf file with mingw --- gen/configfile.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gen/configfile.cpp b/gen/configfile.cpp index 209421c3..251501b2 100644 --- a/gen/configfile.cpp +++ b/gen/configfile.cpp @@ -11,6 +11,11 @@ #include "mars.h" +#if _WIN32 +#include +#undef GetCurrentDirectory +#endif + namespace sys = llvm::sys; ConfigFile::ConfigFile() @@ -50,12 +55,18 @@ bool ConfigFile::read(const char* argv0, void* mainAddr, const char* filename) if (!p.exists()) { + #if _WIN32 + char buf[256]; + GetModuleFileName(NULL, buf, 256); + p = *(new std::string(buf)); + #else // 4) try next to the executable p = sys::Path::GetMainExecutable(argv0, mainAddr); + #endif p.eraseComponent(); p.appendComponent(filename); if (!p.exists()) - { + { // 5) fail load cfg, users still have the DFLAGS environment var std::cerr << "Error failed to locate the configuration file: " << filename << std::endl; return false;