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