.emacs-autogen.sh
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 21 Feb 2011 23:38:34 +0200
changeset 579 b71e74cfe817
parent 575 d2730823e23f
child 604 9084d12d924d
permissions -rwxr-xr-x
Improve checker architecture.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
386
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
#!/bin/sh
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
if [ -z "$1" ]; then
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
  echo "Where config file?"
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
  exit 1
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
fi
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
cfg=$1
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
579
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    10
# Set host_os:
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    11
#   windows, linux, unknown
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    12
# host_distro:
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    13
#   cygwin, debian, unknown
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    14
check_platform() {
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    15
  case `uname -s` in
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    16
    CYGWIN_NT-*)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    17
      host_os=windows
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    18
      host_distro=cygwin
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    19
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    20
    Linux)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    21
      host_os=linux
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    22
      if [ -e /etc/debian_version ]; then
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    23
        host_distro=debian
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    24
      else
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    25
        host_distro=unknown
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    26
      fi
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    27
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    28
    *)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    29
      host_os=unknown
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    30
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    31
  esac
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    32
}
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    33
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    34
check_ispell() {
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    35
  command -v ispell >/dev/null && return 0 || return 1
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    36
}
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    37
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    38
check_aspell() {
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    39
  command -v aspell >/dev/null && return 0 || return 1
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    40
}
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    41
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    42
print_ispell() {
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    43
  echo '(setq-default ispell-program-name "ispell")'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    44
  case $host_distro in
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    45
    debian)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    46
      echo '(setq-default ispell-local-dictionary "british")'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    47
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    48
    unknown)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    49
      echo '(setq-default ispell-local-dictionary "default")'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    50
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    51
  esac
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    52
}
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    53
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    54
print_aspell() {
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    55
  echo '(setq-default ispell-program-name "aspell")'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    56
  echo '(setq-default ispell-local-dictionary "en")'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    57
}
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    58
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    59
check_speller() {
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    60
  echo
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    61
  echo ';; ================================================================'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    62
  echo ';; Speller settings (check_speller).'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    63
  echo
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    64
  check_ispell
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    65
  ispell_present=$?
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    66
  check_aspell
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    67
  aspell_present=$?
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    68
  case $host_os in
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    69
    windows)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    70
      case $host_distro in
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    71
        cygwin)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    72
          if [ $aspell_present = 0 ]; then
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    73
            print_aspell
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    74
          elif [ $ispell_present = 0 ]; then
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    75
            print_ispell
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    76
          fi
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    77
          ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    78
      esac
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    79
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    80
    linux)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    81
      case $host_distro in
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    82
        debian)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    83
          if [ $ispell_present = 0 ]; then
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    84
            print_ispell
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    85
          elif [ $aspell_present = 0 ]; then
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    86
            print_aspell
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    87
          fi
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    88
          ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    89
      esac
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    90
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    91
    *)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    92
      :
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    93
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    94
  esac
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    95
}
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    96
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    97
# Remove old auto-generated config and fill it by standard header.
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    98
echo ";; -*- mode: lisp; coding: utf-8; fill-column: 78 -*-
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    99
;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   100
;; For load order see README.
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   101
" >$cfg
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   102
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   103
check_platform
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   104
check_speller >>$cfg