comparison admin/nt/makedist.bat @ 39011:dc12250ba65b

add scripts for creating precompiled Windows distributions
author Andrew Innes <andrewi@gnu.org>
date Wed, 29 Aug 2001 13:58:01 +0000
parents
children d9203e71bb38
comparison
equal deleted inserted replaced
39010:40e322d4c818 39011:dc12250ba65b
1 @echo off
2
3 set TAR=wtar
4
5 rem Make a copy of current Emacs source
6 if (%3) == () goto usage
7 if not (%4) == () goto %4
8 if not (%4) == (src) goto :lisp
9
10 :src
11
12 echo Create full source distribution, excluding leim
13 %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
14 if not (%4) == () goto end
15
16 :lisp
17 echo Create limited elisp source distribution
18 %TAR% --exclude *.rej --exclude *.elc --exclude *~ -cvf - emacs-%1/lisp | gzip -9 > %2-lisp.tar.gz
19 if not (%4) == () goto end
20
21 :bin
22
23 set eld=emacs-%1/lisp
24
25 rem Keep this list in sync with the DONTCOMPILE list in lisp/Makefile.in
26
27 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
28
29 rem set term_elfiles=%eld%/term/AT386.el %eld%/term/apollo.el %eld%/term/bg-mouse.el %eld%/term/bobcat.el %eld%/term/internal.el %eld%/term/iris-ansi.el %eld%/term/keyswap.el %eld%/term/linux.el %eld%/term/lk201.el %eld%/term/news.el %eld%/term/pc-win.el %eld%/term/sun-mouse.el %eld%/term/sun.el %eld%/term/sup-mouse.el %eld%/term/tvi970.el %eld%/term/vt100.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/w32-win.el %eld%/term/wyse50.el %eld%/term/x-win.el %eld%/term/xterm.el
30
31 rem set elcfiles=%eld%/*.elc %eld%/emacs-lisp/*.elc %eld%/emulation/*.elc %eld%/gnus/*.elc %eld%/international/*.elc %eld%/language/*.elc %eld%/mail/*.elc %eld%/play/*.elc %eld%/progmodes/*.elc %eld%/term/*.elc %eld%/textmodes/*.elc
32
33 set fns_el=
34 for %%f in (emacs-%1/bin/fns*) do set fns_el=%fns_el% emacs-%1/bin/%%f
35
36 echo Create bin distribution
37 copy %3\README.W32 emacs-%1\README.W32
38
39 rem %TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb
40 rem --exclude *.opt --exclude *.el --exclude *~ -cvf - emacs-%1/BUGS
41 rem emacs-%1/GETTING.GNU.SOFTWARE emacs-%1/README emacs-%1/README.W32
42 rem emacs-%1/bin %fns_el% emacs-%1/etc emacs-%1/info emacs-%1/lisp %elfiles%
43 rem %term_elfiles% emacs-%1/lock emacs-%1/site-lisp -cvf - | gzip -9 > %2-bin-i386.tar.gz
44
45 del #files#
46 for %%f in (emacs-%1/BUGS emacs-%1/GETTING.GNU.SOFTWARE emacs-%1/README emacs-%1/README.W32) do echo %%f>>#files#
47 for %%f in (emacs-%1/bin/fns*) do echo emacs-%1/bin/%%f>>#files#
48 for %%f in (emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp %elfiles%) do echo %%f>>#files#
49 for %%f in (%eld%/term/*.el) do echo %eld%/term/%%f>>#files#
50 for %%f in (emacs-%1/lock emacs-%1/site-lisp) do echo %%f>>#files#
51 %TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude *.el --exclude *~ -T #files# -cvf - | gzip -9 > %2-bin-i386.tar.gz
52 del emacs-%1\README.W32
53 del #files#
54 if not (%4) == () goto end
55
56 :fullbin
57
58 echo Create full bin distribution
59 copy %3\README.W32 emacs-%1\README.W32
60
61 %TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude *~ -cvf - emacs-%1/BUGS emacs-%1/GETTING.GNU.SOFTWARE 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
62 del emacs-%1\README.W32
63 if not (%4) == () goto end
64
65 :leim
66
67 echo Create archive with precompiled leim files
68 %TAR% -cvf - emacs-%1/leim/leim-list.el emacs-%1/leim/quail emacs-%1/leim/ja-dic | gzip -9 > %2-leim.tar.gz
69 if not (%4) == () goto end
70
71 :undumped
72
73 echo Create archive with extra files needed for redumping emacs
74 copy %3\README-UNDUMP.W32 emacs-%1\README-UNDUMP.W32
75 copy %3\dump.bat emacs-%1\bin
76 if exist emacs-%1\src\obj-spd\i386\temacs.exe copy emacs-%1\src\obj-spd\i386\temacs.exe emacs-%1\bin
77 if exist emacs-%1\src\oo-spd\i386\temacs.exe copy emacs-%1\src\oo-spd\i386\temacs.exe emacs-%1\bin
78 %TAR% -cvf - emacs-%1/README-UNDUMP.W32 emacs-%1/bin/dump.bat emacs-%1/bin/temacs.exe | gzip -9 > %2-undumped-i386.tar.gz
79 del emacs-%1\bin\temacs.exe
80 del emacs-%1\bin\dump.bat
81 del emacs-%1\README-UNDUMP.W32
82 if not (%4) == () goto end
83
84 :barebin
85
86 echo Create archive with just the basic binaries and generated files
87 echo (the user needs to unpack the full source distribution for
88 echo everything else)
89 copy %3\README.W32 emacs-%1\README.W32
90 %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
91 del emacs-%1\README.W32
92 if not (%4) == () goto end
93
94 goto end
95
96 rem Only do this if explicitly requested
97 :zipfiles
98
99 echo Create zip files for bin and lisp archives
100 mkdir distrib
101 cd distrib
102 gunzip -c ..\%2-bin-i386.tar.gz | %TAR% xf -
103 zip -rp9 em%5_bin %2
104 rm -rf %2
105 zipsplit -n 1400000 -b .. em%5_bin.zip
106 del em%5_bin.zip
107 gunzip -c ..\%2-lisp.tar.gz | %TAR% xf -
108 zip -rp9 em%5_lis %2
109 rm -rf %2
110 zipsplit -n 1400000 -b .. em%5_lis.zip
111 del em%5_lis.zip
112 cd ..
113
114 goto end
115
116 :usage
117 echo Generate source and binary distributions of emacs.
118 echo Usage: %0 emacs-version dist-basename distfiles [lisp,bin,undumped,barebin]
119 echo (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles)
120 echo Or: %0 emacs-version dist-basename distfiles "zipfiles" short-version
121 echo (e.g., %0 20.6 emacs-20.6 d:\andrewi\distfiles zipfiles 206)
122 :end