20e75536bee3400703a44ac841f97999537db741
[gnus] / make.bat
1 @echo off\r
2 \r
3 rem Written by Frank Schmitt (ich@frank-schmitt.net)\r
4 rem based on the work by David Charlap (shamino@writeme.com)\r
5 rem .\r
6 rem Clear PWD so emacs doesn't get confused\r
7 set GNUS_PWD_SAVE=%PWD%\r
8 set PWD=\r
9 set ERROR=:\r
10 \r
11 if "%1" == "" goto usage\r
12 \r
13 rem Emacs 20.7 no longer includes emacs.bat. Use emacs.exe if the batch file is\r
14 rem not present -- this also fixes the problem about too many parameters on Win9x.\r
15 if exist %1\emacs.bat goto ebat\r
16 if exist %1\emacs.exe goto eexe\r
17 if exist %1\xemacs.exe goto xemacs\r
18 goto noemacs\r
19 \r
20 :ebat\r
21 set EMACS=emacs.bat\r
22 echo.\r
23 echo ***************************************************************************\r
24 echo * Using emacs.bat (If you've got en Emacs >= 20.3 please remove Emacs.bat,\r
25 echo * it isn't needed anymore.\r
26 echo ***************************************************************************\r
27 echo.\r
28 goto emacs\r
29 \r
30 :eexe\r
31 set EMACS=emacs.exe\r
32 echo.\r
33 echo ***************************************************************************\r
34 echo * Using emacs.exe\r
35 echo ***************************************************************************\r
36 echo.\r
37 goto emacs\r
38 \r
39 :emacs\r
40 if not "%2" == "/copy" goto emacsnocopy\r
41 if not exist %1\..\site-lisp\nul mkdir %1\..\site-lisp\r
42 if not exist %1\..\site-lisp\gnus\nul mkdir %1\..\site-lisp\gnus\r
43 if not exist %1\..\site-lisp\subdirs.el set subdirwarning=yes\r
44 :emacsnocopy\r
45 set EMACS_ARGS=-batch -q -no-site-file\r
46 set GNUS_INFO_DIR=%1\..\info\r
47 set GNUS_LISP_DIR=%1\..\site-lisp\gnus\lisp\r
48 set GNUS_ETC_DIR=%1\..\site-lisp\gnus\etc\r
49 goto lisp\r
50 \r
51 :xemacs\r
52 set EMACS=xemacs.exe\r
53 if not "%2" == "/copy" goto xemacsnocopy\r
54 if not exist %1\..\..\site-packages\nul mkdir %1\..\..\site-packages\\r
55 if not exist %1\..\..\site-packages\info\nul mkdir %1\..\..\site-packages\info\r
56 if not exist %1\..\..\site-packages\lisp\nul mkdir %1\..\..\site-packages\lisp\r
57 if not exist %1\..\..\site-packages\etc\nul mkdir %1\..\..\site-packages\etc\r
58 :xemacsnocopy\r
59 set EMACS_ARGS=-batch -no-autoloads\r
60 set GNUS_INFO_DIR=%1\..\..\site-packages\info\r
61 set GNUS_LISP_DIR=%1\..\..\site-packages\lisp\gnus\r
62 set GNUS_ETC_DIR=%1\..\..\site-packages\etc\r
63 echo.\r
64 echo ***************************************************************************\r
65 echo * Using xemacs.exe\r
66 echo ***************************************************************************\r
67 echo.\r
68 goto lisp\r
69 \r
70 :lisp\r
71 set EMACSBATCH=call %1\%EMACS% %EMACS_ARGS%\r
72 cd lisp\r
73 attrib -r gnus-load.el\r
74 if exist gnus-load.el del gnus-load.el\r
75 echo.\r
76 echo Stand by while generating autoloads.\r
77 echo.\r
78 %EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-cus-load .\r
79 if ErrorLevel 1 set ERROR=make-cus-load\r
80 %EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-auto-load .\r
81 if ErrorLevel 1 set ERROR=%ERROR%,make-auto-load\r
82 %EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-load\r
83 if ErrorLevel 1 set ERROR=%ERROR%,make-load\r
84 echo.\r
85 echo Stand by while compiling lisp files.\r
86 echo.\r
87 %EMACSBATCH% -l ./dgnushack.el -f dgnushack-compile\r
88 if ErrorLevel 1 set ERROR=%ERROR%,compile\r
89 \r
90 if not "%2" == "/copy" goto infotest\r
91 echo.\r
92 echo Stand by while copying lisp files.\r
93 echo.\r
94 if not exist %GNUS_LISP_DIR%\nul mkdir %GNUS_LISP_DIR%\r
95 xcopy /R /Q /Y *.el* %GNUS_LISP_DIR%\r
96 if ErrorLevel 1 set ERROR=%ERROR%,copy-lisp\r
97 goto infotest\r
98 \r
99 :infotest\r
100 cd ..\texi\r
101 attrib -r sieve\r
102 if exist sieve del sieve\r
103 \r
104 makeinfo sieve.texi\r
105 if exist sieve goto minfo\r
106 REM It seems that makeinfo isn't available\r
107 set EMACSINFO=%EMACSBATCH% -l infohack.el -f batch-makeinfo\r
108 echo.\r
109 echo ***************************************************************************\r
110 echo * Using infohack.el, if you've got makeinfo.exe put it in PATH.\r
111 echo ***************************************************************************\r
112 echo.\r
113 goto info\r
114 \r
115 :minfo\r
116 set EMACSINFO=makeinfo\r
117 echo.\r
118 echo ***************************************************************************\r
119 echo * Using makeinfo\r
120 echo ***************************************************************************\r
121 echo.\r
122 goto info\r
123 \r
124 :info\r
125 echo.\r
126 echo Stand by while generating info files.\r
127 echo.\r
128 %EMACSINFO% emacs-mime.texi\r
129 if ErrorLevel 1 set ERROR=%ERROR%,emacs-mime.texi\r
130 %EMACSINFO% gnus.texi\r
131 if ErrorLevel 1 set ERROR=%ERROR%,gnus.texi\r
132 %EMACSINFO% sieve.texi\r
133 if ErrorLevel 1 set ERROR=%ERROR%,sieve.texi\r
134 %EMACSINFO% pgg.texi\r
135 if ErrorLevel 1 set ERROR=%ERROR%,pgg.texi\r
136 %EMACSINFO% message.texi\r
137 if ErrorLevel 1 set ERROR=%ERROR%,message.texi\r
138 %EMACSINFO% sasl.texi\r
139 if ErrorLevel 1 set ERROR=%ERROR%,sasl.texi\r
140 \r
141 if not "%2" == "/copy" goto nocopy\r
142 if not exist %GNUS_INFO_DIR%\nul mkdir %GNUS_INFO_DIR%\r
143 \r
144 echo.\r
145 echo Stand by while copying info files.\r
146 echo.\r
147 xcopy /R /Q /Y gnus       %GNUS_INFO_DIR%\r
148 if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-info\r
149 xcopy /R /Q /Y gnus-?     %GNUS_INFO_DIR%\r
150 if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-x-info\r
151 xcopy /R /Q /Y gnus-??    %GNUS_INFO_DIR%\r
152 if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-xx-info\r
153 xcopy /R /Q /Y message    %GNUS_INFO_DIR%\r
154 if ErrorLevel 1 set ERROR=%ERROR%,copy-message-info\r
155 if exist message-1 xcopy /R /Q /Y message-?  %GNUS_INFO_DIR%\r
156 if ErrorLevel 1 set ERROR=%ERROR%,copy-message-x-info\r
157 xcopy /R /Q /Y emacs-mime %GNUS_INFO_DIR%\r
158 if ErrorLevel 1 set ERROR=%ERROR%,copy-emacs-mime-info\r
159 xcopy /R /Q /Y sieve      %GNUS_INFO_DIR%\r
160 if ErrorLevel 1 set ERROR=%ERROR%,copy-sieve-info\r
161 xcopy /R /Q /Y pgg        %GNUS_INFO_DIR%\r
162 if ErrorLevel 1 set ERROR=%ERROR%,copy-pgg-info\r
163 xcopy /R /Q /Y sasl        %GNUS_INFO_DIR%\r
164 if ErrorLevel 1 set ERROR=%ERROR%,copy-sasl-info\r
165 \r
166 echo.\r
167 echo ***************************************************************************\r
168 echo * You should add the following lines to\r
169 echo * %GNUS_INFO_DIR%\dir\r
170 echo * if they aren't already there:\r
171 echo *\r
172 echo * * PGG: (pgg).    Emacs interface to various PGP implementations.\r
173 echo * * Sieve: (sieve).        Managing Sieve scripts in Emacs.\r
174 echo * * SASL: (sasl).  The Emacs SASL library.\r
175 echo ***************************************************************************\r
176 echo.\r
177 \r
178 :etc\r
179 cd ..\etc\r
180 echo.\r
181 echo Stand by while copying etc files.\r
182 echo.\r
183 if not exist %GNUS_ETC_DIR%\nul mkdir %GNUS_ETC_DIR%\r
184 if not exist %GNUS_ETC_DIR%\images\nul mkdir %GNUS_ETC_DIR%\images\r
185 xcopy /R /Q /Y gnus-tut.txt %GNUS_ETC_DIR%\r
186 if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-tut-txt\r
187 if not exist %GNUS_ETC_DIR%\images\gnus\nul mkdir %GNUS_ETC_DIR%\images\gnus\r
188 xcopy /R /Q /Y .\gnus\* %GNUS_ETC_DIR%\images\gnus\\r
189 if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-*\r
190 if not exist %GNUS_ETC_DIR%\images\smilies\nul mkdir %GNUS_ETC_DIR%\images\smilies\r
191 xcopy /R /Q /Y .\smilies\* %GNUS_ETC_DIR%\images\smilies\\r
192 if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-smilies-*\r
193 goto warnings\r
194 \r
195 :nocopy\r
196 echo.\r
197 echo ***************************************************************************\r
198 echo * You chose not to copy the files, therefore you should add the\r
199 echo * following lines to the TOP of your [X]emacs customization file:\r
200 echo *\r
201 echo * (add-to-list 'load-path "/Path/to/gnus/lisp")\r
202 echo * (if (featurep 'xemacs)\r
203 echo *     (add-to-list 'Info-directory-list "c:/Path/to/gnus/texi/")\r
204 echo *   (add-to-list 'Info-default-directory-list "c:/Path/to/gnus/texi/"))\r
205 echo * (require 'gnus-load)\r
206 echo *\r
207 echo * Replace c:/Path/to/gnus with the Path where your new Gnus is (that's here\r
208 echo * and yes, you've got to use forward slashes).\r
209 echo ***************************************************************************\r
210 echo.\r
211 \r
212 :warnings\r
213 if not "%subdirwarning%" == "yes" goto warngnusload\r
214 echo.\r
215 echo ***************************************************************************\r
216 echo * There's no subdirs.el file in your site-lisp directory, you should\r
217 echo * therefor add the following line to the TOP of your Emacs\r
218 echo * customization file:\r
219 echo *\r
220 echo * (add-to-list 'load-path "/Path/to/emacs-site-lisp-directory/gnus/lisp")\r
221 echo * (require 'gnus-load)\r
222 echo * Yes, it must be forward slashes.\r
223 echo ***************************************************************************\r
224 echo.\r
225 goto warnerrors\r
226 \r
227 :warngnusload\r
228 echo.\r
229 echo ***************************************************************************\r
230 echo * You should add the following line to the TOP of your Emacs\r
231 echo * customization file:\r
232 echo *\r
233 echo * (require 'gnus-load)\r
234 echo ***************************************************************************\r
235 echo.\r
236 \r
237 :warnerrors\r
238 if "%ERROR%"==":" goto noerrors\r
239 set errorlevel=1\r
240 echo.\r
241 echo ***************************************************************************\r
242 echo * WARNING ERRORS OCCURRED!\r
243 echo * You should look for error messages in the output of the called programs\r
244 echo * and try to find out what exactly went wrong.\r
245 echo * Errors occured in the following modules:\r
246 echo * %ERROR%\r
247 echo ***************************************************************************\r
248 echo.\r
249 goto done\r
250 \r
251 :noerrors\r
252 set errorlevel=0\r
253 \r
254 :done\r
255 cd ..\r
256 goto end\r
257 \r
258 :noemacs\r
259 echo.\r
260 echo ***************************************************************************\r
261 echo * Unable to find emacs.exe or xemacs.exe on the path you specified!\r
262 echo * STOP!\r
263 echo ***************************************************************************\r
264 echo.\r
265 goto usage\r
266 \r
267 :usage\r
268 echo.\r
269 echo ***************************************************************************\r
270 echo * Usage: make.bat :[X]Emacs-exe-dir: [/copy]\r
271 echo *\r
272 echo * where: :[X]Emacs-exe-dir: is the directory your\r
273 echo *           emacs.exe respectively xemacs.exe resides in,\r
274 echo *           e.g. G:\Programme\XEmacs\XEmacs-21.4.11\i586-pc-win32\\r
275 echo *           or G:\Emacs\bin\r
276 echo *        /copy indicates that the compiled files should be copied to your\r
277 echo *           emacs lisp, info, and etc site directories.\r
278 echo *\r
279 echo * Note: If you have Emacs/w3 you should set the environment variable\r
280 echo *       W3DIR to the directory where w3 is installed eg.\r
281 echo *                set W3DIR=d:\lisp\w3-4.0pre46\lisp\r
282 echo ***************************************************************************\r
283 echo.\r
284 \r
285 :end\r
286 rem Restore environment variables\r
287 set PWD=%GNUS_PWD_SAVE%\r
288 set GNUS_PWD_SAVE=\r
289 set EMACSBATCH=\r
290 set GNUS_LISP_DIR=\r
291 set GNUS_INFO_DIR=\r
292 set GNUS_ETC_DIR=\r
293 set subdirwarning=\r
294 set ERROR=\r
295 \r
296 goto skipArchTag\r
297    arch-tag: 502dd14c-acde-4f69-8e82-43203b12a82c\r
298 :skipArchTag\r