aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorEli Zaretskii2007-02-03 22:03:52 +0000
committerEli Zaretskii2007-02-03 22:03:52 +0000
commita6a8ef0567dbd50cd6de6e2d121429d157f45bab (patch)
treeeb2af5ea9ae65094fdc440e2993115675a570c5a /admin
parenta423dfded7ded47637738b54b0f85a6956ed5b4a (diff)
downloademacs-a6a8ef0567dbd50cd6de6e2d121429d157f45bab.tar.gz
emacs-a6a8ef0567dbd50cd6de6e2d121429d157f45bab.zip
Change EOL format to DOS. Don't use redirection characters in REM lines.
Diffstat (limited to 'admin')
-rwxr-xr-xadmin/nt/makedist.bat319
1 files changed, 161 insertions, 158 deletions
diff --git a/admin/nt/makedist.bat b/admin/nt/makedist.bat
index a04a11acd35..435462df6bd 100755
--- a/admin/nt/makedist.bat
+++ b/admin/nt/makedist.bat
@@ -1,158 +1,161 @@
1@echo off 1@echo off
2 2
3rem Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 3rem Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
4rem Free Software Foundation, Inc. 4rem Free Software Foundation, Inc.
5rem 5rem
6rem Author: Andrew Innes <andrewi@gnu.org> 6rem Cannot use brackets in andrewi's email below because
7rem 7rem older Windows shells will treat that as redirection.
8rem This file is part of GNU Emacs. 8rem
9rem 9rem Author: Andrew Innes andrewi@gnu.org
10rem GNU Emacs is free software; you can redistribute it and/or modify 10rem
11rem it under the terms of the GNU General Public License as published by 11rem This file is part of GNU Emacs.
12rem the Free Software Foundation; either version 2, or (at your option) 12rem
13rem any later version. 13rem GNU Emacs is free software; you can redistribute it and/or modify
14rem 14rem it under the terms of the GNU General Public License as published by
15rem GNU Emacs is distributed in the hope that it will be useful, 15rem the Free Software Foundation; either version 2, or (at your option)
16rem but WITHOUT ANY WARRANTY; without even the implied warranty of 16rem any later version.
17rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17rem
18rem GNU General Public License for more details. 18rem GNU Emacs is distributed in the hope that it will be useful,
19rem 19rem but WITHOUT ANY WARRANTY; without even the implied warranty of
20rem You should have received a copy of the GNU General Public License 20rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21rem along with GNU Emacs; see the file COPYING. If not, write to the 21rem GNU General Public License for more details.
22rem Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 22rem
23rem Boston, MA 02110-1301, USA. 23rem You should have received a copy of the GNU General Public License
24 24rem along with GNU Emacs; see the file COPYING. If not, write to the
25 25rem Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
26rem Beware broken ports of tar. Recent cygwin versions work well, older 26rem Boston, MA 02110-1301, USA.
27rem cygwin versions and the current MSys port have problems with DOS 27
28rem line ends when reading file names from a file. Other ports have their 28
29rem own problems too. 29rem Beware broken ports of tar. Recent cygwin versions work well, older
30set TAR=tar 30rem cygwin versions and the current MSys port have problems with DOS
31 31rem line ends when reading file names from a file. Other ports have their
32rem Make a copy of current Emacs source 32rem own problems too.
33if (%3) == () goto usage 33set TAR=tar
34if not (%4) == () goto %4 34
35if not (%4) == (src) goto :lisp 35rem Make a copy of current Emacs source
36 36if (%3) == () goto usage
37:src 37if not (%4) == () goto %4
38 38if not (%4) == (src) goto :lisp
39echo Create full source distribution, excluding leim 39
40%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 40:src
41if not (%4) == () goto end 41
42 42echo Create full source distribution, excluding leim
43:lisp 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
44echo Create limited elisp source distribution 44if not (%4) == () goto end
45%TAR% --exclude *.rej --exclude *.elc --exclude *~ -cvf - emacs-%1/lisp | gzip -9 > %2-lisp.tar.gz 45
46if not (%4) == () goto end 46:lisp
47 47echo Create limited elisp source distribution
48:bin 48%TAR% --exclude *.rej --exclude *.elc --exclude *~ -cvf - emacs-%1/lisp | gzip -9 > %2-lisp.tar.gz
49 49if not (%4) == () goto end
50set eld=emacs-%1/lisp 50
51 51:bin
52rem List of Lisp files that are not compiled and that should be 52
53rem included in the bin distribution. 53set eld=emacs-%1/lisp
54 54
55rem It would be better to generate this list automatically. It is the 55rem List of Lisp files that are not compiled and that should be
56rem list of all .el files for which there is no corresponding .elc 56rem included in the bin distribution.
57rem file, minus ldefs-boot.el. --lute 57
58 58rem It would be better to generate this list automatically. It is the
59set 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 59rem list of all .el files for which there is no corresponding .elc
60 60rem file, minus ldefs-boot.el. --lute
61set fns_el= 61
62for %%f in (emacs-%1/bin/fns*) do set fns_el=%fns_el% emacs-%1/bin/%%f 62set 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 63
64echo Create bin distribution 64set fns_el=
65copy %3\README.W32 emacs-%1\README.W32 65for %%f in (emacs-%1/bin/fns*) do set fns_el=%fns_el% emacs-%1/bin/%%f
66 66
67del #files# #elfiles# 67echo Create bin distribution
68for %%f in (emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32) do echo %%f>>#files# 68copy %3\README.W32 emacs-%1\README.W32
69for %%f in (emacs-%1/bin/fns*) do echo emacs-%1/bin/%%f>>#elfiles# 69
70for %%f in (emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp) do echo %%f>>#files# 70del #files# #elfiles#
71for %%f in (emacs-%1/lock emacs-%1/site-lisp) do echo %%f>>#files# 71for %%f in (emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32) do echo %%f>>#files#
72for %%f in (%elfiles% emacs-%1/site-lisp/subdirs.el) do echo %%f>>#elfiles# 72for %%f in (emacs-%1/bin/fns*) do echo emacs-%1/bin/%%f>>#elfiles#
73 73for %%f in (emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp) do echo %%f>>#files#
74%TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude "*.el" --exclude "*~" -T #files# -cvf %2-bin-i386.tar 74for %%f in (emacs-%1/lock emacs-%1/site-lisp) do echo %%f>>#files#
75%TAR% -T #elfiles# -rvf %2-bin-i386.tar 75for %%f in (%elfiles% emacs-%1/site-lisp/subdirs.el) do echo %%f>>#elfiles#
76gzip -9 %2-bin-i386.tar 76
77del emacs-%1\README.W32 77%TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude "*.el" --exclude "*~" -T #files# -cvf %2-bin-i386.tar
78rem del #files# #elfiles# 78%TAR% -T #elfiles# -rvf %2-bin-i386.tar
79if not (%4) == () goto end 79gzip -9 %2-bin-i386.tar
80 80del emacs-%1\README.W32
81:fullbin 81rem del #files# #elfiles#
82 82if not (%4) == () goto end
83echo Create full bin distribution 83
84copy %3\README.W32 emacs-%1\README.W32 84:fullbin
85 85
86%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 86echo Create full bin distribution
87del emacs-%1\README.W32 87copy %3\README.W32 emacs-%1\README.W32
88if not (%4) == () goto end 88
89 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
90:leim 90del emacs-%1\README.W32
91 91if not (%4) == () goto end
92echo Create archive with precompiled leim files 92
93%TAR% -cvf - emacs-%1/leim/leim-list.el emacs-%1/leim/quail emacs-%1/leim/ja-dic | gzip -9 > %2-leim.tar.gz 93:leim
94if not (%4) == () goto end 94
95 95echo Create archive with precompiled leim files
96:undumped 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 97if not (%4) == () goto end
98echo Create archive with extra files needed for redumping emacs 98
99copy %3\README-UNDUMP.W32 emacs-%1\README-UNDUMP.W32 99:undumped
100copy %3\dump.bat emacs-%1\bin 100
101if exist emacs-%1\src\obj-spd\i386\temacs.exe copy emacs-%1\src\obj-spd\i386\temacs.exe emacs-%1\bin 101echo Create archive with extra files needed for redumping emacs
102if exist emacs-%1\src\oo-spd\i386\temacs.exe copy emacs-%1\src\oo-spd\i386\temacs.exe emacs-%1\bin 102copy %3\README-UNDUMP.W32 emacs-%1\README-UNDUMP.W32
103%TAR% -cvf - emacs-%1/README-UNDUMP.W32 emacs-%1/bin/dump.bat emacs-%1/bin/temacs.exe | gzip -9 > %2-undumped-i386.tar.gz 103copy %3\dump.bat emacs-%1\bin
104del emacs-%1\bin\temacs.exe 104if exist emacs-%1\src\obj-spd\i386\temacs.exe copy emacs-%1\src\obj-spd\i386\temacs.exe emacs-%1\bin
105del emacs-%1\bin\dump.bat 105if exist emacs-%1\src\oo-spd\i386\temacs.exe copy emacs-%1\src\oo-spd\i386\temacs.exe emacs-%1\bin
106del emacs-%1\README-UNDUMP.W32 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
107if not (%4) == () goto end 107del emacs-%1\bin\temacs.exe
108 108del emacs-%1\bin\dump.bat
109:barebin 109del emacs-%1\README-UNDUMP.W32
110 110if not (%4) == () goto end
111echo Create archive with just the basic binaries and generated files 111
112echo (the user needs to unpack the full source distribution for 112:barebin
113echo everything else) 113
114copy %3\README.W32 emacs-%1\README.W32 114echo Create archive with just the basic binaries and generated files
115%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 115echo (the user needs to unpack the full source distribution for
116del emacs-%1\README.W32 116echo everything else)
117if not (%4) == () goto end 117copy %3\README.W32 emacs-%1\README.W32
118 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
119goto end 119del emacs-%1\README.W32
120 120if not (%4) == () goto end
121rem Only do this if explicitly requested 121
122:zipfiles 122goto end
123 123
124echo Create zip files for bin and lisp archives 124rem Only do this if explicitly requested
125mkdir distrib 125:zipfiles
126cd distrib 126
127gunzip -c ..\%2-bin-i386.tar.gz | %TAR% xf - 127echo Create zip files for bin and lisp archives
128rem Need to split emacs.exe into fragments because it is too big now 128mkdir distrib
129rem to fit on a floppy even by itself. 129cd distrib
130copy %3\stitch.bat %2\bin 130gunzip -c ..\%2-bin-i386.tar.gz | %TAR% xf -
131cd %2\bin 131rem Need to split emacs.exe into fragments because it is too big now
132split -b 1000000 emacs.exe emacs 132rem to fit on a floppy even by itself.
133del emacs.exe 133copy %3\stitch.bat %2\bin
134cd ..\.. 134cd %2\bin
135zip -rp9 em%5bin %2 135split -b 1000000 emacs.exe emacs
136rm -rf %2 136del emacs.exe
137zipsplit -n 1400000 -b .. em%5bin.zip 137cd ..\..
138del em%5bin.zip 138zip -rp9 em%5bin %2
139gunzip -c ..\%2-lisp.tar.gz | %TAR% xf - 139rm -rf %2
140zip -rp9 em%5lis %2 140zipsplit -n 1400000 -b .. em%5bin.zip
141rm -rf %2 141del em%5bin.zip
142zipsplit -n 1400000 -b .. em%5lis.zip 142gunzip -c ..\%2-lisp.tar.gz | %TAR% xf -
143del em%5lis.zip 143zip -rp9 em%5lis %2
144cd .. 144rm -rf %2
145 145zipsplit -n 1400000 -b .. em%5lis.zip
146goto end 146del em%5lis.zip
147 147cd ..
148:usage 148
149echo Generate source and binary distributions of emacs. 149goto end
150echo Usage: %0 emacs-version dist-basename distfiles [lisp,bin,undumped,barebin] 150
151echo (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles) 151:usage
152echo Or: %0 emacs-version dist-basename distfiles "zipfiles" short-version 152echo Generate source and binary distributions of emacs.
153echo (e.g., %0 20.6 emacs-20.6 d:\andrewi\distfiles zipfiles 206) 153echo Usage: %0 emacs-version dist-basename distfiles [lisp,bin,undumped,barebin]
154:end 154echo (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles)
155 155echo Or: %0 emacs-version dist-basename distfiles "zipfiles" short-version
156goto skipArchTag 156echo (e.g., %0 20.6 emacs-20.6 d:\andrewi\distfiles zipfiles 206)
157 arch-tag: 6e2ddd92-c1c9-4992-b6b5-207aaab72f68 157:end
158:skipArchTag 158
159goto skipArchTag
160 arch-tag: 6e2ddd92-c1c9-4992-b6b5-207aaab72f68
161:skipArchTag