Mercurial > emacs
annotate admin/nt/makedist.bat @ 89690:dde1f8021ed6
*** empty log message ***
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Mon, 29 Dec 2003 07:53:55 +0000 |
parents | 375f2633d815 |
children | 68c22ea6027c |
rev | line source |
---|---|
39055 | 1 @echo off |
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 | 8 set TAR=wtar |
9 | |
10 rem Make a copy of current Emacs source | |
11 if (%3) == () goto usage | |
12 if not (%4) == () goto %4 | |
13 if not (%4) == (src) goto :lisp | |
14 | |
15 :src | |
16 | |
17 echo Create full source distribution, excluding leim | |
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 | |
19 if not (%4) == () goto end | |
20 | |
21 :lisp | |
22 echo Create limited elisp source distribution | |
23 %TAR% --exclude *.rej --exclude *.elc --exclude *~ -cvf - emacs-%1/lisp | gzip -9 > %2-lisp.tar.gz | |
24 if not (%4) == () goto end | |
25 | |
26 :bin | |
27 | |
28 set eld=emacs-%1/lisp | |
29 | |
30 rem Keep this list in sync with the DONTCOMPILE list in lisp/Makefile.in | |
31 | |
43239
187e89d56f7a
Don't include elisp/term/*.el files twice.
Andrew Innes <andrewi@gnu.org>
parents:
40201
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%/version.el |
39055 | 33 |
34 set fns_el= | |
35 for %%f in (emacs-%1/bin/fns*) do set fns_el=%fns_el% emacs-%1/bin/%%f | |
36 | |
37 echo Create bin distribution | |
38 copy %3\README.W32 emacs-%1\README.W32 | |
39 | |
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 | 42 for %%f in (emacs-%1/bin/fns*) do echo emacs-%1/bin/%%f>>#files# |
43 for %%f in (emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp %elfiles%) do echo %%f>>#files# | |
44 for %%f in (%eld%/term/*.el) do echo %eld%/term/%%f>>#files# | |
45 for %%f in (emacs-%1/lock emacs-%1/site-lisp emacs-%1/site-lisp/subdirs.el) do echo %%f>>#files# | |
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 | |
47 del emacs-%1\README.W32 | |
48 del #files# | |
49 if not (%4) == () goto end | |
50 | |
51 :fullbin | |
52 | |
53 echo Create full bin distribution | |
54 copy %3\README.W32 emacs-%1\README.W32 | |
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 | 57 del emacs-%1\README.W32 |
58 if not (%4) == () goto end | |
59 | |
60 :leim | |
61 | |
62 echo Create archive with precompiled leim files | |
63 %TAR% -cvf - emacs-%1/leim/leim-list.el emacs-%1/leim/quail emacs-%1/leim/ja-dic | gzip -9 > %2-leim.tar.gz | |
64 if not (%4) == () goto end | |
65 | |
66 :undumped | |
67 | |
68 echo Create archive with extra files needed for redumping emacs | |
69 copy %3\README-UNDUMP.W32 emacs-%1\README-UNDUMP.W32 | |
70 copy %3\dump.bat emacs-%1\bin | |
71 if exist emacs-%1\src\obj-spd\i386\temacs.exe copy emacs-%1\src\obj-spd\i386\temacs.exe emacs-%1\bin | |
72 if exist emacs-%1\src\oo-spd\i386\temacs.exe copy emacs-%1\src\oo-spd\i386\temacs.exe emacs-%1\bin | |
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 | |
74 del emacs-%1\bin\temacs.exe | |
75 del emacs-%1\bin\dump.bat | |
76 del emacs-%1\README-UNDUMP.W32 | |
77 if not (%4) == () goto end | |
78 | |
79 :barebin | |
80 | |
81 echo Create archive with just the basic binaries and generated files | |
82 echo (the user needs to unpack the full source distribution for | |
83 echo everything else) | |
84 copy %3\README.W32 emacs-%1\README.W32 | |
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 | |
86 del emacs-%1\README.W32 | |
87 if not (%4) == () goto end | |
88 | |
89 goto end | |
90 | |
91 rem Only do this if explicitly requested | |
92 :zipfiles | |
93 | |
94 echo Create zip files for bin and lisp archives | |
95 mkdir distrib | |
96 cd distrib | |
97 gunzip -c ..\%2-bin-i386.tar.gz | %TAR% xf - | |
50664
12c610626e32
Fix multi-file .zip distribution, by splitting
Andrew Innes <andrewi@gnu.org>
parents:
43239
diff
changeset
|
98 rem Need to split emacs.exe into fragments because it is too big now |
12c610626e32
Fix multi-file .zip distribution, by splitting
Andrew Innes <andrewi@gnu.org>
parents:
43239
diff
changeset
|
99 rem to fit on a floppy even by itself. |
12c610626e32
Fix multi-file .zip distribution, by splitting
Andrew Innes <andrewi@gnu.org>
parents:
43239
diff
changeset
|
100 copy %3\stitch.bat %2\bin |
12c610626e32
Fix multi-file .zip distribution, by splitting
Andrew Innes <andrewi@gnu.org>
parents:
43239
diff
changeset
|
101 cd %2\bin |
12c610626e32
Fix multi-file .zip distribution, by splitting
Andrew Innes <andrewi@gnu.org>
parents:
43239
diff
changeset
|
102 split -b 1000000 emacs.exe emacs |
12c610626e32
Fix multi-file .zip distribution, by splitting
Andrew Innes <andrewi@gnu.org>
parents:
43239
diff
changeset
|
103 del emacs.exe |
12c610626e32
Fix multi-file .zip distribution, by splitting
Andrew Innes <andrewi@gnu.org>
parents:
43239
diff
changeset
|
104 cd ..\.. |
12c610626e32
Fix multi-file .zip distribution, by splitting
Andrew Innes <andrewi@gnu.org>
parents:
43239
diff
changeset
|
105 zip -rp9 em%5bin %2 |
39055 | 106 rm -rf %2 |
50664
12c610626e32
Fix multi-file .zip distribution, by splitting
Andrew Innes <andrewi@gnu.org>
parents:
43239
diff
changeset
|
107 zipsplit -n 1400000 -b .. em%5bin.zip |
12c610626e32
Fix multi-file .zip distribution, by splitting
Andrew Innes <andrewi@gnu.org>
parents:
43239
diff
changeset
|
108 del em%5bin.zip |
39055 | 109 gunzip -c ..\%2-lisp.tar.gz | %TAR% xf - |
50664
12c610626e32
Fix multi-file .zip distribution, by splitting
Andrew Innes <andrewi@gnu.org>
parents:
43239
diff
changeset
|
110 zip -rp9 em%5lis %2 |
39055 | 111 rm -rf %2 |
50664
12c610626e32
Fix multi-file .zip distribution, by splitting
Andrew Innes <andrewi@gnu.org>
parents:
43239
diff
changeset
|
112 zipsplit -n 1400000 -b .. em%5lis.zip |
12c610626e32
Fix multi-file .zip distribution, by splitting
Andrew Innes <andrewi@gnu.org>
parents:
43239
diff
changeset
|
113 del em%5lis.zip |
39055 | 114 cd .. |
115 | |
116 goto end | |
117 | |
118 :usage | |
119 echo Generate source and binary distributions of emacs. | |
120 echo Usage: %0 emacs-version dist-basename distfiles [lisp,bin,undumped,barebin] | |
121 echo (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles) | |
122 echo Or: %0 emacs-version dist-basename distfiles "zipfiles" short-version | |
123 echo (e.g., %0 20.6 emacs-20.6 d:\andrewi\distfiles zipfiles 206) | |
124 :end |