Add arch tagline
[emacs.git] / nt / configure.bat
blobef0a746949bac5e8a1fada9c2e7cdde6eac25224
1 @echo off\r
2 rem   ----------------------------------------------------------------------\r
3 rem   Configuration script for MS Windows 95/98/Me and NT/2000/XP\r
4 rem   Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005,\r
5 rem      2006, 2007 Free Software Foundation, Inc.\r
6 \r
7 rem   This file is part of GNU Emacs.\r
8 \r
9 rem   GNU Emacs is free software; you can redistribute it and/or modify\r
10 rem   it under the terms of the GNU General Public License as published by\r
11 rem   the Free Software Foundation; either version 3, or (at your option)\r
12 rem   any later version.\r
14 rem   GNU Emacs is distributed in the hope that it will be useful,\r
15 rem   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
16 rem   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
17 rem   GNU General Public License for more details.\r
19 rem   You should have received a copy of the GNU General Public License\r
20 rem   along with GNU Emacs; see the file COPYING.  If not, write to the\r
21 rem   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\r
22 rem   Boston, MA 02110-1301, USA.\r
23 rem   ----------------------------------------------------------------------\r
24 rem   YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:\r
25 rem\r
26 rem   + MS Windows 95/98/Me or NT/2000/XP\r
27 rem   + either MSVC 2.x or later, or gcc-2.95 or later (with gmake 3.75\r
28 rem     or later) and the Mingw32 and W32 API headers and libraries.\r
29 rem   + Visual Studio 2005 is not supported at this time.\r
30 rem\r
31 rem For reference, here is a list of which builds of gmake are known to\r
32 rem work or not, and whether they work in the presence and/or absence of\r
33 rem sh.exe.\r
34 rem\r
35 rem                                       sh exists     no sh\r
36 rem  cygwin b20.1 make (3.75):            fails[1,5]    fails[2,5]\r
37 rem  MSVC compiled gmake 3.77:            okay          okay\r
38 rem  MSVC compiled gmake 3.78.1:          okay          okay\r
39 rem  MSVC compiled gmake 3.79.1:          okay          okay\r
40 rem  mingw32/gcc-2.92.2 make (3.77):      okay          okay[4]\r
41 rem  cygwin compiled gmake 3.77:          fails[1,5]    fails[2,5]\r
42 rem  cygwin compiled gmake 3.78.1:        fails[5]      fails[2,5]\r
43 rem  cygwin compiled gmake 3.79.1:        fails[3,5]    fails[2?,5]\r
44 rem  cygwin compiled make 3.80:           okay[6]       fails?[7]\r
45 rem  cygwin compiled make 3.81:           fails         fails?[7]\r
46 rem  mingw32 compiled make 3.79.1:        okay          okay\r
47 rem  mingw32 compiled make 3.80:          okay          okay?[7]\r
48 rem  mingw32 compiled make 3.81:          okay          okay[8]\r
49 rem\r
50 rem [1] doesn't cope with makefiles with DOS line endings, so must mount\r
51 rem     emacs source with text!=binary.\r
52 rem [2] fails when needs to invoke shell commands; okay invoking gcc etc.\r
53 rem [3] requires LC_MESSAGES support to build; cannot build with early\r
54 rem     versions of cygwin.\r
55 rem [4] may fail on Windows 9X and Windows ME; if so, install Bash.\r
56 rem [5] fails when building leim due to the use of cygwin style paths.\r
57 rem     May work if building emacs without leim.\r
58 rem [6] need to uncomment 3 lines in nt/gmake.defs that invoke `cygpath';\r
59 rem     look for "cygpath" near line 85 of gmake.defs.\r
60 rem [7] not recommended; please report if you try this combination.\r
61 rem [8] tested only on Windows XP.\r
62 rem\r
64 if exist config.log del config.log\r
66 rem ----------------------------------------------------------------------\r
67 rem   See if the environment is large enough.  We need 43 (?) bytes.\r
68 set $foo$=123456789_123456789_123456789_123456789_123\r
69 if not "%$foo$%" == "123456789_123456789_123456789_123456789_123" goto SmallEnv\r
70 set $foo$=\r
72 rem ----------------------------------------------------------------------\r
73 rem   Make sure we are running in the nt subdir\r
74 if exist configure.bat goto start\r
75 echo You must run configure from the nt subdirectory.\r
76 goto end\r
78 :start\r
79 rem ----------------------------------------------------------------------\r
80 rem   Default settings.\r
81 set prefix=\r
82 set nodebug=N\r
83 set noopt=N\r
84 set nocygwin=N\r
85 set COMPILER=\r
86 set usercflags=\r
87 set docflags=\r
88 set userldflags=\r
89 set doldflags=\r
90 set sep1=\r
91 set sep2=\r
93 rem ----------------------------------------------------------------------\r
94 rem   Handle arguments.\r
95 :again\r
96 if "%1" == "-h" goto usage\r
97 if "%1" == "--help" goto usage\r
98 if "%1" == "--prefix" goto setprefix\r
99 if "%1" == "--with-gcc" goto withgcc\r
100 if "%1" == "--with-msvc" goto withmsvc\r
101 if "%1" == "--no-debug" goto nodebug\r
102 if "%1" == "--no-opt" goto noopt\r
103 if "%1" == "--no-cygwin" goto nocygwin\r
104 if "%1" == "--cflags" goto usercflags\r
105 if "%1" == "--ldflags" goto userldflags\r
106 if "%1" == "--without-png" goto withoutpng\r
107 if "%1" == "--without-jpeg" goto withoutjpeg\r
108 if "%1" == "--without-gif" goto withoutgif\r
109 if "%1" == "--without-tiff" goto withouttiff\r
110 if "%1" == "--without-xpm" goto withoutxpm\r
111 if "%1" == "" goto checkutils\r
112 :usage\r
113 echo Usage: configure [options]\r
114 echo Options:\r
115 echo.   --prefix PREFIX         install Emacs in directory PREFIX\r
116 echo.   --with-gcc              use GCC to compile Emacs\r
117 echo.   --with-msvc             use MSVC to compile Emacs\r
118 echo.   --no-debug              exclude debug info from executables\r
119 echo.   --no-opt                disable optimization\r
120 echo.   --no-cygwin             use -mno-cygwin option with GCC\r
121 echo.   --cflags FLAG           pass FLAG to compiler\r
122 echo.   --ldflags FLAG          pass FLAG to compiler when linking\r
123 echo.   --without-png           do not use libpng\r
124 echo.   --without-jpeg          do not use jpeg-6b\r
125 echo.   --without-gif           do not use giflib or libungif\r
126 echo.   --without-tiff          do not use libtiff\r
127 echo.   --without-xpm           do not use libXpm\r
128 goto end\r
129 rem ----------------------------------------------------------------------\r
130 :setprefix\r
131 shift\r
132 set prefix=%1\r
133 shift\r
134 goto again\r
135 rem ----------------------------------------------------------------------\r
136 :withgcc\r
137 set COMPILER=gcc\r
138 shift\r
139 goto again\r
140 rem ----------------------------------------------------------------------\r
141 :withmsvc\r
142 set COMPILER=cl\r
143 shift\r
144 goto again\r
145 rem ----------------------------------------------------------------------\r
146 :nodebug\r
147 set nodebug=Y\r
148 shift\r
149 goto again\r
150 rem ----------------------------------------------------------------------\r
151 :noopt\r
152 set noopt=Y\r
153 shift\r
154 goto again\r
155 rem ----------------------------------------------------------------------\r
156 :nocygwin\r
157 set nocygwin=Y\r
158 shift\r
159 goto again\r
160 rem ----------------------------------------------------------------------\r
161 :usercflags\r
162 shift\r
163 set usercflags=%usercflags%%sep1%%1\r
164 set sep1= %nothing%\r
165 shift\r
166 goto again\r
167 rem ----------------------------------------------------------------------\r
168 :userldflags\r
169 shift\r
170 set userldflags=%userldflags%%sep2%%1\r
171 set sep2= %nothing%\r
172 shift\r
173 goto again\r
174 rem ----------------------------------------------------------------------\r
176 :withoutpng\r
177 set pngsupport=N\r
178 set HAVE_PNG=\r
179 shift\r
180 goto again\r
182 rem ----------------------------------------------------------------------\r
184 :withoutjpeg\r
185 set jpegsupport=N\r
186 set HAVE_JPEG=\r
187 shift\r
188 goto again\r
190 rem ----------------------------------------------------------------------\r
192 :withoutgif\r
193 set gifsupport=N\r
194 set HAVE_GIF=\r
195 shift\r
196 goto again\r
198 rem ----------------------------------------------------------------------\r
200 :withouttiff\r
201 set tiffsupport=N\r
202 set HAVE_TIFF=\r
203 shift\r
204 goto again\r
206 rem ----------------------------------------------------------------------\r
208 :withoutxpm\r
209 set xpmsupport=N\r
210 set HAVE_XPM=\r
211 shift\r
212 goto again\r
214 rem ----------------------------------------------------------------------\r
215 rem    Check that necessary utilities (cp and rm) are present.\r
216 :checkutils\r
217 echo Checking for 'cp'...\r
218 cp configure.bat junk.bat\r
219 if not exist junk.bat goto needcp\r
220 echo Checking for 'rm'...\r
221 rm junk.bat\r
222 if exist junk.bat goto needrm\r
223 goto checkcompiler\r
224 :needcp\r
225 echo You need 'cp' (the Unix file copy program) to build Emacs.\r
226 goto end\r
227 :needrm\r
228 del junk.bat\r
229 echo You need 'rm' (the Unix file delete program) to build Emacs.\r
230 goto end\r
232 rem ----------------------------------------------------------------------\r
233 rem   Auto-detect compiler if not specified, and validate GCC if chosen.\r
234 :checkcompiler\r
235 if (%COMPILER%)==(cl) goto compilercheckdone\r
236 if (%COMPILER%)==(gcc) goto checkgcc\r
238 echo Checking whether 'cl' is available...\r
239 echo main(){} >junk.c\r
240 cl -nologo -c junk.c\r
241 if exist junk.obj goto clOK\r
243 echo Checking whether 'gcc' is available...\r
244 gcc -c junk.c\r
245 if not exist junk.o goto nocompiler\r
246 del junk.o\r
248 :checkgcc\r
249 Rem WARNING -- COMMAND.COM on some systems only looks at the first\r
250 Rem            8 characters of a label.  So do NOT be tempted to change\r
251 Rem            chkapi* into something fancier like checkw32api\r
252 Rem You HAVE been warned!\r
253 if (%nocygwin%) == (Y) goto chkapi\r
254 echo Checking whether gcc requires '-mno-cygwin'...\r
255 echo #include "cygwin/version.h" >junk.c\r
256 echo main(){} >>junk.c\r
257 echo gcc -c junk.c >>config.log\r
258 gcc -c junk.c >>config.log 2>&1\r
259 if not exist junk.o goto chkapi\r
260 echo gcc -mno-cygwin -c junk.c >>config.log\r
261 gcc -mno-cygwin -c junk.c >>config.log 2>&1\r
262 if exist junk.o set nocygwin=Y\r
263 rm -f junk.c junk.o\r
265 :chkapi\r
266 echo The failed program was: >>config.log\r
267 type junk.c >>config.log\r
268 rem ----------------------------------------------------------------------\r
269 rem   Older versions of the Windows API headers either don't have any of\r
270 rem   the IMAGE_xxx definitions (the headers that come with Cygwin b20.1\r
271 rem   are like this), or have a typo in the definition of\r
272 rem   IMAGE_FIRST_SECTION (the headers with gcc/mingw32 2.95 have this\r
273 rem   problem).  The gcc/mingw32 2.95.2 headers are okay, as are distros\r
274 rem   of w32api-xxx.zip from Anders Norlander since 1999-11-18 at least.\r
275 rem\r
276 echo Checking whether W32 API headers are too old...\r
277 echo #include "windows.h" >junk.c\r
278 echo test(PIMAGE_NT_HEADERS pHeader) >>junk.c\r
279 echo {PIMAGE_SECTION_HEADER pSection = IMAGE_FIRST_SECTION(pHeader);} >>junk.c\r
280 if (%nocygwin%) == (Y) goto chkapi1\r
281 set cf=%usercflags%\r
282 goto chkapi2\r
283 :chkapi1\r
284 set cf=%usercflags% -mno-cygwin\r
285 :chkapi2\r
286 echo on\r
287 gcc %cf% -c junk.c\r
288 @echo off\r
289 @echo gcc %cf% -c junk.c >>config.log\r
290 gcc %cf% -c junk.c >>config.log 2>&1\r
291 set cf=\r
292 if exist junk.o goto gccOk\r
293 echo The failed program was: >>config.log\r
294 type junk.c >>config.log\r
296 :nocompiler\r
297 echo.\r
298 echo Configure failed.\r
299 echo To configure Emacs for Windows, you need to have either\r
300 echo gcc-2.95 or later with Mingw32 and the W32 API headers,\r
301 echo or MSVC 2.x or later.\r
302 del junk.c\r
303 goto end\r
305 :gccOk\r
306 set COMPILER=gcc\r
307 echo Using 'gcc'\r
308 rm -f junk.c junk.o\r
309 Rem It is not clear what GCC version began supporting -mtune\r
310 Rem and pentium4 on x86, so check this explicitly.\r
311 echo main(){} >junk.c\r
312 echo gcc -c -O2 -mtune=pentium4 junk.c >>config.log\r
313 gcc -c -O2 -mtune=pentium4 junk.c >>config.log 2>&1\r
314 if not errorlevel 1 goto gccMtuneOk\r
315 echo The failed program was: >>config.log\r
316 type junk.c >>config.log\r
317 set mf=-mcpu=i686\r
318 rm -f junk.c junk.o\r
319 goto compilercheckdone\r
320 :gccMtuneOk\r
321 echo GCC supports -mtune=pentium4 >>config.log\r
322 set mf=-mtune=pentium4\r
323 rm -f junk.c junk.o\r
324 goto compilercheckdone\r
326 :clOk\r
327 set COMPILER=cl\r
328 rm -f junk.c junk.obj\r
329 echo Using 'MSVC'\r
331 :compilercheckdone\r
333 rem ----------------------------------------------------------------------\r
334 rem   Check for external image libraries. Since they are loaded\r
335 rem   dynamically, the libraries themselves do not need to be present\r
336 rem   at compile time, but the header files are required.\r
338 set mingwflag=\r
340 if (%nocygwin%) == (N) goto flagsOK\r
341 set mingwflag=-mno-cygwin\r
343 :flagsOK\r
345 if (%pngsupport%) == (N) goto pngDone\r
347 echo Checking for libpng...\r
348 echo #include "png.h" >junk.c\r
349 echo main (){} >>junk.c\r
350 rem   -o option is ignored with cl, but allows result to be consistent.\r
351 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
352 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
353 if exist junk.obj goto havePng\r
355 echo ...png.h not found, building without PNG support.\r
356 echo The failed program was: >>config.log\r
357 type junk.c >>config.log\r
358 set HAVE_PNG=\r
359 goto :pngDone\r
361 :havePng\r
362 echo ...PNG header available, building with PNG support.\r
363 set HAVE_PNG=1\r
365 :pngDone\r
366 rm -f junk.c junk.obj\r
368 if (%jpegsupport%) == (N) goto jpegDone\r
370 echo Checking for jpeg-6b...\r
371 echo #include "jconfig.h" >junk.c\r
372 echo main (){} >>junk.c\r
373 rem   -o option is ignored with cl, but allows result to be consistent.\r
374 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
375 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
376 if exist junk.obj goto haveJpeg\r
378 echo ...jconfig.h not found, building without JPEG support.\r
379 echo The failed program was: >>config.log\r
380 type junk.c >>config.log\r
381 set HAVE_JPEG=\r
382 goto :jpegDone\r
384 :haveJpeg\r
385 echo ...JPEG header available, building with JPEG support.\r
386 set HAVE_JPEG=1\r
388 :jpegDone\r
389 rm -f junk.c junk.obj\r
391 if (%gifsupport%) == (N) goto gifDone\r
393 echo Checking for libgif...\r
394 echo #include "gif_lib.h" >junk.c\r
395 echo main (){} >>junk.c\r
396 rem   -o option is ignored with cl, but allows result to be consistent.\r
397 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
398 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
399 if exist junk.obj goto haveGif\r
401 echo ...gif_lib.h not found, building without GIF support.\r
402 echo The failed program was: >>config.log\r
403 type junk.c >>config.log\r
404 set HAVE_GIF=\r
405 goto :gifDone\r
407 :haveGif\r
408 echo ...GIF header available, building with GIF support.\r
409 set HAVE_GIF=1\r
411 :gifDone\r
412 rm -f junk.c junk.obj\r
414 if (%tiffsupport%) == (N) goto tiffDone\r
416 echo Checking for tiff...\r
417 echo #include "tiffio.h" >junk.c\r
418 echo main (){} >>junk.c\r
419 rem   -o option is ignored with cl, but allows result to be consistent.\r
420 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
421 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
422 if exist junk.obj goto haveTiff\r
424 echo ...tiffio.h not found, building without TIFF support.\r
425 echo The failed program was: >>config.log\r
426 type junk.c >>config.log\r
427 set HAVE_TIFF=\r
428 goto :tiffDone\r
430 :haveTiff\r
431 echo ...TIFF header available, building with TIFF support.\r
432 set HAVE_TIFF=1\r
434 :tiffDone\r
435 rm -f junk.c junk.obj\r
437 if (%xpmsupport%) == (N) goto xpmDone\r
439 echo Checking for libXpm...\r
440 echo #define FOR_MSW 1 >junk.c\r
441 echo #include "X11/xpm.h" >>junk.c\r
442 echo main (){} >>junk.c\r
443 rem   -o option is ignored with cl, but allows result to be consistent.\r
444 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
445 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
446 if exist junk.obj goto haveXpm\r
448 echo ...X11/xpm.h not found, building without XPM support.\r
449 echo The failed program was: >>config.log\r
450 type junk.c >>config.log\r
451 set HAVE_XPM=\r
452 goto :xpmDone\r
454 :haveXpm\r
455 echo ...XPM header available, building with XPM support.\r
456 set HAVE_XPM=1\r
458 :xpmDone\r
459 rm -f junk.c junk.obj junk.err junk.out\r
461 rem ----------------------------------------------------------------------\r
462 :genmakefiles\r
463 echo Generating makefiles\r
464 if %COMPILER% == gcc set MAKECMD=gmake\r
465 if %COMPILER% == cl set MAKECMD=nmake\r
467 rem   Pass on chosen settings to makefiles.\r
468 rem   NB. Be very careful to not have a space before redirection symbols\r
469 rem   except when there is a preceding digit, when a space is required.\r
470 rem\r
471 echo # Start of settings from configure.bat >config.settings\r
472 echo COMPILER=%COMPILER%>>config.settings\r
473 if not "(%mf%)" == "()" echo MCPU_FLAG=%mf%>>config.settings\r
474 if (%nodebug%) == (Y) echo NODEBUG=1 >>config.settings\r
475 if (%noopt%) == (Y) echo NOOPT=1 >>config.settings\r
476 if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings\r
477 if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix%>>config.settings\r
478 rem We go thru docflags because usercflags could be "-DFOO=bar" -something\r
479 rem and the if command cannot cope with this\r
480 for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y\r
481 if (%docflags%)==(Y) echo USER_CFLAGS=%usercflags%>>config.settings\r
482 for %%v in (%userldflags%) do if not (%%v)==() set doldflags=Y\r
483 if (%doldflags%)==(Y) echo USER_LDFLAGS=%userldflags%>>config.settings\r
484 echo # End of settings from configure.bat>>config.settings\r
485 echo. >>config.settings\r
487 copy config.nt config.tmp\r
488 echo. >>config.tmp\r
489 echo /* Start of settings from configure.bat.  */ >>config.tmp\r
490 if (%docflags%) == (Y) echo #define USER_CFLAGS " %usercflags%">>config.tmp\r
491 if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %userldflags%">>config.tmp\r
492 if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>config.tmp\r
493 if not "(%HAVE_JPEG%)" == "()" echo #define HAVE_JPEG 1 >>config.tmp\r
494 if not "(%HAVE_GIF%)" == "()" echo #define HAVE_GIF 1 >>config.tmp\r
495 if not "(%HAVE_TIFF%)" == "()" echo #define HAVE_TIFF 1 >>config.tmp\r
496 if not "(%HAVE_XPM%)" == "()" echo #define HAVE_XPM 1 >>config.tmp\r
497 echo /* End of settings from configure.bat.  */ >>config.tmp\r
499 Rem See if fc.exe returns a meaningful exit status.  If it does, we\r
500 Rem might as well avoid unnecessary overwriting of config.h and epaths.h,\r
501 Rem since this forces recompilation of every source file.\r
502 if exist foo.bar del foo.bar\r
503 fc /b foo.bar foo.bar >nul 2>&1\r
504 if not errorlevel 2 goto doCopy\r
505 fc /b config.tmp ..\src\config.h >nul 2>&1\r
506 if errorlevel 1 goto doCopy\r
507 fc /b paths.h ..\src\epaths.h >nul 2>&1\r
508 if errorlevel 0 goto dontCopy\r
509 :doCopy\r
510 copy config.tmp ..\src\config.h\r
511 copy paths.h ..\src\epaths.h\r
513 :dontCopy\r
514 if exist config.tmp del config.tmp\r
515 copy /b config.settings+%MAKECMD%.defs+..\nt\makefile.w32-in ..\nt\makefile\r
516 copy /b config.settings+%MAKECMD%.defs+..\lib-src\makefile.w32-in ..\lib-src\makefile\r
517 copy /b config.settings+%MAKECMD%.defs+..\src\makefile.w32-in ..\src\makefile\r
518 copy /b config.settings+%MAKECMD%.defs+..\doc\emacs\makefile.w32-in ..\doc\emacs\makefile\r
519 copy /b config.settings+%MAKECMD%.defs+..\doc\misc\makefile.w32-in ..\doc\misc\makefile\r
520 copy /b config.settings+%MAKECMD%.defs+..\doc\lispref\makefile.w32-in ..\doc\lispref\makefile\r
521 copy /b config.settings+%MAKECMD%.defs+..\doc\lispintro\makefile.w32-in ..\doc\lispintro\makefile\r
522 if exist ..\lisp\makefile rm -f ../lisp/[Mm]akefile\r
523 copy /b config.settings+%MAKECMD%.defs+..\lisp\makefile.w32-in ..\lisp\makefile\r
524 rem   Use the default (no-op) Makefile.in if the nt version is not present.\r
525 if exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\makefile.w32-in ..\leim\makefile\r
526 if not exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\Makefile.in ..\leim\makefile\r
527 del config.settings\r
529 Rem Some people use WinZip which doesn't create empty directories!\r
530 if not exist ..\site-lisp\nul mkdir ..\site-lisp\\r
531 Rem Update subdirs.el only if it is different or fc.exe doesn't work.\r
532 if exist foo.bar del foo.bar\r
533 fc /b foo.bar foo.bar >nul 2>&1\r
534 if not errorlevel 2 goto doUpdateSubdirs\r
535 fc /b subdirs.el ..\site-lisp\subdirs.el >nul 2>&1\r
536 if not errorlevel 1 goto dontUpdateSubdirs\r
537 :doUpdateSubdirs\r
538 if exist ..\site-lisp\subdirs.el del ..\site-lisp\subdirs.el\r
539 copy subdirs.el ..\site-lisp\subdirs.el\r
541 :dontUpdateSubdirs\r
542 echo.\r
544 rem check that we have all the libraries we need.\r
545 set libsOK=1\r
547 if not "(%HAVE_XPM%)" == "()" goto checkpng\r
548 if (%xpmsupport%) == (N) goto checkpng\r
549  set libsOK=0\r
550  echo XPM support is missing. It is required for color icons in the toolbar.\r
551  echo   Install libXpm development files or use --without-xpm\r
553 :checkpng\r
554 if not "(%HAVE_PNG%)" == "()" goto checkjpeg\r
555 if (%pngsupport%) == (N) goto checkjpeg\r
556  set libsOK=0\r
557  echo PNG support is missing.\r
558  echo   Install libpng development files or use --without-png\r
560 :checkjpeg\r
561 if not "(%HAVE_JPEG%)" == "()" goto checktiff\r
562 if (%jpegsupport%) == (N) goto checktiff\r
563  set libsOK=0\r
564  echo JPEG support is missing.\r
565  echo   Install jpeg development files or use --without-jpeg\r
567 :checktiff\r
568 if not "(%HAVE_TIFF%)" == "()" goto checkgif\r
569 if (%tiffsupport%) == (N) goto checkgif\r
570  set libsOK=0\r
571  echo TIFF support is missing.\r
572  echo   Install libtiff development files or use --without-tiff\r
574 :checkgif\r
575 if not "(%HAVE_GIF%)" == "()" goto donelibchecks\r
576 if (%gifsupport%) == (N) goto donelibchecks\r
577  set libsOK=0\r
578  echo GIF support is missing.\r
579  echo   Install giflib or libungif development files or use --without-gif\r
581 :donelibchecks\r
582 if (%libsOK%) == (1) goto success\r
583 echo.\r
584 echo Important libraries are missing. Fix these issues before running make.\r
585 goto end\r
587 :success\r
588 echo Emacs successfully configured.\r
589 echo Emacs successfully configured. >>config.log\r
590 echo Run `%MAKECMD%' to build, then run `%MAKECMD% install' to install.\r
591 goto end\r
593 :SmallEnv\r
594 echo Your environment size is too small.  Please enlarge it and rerun configure.\r
595 echo For example, type "command.com /e:2048" to have 2048 bytes available.\r
596 set $foo$=\r
597 :end\r
598 set prefix=\r
599 set nodebug=\r
600 set noopt=\r
601 set nocygwin=\r
602 set COMPILER=\r
603 set MAKECMD=\r
604 set usercflags=\r
605 set docflags=\r
606 set userldflags=\r
607 set doldflags=\r
608 set mingwflag=\r
609 set mf=\r
611 goto skipArchTag\r
612    arch-tag: 300d20a4-1675-4e75-b615-7ce1a8c5376c\r
613 :skipArchTag\r