annotate admin/quick-install-emacs @ 49612:407d6516031a

2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de> Version 2.0.29 released. * net/tramp.el (tramp-send-region): Protect against tramp-chunksize being nil. 2003-02-04 Michael Albinus <Michael.Albinus@alcatel.de> * net/tramp.el (tramp-handle-directory-file-name): Handle the case PATH is "". (tramp-completion-handle-file-name-all-completions): Define `tramp-current-user' locally. See `tramp-parse-passwd'. (tramp-parse-passwd): For su-alike methods it would be desirable to return "root@localhost" as default. Unfortunately, we have no information whether any user name has been typed already. So we (mis-)use tramp-current-user as indication, assuming it is set in `tramp-completion-handle-file-name-all-completions'. (tramp-send-region): Handle the case `tramp-chunksize' is equal 0. I did it accidently. Infinite loop ... * net/tramp-ftp.el (top-level): eval-after-load "ange-ftp" '(tramp-disable-ange-ftp). Suggested by Kai. (tramp-ftp-file-name-handler): `tramp-disable-ange-ftp' not needed any longer. * net/tramp-smb.el (tramp-smb-file-name-handler-alist): Apply `tramp-handle-directory-file-name' in order to profit from Kai's yesterday changes. 2003-02-03 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de> * net/tramp.el (tramp-chunksize): Set default to 500 as workaround for some ssh connections. (tramp-handle-directory-file-name): New implementation. Not sure if it works. 2003-01-28 Michael Albinus <Michael.Albinus@alcatel.de> * net/tramp.el (tramp-get-device): `tramp-make-tramp-file-name' must not be called with NIL path. It fails in case of multi-method. 2003-01-27 Michael Albinus <Michael.Albinus@alcatel.de> * net/tramp.el (tramp-file-name-for-operation): Apply `expand-file-name' for relative file names only. Otherwise there might be problems if the default directory is another Tramp directory as the directory the file is based on. (tramp-find-foreign-file-name-handler): Check whether FILENAME is a Tramp file name. It isn't if it comes from an expanded file name (like "/xx:yy//zz"). 2003-01-25 Michael Albinus <Michael.Albinus@alcatel.de> * net/tramp.el (tramp-devices): New variable. Keeps virtual device numbers. Devices must distinguish physical file systems. The device numbers provided by "lstat" aren't unique, because we operate on different hosts. So we use virtual device numbers, generated by `tramp-get-device'. Both Ange-FTP and EFS use device number -1. In order to be different, we use device number (-1 x), whereby "x" is unique for a given (multi-method method user host). Suggested by Kai. (tramp-perl-file-attributes): Always return device number -1. There will be a virtual device number set in `tramp-handle-file-attributes', which replaces this one. (tramp-handle-file-attributes): Set virtual device number. (tramp-get-device): New function. Returns the virtual device number. If it doesn't exist, generate a new one. (tramp-handle-file-regular-p): Use Emacs file name primitives instead of calling tramp-handle-* equivalents directly. Needed for tramp-smb. * net/tramp-smb.el (tramp-smb-devices, tramp-smb-get-device): Removed. Functionality moved to tramp.el. (tramp-smb-handle-file-attributes): Apply `tramp-get-device'. ATIME and CTIME are (0 0) now (= "don't know"), which is more honest. (tramp-smb-handle-make-directory): Use Emacs file name primitives instead of calling tramp-smb-handle-* equivalents directly. (tramp-smb-read-file-entry): Return size as a number but a string. 2003-01-24 Michael Albinus <Michael.Albinus@alcatel.de> * net/tramp.el (tramp-completion-function-alist-ssh): Add parsing of "/etc/ssh_config" and "~/.ssh/config". Suggested by Kai. (tramp-completion-function-alist, tramp-set-completion-function): Doc string update. (tramp-parse-sconfig, tramp-parse-sconfig-group): New functions. Provide parsing of "~/.ssh/config" style files. 2003-01-21 Michael Albinus <Michael.Albinus@alcatel.de> * net/tramp.el (tramp-completion-handle-expand-file-name): Apply `tramp-drop-volume-letter'. Otherwise, there are problems on W32 systems. 2003-01-21 Michael Albinus <Michael.Albinus@alcatel.de> * net/tramp-smb.el (tramp-smb-get-device, tramp-smb-get-inode): New functions. Device number and inode number don't exist for SMB files. Therefore we must generate virtual ones. (tramp-smb-devices, tramp-smb-inodes): New variables. Keep generated virtual device numbers and inodes numbers for SMB files. (tramp-smb-handle-file-attributes): Apply them. 2003-01-14 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de> * net/tramp.el (tramp-md5-function): Require md5 before checking function md5. If using md5-encode, put wrapper around it that converts vector of bytes to ascii text. 2003-01-13 Michael Albinus <Michael.Albinus@alcatel.de> * net/tramp.el (tramp-completion-mode): Perform check (integerp last-input-event) before (event-modifiers last-input-event) - there might be problems if `last-input-event' is a mouse event. 2003-01-12 Michael Albinus <Michael.Albinus@alcatel.de> * net/tramp.el (tramp-parse-rhosts, tramp-parse-shosts) (tramp-parse-hosts, tramp-parse-passwd, tramp-parse-netrc): Use `file-readable-p' instead of `file-exists-p'. Otherwise these functions might block. Reported by <kin@neoscale.com>. 2003-01-02 Michael Albinus <Michael.Albinus@alcatel.de> * net/tramp-ftp.el (top-level): Defaults for `tramp-default-method-alist' must be a list. * net/tramp-smb.el (top-level): Defaults for `tramp-default-method-alist' must be a list. 2003-01-02 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de> * net/tramp.el (top-level): Avoid byte-compiler warnings of unused variables if the byte-compiler supports this. This is for the with-parsed-tramp-file-name macro which is wont to produce such stuff.
author Kai Großjohann <kgrossjo@eu.uu.net>
date Wed, 05 Feb 2003 21:03:36 +0000
parents 6f9b527df5c6
children fe4a18479819 d7ddb3e565de
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39041
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
1 #!/bin/sh
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
2 # quick-install-emacs -- do a halfway-decent job of installing emacs quickly
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
3 # Written by Miles Bader <miles@gnu.org>
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
4
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
5 # This script is mainly intended for emacs maintainer or pretesters who
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
6 # install emacs very often. See the --help output for more details.
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
7
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
8 PUBLIC_LIBSRC_BINARIES='b2m emacsclient etags ctags ebrowse'
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
9 PUBLIC_LIBSRC_SCRIPTS='grep-changelog rcs-checkin'
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
10
40064
90451d9e7e0e Exit if we can't find some variable.
Miles Bader <miles@gnu.org>
parents: 39041
diff changeset
11 AVOID="CVS -DIC README COPYING ChangeLog ~ \.orig$ \.rej$ Makefile makefile stamp-subdir .cvsignore \.[cho]$ make-docfile testfile test-distrib"
39041
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
12
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
13 # Prune old binaries lying around in the source tree
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
14 PRUNE=no
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
15 # Re-install files even if they already exist
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
16 FORCE=no
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
17 # Command verbose flag
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
18 VERBOSE=''
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
19
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
20 me="`basename $0`"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
21
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
22 # Install commands (these commands are also expected to understand the
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
23 # GNU -v (--verbose) option)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
24 LINK='cp -lf'
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
25 COPY='cp -f'
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
26 REMOVE='rm -r'
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
27
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
28 # Used to execute commands once once we create them
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
29 EXEC='sh'
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
30 MKDIR='mkdir --verbose -p'
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
31
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
32 NAWK=/usr/bin/nawk
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
33
49088
a22f8991ae27 Unset LANG etc. to avoid non-standard command output from non-C locales.
Miles Bader <miles@gnu.org>
parents: 45539
diff changeset
34 # avoid non-standard command output from non-C locales
a22f8991ae27 Unset LANG etc. to avoid non-standard command output from non-C locales.
Miles Bader <miles@gnu.org>
parents: 45539
diff changeset
35 unset LANG LC_ALL LC_MESSAGES
a22f8991ae27 Unset LANG etc. to avoid non-standard command output from non-C locales.
Miles Bader <miles@gnu.org>
parents: 45539
diff changeset
36
39041
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
37 # Some messages
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
38 USAGE="Usage: $me [OPTION...] BUILD_TREE [PREFIX]"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
39 TRY="Try "\`"$me --help' for more information."
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
40
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
41 # Parse command-line options
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
42 while :; do
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
43 case "$1" in
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
44 -n|--dry-run)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
45 EXEC=cat; shift;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
46 -p|--prune)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
47 PRUNE=yes; shift;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
48 -P|--no-prune)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
49 PRUNE=no; shift;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
50 --prune-only)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
51 PRUNE=only; shift;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
52 -f|--force)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
53 FORCE=yes; shift;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
54 -v|--verbose)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
55 VERBOSE="-v"; shift;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
56 --help)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
57 cat <<EOF
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
58 $USAGE
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
59 Install emacs quickly
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
60
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
61 -n, --dry-run print installation commands instead of
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
62 executing them
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
63
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
64 -f, --force install even files that haven't changed
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
65 -v, --verbose print messages describing what is done
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
66
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
67 -p, --prune prune old generated files
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
68 -P, --no-prune don't prune old generated files (default)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
69 --prune-only prune old generated files, but don't install
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
70
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
71 --help display this help and exit
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
72 --version output version information and exit
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
73
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
74 $me install emacs \`incrementally,' that is, it will
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
75 install only those files that have changed since the last time it was
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
76 invoked, and remove any obsolete files from the installation
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
77 directories. It also uses hard-links into the source and build trees to
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
78 do the install, so it uses much less space than the default Makefile
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
79 install target; however, this also means that $me can
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
80 not install onto a disk partition other than the one on which the source
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
81 and build directories reside.
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
82
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
83 Optionally, $me can also remove old versions of
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
84 automatically generated files that are version-specific (such as the
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
85 versioned emacs executables in the \`src' directory, and the DOC-* files
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
86 in the \`etc' directory). The latter action is called \`pruning,' and
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
87 can be enabled using the \`-p' or \`--prune' options.
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
88 EOF
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
89 exit 0
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
90 ;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
91 --version)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
92 cat <<EOF
49089
6f9b527df5c6 Update version number.
Miles Bader <miles@gnu.org>
parents: 49088
diff changeset
93 $me 1.6
39041
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
94
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
95 Written by Miles Bader <miles@gnu.org>
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
96 EOF
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
97 exit 0
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
98 ;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
99 -[^-]?*)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
100 # split concatenated single-letter options apart
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
101 FIRST="$1"; shift
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
102 set -- `echo $FIRST | sed 's/-\(.\)\(.*\)/-\1 -\2/'` "$@"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
103 ;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
104 -*)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
105 echo 1>&2 "$me: unrecognized option "\`"$1'"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
106 echo 1>&2 "$TRY"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
107 exit 1
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
108 ;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
109 *)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
110 break;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
111 esac
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
112 done
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
113
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
114 LINK_CMD="$LINK $VERBOSE"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
115 REMOVE_CMD="$REMOVE $VERBOSE"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
116
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
117 case $# in
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
118 1) BUILD="$1";;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
119 2) BUILD="$1"; prefix="$2";;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
120 *)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
121 echo 1>&2 "$USAGE"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
122 echo 1>&2 "$TRY"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
123 exit 1
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
124 ;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
125 esac
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
126
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
127 if test ! -d "$BUILD"; then
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
128 echo 1>&2 "$me: $BUILD: Build tree not found"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
129 exit 2
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
130 elif test ! -r "$BUILD/config.status"; then
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
131 echo 1>&2 "$me: $BUILD: Not a proper build tree, config.status not found"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
132 exit 2
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
133 fi
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
134
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
135 CONFIG_STATUS="$BUILD/config.status"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
136 function get_config_var () {
44112
271a4f9d12fc (PRUNED): Avoid "head -1" and "tail +2", as POSIX 1003.1-2001
Paul Eggert <eggert@twinsun.com>
parents: 40064
diff changeset
137 if ! sed -n "s/^s\(.\)@$1@\1\(.*\)\1.*$/\2/p" $CONFIG_STATUS | sed q | grep ''
39041
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
138 then
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
139 echo 1>&2 "$me: $1: Configuration variable not found in $CONFIG_STATUS"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
140 exit 4
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
141 fi
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
142 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
143
40064
90451d9e7e0e Exit if we can't find some variable.
Miles Bader <miles@gnu.org>
parents: 39041
diff changeset
144 test x"$SRC" = x && { SRC="`get_config_var srcdir`" || exit 4 ; }
90451d9e7e0e Exit if we can't find some variable.
Miles Bader <miles@gnu.org>
parents: 39041
diff changeset
145 test x"$prefix" = x && { prefix="`get_config_var prefix`" || exit 4 ; }
90451d9e7e0e Exit if we can't find some variable.
Miles Bader <miles@gnu.org>
parents: 39041
diff changeset
146 test x"$ARCH" = x && { ARCH="`get_config_var host`" || exit 4 ; }
39041
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
147
45539
99b2cc9b795c (VERSION): Calculate using the same method that configure.in uses.
Miles Bader <miles@gnu.org>
parents: 44112
diff changeset
148 VERSION=`grep 'defconst[ ]*emacs-version' $SRC/lisp/version.el \
99b2cc9b795c (VERSION): Calculate using the same method that configure.in uses.
Miles Bader <miles@gnu.org>
parents: 44112
diff changeset
149 | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`
99b2cc9b795c (VERSION): Calculate using the same method that configure.in uses.
Miles Bader <miles@gnu.org>
parents: 44112
diff changeset
150
39041
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
151 DST_SHARE="$prefix/share/emacs/$VERSION"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
152 DST_BIN="$prefix/bin"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
153 DST_LIBEXEC="$prefix/libexec/emacs/$VERSION/$ARCH"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
154 DST_INFO="$prefix/info"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
155
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
156 function maybe_mkdir () {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
157 if ! test -d "$1"; then
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
158 $MKDIR "$1" 2>&1 | sed "s/^mkdir:/$me:/" 1>&2
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
159 fi
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
160 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
161
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
162 maybe_mkdir "$DST_BIN"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
163 maybe_mkdir "$DST_SHARE"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
164 maybe_mkdir "$DST_SHARE/site-lisp"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
165 maybe_mkdir "$DST_LIBEXEC"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
166 maybe_mkdir "$DST_INFO"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
167
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
168 ( # start of command-generating sub-shell
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
169
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
170 PRUNED=""
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
171 if test x"$PRUNE" != xno; then
44112
271a4f9d12fc (PRUNED): Avoid "head -1" and "tail +2", as POSIX 1003.1-2001
Paul Eggert <eggert@twinsun.com>
parents: 40064
diff changeset
172 for D in `ls -1t $BUILD/etc/DOC-* | sed 1d`; do
39041
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
173 echo $REMOVE_CMD $D
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
174 PRUNED="$PRUNED $D"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
175 done
44112
271a4f9d12fc (PRUNED): Avoid "head -1" and "tail +2", as POSIX 1003.1-2001
Paul Eggert <eggert@twinsun.com>
parents: 40064
diff changeset
176 for D in `ls -1t $BUILD/src/emacs-$VERSION.* | sed 1d`; do
39041
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
177 echo $REMOVE_CMD $D
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
178 PRUNED="$PRUNED $D"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
179 done
44112
271a4f9d12fc (PRUNED): Avoid "head -1" and "tail +2", as POSIX 1003.1-2001
Paul Eggert <eggert@twinsun.com>
parents: 40064
diff changeset
180 for D in `ls -1t $BUILD/lib-src/fns-* | sed 1d`; do
39041
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
181 echo $REMOVE_CMD $D
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
182 PRUNED="$PRUNED $D"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
183 done
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
184 fi
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
185
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
186 test x"$PRUNE" = xonly && exit 0
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
187
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
188 function maybe_emit_copy () {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
189 if test "$FORCE" = yes || ! cmp -s $1 $2; then
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
190 echo $LINK_CMD $1 $2
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
191 fi
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
192 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
193
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
194 maybe_emit_copy $BUILD/src/emacs $DST_BIN/emacs
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
195 maybe_emit_copy $BUILD/src/emacs $DST_BIN/emacs-$VERSION
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
196
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
197 for F in $PUBLIC_LIBSRC_BINARIES; do
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
198 maybe_emit_copy $BUILD/lib-src/$F $DST_BIN/$F
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
199 done
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
200 for F in $PUBLIC_LIBSRC_SCRIPTS; do
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
201 maybe_emit_copy $SRC/lib-src/$F $DST_BIN/$F
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
202 done
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
203
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
204 if test x"$SRC" = x"$BUILD"; then
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
205 PFXS="$BUILD"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
206 else
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
207 PFXS="$SRC $BUILD"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
208 fi
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
209
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
210 for SUBDIR in lisp leim etc lib-src info; do
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
211 # defaults
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
212 SHARED=no
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
213 FORCED=''
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
214 AVOID_PAT="`echo "($AVOID)" | tr ' ' '|'`"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
215
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
216 # Set subdir-specific values
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
217 case $SUBDIR in
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
218 lisp|leim)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
219 DST="$DST_SHARE/$SUBDIR"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
220 ;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
221 etc)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
222 DST="$DST_SHARE/$SUBDIR"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
223 # COPYING is in the avoid list, but there should be a copy of it in
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
224 # the install etc dir, so make that here.
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
225 FORCED="$DST/COPYING"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
226 ;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
227 lib-src)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
228 DST="$DST_LIBEXEC"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
229 AVOID_PAT="`echo "($AVOID ($PUBLIC_LIBSRC_BINARIES $PUBLIC_LIBSRC_SCRIPTS)\$)" | tr ' ' '|'`"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
230 ;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
231 info)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
232 DST="$DST_INFO"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
233 SHARED=yes
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
234 ;;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
235 esac
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
236
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
237 for PFX in $PFXS; do
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
238 if [ -d $PFX/$SUBDIR ]; then
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
239 for DIR in `(cd $PFX/$SUBDIR; find . -type d -print | sed 's@^./@@')`; do
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
240 if [ -d $DST/$DIR ]; then
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
241 echo Directory $DST/$DIR exists
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
242 else
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
243 echo Directory $DST/$DIR non-existant
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
244 if [ "`echo $DIR | egrep -v "$AVOID_PAT"`" ]; then
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
245 maybe_mkdir $DST/$DIR
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
246 fi
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
247 fi
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
248 done
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
249 diff -sqr $PFX/$SUBDIR $DST
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
250 fi
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
251 done | $NAWK '
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
252 BEGIN {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
253 src_pat = "^'"$SRC"'/'"$SUBDIR"'/"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
254 build_pat = "^'"$BUILD"'/'"$SUBDIR"'/"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
255 dst_pat = "^'"$DST"'/"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
256 dst_pfx = "'"$DST"'/"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
257 avoid_pat = "'"$AVOID_PAT"'"
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
258 force = ("'"$FORCE"'" == "yes")
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
259 shared = ("'"$SHARED"'" == "yes")
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
260 init_bool_array(pruned, "'"$PRUNED"'")
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
261 init_bool_array(forced, "'"$FORCED"'")
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
262 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
263 function init_bool_array(array, string, a,k)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
264 {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
265 split (string, a)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
266 for (k in a)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
267 array[a[k]] = 1
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
268 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
269 function install(src, dst)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
270 {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
271 if (! (src in pruned)) {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
272 cp[src] = dst;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
273 from[dst] = src;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
274 delete rm[dst];
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
275 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
276 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
277 function update(src, dst, copy)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
278 {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
279 if (src in pruned) {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
280 rm[dst] = 1;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
281 delete from[dst]
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
282 } else {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
283 if (copy)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
284 cp[src] = dst;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
285 from[dst] = src;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
286 delete rm[dst];
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
287 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
288 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
289 function uninstall(dst)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
290 {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
291 if (!(dst in from))
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
292 rm[dst] = 1;
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
293 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
294 /^Directory / {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
295 if ($2 ~ avoid_pat) {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
296 if ($NF == "exists")
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
297 uninstall($2)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
298 } else
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
299 update(0, $2, 0)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
300 next
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
301 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
302 /^Files / {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
303 if ($4 ~ avoid_pat && !($4 in forced))
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
304 uninstall($4)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
305 else if ($NF == "identical")
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
306 update($2, $4, force)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
307 else
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
308 update($2, $4, 1)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
309 next
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
310 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
311 /^Only / {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
312 pfx = $3
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
313 sub (/:$/, "/", pfx)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
314
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
315 if (pfx ~ dst_pat) {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
316 if (! shared)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
317 uninstall(pfx $4)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
318 } else {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
319 subdir = pfx
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
320 if (subdir ~ src_pat)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
321 sub (src_pat, "", subdir)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
322 else
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
323 sub (build_pat, "", subdir)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
324
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
325 dst = dst_pfx subdir $4
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
326 if (! (dst ~ avoid_pat))
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
327 install(pfx $4, dst)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
328 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
329 next
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
330 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
331 END {
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
332 for (f in rm)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
333 print "'"$REMOVE_CMD"' " f
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
334 for (f in cp)
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
335 print "'"$LINK_CMD"' " f " " cp[f]
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
336 }
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
337 '
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
338 done
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
339
bd5875aba018 Initial checkin.
Miles Bader <miles@gnu.org>
parents:
diff changeset
340 ) | eval $EXEC