comparison admin/nt/makedist.bat @ 77783:396d6f737047

Reduce the number of variants produced. Use zip.
author Jason Rumney <jasonr@gnu.org>
date Tue, 22 May 2007 15:35:29 +0000
parents adcbaec53f24
children de76ffcc1a43 31beec9ee600
comparison
equal deleted inserted replaced
77782:bde249020282 77783:396d6f737047
23 rem You should have received a copy of the GNU General Public License 23 rem You should have received a copy of the GNU General Public License
24 rem along with GNU Emacs; see the file COPYING. If not, write to the 24 rem along with GNU Emacs; see the file COPYING. If not, write to the
25 rem Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 25 rem Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
26 rem Boston, MA 02110-1301, USA. 26 rem Boston, MA 02110-1301, USA.
27 27
28 set ZIP=zip
28 29
29 rem Beware broken ports of tar. Recent cygwin versions work well, older
30 rem cygwin versions and the current MSys port have problems with DOS
31 rem line ends when reading file names from a file. Other ports have their
32 rem own problems too.
33 set TAR=tar
34
35 rem Make a copy of current Emacs source
36 if (%3) == () goto usage 30 if (%3) == () goto usage
37 if not (%4) == () goto %4 31 if not (%4) == () goto %4
38 if not (%4) == (src) goto :lisp
39
40 :src
41
42 echo Create full source distribution, excluding leim
43 %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
44 if not (%4) == () goto end
45
46 :lisp
47 echo Create limited elisp source distribution
48 %TAR% --exclude *.rej --exclude *.elc --exclude *~ -cvf - emacs-%1/lisp | gzip -9 > %2-lisp.tar.gz
49 if not (%4) == () goto end
50 32
51 :bin 33 :bin
52
53 set eld=emacs-%1/lisp
54
55 rem List of Lisp files that are not compiled and that should be
56 rem included in the bin distribution.
57
58 rem It would be better to generate this list automatically. It is the
59 rem list of all .el files for which there is no corresponding .elc
60 rem file, minus ldefs-boot.el. --lute
61
62 set elfiles=%eld%/cus-load.el %eld%/emacs-lisp/cl-specs.el %eld%/eshell/esh-groups.el %eld%/eshell/esh-maint.el %eld%/finder-inf.el %eld%/forms-d2.el %eld%/forms-pass.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%/language/czech.el %eld%/language/devanagari.el %eld%/language/english.el %eld%/language/georgian.el %eld%/language/greek.el %eld%/language/hebrew.el %eld%/language/japanese.el %eld%/language/kannada.el %eld%/language/korean.el %eld%/language/lao.el %eld%/language/malayalam.el %eld%/language/misc-lang.el %eld%/language/romanian.el %eld%/language/slovak.el %eld%/language/tamil.el %eld%/language/thai.el %eld%/language/utf-8-lang.el %eld%/loaddefs.el %eld%/loadup.el %eld%/mail/blessmail.el %eld%/mh-e/mh-acros.el %eld%/mh-e/mh-gnus.el %eld%/mh-e/mh-loaddefs.el %eld%/obsolete/keyswap.el %eld%/patcomp.el %eld%/paths.el %eld%/play/bruce.el %eld%/subdirs.el %eld%/term/AT386.el %eld%/term/apollo.el %eld%/term/bobcat.el %eld%/term/internal.el %eld%/term/iris-ansi.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%/version.el
63
64 set fns_el=
65 for %%f in (emacs-%1/bin/fns*) do set fns_el=%fns_el% emacs-%1/bin/%%f
66
67 echo Create bin distribution
68 copy %3\README.W32 emacs-%1\README.W32
69
70 del #files# #elfiles#
71 for %%f in (emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32) do echo %%f>>#files#
72 for %%f in (emacs-%1/bin/fns*) do echo emacs-%1/bin/%%f>>#elfiles#
73 for %%f in (emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp) do echo %%f>>#files#
74 for %%f in (emacs-%1/lock emacs-%1/site-lisp) do echo %%f>>#files#
75 for %%f in (%elfiles% emacs-%1/site-lisp/subdirs.el) do echo %%f>>#elfiles#
76
77 %TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude "*.el" --exclude "*~" -T #files# -cvf %2-bin-i386.tar
78 %TAR% -T #elfiles# -rvf %2-bin-i386.tar
79 gzip -9 %2-bin-i386.tar
80 del emacs-%1\README.W32
81 rem del #files# #elfiles#
82 if not (%4) == () goto end
83
84 :fullbin
85 34
86 echo Create full bin distribution 35 echo Create full bin distribution
87 copy %3\README.W32 emacs-%1\README.W32 36 copy %3\README.W32 emacs-%1\README.W32
88 37
89 %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 38 %ZIP% -x emacs.mdp -x *.pdb -x *.opt -x *~ -x CVS -9 emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp %2-bin-i386.zip
90 del emacs-%1\README.W32 39 del emacs-%1\README.W32
91 if not (%4) == () goto end
92
93 :leim
94
95 echo Create archive with precompiled leim files
96 %TAR% -cvf - emacs-%1/leim/leim-list.el emacs-%1/leim/quail emacs-%1/leim/ja-dic | gzip -9 > %2-leim.tar.gz
97 if not (%4) == () goto end
98
99 :undumped
100
101 echo Create archive with extra files needed for redumping emacs
102 copy %3\README-UNDUMP.W32 emacs-%1\README-UNDUMP.W32
103 copy %3\dump.bat emacs-%1\bin
104 if exist emacs-%1\src\obj-spd\i386\temacs.exe copy emacs-%1\src\obj-spd\i386\temacs.exe emacs-%1\bin
105 if exist emacs-%1\src\oo-spd\i386\temacs.exe copy emacs-%1\src\oo-spd\i386\temacs.exe emacs-%1\bin
106 %TAR% -cvf - emacs-%1/README-UNDUMP.W32 emacs-%1/bin/dump.bat emacs-%1/bin/temacs.exe | gzip -9 > %2-undumped-i386.tar.gz
107 del emacs-%1\bin\temacs.exe
108 del emacs-%1\bin\dump.bat
109 del emacs-%1\README-UNDUMP.W32
110 if not (%4) == () goto end 40 if not (%4) == () goto end
111 41
112 :barebin 42 :barebin
113 43
114 echo Create archive with just the basic binaries and generated files 44 echo Create archive with just the basic binaries and generated files
115 echo (the user needs to unpack the full source distribution for 45 echo (the user needs to unpack the full source distribution for
116 echo everything else) 46 echo everything else)
117 copy %3\README.W32 emacs-%1\README.W32 47 copy %3\README.W32 emacs-%1\README.W32
118 %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 48 %ZIP% -9 emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC emacs-%1/etc/DOC-X %2-barebin-i386.zip
119 del emacs-%1\README.W32 49 del emacs-%1\README.W32
120 if not (%4) == () goto end 50 if not (%4) == () goto end
121 51
122 goto end 52 goto end
123 53
124 rem Only do this if explicitly requested
125 :zipfiles
126
127 echo Create zip files for bin and lisp archives
128 mkdir distrib
129 cd distrib
130 gunzip -c ..\%2-bin-i386.tar.gz | %TAR% xf -
131 rem Need to split emacs.exe into fragments because it is too big now
132 rem to fit on a floppy even by itself.
133 copy %3\stitch.bat %2\bin
134 cd %2\bin
135 split -b 1000000 emacs.exe emacs
136 del emacs.exe
137 cd ..\..
138 zip -rp9 em%5bin %2
139 rm -rf %2
140 zipsplit -n 1400000 -b .. em%5bin.zip
141 del em%5bin.zip
142 gunzip -c ..\%2-lisp.tar.gz | %TAR% xf -
143 zip -rp9 em%5lis %2
144 rm -rf %2
145 zipsplit -n 1400000 -b .. em%5lis.zip
146 del em%5lis.zip
147 cd ..
148
149 goto end
150
151 :usage 54 :usage
152 echo Generate source and binary distributions of emacs. 55 echo Generate source and binary distributions of emacs.
153 echo Usage: %0 emacs-version dist-basename distfiles [lisp,bin,undumped,barebin] 56 echo Usage: %0 emacs-version dist-basename distfiles [bin,barebin]
154 echo (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles) 57 echo (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles)
155 echo Or: %0 emacs-version dist-basename distfiles "zipfiles" short-version
156 echo (e.g., %0 20.6 emacs-20.6 d:\andrewi\distfiles zipfiles 206)
157 :end 58 :end
158 59
159 goto skipArchTag 60 goto skipArchTag
160 arch-tag: 6e2ddd92-c1c9-4992-b6b5-207aaab72f68 61 arch-tag: 6e2ddd92-c1c9-4992-b6b5-207aaab72f68
161 :skipArchTag 62 :skipArchTag