about summary refs log tree commit diff stats
path: root/src/bindings/termcap.nim
diff options
context:
space:
mode:
Diffstat (limited to 'src/bindings/termcap.nim')
-rw-r--r--src/bindings/termcap.nim15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/bindings/termcap.nim b/src/bindings/termcap.nim
index 02962a67..5a98ccc0 100644
--- a/src/bindings/termcap.nim
+++ b/src/bindings/termcap.nim
@@ -1,9 +1,20 @@
-const termlib = (func(): string =
-  let libs = ["terminfo", "mytinfo", "termlib", "termcap", "tinfo", "ncurses", "curses"]
+import os
+const termlib = (proc(): string =
+  const libs = [
+    "terminfo", "mytinfo", "termlib", "termcap", "tinfo", "ncurses", "curses"
+  ]
   for lib in libs:
     let res = staticExec("pkg-config --libs --silence-errors " & lib)
     if res != "":
       return res
+  # Apparently on some systems pkg-config will fail to locate ncurses.
+  const dirs = [
+    "/lib", "/usr/lib", "/usr/local/lib"
+  ]
+  for lib in libs:
+    for dir in dirs:
+      if fileExists(dir & "/lib" & lib & ".a"):
+        return "-l" & lib
 )()
 when termlib != "":
   {.passl: termlib.}