changeset 1490:cd4478b47b10

Look for configuration file in `/etc` and `/etc/ldc` too (absolute paths) except on Windows. Also disabled the `$PREFIX/etc/ldc` case for Windows, since the "/etc/ldc" part was #if'ed out anyway.
author Frits van Bommel <fvbommel wxs.nl>
date Tue, 09 Jun 2009 12:19:52 +0200
parents a048f31bf9f6
children 360a8e8eea51
files gen/configfile.cpp
diffstat 1 files changed, 17 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/gen/configfile.cpp	Mon Jun 08 19:48:20 2009 +0200
+++ b/gen/configfile.cpp	Tue Jun 09 12:19:52 2009 +0200
@@ -64,18 +64,31 @@
     if (p.exists())
         return true;
 
+#if !_WIN32
+    // Does Windows need something similar to these?
+
     // 4) try the install-prefix/etc/ldc
     p = sys::Path(LDC_INSTALL_PREFIX);
-#if !_WIN32
-    // Does Windows need something similar?
     p.appendComponent("etc");
     p.appendComponent("ldc");
-#endif
     p.appendComponent(filename);
     if (p.exists())
         return true;
 
-    // 5) try next to the executable
+    // 5) try /etc (absolute path)
+    p = sys::Path("/etc");
+    p.appendComponent(filename);
+    if (p.exists())
+        return true;
+
+    // 6) try /etc/ldc (absolute path)
+    p = sys::Path("/etc/ldc");
+    p.appendComponent(filename);
+    if (p.exists())
+        return true;
+#endif
+
+    // 7) try next to the executable
 #if _WIN32
     p = ConfigGetExePath(p);
 #else