3 rem Written by Frank Schmitt <ich@frank-schmitt.net>
4 rem based on the work by David Charlap (shamino@writeme.com)
6 rem Clear PWD so emacs doesn't get confused
7 set GNUS_PWD_SAVE=%PWD%
11 if "%1" == "" goto usage
13 rem Emacs 20.7 no longer includes emacs.bat. Use emacs.exe if the batch file is
14 rem not present -- this also fixes the problem about too many parameters on Win9x.
15 if exist %1\emacs.bat goto ebat
16 if exist %1\emacs.exe goto eexe
17 if exist %1\xemacs.exe goto xemacs
23 echo ***************************************************************************
24 echo * Using emacs.bat (If you've got en Emacs >= 20.3 please remove Emacs.bat,
25 echo * it isn't needed anymore.
26 echo ***************************************************************************
33 echo ***************************************************************************
34 echo * Using emacs.exe
35 echo ***************************************************************************
40 if not "%2" == "/copy" goto emacsnocopy
41 if not exist %1\..\site-lisp mkdir %1\..\site-lisp
42 if not exist %1\..\site-lisp\gnus mkdir %1\..\site-lisp\gnus
43 if not exist %1\..\site-lisp\subdirs.el set subdirwarning=yes
45 set EMACS_ARGS=-batch -q -no-site-file
46 set GNUS_INFO_DIR=%1\..\info
47 set GNUS_LISP_DIR=%1\..\site-lisp\gnus\lisp
48 set GNUS_ETC_DIR=%1\..\site-lisp\gnus\etc
53 if not "%2" == "/copy" goto xemacsnocopy
54 if not exist %1\..\..\site-packages\ mkdir %1\..\..\site-packages\
55 if not exist %1\..\..\site-packages\info mkdir %1\..\..\site-packages\info
56 if not exist %1\..\..\site-packages\lisp mkdir %1\..\..\site-packages\lisp
57 if not exist %1\..\..\site-packages\etc mkdir %1\..\..\site-packages\etc
59 set EMACS_ARGS=-batch -no-autoloads
60 set GNUS_INFO_DIR=%1\..\..\site-packages\info
61 set GNUS_LISP_DIR=%1\..\..\site-packages\lisp\gnus
62 set GNUS_ETC_DIR=%1\..\..\site-packages\etc
64 echo ***************************************************************************
65 echo * Using xemacs.exe
66 echo ***************************************************************************
71 set EMACSBATCH=call %1\%EMACS% %EMACS_ARGS%
73 if exist gnus-load.el del gnus-load.el
75 echo Stand by while generating autoloads.
77 %EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-cus-load .
78 if ErrorLevel 1 set ERROR=make-cus-load
79 %EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-auto-load .
80 if ErrorLevel 1 set ERROR=%ERROR%,make-auto-load
81 %EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-load
82 if ErrorLevel 1 set ERROR=%ERROR%,make-load
84 echo Stand by while compiling lisp files.
86 %EMACSBATCH% -l ./dgnushack.el -f dgnushack-compile
87 if ErrorLevel 1 set ERROR=%ERROR%,compile
89 if not "%2" == "/copy" goto infotest
91 echo Stand by while copying lisp files.
93 if not exist %GNUS_LISP_DIR% mkdir %GNUS_LISP_DIR%
94 xcopy /R /Q /Y *.el* %GNUS_LISP_DIR%
95 if ErrorLevel 1 set ERROR=%ERROR%,copy-lisp
100 if exist sieve del sieve
102 if exist sieve goto minfo
103 REM It seems that makeinfo isn't available
104 set EMACSINFO=%EMACSBATCH% -l infohack.el -f batch-makeinfo
106 echo ***************************************************************************
107 echo * Using infohack.el, if you've got makeinfo.exe put it in PATH.
108 echo ***************************************************************************
113 set EMACSINFO=makeinfo
115 echo ***************************************************************************
116 echo * Using makeinfo
117 echo ***************************************************************************
123 echo Stand by while generating info files.
125 %EMACSINFO% emacs-mime.texi
126 if ErrorLevel 1 set ERROR=%ERROR%,emacs-mime.texi
127 %EMACSINFO% gnus.texi
128 if ErrorLevel 1 set ERROR=%ERROR%,gnus.texi
129 %EMACSINFO% sieve.texi
130 if ErrorLevel 1 set ERROR=%ERROR%,sieve.texi
132 if ErrorLevel 1 set ERROR=%ERROR%,pgg.texi
133 %EMACSINFO% message.texi
134 if ErrorLevel 1 set ERROR=%ERROR%,message.texi
136 if not "%2" == "/copy" goto nocopy
137 if not exist %GNUS_INFO_DIR% mkdir %GNUS_INFO_DIR%
140 echo Stand by while copying info files.
142 xcopy /R /Q /Y gnus %GNUS_INFO_DIR%
143 if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-info
144 xcopy /R /Q /Y gnus-? %GNUS_INFO_DIR%
145 if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-x-info
146 xcopy /R /Q /Y gnus-?? %GNUS_INFO_DIR%
147 if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-xx-info
148 xcopy /R /Q /Y message %GNUS_INFO_DIR%
149 if ErrorLevel 1 set ERROR=%ERROR%,copy-message-info
150 if exist message-1 xcopy /R /Q /Y message-? %GNUS_INFO_DIR%
151 if ErrorLevel 1 set ERROR=%ERROR%,copy-message-x-info
152 xcopy /R /Q /Y emacs-mime %GNUS_INFO_DIR%
153 if ErrorLevel 1 set ERROR=%ERROR%,copy-emacs-mime-info
154 xcopy /R /Q /Y sieve %GNUS_INFO_DIR%
155 if ErrorLevel 1 set ERROR=%ERROR%,copy-sieve-info
156 xcopy /R /Q /Y pgg %GNUS_INFO_DIR%
157 if ErrorLevel 1 set ERROR=%ERROR%,copy-pgg-info
160 echo ***************************************************************************
161 echo * You should add the following lines to
162 echo * %GNUS_INFO_DIR%\dir
163 echo * if they aren't already there:
165 echo * * PGG: (pgg). Emacs interface to various PGP implementations.
166 echo * * Sieve: (sieve). Managing Sieve scripts in Emacs.
167 echo ***************************************************************************
173 echo Stand by while copying etc files.
175 if not exist %GNUS_ETC_DIR% mkdir %GNUS_ETC_DIR%
176 xcopy /R /Q /Y gnus-tut.txt %GNUS_ETC_DIR%
177 if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-tut-txt
178 if not exist %GNUS_ETC_DIR%\gnus mkdir %GNUS_ETC_DIR%\gnus
179 xcopy /R /Q /Y .\gnus\* %GNUS_ETC_DIR%\gnus\
180 if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-*
181 if not exist %GNUS_ETC_DIR%\smilies mkdir %GNUS_ETC_DIR%\smilies
182 xcopy /R /Q /Y .\smilies\* %GNUS_ETC_DIR%\smilies\
183 if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-smilies-*
188 echo ***************************************************************************
189 echo * You chose not to copy the files, therefore you should add the
190 echo * following lines to the TOP of your [X]emacs customization file:
192 echo * (add-to-list 'load-path "/Path/to/gnus/lisp")
193 echo * (if (featurep 'xemacs)
194 echo * (add-to-list 'Info-directory-list "c:/Path/to/gnus/texi/")
195 echo * (add-to-list 'Info-default-directory-list "c:/Path/to/gnus/texi/")
196 echo * (require 'gnus-load)
198 echo * Replace c:/Path/to/gnus with the Path where your new Gnus is (that's here
199 echo * and yes, you've got to use forward slashes).
200 echo ***************************************************************************
204 if not "%subdirwarning%" == "yes" goto warngnusload
206 echo ***************************************************************************
207 echo * There's no subdirs.el file in your site-lisp directory, you should
208 echo * therefor add the following line to the TOP of your Emacs
209 echo * customization file:
211 echo * (add-to-list 'load-path "/Path/to/emacs-site-lisp-directory/gnus/lisp")
212 echo * (require 'gnus-load)
213 echo * Yes, it must be forward slashes.
214 echo ***************************************************************************
220 echo ***************************************************************************
221 echo * You should add the following line to the TOP of your Emacs
222 echo * customization file:
224 echo * (require 'gnus-load)
225 echo ***************************************************************************
229 if "%ERROR%"==":" goto noerrors
232 echo ***************************************************************************
233 echo * WARNING ERRORS OCCURRED!
234 echo * You should look for error messages in the output of the called programs
235 echo * and try to find out what exactly went wrong.
236 echo * Errors occured in the following modules:
238 echo ***************************************************************************
251 echo ***************************************************************************
252 echo * Unable to find emacs.exe or xemacs.exe on the path you specified!
254 echo ***************************************************************************
260 echo ***************************************************************************
261 echo * Usage: make.bat :[X]Emacs-exe-dir: [/copy]
263 echo * where: :[X]Emacs-exe-dir: is the directory your
264 echo * emacs.exe respectively xemacs.exe resides in,
265 echo * e.g. G:\Programme\XEmacs\XEmacs-21.4.11\i586-pc-win32\
266 echo * or G:\Emacs\bin
267 echo * /copy indicates that the compiled files should be copied to your
268 echo * emacs lisp, info, and etc site directories.
270 echo * Note: If you have Emacs/w3 you should set the environment variable
271 echo * W3DIR to the directory where w3 is installed eg.
272 echo * set W3DIR=d:\lisp\w3-4.0pre46\lisp
273 echo ***************************************************************************
277 rem Restore environment variables
278 set PWD=%GNUS_PWD_SAVE%