Mercurial > emacs
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} |