aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
Diffstat (limited to 'admin')
-rwxr-xr-xadmin/nt/makedist.bat107
1 files changed, 4 insertions, 103 deletions
diff --git a/admin/nt/makedist.bat b/admin/nt/makedist.bat
index 435462df6bd..b160da93c4f 100755
--- a/admin/nt/makedist.bat
+++ b/admin/nt/makedist.bat
@@ -25,135 +25,36 @@ rem along with GNU Emacs; see the file COPYING. If not, write to the
25rem Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 25rem Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
26rem Boston, MA 02110-1301, USA. 26rem Boston, MA 02110-1301, USA.
27 27
28set ZIP=zip
28 29
29rem Beware broken ports of tar. Recent cygwin versions work well, older
30rem cygwin versions and the current MSys port have problems with DOS
31rem line ends when reading file names from a file. Other ports have their
32rem own problems too.
33set TAR=tar
34
35rem Make a copy of current Emacs source
36if (%3) == () goto usage 30if (%3) == () goto usage
37if not (%4) == () goto %4 31if not (%4) == () goto %4
38if not (%4) == (src) goto :lisp
39
40:src
41
42echo Create full source distribution, excluding leim
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
44if not (%4) == () goto end
45
46:lisp
47echo Create limited elisp source distribution
48%TAR% --exclude *.rej --exclude *.elc --exclude *~ -cvf - emacs-%1/lisp | gzip -9 > %2-lisp.tar.gz
49if not (%4) == () goto end
50 32
51:bin 33:bin
52 34
53set eld=emacs-%1/lisp
54
55rem List of Lisp files that are not compiled and that should be
56rem included in the bin distribution.
57
58rem It would be better to generate this list automatically. It is the
59rem list of all .el files for which there is no corresponding .elc
60rem file, minus ldefs-boot.el. --lute
61
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
64set fns_el=
65for %%f in (emacs-%1/bin/fns*) do set fns_el=%fns_el% emacs-%1/bin/%%f
66
67echo Create bin distribution
68copy %3\README.W32 emacs-%1\README.W32
69
70del #files# #elfiles#
71for %%f in (emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32) do echo %%f>>#files#
72for %%f in (emacs-%1/bin/fns*) do echo emacs-%1/bin/%%f>>#elfiles#
73for %%f in (emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp) do echo %%f>>#files#
74for %%f in (emacs-%1/lock emacs-%1/site-lisp) do echo %%f>>#files#
75for %%f in (%elfiles% emacs-%1/site-lisp/subdirs.el) do echo %%f>>#elfiles#
76
77%TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude "*.el" --exclude "*~" -T #files# -cvf %2-bin-i386.tar
78%TAR% -T #elfiles# -rvf %2-bin-i386.tar
79gzip -9 %2-bin-i386.tar
80del emacs-%1\README.W32
81rem del #files# #elfiles#
82if not (%4) == () goto end
83
84:fullbin
85
86echo Create full bin distribution 35echo Create full bin distribution
87copy %3\README.W32 emacs-%1\README.W32 36copy %3\README.W32 emacs-%1\README.W32
88 37
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 38%ZIP% -x emacs.mdp -x *.pdb -x *.opt -x *~ -x CVS -9 emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp %2-bin-i386.zip
90del emacs-%1\README.W32 39del emacs-%1\README.W32
91if not (%4) == () goto end 40if not (%4) == () goto end
92 41
93:leim
94
95echo Create archive with precompiled leim files
96%TAR% -cvf - emacs-%1/leim/leim-list.el emacs-%1/leim/quail emacs-%1/leim/ja-dic | gzip -9 > %2-leim.tar.gz
97if not (%4) == () goto end
98
99:undumped
100
101echo Create archive with extra files needed for redumping emacs
102copy %3\README-UNDUMP.W32 emacs-%1\README-UNDUMP.W32
103copy %3\dump.bat emacs-%1\bin
104if exist emacs-%1\src\obj-spd\i386\temacs.exe copy emacs-%1\src\obj-spd\i386\temacs.exe emacs-%1\bin
105if exist emacs-%1\src\oo-spd\i386\temacs.exe copy emacs-%1\src\oo-spd\i386\temacs.exe emacs-%1\bin
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
107del emacs-%1\bin\temacs.exe
108del emacs-%1\bin\dump.bat
109del emacs-%1\README-UNDUMP.W32
110if not (%4) == () goto end
111
112:barebin 42:barebin
113 43
114echo Create archive with just the basic binaries and generated files 44echo Create archive with just the basic binaries and generated files
115echo (the user needs to unpack the full source distribution for 45echo (the user needs to unpack the full source distribution for
116echo everything else) 46echo everything else)
117copy %3\README.W32 emacs-%1\README.W32 47copy %3\README.W32 emacs-%1\README.W32
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 48%ZIP% -9 emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC emacs-%1/etc/DOC-X %2-barebin-i386.zip
119del emacs-%1\README.W32 49del emacs-%1\README.W32
120if not (%4) == () goto end 50if not (%4) == () goto end
121 51
122goto end 52goto end
123 53
124rem Only do this if explicitly requested
125:zipfiles
126
127echo Create zip files for bin and lisp archives
128mkdir distrib
129cd distrib
130gunzip -c ..\%2-bin-i386.tar.gz | %TAR% xf -
131rem Need to split emacs.exe into fragments because it is too big now
132rem to fit on a floppy even by itself.
133copy %3\stitch.bat %2\bin
134cd %2\bin
135split -b 1000000 emacs.exe emacs
136del emacs.exe
137cd ..\..
138zip -rp9 em%5bin %2
139rm -rf %2
140zipsplit -n 1400000 -b .. em%5bin.zip
141del em%5bin.zip
142gunzip -c ..\%2-lisp.tar.gz | %TAR% xf -
143zip -rp9 em%5lis %2
144rm -rf %2
145zipsplit -n 1400000 -b .. em%5lis.zip
146del em%5lis.zip
147cd ..
148
149goto end
150
151:usage 54:usage
152echo Generate source and binary distributions of emacs. 55echo Generate source and binary distributions of emacs.
153echo Usage: %0 emacs-version dist-basename distfiles [lisp,bin,undumped,barebin] 56echo Usage: %0 emacs-version dist-basename distfiles [bin,barebin]
154echo (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles) 57echo (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles)
155echo Or: %0 emacs-version dist-basename distfiles "zipfiles" short-version
156echo (e.g., %0 20.6 emacs-20.6 d:\andrewi\distfiles zipfiles 206)
157:end 58:end
158 59
159goto skipArchTag 60goto skipArchTag