Convert EOLs to DOS format.
[bpt/emacs.git] / admin / nt / makedist.bat
CommitLineData
f466241d
EZ
1@echo off\r
2\r
3set TAR=wtar\r
4\r
5rem Make a copy of current Emacs source\r
6if (%3) == () goto usage\r
7if not (%4) == () goto %4\r
8if not (%4) == (src) goto :lisp\r
9\r
10:src\r
11\r
12echo Create full source distribution, excluding leim\r
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\r
14if not (%4) == () goto end\r
15\r
16:lisp\r
17echo Create limited elisp source distribution\r
18%TAR% --exclude *.rej --exclude *.elc --exclude *~ -cvf - emacs-%1/lisp | gzip -9 > %2-lisp.tar.gz\r
19if not (%4) == () goto end\r
20\r
21:bin\r
22\r
23set eld=emacs-%1/lisp\r
24\r
25rem Keep this list in sync with the DONTCOMPILE list in lisp/Makefile.in\r
26\r
27set 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\r
28\r
29rem 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\r
30\r
31rem 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\r
32\r
33set fns_el=\r
34for %%f in (emacs-%1/bin/fns*) do set fns_el=%fns_el% emacs-%1/bin/%%f\r
35\r
36echo Create bin distribution\r
37copy %3\README.W32 emacs-%1\README.W32\r
38\r
39rem %TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb\r
40rem --exclude *.opt --exclude *.el --exclude *~ -cvf - emacs-%1/BUGS\r
41rem emacs-%1/GETTING.GNU.SOFTWARE emacs-%1/README emacs-%1/README.W32\r
42rem emacs-%1/bin %fns_el% emacs-%1/etc emacs-%1/info emacs-%1/lisp %elfiles%\r
43rem %term_elfiles% emacs-%1/lock emacs-%1/site-lisp -cvf - | gzip -9 > %2-bin-i386.tar.gz\r
44\r
45del #files#\r
46for %%f in (emacs-%1/BUGS emacs-%1/GETTING.GNU.SOFTWARE emacs-%1/README emacs-%1/README.W32) do echo %%f>>#files#\r
47for %%f in (emacs-%1/bin/fns*) do echo emacs-%1/bin/%%f>>#files#\r
48for %%f in (emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp %elfiles%) do echo %%f>>#files#\r
49for %%f in (%eld%/term/*.el) do echo %eld%/term/%%f>>#files#\r
50for %%f in (emacs-%1/lock emacs-%1/site-lisp emacs-%1/site-lisp/subdirs.el) do echo %%f>>#files#\r
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\r
52del emacs-%1\README.W32\r
53del #files#\r
54if not (%4) == () goto end\r
55\r
56:fullbin\r
57\r
58echo Create full bin distribution\r
59copy %3\README.W32 emacs-%1\README.W32\r
60\r
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\r
62del emacs-%1\README.W32\r
63if not (%4) == () goto end\r
64\r
65:leim\r
66\r
67echo Create archive with precompiled leim files\r
68%TAR% -cvf - emacs-%1/leim/leim-list.el emacs-%1/leim/quail emacs-%1/leim/ja-dic | gzip -9 > %2-leim.tar.gz\r
69if not (%4) == () goto end\r
70\r
71:undumped\r
72\r
73echo Create archive with extra files needed for redumping emacs\r
74copy %3\README-UNDUMP.W32 emacs-%1\README-UNDUMP.W32\r
75copy %3\dump.bat emacs-%1\bin\r
76if exist emacs-%1\src\obj-spd\i386\temacs.exe copy emacs-%1\src\obj-spd\i386\temacs.exe emacs-%1\bin\r
77if exist emacs-%1\src\oo-spd\i386\temacs.exe copy emacs-%1\src\oo-spd\i386\temacs.exe emacs-%1\bin\r
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\r
79del emacs-%1\bin\temacs.exe\r
80del emacs-%1\bin\dump.bat\r
81del emacs-%1\README-UNDUMP.W32\r
82if not (%4) == () goto end\r
83\r
84:barebin\r
85\r
86echo Create archive with just the basic binaries and generated files\r
87echo (the user needs to unpack the full source distribution for\r
88echo everything else)\r
89copy %3\README.W32 emacs-%1\README.W32\r
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\r
91del emacs-%1\README.W32\r
92if not (%4) == () goto end\r
93\r
94goto end\r
95\r
96rem Only do this if explicitly requested\r
97:zipfiles\r
98\r
99echo Create zip files for bin and lisp archives\r
100mkdir distrib\r
101cd distrib\r
102gunzip -c ..\%2-bin-i386.tar.gz | %TAR% xf -\r
103zip -rp9 em%5_bin %2\r
104rm -rf %2\r
105zipsplit -n 1400000 -b .. em%5_bin.zip\r
106del em%5_bin.zip\r
107gunzip -c ..\%2-lisp.tar.gz | %TAR% xf -\r
108zip -rp9 em%5_lis %2\r
109rm -rf %2\r
110zipsplit -n 1400000 -b .. em%5_lis.zip\r
111del em%5_lis.zip\r
112cd ..\r
113\r
114goto end\r
115\r
116:usage\r
117echo Generate source and binary distributions of emacs.\r
118echo Usage: %0 emacs-version dist-basename distfiles [lisp,bin,undumped,barebin]\r
119echo (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles)\r
120echo Or: %0 emacs-version dist-basename distfiles "zipfiles" short-version\r
121echo (e.g., %0 20.6 emacs-20.6 d:\andrewi\distfiles zipfiles 206)\r
122:end\r