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