diff --git a/bin/llvmdc.ini b/bin/llvmdc.ini index 5434415f..4c686d54 100644 --- a/bin/llvmdc.ini +++ b/bin/llvmdc.ini @@ -1,4 +1,2 @@ - [Environment] - -DFLAGS=-I%@P%/../tango -L-L%@P%/../lib -R%@P%/../lib +DFLAGS=-I%@P%/../tango -R%@P%/../lib diff --git a/dmd/mars.c b/dmd/mars.c index 8a1707a1..267b0c9d 100644 --- a/dmd/mars.c +++ b/dmd/mars.c @@ -21,6 +21,8 @@ #if linux #include +#elif _WIN32 +#include #endif #include "mem.h" @@ -256,7 +258,13 @@ int main(int argc, char *argv[]) files.reserve(argc - 1); // Set default values +#if _WIN32 + char buf[MAX_PATH]; + GetModuleFileName(NULL, buf, MAX_PATH); + global.params.argv0 = buf; +#else global.params.argv0 = argv[0]; +#endif global.params.link = 1; global.params.useAssert = 0; global.params.useInvariants = 1; @@ -326,9 +334,9 @@ int main(int argc, char *argv[]) VersionCondition::addPredefinedGlobalIdent("all"); #if _WIN32 - inifile(argv[0], "llvmdc.ini"); + inifile(global.params.argv0, "llvmdc.ini"); #elif linux - inifile(argv[0], "llvmdc.conf"); + inifile(global.params.argv0, "llvmdc.conf"); #else #error #endif @@ -1065,7 +1073,7 @@ int main(int argc, char *argv[]) { if (global.params.link) //status = runLINK(); - linkExecutable(argv[0]); + linkExecutable(global.params.argv0); if (global.params.run) { diff --git a/dmd/module.h b/dmd/module.h index f8d9701d..e5b6e34d 100644 --- a/dmd/module.h +++ b/dmd/module.h @@ -109,7 +109,7 @@ struct Module : Package Array *versionidsNot; // forward referenced version identifiers Macro *macrotable; // document comment macros - Escape *escapetable; // document comment escapes + struct Escape *escapetable; // document comment escapes Module(char *arg, Identifier *ident, int doDocComment, int doHdrGen); ~Module();