aboutsummaryrefslogtreecommitdiffstats
path: root/make-dist
diff options
context:
space:
mode:
authorStefan Monnier2010-12-10 19:13:08 -0500
committerStefan Monnier2010-12-10 19:13:08 -0500
commit2c302df3a13236bfbf8ea1b771d13618fcda8d71 (patch)
treef26dc9f22861dc37610de319d05255de058c221b /make-dist
parent0c747cb143fa227e78f350ac353d703f489209df (diff)
parent175069efeb080517afefdd44a06f7a779ea8c25c (diff)
downloademacs-2c302df3a13236bfbf8ea1b771d13618fcda8d71.tar.gz
emacs-2c302df3a13236bfbf8ea1b771d13618fcda8d71.zip
Merge from trunk
Diffstat (limited to 'make-dist')
-rwxr-xr-xmake-dist95
1 files changed, 38 insertions, 57 deletions
diff --git a/make-dist b/make-dist
index 713d88481b3..7f7b01112ae 100755
--- a/make-dist
+++ b/make-dist
@@ -130,7 +130,6 @@ fi
130### (Accept only absolute file names.) 130### (Accept only absolute file names.)
131if [ $update = yes ]; 131if [ $update = yes ];
132then 132then
133 unset EMACS_UNIBYTE
134 if [ -f src/emacs ]; 133 if [ -f src/emacs ];
135 then 134 then
136 EMACS=`pwd`/src/emacs 135 EMACS=`pwd`/src/emacs
@@ -186,72 +185,66 @@ them, and try again." >&2
186 exit 1 185 exit 1
187fi 186fi
188 187
189### Find where to run Emacs. 188if [ $check = yes ]; then
190if [ $check = yes ];
191then
192 ### Check for .elc files with no corresponding .el file.
193 ls -1 lisp/[a-zA-Z]*.el lisp/[a-z]*/[a-zA-Z0-9]*.el \ 189 ls -1 lisp/[a-zA-Z]*.el lisp/[a-z]*/[a-zA-Z0-9]*.el \
194 lisp/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \ 190 lisp/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \
195 lisp/[a-z]*/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \ 191 lisp/[a-z]*/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \
196 leim/[a-z]*/[a-z]*.el | sed 's/\.el$/.elc/' > /tmp/el 192 leim/[a-z]*/[a-z]*.el > /tmp/el
193
197 ls -1 lisp/[a-zA-Z]*.elc lisp/[a-z]*/[a-zA-Z0-9]*.elc \ 194 ls -1 lisp/[a-zA-Z]*.elc lisp/[a-z]*/[a-zA-Z0-9]*.elc \
198 lisp/[a-z]*/[a-z]*/[a-zA-Z0-9]*.elc \ 195 lisp/[a-z]*/[a-z]*/[a-zA-Z0-9]*.elc \
199 lisp/[a-z]*/[a-z]*/[a-z]*/[a-zA-Z0-9]*.elc \ 196 lisp/[a-z]*/[a-z]*/[a-z]*/[a-zA-Z0-9]*.elc \
200 leim/[a-z]*/[a-z]*.elc > /tmp/elc 197 leim/[a-z]*/[a-z]*.elc > /tmp/elc
201 bogosities="`comm -13 /tmp/el /tmp/elc`" 198
202 if [ "${bogosities}" != "" ]; then 199 ## Check for .elc files with no corresponding .el file.
200 sed 's/\.el$/.elc/' /tmp/el > /tmp/elelc
201
202 bogosities="`comm -13 /tmp/elelc /tmp/elc`"
203 if [ x"${bogosities}" != x"" ]; then
203 echo "The following .elc files have no corresponding .el files:" 204 echo "The following .elc files have no corresponding .el files:"
204 echo "${bogosities}" 205 echo "${bogosities}"
205 fi 206 fi
206 rm -f /tmp/el /tmp/elc
207 207
208 ### Check for .el files with no corresponding .elc file. 208 ### Check for .el files with no corresponding .elc file.
209 ls -1 lisp/[a-zA-Z]*.el lisp/[a-z]*/[a-zA-Z0-9]*.el \ 209 sed 's/\.elc$/.el/' /tmp/elc > /tmp/elcel
210 lisp/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \ 210 losers="`comm -23 /tmp/el /tmp/elcel`"
211 lisp/[a-z]*/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \ 211
212 leim/[a-z]*/[a-z]*.el > /tmp/el 212 rm -f /tmp/el /tmp/elc /tmp/elcel /tmp/elelc
213 ls -1 lisp/[a-zA-Z]*.elc lisp/[a-z]*/[a-zA-Z0-9]*.elc \ 213
214 lisp/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \
215 lisp/[a-z]*/[a-z]*/[a-z]*/[a-zA-Z0-9]*.el \
216 leim/[a-z]*/[a-z]*.elc | sed 's/\.elc$/.el/' > /tmp/elc
217 losers="`comm -23 /tmp/el /tmp/elc`"
218 bogosities= 214 bogosities=
219 for file in $losers; do 215 for file in $losers; do
220 if ! grep -q "no-byte-compile: t" $file; then 216 grep -q "no-byte-compile: t" $file && continue
221 case $file in 217 case $file in
222 site-init.el | site-load.el | site-start.el | default.el) 218 site-init.el | site-load.el | site-start.el | default.el) continue ;;
223 ;; 219 esac
224 *) 220
225 bogosities="$file $bogosities" 221 bogosities="$file $bogosities"
226 ;; 222
227 esac
228 fi
229 done 223 done
230 if [ x"${bogosities}" != x"" ]; then 224 if [ x"${bogosities}" != x"" ]; then
231 echo "The following .el files have no corresponding .elc files:" 225 echo "The following .el files have no corresponding .elc files:"
232 echo "${bogosities}" 226 echo "${bogosities}"
233 fi 227 fi
234 rm -f /tmp/el /tmp/elc
235fi 228fi
236 229
237### Make sure configure is newer than configure.in. 230if [ $update = yes ]; then
238if [ "x`ls -t configure configure.in | sed q`" != "xconfigure" ]; then
239 echo "\`./configure.in' is newer than \`./configure'" >&2
240 echo "Running autoconf" >&2
241 autoconf || { x=$?; echo Autoconf FAILED! >&2; exit $x; }
242fi
243 231
244### Make sure src/stamp-h.in is newer than configure.in. 232 ## Make sure configure is newer than configure.in.
245if [ "x`ls -t src/stamp-h.in configure.in | sed q`" != "xsrc/stamp-h.in" ]; then 233 if [ "x`ls -t configure configure.in | sed q`" != "xconfigure" ]; then
246 echo "\`./configure.in' is newer than \`./src/stamp-h.in'" >&2 234 echo "\`./configure.in' is newer than \`./configure'" >&2
247 echo "Running autoheader" >&2 235 echo "Running autoconf" >&2
248 autoheader || { x=$?; echo Autoheader FAILED! >&2; exit $x; } 236 autoconf || { x=$?; echo Autoconf FAILED! >&2; exit $x; }
249 rm -f src/stamp-h.in 237 fi
250 echo timestamp > src/stamp-h.in 238
251fi 239 ## Make sure src/stamp-h.in is newer than configure.in.
240 if [ "x`ls -t src/stamp-h.in configure.in | sed q`" != "xsrc/stamp-h.in" ]; then
241 echo "\`./configure.in' is newer than \`./src/stamp-h.in'" >&2
242 echo "Running autoheader" >&2
243 autoheader || { x=$?; echo Autoheader FAILED! >&2; exit $x; }
244 rm -f src/stamp-h.in
245 echo timestamp > src/stamp-h.in
246 fi
252 247
253if [ $update = yes ];
254then
255 echo "Updating Info files" 248 echo "Updating Info files"
256 (cd doc/emacs; make info) 249 (cd doc/emacs; make info)
257 (cd doc/misc; make info) 250 (cd doc/misc; make info)
@@ -268,19 +261,7 @@ then
268 261
269 echo "Recompiling Lisp files" 262 echo "Recompiling Lisp files"
270 $EMACS -batch -f batch-byte-recompile-directory lisp leim 263 $EMACS -batch -f batch-byte-recompile-directory lisp leim
271fi 264fi # $update = yes
272
273## What is this file for? It goes in srcdir, not the tarfile.
274## Why does it exclude term/ ?
275echo "Making lisp/MANIFEST"
276
277files=`find lisp -type f -name '*.el'`
278for file in $files; do
279 case "$file" in
280 */subdirs.el|*/default.el|*/loaddefs.el|*/term/*) continue ;;
281 esac
282 sed -n 's/^;;; //p; q' $file
283done | sort > lisp/MANIFEST
284 265
285echo "Creating staging directory: \`${tempparent}'" 266echo "Creating staging directory: \`${tempparent}'"
286 267