chiark / gitweb /
setup: Find a good Emacs21 and use that for compiling things.
authorMark Wooding <mdw@distorted.org.uk>
Thu, 16 Mar 2006 21:22:22 +0000 (21:22 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Thu, 16 Mar 2006 21:27:52 +0000 (21:27 +0000)
emacs-Makefile
setup

index aa8da92bd3af099b6ea6a33fab669360dec66eed..987378abce50dec68a35e8828ada83c832658ec8 100644 (file)
@@ -1,7 +1,9 @@
 ### Emacs configuration Makefile
 
+EMACS = emacs
+
 all: dot-emacs.elc
 
 .SUFFIXES: .el .elc
 .el.elc:
-       emacs --batch --eval '(byte-compile-file "$<")'
+       $(EMACS) --batch --no-site-file --eval '(byte-compile-file "$<")'
diff --git a/setup b/setup
index 1ebf7f1b82283a127d42beaecba39801bf1ed420..71c114e9650a90976116d56f952380f19b00bd18 100755 (executable)
--- a/setup
+++ b/setup
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
 
 set -e
 
@@ -167,10 +167,25 @@ done
 echo "  all done."
 
 ### Set up the Emacs config
+$echon "Finding a suitable emacs:$echoc"
+emacs=no
+for i in emacs21 emacs; do
+  if type -p >/dev/null $i; then
+    emacs=$i
+    break
+  fi
+done
+if [ $emacs = no ]; then
+  echo " failed."
+  emacs=:
+else
+  echo " $emacs."
+fi
+
 echo "Installing Emacs packages..."
 for elib in make-regexp; do
   $echon "  $elib:$echoc"
-  if $false emacs >/dev/null 2>&1 --batch --eval '
+  if $false $emacs >/dev/null 2>&1 --no-site-file --batch --eval '
        (setq load-path (nconc load-path (list "~/lib/emacs")))
        (kill-emacs (condition-case nil
                       (progn (load-library "make-regexp") 0)
@@ -181,7 +196,7 @@ for elib in make-regexp; do
     $GETURL $HOME$sub/lib/emacs/make-regexp.el $REPO/make-regexp.el
     $echon " compiling$echoc"
     (cd $HOME$sub/lib/emacs;
-      emacs >/dev/null 2>&1 --batch \
+      $emacs >/dev/null 2>&1 --no-site-file --batch \
        --eval '(byte-compile-file "make-regexp.el")')
     echo " done."
   fi
@@ -197,5 +212,5 @@ for link in dot-emacs.el:dot-emacs.el emacs-Makefile:Makefile; do
   mv $HOME$sub/lib/emacs/$to.new $HOME$sub/lib/emacs/$to
 done
 $echon " compiling$echoc"
-make >/dev/null 2>&1 -C $HOME$sub/lib/emacs
+make >/dev/null 2>&1 -C $HOME$sub/lib/emacs EMACS=$emacs
 echo " done."