summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Kost <alezost@gmail.com>2015-10-16 20:34:32 +0300
committerAlex Kost <alezost@gmail.com>2015-10-20 16:47:05 +0300
commit51805219a53311fc56e291b5762860062ef28446 (patch)
treec2cebd782b7824a4c08de343788dfdf071c23eac
parentcbe9505778088643684a8942114baa0fcf3b3339 (diff)
downloadguix-51805219a53311fc56e291b5762860062ef28446.tar.gz
build: Set DOT_USER_PROGRAM for Emacs interface.
Suggested by Ludovic Courtès <ludo@gnu.org>.

* configure.ac: Set DOT_USER_PROGRAM variable.
* emacs/guix-config.el.in (guix-config-dot-program): New constant.
* emacs/guix-external.el (guix-dot-program): Use it.
-rw-r--r--configure.ac1
-rw-r--r--emacs/guix-config.el.in4
-rw-r--r--emacs/guix-external.el7
3 files changed, 11 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index bb3d947535..00e7c7b4bc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -206,6 +206,7 @@ AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env])
 AC_CONFIG_FILES([test-env],     [chmod +x test-env])
 
 dnl Emacs interface.
+AC_PATH_PROG([DOT_USER_PROGRAM], [dot], [dot])
 AM_PATH_LISPDIR
 AM_CONDITIONAL([HAVE_EMACS], [test "x$EMACS" != "xno"])
 
diff --git a/emacs/guix-config.el.in b/emacs/guix-config.el.in
index 16434cecea..c7affb8c6d 100644
--- a/emacs/guix-config.el.in
+++ b/emacs/guix-config.el.in
@@ -1,6 +1,7 @@
 ;;; guix-config.el --- Compile-time configuration of Guix.
 
 ;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
+;; Copyright © 2015 Alex Kost <alezost@gmail.com>
 
 ;; This file is part of GNU Guix.
 
@@ -35,6 +36,9 @@ strings of the form:
 
 Where ARGS is a list of arguments to the guile program.")
 
+(defconst guix-config-dot-program "@DOT_USER_PROGRAM@"
+  "Name of the 'dot' executable defined at configure time.")
+
 (provide 'guix-config)
 
 ;;; guix-config.el ends here
diff --git a/emacs/guix-external.el b/emacs/guix-external.el
index 580676ef91..cf4bd26ac7 100644
--- a/emacs/guix-external.el
+++ b/emacs/guix-external.el
@@ -23,11 +23,16 @@
 
 ;;; Code:
 
+(require 'guix-config)
+
 (defgroup guix-external nil
   "Settings for external programs."
   :group 'guix)
 
-(defcustom guix-dot-program (executable-find "dot")
+(defcustom guix-dot-program
+  (if (file-name-absolute-p guix-config-dot-program)
+      guix-config-dot-program
+    (executable-find "dot"))
   "Name of the 'dot' executable."
   :type 'string
   :group 'guix-external)