comparison make-dist @ 27562:d6607102aa71

Various fixes for new development tree.
author Gerd Moellmann <gerd@gnu.org>
date Tue, 01 Feb 2000 16:46:49 +0000
parents 8a1730e677fe
children 9eb6792eefac
comparison
equal deleted inserted replaced
27561:599e9d21f42d 27562:d6607102aa71
4 #### source tree. This basically creates a duplicate directory 4 #### source tree. This basically creates a duplicate directory
5 #### structure, and then hard links into it only those files that should 5 #### structure, and then hard links into it only those files that should
6 #### be distributed. This means that if you add a file with an odd name, 6 #### be distributed. This means that if you add a file with an odd name,
7 #### you should make sure that this script will include it. 7 #### you should make sure that this script will include it.
8 8
9 # Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc. 9 # Copyright (C) 1995, 1997, 1998, 2000 Free Software Foundation, Inc.
10 # 10 #
11 # This file is part of GNU Emacs. 11 # This file is part of GNU Emacs.
12 # 12 #
13 # GNU Emacs is free software; you can redistribute it and/or modify 13 # GNU Emacs is free software; you can redistribute it and/or modify
14 # it under the terms of the GNU General Public License as published by 14 # it under the terms of the GNU General Public License as published by
154 ### Find where to run Emacs. 154 ### Find where to run Emacs.
155 if [ $check = yes ]; 155 if [ $check = yes ];
156 then 156 then
157 ### Check for .elc files with no corresponding .el file. 157 ### Check for .elc files with no corresponding .el file.
158 ls -1 lisp/[a-z]*.el lisp/[a-z]*/[a-z]*.el \ 158 ls -1 lisp/[a-z]*.el lisp/[a-z]*/[a-z]*.el \
159 leim/[a-z]*.el leim/[a-z]*/[a-z]*.el | sed 's/\.el$/.elc/' > /tmp/el 159 leim/[a-z]*/[a-z]*.el | sed 's/\.el$/.elc/' > /tmp/el
160 ls -1 lisp/[a-z]*.elc lisp/[a-z]*/[a-z]*.elc \ 160 ls -1 lisp/[a-z]*.elc lisp/[a-z]*/[a-z]*.elc \
161 leim/[a-z]*.elc leim/[a-z]*/[a-z]*.elc > /tmp/elc 161 leim/[a-z]*/[a-z]*.elc > /tmp/elc
162 bogosities="`comm -13 /tmp/el /tmp/elc`" 162 bogosities="`comm -13 /tmp/el /tmp/elc`"
163 if [ "${bogosities}" != "" ]; then 163 if [ "${bogosities}" != "" ]; then
164 echo "The following .elc files have no corresponding .el files:" 164 echo "The following .elc files have no corresponding .el files:"
165 echo "${bogosities}" 165 echo "${bogosities}"
166 fi 166 fi
167 rm -f /tmp/el /tmp/elc 167 rm -f /tmp/el /tmp/elc
168 168
169 ### Check for .el files with no corresponding .elc file. 169 ### Check for .el files with no corresponding .elc file.
170 (cd lisp; ls -1 [a-z]*.el [a-z]*/[a-z]*.el ; \ 170 (cd lisp; ls -1 [a-z]*.el [a-z]*/[a-z]*.el ; \
171 cd ../leim; ls -1 [a-z]*.el [a-z]*/[a-z]*.el) > /tmp/el 171 cd ../leim; ls -1 [a-z]*/[a-z]*.el) > /tmp/el
172 (cd lisp; ls -1 [a-z]*.elc [a-z]*/[a-z]*.elc; \ 172 (cd lisp; ls -1 [a-z]*.elc [a-z]*/[a-z]*.elc; \
173 cd ../leim; ls -1 [a-z]*.elc [a-z]*/[a-z]*.elc) | sed 's/\.elc$/.el/' > /tmp/elc 173 cd ../leim; ls -1 [a-z]*/[a-z]*.elc) | sed 's/\.elc$/.el/' > /tmp/elc
174 losers="`comm -23 /tmp/el /tmp/elc`" 174 losers="`comm -23 /tmp/el /tmp/elc`"
175 bogosities= 175 bogosities=
176 for file in $losers; do 176 for file in $losers; do
177 file1=`echo $file | sed -e "s|.*/||"` 177 file1=`echo $file | sed -e "s|.*/||"`
178 if ! sed -n -e "/^DONTCOMPILE/,/[^\\]\$/p" lisp/Makefile | 178 if ! sed -n -e "/^DONTCOMPILE/,/[^\\]\$/p" lisp/Makefile |
210 fi 210 fi
211 211
212 if [ $update = yes ]; 212 if [ $update = yes ];
213 then 213 then
214 echo "Updating Info files" 214 echo "Updating Info files"
215
216 (cd man; make -f Makefile.in srcdir=. info) 215 (cd man; make -f Makefile.in srcdir=. info)
217 216
218 echo "Updating finder, custom and autoload data" 217 echo "Updating finder, custom and autoload data"
219
220 (cd lisp; make updates EMACS="$EMACS") 218 (cd lisp; make updates EMACS="$EMACS")
221 219
222 echo "Updating leim-list.el" 220 if test -f leim/leim-list.el; then
223 221 echo "Updating leim-list.el"
224 (cd leim; make leim-list.el EMACS="$EMACS") 222 (cd leim; make leim-list.el EMACS="$EMACS")
223 fi
225 224
226 echo "Recompiling Lisp files" 225 echo "Recompiling Lisp files"
227
228 $EMACS -batch -f batch-byte-recompile-directory lisp leim 226 $EMACS -batch -f batch-byte-recompile-directory lisp leim
229 fi 227 fi
230 228
231 echo "Making lisp/MANIFEST" 229 echo "Making lisp/MANIFEST"
232 230
233 (cd lisp; 231 (cd lisp;
234 files=`echo [!=]*.el | sed -e 's/ subdirs.el / /' -e 's/ default.el / /'` 232 files=`echo [!=]*.el | sed -e 's/ subdirs.el / /' -e 's/ default.el / /'`
235 for dir in [!=]*; do 233 for dir in [!=]*; do
236 if [ -d $dir ] && [ $dir != term ] && [ $dir != RCS ]; then 234 if [ -d $dir ] && [ $dir != term ] && [ $dir != CVS ] && [ $dir != RCS ]
235 then
237 echo $dir 236 echo $dir
238 thisdir=`echo $dir/[!=]*.el | sed -e 's/ subdirs.el / /'` 237 thisdir=`echo $dir/[!=]*.el | sed -e 's/ subdirs.el / /'`
239 files="$files $thisdir" 238 files="$files $thisdir"
240 fi 239 fi
241 done 240 done
286 etc etc/e lock info man msdos vms; do 285 etc etc/e lock info man msdos vms; do
287 mkdir ${tempdir}/${subdir} 286 mkdir ${tempdir}/${subdir}
288 done 287 done
289 288
290 echo "Initializing \`leim' subdirectory" 289 echo "Initializing \`leim' subdirectory"
291 cp leim-Makefile.in ${tempdir}/leim/Makefile.in 290 cp leim/Makefile.in ${tempdir}/leim
292 291
293 echo "Making links to \`lisp' and its subdirectories" 292 echo "Making links to \`lisp' and its subdirectories"
294 ### Don't distribute TAGS, =*.el files, site-init.el, site-load.el, or default.el. 293 ### Don't distribute TAGS, =*.el files, site-init.el, site-load.el, or default.el.
295 (cd lisp 294 (cd lisp
296 ln [a-zA-Z]*.el ../${tempdir}/lisp 295 ln [a-zA-Z]*.el ../${tempdir}/lisp
297 ln [a-zA-Z]*.elc ../${tempdir}/lisp 296 ln [a-zA-Z]*.elc ../${tempdir}/lisp
298 ln [a-zA-Z]*.dat ../${tempdir}/lisp 297 ln [a-zA-Z]*.dat ../${tempdir}/lisp
299 ## simula.el doesn't keep abbreviations in simula.defns any more. 298 ## simula.el doesn't keep abbreviations in simula.defns any more.
300 ## ln [a-zA-Z]*.defns ../${tempdir}/lisp 299 ## ln [a-zA-Z]*.defns ../${tempdir}/lisp
301 ln ChangeLog Makefile makefile.nt ChangeLog.? README ../${tempdir}/lisp 300 ln ChangeLog Makefile makefile.nt ChangeLog.? ../${tempdir}/lisp
301 test -f README && ln README ../${tempdir}/lisp
302 (cd ../${tempdir}/lisp 302 (cd ../${tempdir}/lisp
303 rm -f TAGS =* 303 rm -f TAGS =*
304 rm -f site-init site-init.el site-init.elc 304 rm -f site-init site-init.el site-init.elc
305 rm -f site-load site-load.el site-load.elc 305 rm -f site-load site-load.el site-load.elc
306 rm -f site-start site-start.el site-start.elc 306 rm -f site-start site-start.el site-start.elc
308 ) 308 )
309 309
310 ## Find all subdirs of lisp dir 310 ## Find all subdirs of lisp dir
311 for file in `find . -type d -print`; do 311 for file in `find . -type d -print`; do
312 case $file in 312 case $file in
313 . | .. | */Old | */RCS | */=*) 313 . | .. | */Old | */CVS | */RCS | */=*)
314 ;; 314 ;;
315 *) 315 *)
316 if [ -d $file ]; then 316 if [ -d $file ]; then
317 subdirs="$file $subdirs" 317 subdirs="$file $subdirs"
318 fi 318 fi
334 done ) 334 done )
335 335
336 echo "Making links to \`leim' and its subdirectories for the LEIM distribution" 336 echo "Making links to \`leim' and its subdirectories for the LEIM distribution"
337 ### Don't distribute TAGS, or =*.el files. 337 ### Don't distribute TAGS, or =*.el files.
338 (cd leim 338 (cd leim
339 ln Makefile.in makefile.nt ../${tempdir}/real-leim 339 ln makefile.nt ../${tempdir}/real-leim
340 ln ChangeLog README ../${tempdir}/real-leim 340 ln ChangeLog README ../${tempdir}/real-leim
341 341
342 ln CXTERM-DIC/*.tit ../${tempdir}/real-leim/CXTERM-DIC 342 ln CXTERM-DIC/*.tit ../${tempdir}/real-leim/CXTERM-DIC
343 ln SKK-DIC/README SKK-DIC/SKK-JISYO.L ../${tempdir}/real-leim/SKK-DIC 343 ln SKK-DIC/README SKK-DIC/SKK-JISYO.L ../${tempdir}/real-leim/SKK-DIC
344 ln skk/*.el skk/*.elc ../${tempdir}/real-leim/skk 344 ln skk/*.el skk/*.elc ../${tempdir}/real-leim/skk
345 ln quail/*.el quail/*.elc ../${tempdir}/real-leim/quail 345 ln quail/*.el quail/*.elc ../${tempdir}/real-leim/quail
346
347 cp ../leim-Makefile.in ../${tempdir}/real-leim/Makefile.in
346 348
347 cd ../${tempdir}/real-leim 349 cd ../${tempdir}/real-leim
348 rm -f TAGS =* */=*) 350 rm -f TAGS =* */=*)
349 351
350 ### Move the real-leim directory outside of Emacs proper. 352 ### Move the real-leim directory outside of Emacs proper.
401 403
402 echo "Making links to \`lib-src'" 404 echo "Making links to \`lib-src'"
403 (cd lib-src 405 (cd lib-src
404 ln [a-zA-Z]*.[chy] ../${tempdir}/lib-src 406 ln [a-zA-Z]*.[chy] ../${tempdir}/lib-src
405 ln ChangeLog Makefile.in README testfile vcdiff ../${tempdir}/lib-src 407 ln ChangeLog Makefile.in README testfile vcdiff ../${tempdir}/lib-src
406 ln emacs.csh rcs2log rcs-checkin makefile.nt ../${tempdir}/lib-src 408 ln rcs2log rcs-checkin makefile.nt ../${tempdir}/lib-src
407 ## If we ended up with a symlink, or if we did not get anything 409 ## If we ended up with a symlink, or if we did not get anything
408 ## due to a cross-device symlink, copy the file. 410 ## due to a cross-device symlink, copy the file.
409 for file in [a-zA-Z]*.[chy]; do 411 for file in [a-zA-Z]*.[chy]; do
410 if test -f ../${tempdir}/lib-src/$file; then 412 if test -f ../${tempdir}/lib-src/$file; then
411 # test -f appears to succeed for a symlink 413 # test -f appears to succeed for a symlink
424 rm -f Makefile.c 426 rm -f Makefile.c
425 rm -f =* TAGS) 427 rm -f =* TAGS)
426 428
427 echo "Making links to \`nt'" 429 echo "Making links to \`nt'"
428 (cd nt 430 (cd nt
429 ln emacs.ico emacs.rc config.nt [a-z]*.in [a-z]*.c ../${tempdir}/nt 431 ln emacs.rc config.nt [a-z]*.in [a-z]*.c ../${tempdir}/nt
430 ln [a-z]*.bat [a-z]*.h makefile.def makefile.nt ../${tempdir}/nt 432 ln [a-z]*.bat [a-z]*.h makefile.def makefile.nt ../${tempdir}/nt
431 ln TODO ChangeLog INSTALL README ../${tempdir}/nt) 433 ln TODO ChangeLog INSTALL README ../${tempdir}/nt)
432 434
433 echo "Making links to \`nt/inc'" 435 echo "Making links to \`nt/inc'"
434 (cd nt/inc 436 (cd nt/inc
472 474
473 echo "Making links to \`etc'" 475 echo "Making links to \`etc'"
474 ### Don't distribute = files, TAGS, DOC files, backups, autosaves, or 476 ### Don't distribute = files, TAGS, DOC files, backups, autosaves, or
475 ### tex litter. 477 ### tex litter.
476 (cd etc 478 (cd etc
477 files=`ls -d * | grep -v 'RCS' | grep -v 'Old' | grep -v '^e$'` 479 files=`ls -d * | grep -v CVS | grep -v RCS | grep -v 'Old' | grep -v '^e$'`
478 ln $files ../${tempdir}/etc 480 ln $files ../${tempdir}/etc
479 ## If we ended up with a symlink, or if we did not get anything 481 ## If we ended up with a symlink, or if we did not get anything
480 ## due to a cross-device symlink, copy the file. 482 ## due to a cross-device symlink, copy the file.
481 for file in $files; do 483 for file in $files; do
482 if test -f ../${tempdir}/etc/$file; then 484 if test -f ../${tempdir}/etc/$file; then
497 rm -f DOC* *~ \#*\# *.dvi *.log *.orig *.rej *,v =* core 499 rm -f DOC* *~ \#*\# *.dvi *.log *.orig *.rej *,v =* core
498 rm -f TAGS) 500 rm -f TAGS)
499 501
500 echo "Making links to \`etc/e'" 502 echo "Making links to \`etc/e'"
501 (cd etc/e 503 (cd etc/e
502 ln `ls -d * | grep -v 'RCS'` ../../${tempdir}/etc/e 504 ln `ls -d * | grep -v CVS | grep -v RCS` ../../${tempdir}/etc/e
503 cd ../../${tempdir}/etc/e 505 cd ../../${tempdir}/etc/e
504 rm -f *~ \#*\# *,v =* core) 506 rm -f *~ \#*\# *,v =* core)
505 507
506 echo "Making links to \`info'" 508 echo "Making links to \`info'"
507 # Don't distribute backups or autosaves. 509 # Don't distribute backups or autosaves.
508 (cd info 510 (cd info
509 ln [a-zA-Z]* ../${tempdir}/info 511 ln `find . -type f -print | grep -v CVS | grep -v RCS` ../${tempdir}/info
512 #ln [a-zA-Z]* ../${tempdir}/info
510 cd ../${tempdir}/info 513 cd ../${tempdir}/info
511 # Avoid an error when expanding the wildcards later. 514 # Avoid an error when expanding the wildcards later.
512 ln emacs dummy~ ; ln emacs \#dummy\# 515 ln emacs dummy~ ; ln emacs \#dummy\#
513 rm -f *~ \#*\# core) 516 rm -f *~ \#*\# core)
514 517
515 echo "Making links to \`man'" 518 echo "Making links to \`man'"
516 (cd man 519 (cd man
517 ln *.texi *.aux *.cps *.fns *.kys *.vrs ../${tempdir}/man 520 ln *.texi *.aux *.cps *.fns *.kys *.vrs ../${tempdir}/man
518 test -f README && ln README ../${tempdir}/man 521 test -f README && ln README ../${tempdir}/man
519 test -f Makefile.in && ln Makefile.in ../${tempdir}/man 522 test -f Makefile.in && ln Makefile.in ../${tempdir}/man
520 ln ChangeLog split-man ../${tempdir}/man 523 ln ChangeLog ../${tempdir}/man
521 cp texinfo.tex ../${tempdir}/man 524 test -f split-man && ln split-man ../${tempdir}/man
525 test -f texinfo.tex && cp texinfo.tex ../${tempdir}/man
522 cd ../${tempdir}/man 526 cd ../${tempdir}/man
523 rm -f \#*\# =* *~ core emacs-index* *.Z *.z xmail 527 rm -f \#*\# =* *~ core emacs-index* *.Z *.z xmail
524 rm -f emacs.?? termcap.?? gdb.?? *.log *.toc *.dvi *.oaux) 528 rm -f emacs.?? termcap.?? gdb.?? *.log *.toc *.dvi *.oaux)
525 529
526 echo "Making links to \`vms'" 530 echo "Making links to \`vms'"
527 (cd vms 531 (cd vms
528 ln [0-9a-zA-Z]* ../${tempdir}/vms 532 test -f README && ln README ../${tempdir}/vms
529 cd ../${tempdir}/vms 533 cd ../${tempdir}/vms
530 rm -f *~) 534 rm -f *~)
531 535
532 ### It would be nice if they could all be symlinks to etc's copy, but 536 ### It would be nice if they could all be symlinks to etc's copy, but
533 ### you're not supposed to have any symlinks in distribution tar files. 537 ### you're not supposed to have any symlinks in distribution tar files.
586 (cd ${tempparent} ; tar cvf - ${emacsname} ) \ 590 (cd ${tempparent} ; tar cvf - ${emacsname} ) \
587 | ${default_gzip} \ 591 | ${default_gzip} \
588 > ${emacsname}.tar${gzip_extension} 592 > ${emacsname}.tar${gzip_extension}
589 (cd ${tempparent}/${emacsname}-leim ; tar cvf - ${emacsname} ) \ 593 (cd ${tempparent}/${emacsname}-leim ; tar cvf - ${emacsname} ) \
590 | ${default_gzip} \ 594 | ${default_gzip} \
591 > ${emacsname}-leim.tar${gzip_extension} 595 > leim-${version}${new_extension}.tar${gzip_extension}
592 fi 596 fi
593 597
594 if [ "${clean_up}" = yes ]; then 598 if [ "${clean_up}" = yes ]; then
595 echo "Cleaning up the staging directory" 599 echo "Cleaning up the staging directory"
596 rm -rf ${tempparent} 600 rm -rf ${tempparent}