annotate admin/nt/makedist.bat @ 42397:47ec068f97d5

(ange-ftp-insert-directory): Explicitly follow symlinks.
author Richard M. Stallman <rms@gnu.org>
date Sat, 29 Dec 2001 02:50:34 +0000
parents c5e9e29b323a
children 187e89d56f7a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39055
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
1 @echo off
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
2
39120
681070eb1e54 Remove reference to obsolete file
Andrew Innes <andrewi@gnu.org>
parents: 39055
diff changeset
3 rem This batch file doesn't work with Cygwin tar because #files#
681070eb1e54 Remove reference to obsolete file
Andrew Innes <andrewi@gnu.org>
parents: 39055
diff changeset
4 rem has DOS line endings, which Cygwin tar misinterprets.
681070eb1e54 Remove reference to obsolete file
Andrew Innes <andrewi@gnu.org>
parents: 39055
diff changeset
5 rem I use the version of tar from
681070eb1e54 Remove reference to obsolete file
Andrew Innes <andrewi@gnu.org>
parents: 39055
diff changeset
6 rem ftp://ftp.gnu.org/gnu/windows/emacs/utilities/i386/tar-1.11.2a.exe
681070eb1e54 Remove reference to obsolete file
Andrew Innes <andrewi@gnu.org>
parents: 39055
diff changeset
7 rem renamed as wtar.exe.
39055
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
8 set TAR=wtar
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
9
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
10 rem Make a copy of current Emacs source
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
11 if (%3) == () goto usage
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
12 if not (%4) == () goto %4
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
13 if not (%4) == (src) goto :lisp
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
14
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
15 :src
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
16
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
17 echo Create full source distribution, excluding leim
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
18 %TAR% --exclude leim --exclude _marker --exclude DOC --exclude DOC-X --exclude TAGS --exclude bin --exclude obj --exclude obj-spd --exclude oo --exclude oo-spd --exclude *~ --exclude *.rej -cvf - emacs-%1 | gzip -9 > %2-src.tar.gz
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
19 if not (%4) == () goto end
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
20
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
21 :lisp
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
22 echo Create limited elisp source distribution
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
23 %TAR% --exclude *.rej --exclude *.elc --exclude *~ -cvf - emacs-%1/lisp | gzip -9 > %2-lisp.tar.gz
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
24 if not (%4) == () goto end
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
25
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
26 :bin
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
27
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
28 set eld=emacs-%1/lisp
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
29
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
30 rem Keep this list in sync with the DONTCOMPILE list in lisp/Makefile.in
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
31
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
32 set elfiles=%eld%/cus-load.el %eld%/cus-start.el %eld%/emacs-lisp/cl-specs.el %eld%/eshell/esh-maint.el %eld%/eshell/esh-groups.el %eld%/finder-inf.el %eld%/forms-d2.el %eld%/forms-pass.el %eld%/generic-x.el %eld%/international/latin-1.el %eld%/international/latin-2.el %eld%/international/latin-3.el %eld%/international/latin-4.el %eld%/international/latin-5.el %eld%/international/latin-8.el %eld%/international/latin-9.el %eld%/international/mule-conf.el %eld%/loaddefs.el %eld%/loadup.el %eld%/mail/blessmail.el %eld%/patcomp.el %eld%/paths.el %eld%/play/bruce.el %eld%/subdirs.el %eld%/term/internal.el %eld%/term/AT386.el %eld%/term/apollo.el %eld%/term/bobcat.el %eld%/term/iris-ansi.el %eld%/term/keyswap.el %eld%/term/linux.el %eld%/term/lk201.el %eld%/term/news.el %eld%/term/vt102.el %eld%/term/vt125.el %eld%/term/vt200.el %eld%/term/vt201.el %eld%/term/vt220.el %eld%/term/vt240.el %eld%/term/vt300.el %eld%/term/vt320.el %eld%/term/vt400.el %eld%/term/vt420.el %eld%/term/wyse50.el %eld%/term/xterm.el %eld%/version.el
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
33
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
34 set fns_el=
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
35 for %%f in (emacs-%1/bin/fns*) do set fns_el=%fns_el% emacs-%1/bin/%%f
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
36
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
37 echo Create bin distribution
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
38 copy %3\README.W32 emacs-%1\README.W32
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
39
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
40 del #files#
39120
681070eb1e54 Remove reference to obsolete file
Andrew Innes <andrewi@gnu.org>
parents: 39055
diff changeset
41 for %%f in (emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32) do echo %%f>>#files#
39055
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
42 for %%f in (emacs-%1/bin/fns*) do echo emacs-%1/bin/%%f>>#files#
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
43 for %%f in (emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp %elfiles%) do echo %%f>>#files#
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
44 for %%f in (%eld%/term/*.el) do echo %eld%/term/%%f>>#files#
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
45 for %%f in (emacs-%1/lock emacs-%1/site-lisp emacs-%1/site-lisp/subdirs.el) do echo %%f>>#files#
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
46 %TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude *.el --exclude *~ -T #files# -cvf - | gzip -9 > %2-bin-i386.tar.gz
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
47 del emacs-%1\README.W32
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
48 del #files#
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
49 if not (%4) == () goto end
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
50
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
51 :fullbin
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
52
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
53 echo Create full bin distribution
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
54 copy %3\README.W32 emacs-%1\README.W32
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
55
40201
c5e9e29b323a Remove remaining obsolete reference to
Andrew Innes <andrewi@gnu.org>
parents: 39120
diff changeset
56 %TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude *~ -cvf - emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/lock emacs-%1/site-lisp | gzip -9 > %2-fullbin-i386.tar.gz
39055
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
57 del emacs-%1\README.W32
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
58 if not (%4) == () goto end
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
59
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
60 :leim
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
61
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
62 echo Create archive with precompiled leim files
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
63 %TAR% -cvf - emacs-%1/leim/leim-list.el emacs-%1/leim/quail emacs-%1/leim/ja-dic | gzip -9 > %2-leim.tar.gz
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
64 if not (%4) == () goto end
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
65
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
66 :undumped
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
67
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
68 echo Create archive with extra files needed for redumping emacs
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
69 copy %3\README-UNDUMP.W32 emacs-%1\README-UNDUMP.W32
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
70 copy %3\dump.bat emacs-%1\bin
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
71 if exist emacs-%1\src\obj-spd\i386\temacs.exe copy emacs-%1\src\obj-spd\i386\temacs.exe emacs-%1\bin
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
72 if exist emacs-%1\src\oo-spd\i386\temacs.exe copy emacs-%1\src\oo-spd\i386\temacs.exe emacs-%1\bin
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
73 %TAR% -cvf - emacs-%1/README-UNDUMP.W32 emacs-%1/bin/dump.bat emacs-%1/bin/temacs.exe | gzip -9 > %2-undumped-i386.tar.gz
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
74 del emacs-%1\bin\temacs.exe
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
75 del emacs-%1\bin\dump.bat
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
76 del emacs-%1\README-UNDUMP.W32
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
77 if not (%4) == () goto end
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
78
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
79 :barebin
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
80
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
81 echo Create archive with just the basic binaries and generated files
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
82 echo (the user needs to unpack the full source distribution for
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
83 echo everything else)
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
84 copy %3\README.W32 emacs-%1\README.W32
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
85 %TAR% -cvf - emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC emacs-%1/etc/DOC-X | gzip -9 > %2-barebin-i386.tar.gz
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
86 del emacs-%1\README.W32
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
87 if not (%4) == () goto end
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
88
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
89 goto end
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
90
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
91 rem Only do this if explicitly requested
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
92 :zipfiles
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
93
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
94 echo Create zip files for bin and lisp archives
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
95 mkdir distrib
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
96 cd distrib
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
97 gunzip -c ..\%2-bin-i386.tar.gz | %TAR% xf -
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
98 zip -rp9 em%5_bin %2
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
99 rm -rf %2
40201
c5e9e29b323a Remove remaining obsolete reference to
Andrew Innes <andrewi@gnu.org>
parents: 39120
diff changeset
100 zipsplit -n 2000000 -b .. em%5_bin.zip
39055
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
101 del em%5_bin.zip
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
102 gunzip -c ..\%2-lisp.tar.gz | %TAR% xf -
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
103 zip -rp9 em%5_lis %2
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
104 rm -rf %2
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
105 zipsplit -n 1400000 -b .. em%5_lis.zip
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
106 del em%5_lis.zip
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
107 cd ..
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
108
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
109 goto end
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
110
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
111 :usage
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
112 echo Generate source and binary distributions of emacs.
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
113 echo Usage: %0 emacs-version dist-basename distfiles [lisp,bin,undumped,barebin]
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
114 echo (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles)
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
115 echo Or: %0 emacs-version dist-basename distfiles "zipfiles" short-version
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
116 echo (e.g., %0 20.6 emacs-20.6 d:\andrewi\distfiles zipfiles 206)
73fa3981d40c Convert EOLs to DOS format.
Eli Zaretskii <eliz@gnu.org>
parents: 39054
diff changeset
117 :end