3 rem This batch file doesn't work with Cygwin tar because #files#
4 rem has DOS line endings, which Cygwin tar misinterprets.
5 rem I use the version of tar from
6 rem ftp://ftp.gnu.org/gnu/windows/emacs/utilities/i386/tar-1.11.2a.exe
7 rem renamed as wtar.exe.
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
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
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
30 rem Keep this list in sync with the DONTCOMPILE list in lisp/Makefile.in
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
35 for %%f in
(emacs
-%1/bin
/fns
*) do set fns_el
=%fns_el% emacs
-%1/bin
/%%f
37 echo Create bin distribution
38 copy %3\README.W32 emacs
-%1\README.W32
41 for %%f in
(emacs
-%1/BUGS emacs
-%1/README emacs
-%1/README.W32
) do echo %%f
>>#
files#
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
49 if not (%4) == () goto end
53 echo Create full bin distribution
54 copy %3\README.W32 emacs
-%1\README.W32
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
57 del emacs
-%1\README.W32
58 if not (%4) == () goto end
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
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
81 echo Create archive with just the basic binaries and generated
files
82 echo (the user needs to
unpack the full source distribution
for
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
91 rem Only do this if explicitly requested
94 echo Create zip
files for bin and lisp archives
97 gunzip
-c ..\
%2-bin
-i386.tar.gz |
%TAR% xf
-
98 rem Need to split emacs.exe into fragments because it is too big now
99 rem to fit on a floppy even by itself.
100 copy %3\stitch.bat
%2\bin
102 split
-b
1000000 emacs.exe emacs
107 zipsplit
-n
1400000 -b .. em
%5bin.zip
109 gunzip
-c ..\
%2-lisp.tar.gz |
%TAR% xf
-
112 zipsplit
-n
1400000 -b .. em
%5lis.zip
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)
127 arch
-tag
: 6e2ddd92
-c1c9
-4992-b6b5
-207aaab72f68