Remove witness-emacs.
[emacs.git] / nt / configure.bat
blob3dd9a7fcc240f38550d0b9fb2f6819c9d9a9bc81
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, 2008 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 of the License, or\r
12 rem   (at your option) 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.  If not, see http://www.gnu.org/licenses/.\r
22 rem   ----------------------------------------------------------------------\r
23 rem   YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:\r
24 rem\r
25 rem   + MS Windows 95/98/Me or NT/2000/XP\r
26 rem   + either MSVC 2.x or later, or gcc-2.95 or later (with GNU make 3.75\r
27 rem     or later) and the Mingw32 and W32 API headers and libraries.\r
28 rem   + Visual Studio 2005 is not supported at this time.\r
29 rem\r
30 rem For reference, here is a list of which builds of GNU make are known to\r
31 rem work or not, and whether they work in the presence and/or absence of\r
32 rem sh.exe.\r
33 rem\r
34 rem                                       sh exists     no sh\r
35 rem  cygwin b20.1 make (3.75):            fails[1,5]    fails[2,5]\r
36 rem  MSVC compiled gmake 3.77:            okay          okay\r
37 rem  MSVC compiled gmake 3.78.1:          okay          okay\r
38 rem  MSVC compiled gmake 3.79.1:          okay          okay\r
39 rem  mingw32/gcc-2.92.2 make (3.77):      okay          okay[4]\r
40 rem  cygwin compiled gmake 3.77:          fails[1,5]    fails[2,5]\r
41 rem  cygwin compiled gmake 3.78.1:        fails[5]      fails[2,5]\r
42 rem  cygwin compiled gmake 3.79.1:        fails[3,5]    fails[2?,5]\r
43 rem  cygwin compiled make 3.80:           okay[6]       fails?[7]\r
44 rem  cygwin compiled make 3.81:           fails         fails?[7]\r
45 rem  mingw32 compiled make 3.79.1:        okay          okay\r
46 rem  mingw32 compiled make 3.80:          okay          okay?[7]\r
47 rem  mingw32 compiled make 3.81:          okay          okay[8]\r
48 rem\r
49 rem [1] doesn't cope with makefiles with DOS line endings, so must mount\r
50 rem     emacs source with text!=binary.\r
51 rem [2] fails when needs to invoke shell commands; okay invoking gcc etc.\r
52 rem [3] requires LC_MESSAGES support to build; cannot build with early\r
53 rem     versions of cygwin.\r
54 rem [4] may fail on Windows 9X and Windows ME; if so, install Bash.\r
55 rem [5] fails when building leim due to the use of cygwin style paths.\r
56 rem     May work if building emacs without leim.\r
57 rem [6] need to uncomment 3 lines in nt/gmake.defs that invoke `cygpath';\r
58 rem     look for "cygpath" near line 85 of gmake.defs.\r
59 rem [7] not recommended; please report if you try this combination.\r
60 rem [8] tested only on Windows XP.\r
61 rem\r
63 if exist config.log del config.log\r
65 rem ----------------------------------------------------------------------\r
66 rem   See if the environment is large enough.  We need 43 (?) bytes.\r
67 set $foo$=123456789_123456789_123456789_123456789_123\r
68 if not "%$foo$%" == "123456789_123456789_123456789_123456789_123" goto SmallEnv\r
69 set $foo$=\r
71 rem ----------------------------------------------------------------------\r
72 rem   Make sure we are running in the nt subdir\r
73 if exist configure.bat goto start\r
74 echo You must run configure from the nt subdirectory.\r
75 goto end\r
77 :start\r
78 rem ----------------------------------------------------------------------\r
79 rem   Default settings.\r
80 set prefix=\r
81 set nodebug=N\r
82 set noopt=N\r
83 set nocygwin=N\r
84 set COMPILER=\r
85 set usercflags=\r
86 set docflags=\r
87 set userldflags=\r
88 set doldflags=\r
89 set sep1=\r
90 set sep2=\r
92 rem ----------------------------------------------------------------------\r
93 rem   Handle arguments.\r
94 :again\r
95 if "%1" == "-h" goto usage\r
96 if "%1" == "--help" goto usage\r
97 if "%1" == "--prefix" goto setprefix\r
98 if "%1" == "--with-gcc" goto withgcc\r
99 if "%1" == "--with-msvc" goto withmsvc\r
100 if "%1" == "--no-debug" goto nodebug\r
101 if "%1" == "--no-opt" goto noopt\r
102 if "%1" == "--no-cygwin" goto nocygwin\r
103 if "%1" == "--cflags" goto usercflags\r
104 if "%1" == "--ldflags" goto userldflags\r
105 if "%1" == "--without-png" goto withoutpng\r
106 if "%1" == "--without-jpeg" goto withoutjpeg\r
107 if "%1" == "--without-gif" goto withoutgif\r
108 if "%1" == "--without-tiff" goto withouttiff\r
109 if "%1" == "--without-xpm" goto withoutxpm\r
110 if "%1" == "" goto checkutils\r
111 :usage\r
112 echo Usage: configure [options]\r
113 echo Options:\r
114 echo.   --prefix PREFIX         install Emacs in directory PREFIX\r
115 echo.   --with-gcc              use GCC to compile Emacs\r
116 echo.   --with-msvc             use MSVC to compile Emacs\r
117 echo.   --no-debug              exclude debug info from executables\r
118 echo.   --no-opt                disable optimization\r
119 echo.   --no-cygwin             use -mno-cygwin option with GCC\r
120 echo.   --cflags FLAG           pass FLAG to compiler\r
121 echo.   --ldflags FLAG          pass FLAG to compiler when linking\r
122 echo.   --without-png           do not use PNG library even if it is installed\r
123 echo.   --without-jpeg          do not use JPEG library even if it is installed\r
124 echo.   --without-gif           do not use GIF library even if it is installed\r
125 echo.   --without-tiff          do not use TIFF library even if it is installed\r
126 echo.   --without-xpm           do not use XPM library even if it is installed\r
127 goto end\r
128 rem ----------------------------------------------------------------------\r
129 :setprefix\r
130 shift\r
131 set prefix=%1\r
132 shift\r
133 goto again\r
134 rem ----------------------------------------------------------------------\r
135 :withgcc\r
136 set COMPILER=gcc\r
137 shift\r
138 goto again\r
139 rem ----------------------------------------------------------------------\r
140 :withmsvc\r
141 set COMPILER=cl\r
142 shift\r
143 goto again\r
144 rem ----------------------------------------------------------------------\r
145 :nodebug\r
146 set nodebug=Y\r
147 shift\r
148 goto again\r
149 rem ----------------------------------------------------------------------\r
150 :noopt\r
151 set noopt=Y\r
152 shift\r
153 goto again\r
154 rem ----------------------------------------------------------------------\r
155 :nocygwin\r
156 set nocygwin=Y\r
157 shift\r
158 goto again\r
159 rem ----------------------------------------------------------------------\r
160 :usercflags\r
161 shift\r
162 set usercflags=%usercflags%%sep1%%1\r
163 set sep1= %nothing%\r
164 shift\r
165 goto again\r
166 rem ----------------------------------------------------------------------\r
167 :userldflags\r
168 shift\r
169 set userldflags=%userldflags%%sep2%%1\r
170 set sep2= %nothing%\r
171 shift\r
172 goto again\r
173 rem ----------------------------------------------------------------------\r
175 :withoutpng\r
176 set pngsupport=N\r
177 set HAVE_PNG=\r
178 shift\r
179 goto again\r
181 rem ----------------------------------------------------------------------\r
183 :withoutjpeg\r
184 set jpegsupport=N\r
185 set HAVE_JPEG=\r
186 shift\r
187 goto again\r
189 rem ----------------------------------------------------------------------\r
191 :withoutgif\r
192 set gifsupport=N\r
193 set HAVE_GIF=\r
194 shift\r
195 goto again\r
197 rem ----------------------------------------------------------------------\r
199 :withouttiff\r
200 set tiffsupport=N\r
201 set HAVE_TIFF=\r
202 shift\r
203 goto again\r
205 rem ----------------------------------------------------------------------\r
207 :withoutxpm\r
208 set xpmsupport=N\r
209 set HAVE_XPM=\r
210 shift\r
211 goto again\r
213 rem ----------------------------------------------------------------------\r
214 rem    Check that necessary utilities (cp and rm) are present.\r
215 :checkutils\r
216 echo Checking for 'cp'...\r
217 cp configure.bat junk.bat\r
218 if not exist junk.bat goto needcp\r
219 echo Checking for 'rm'...\r
220 rm junk.bat\r
221 if exist junk.bat goto needrm\r
222 goto checkcompiler\r
223 :needcp\r
224 echo You need 'cp' (the Unix file copy program) to build Emacs.\r
225 goto end\r
226 :needrm\r
227 del junk.bat\r
228 echo You need 'rm' (the Unix file delete program) to build Emacs.\r
229 goto end\r
231 rem ----------------------------------------------------------------------\r
232 rem   Auto-detect compiler if not specified, and validate GCC if chosen.\r
233 :checkcompiler\r
234 if (%COMPILER%)==(cl) goto compilercheckdone\r
235 if (%COMPILER%)==(gcc) goto checkgcc\r
237 echo Checking whether 'gcc' is available...\r
238 echo main(){} >junk.c\r
239 gcc -c junk.c\r
240 if exist junk.o goto checkgcc\r
242 echo Checking whether 'cl' is available...\r
243 cl -nologo -c junk.c\r
244 if exist junk.obj goto clOK\r
245 goto nocompiler\r
247 :checkgcc\r
248 if exist junk.o del junk.o\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 chkapiN\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
264 :chkapi\r
265 echo The failed program was: >>config.log\r
266 type junk.c >>config.log\r
267 :chkapiN\r
268 rm -f junk.c junk.o\r
269 rem ----------------------------------------------------------------------\r
270 rem   Older versions of the Windows API headers either don't have any of\r
271 rem   the IMAGE_xxx definitions (the headers that come with Cygwin b20.1\r
272 rem   are like this), or have a typo in the definition of\r
273 rem   IMAGE_FIRST_SECTION (the headers with gcc/mingw32 2.95 have this\r
274 rem   problem).  The gcc/mingw32 2.95.2 headers are okay, as are distros\r
275 rem   of w32api-xxx.zip from Anders Norlander since 1999-11-18 at least.\r
276 rem   Beginning with Emacs 23, we need usp10.h.\r
277 rem\r
278 echo Checking whether W32 API headers are too old...\r
279 echo #include "windows.h" >junk.c\r
280 echo #include "usp10.h" >>junk.c\r
281 echo test(PIMAGE_NT_HEADERS pHeader) >>junk.c\r
282 echo {PIMAGE_SECTION_HEADER pSection = IMAGE_FIRST_SECTION(pHeader);} >>junk.c\r
283 if (%nocygwin%) == (Y) goto chkapi1\r
284 set cf=%usercflags%\r
285 goto chkapi2\r
286 :chkapi1\r
287 set cf=%usercflags% -mno-cygwin\r
288 :chkapi2\r
289 echo on\r
290 gcc %cf% -c junk.c\r
291 @echo off\r
292 @echo gcc %cf% -c junk.c >>config.log\r
293 gcc %cf% -c junk.c >>config.log 2>&1\r
294 set cf=\r
295 if exist junk.o goto gccOk\r
296 echo The failed program was: >>config.log\r
297 type junk.c >>config.log\r
299 :nocompiler\r
300 echo.\r
301 echo Configure failed.\r
302 echo To configure Emacs for Windows, you need to have either\r
303 echo gcc-2.95 or later with Mingw32 and the W32 API headers,\r
304 echo or MSVC 2.x or later.\r
305 del junk.c\r
306 goto end\r
308 :gccOk\r
309 set COMPILER=gcc\r
310 echo Using 'gcc'\r
311 rm -f junk.c junk.o\r
312 Rem It is not clear what GCC version began supporting -mtune\r
313 Rem and pentium4 on x86, so check this explicitly.\r
314 echo main(){} >junk.c\r
315 echo gcc -c -O2 -mtune=pentium4 junk.c >>config.log\r
316 gcc -c -O2 -mtune=pentium4 junk.c >>config.log 2>&1\r
317 if not errorlevel 1 goto gccMtuneOk\r
318 echo The failed program was: >>config.log\r
319 type junk.c >>config.log\r
320 set mf=-mcpu=i686\r
321 rm -f junk.c junk.o\r
322 goto gccdebug\r
323 :gccMtuneOk\r
324 echo GCC supports -mtune=pentium4 >>config.log\r
325 set mf=-mtune=pentium4\r
326 rm -f junk.c junk.o\r
327 :gccdebug\r
328 rem Check for DWARF-2 debug info support, else default to stabs\r
329 echo main(){} >junk.c\r
330 echo gcc -c -gdwarf-2 -g3 junk.c >>config.log\r
331 gcc -c -gdwarf-2 -g3 junk.c >>config.log 2>&1\r
332 if not errorlevel 1 goto gccdwarf\r
333 echo The failed program was: >>config.log\r
334 type junk.c >>config.log\r
335 set dbginfo=-gstabs+\r
336 rm -f junk.c junk.o\r
337 goto compilercheckdone\r
338 :gccdwarf\r
339 echo GCC supports DWARF-2 >>config.log\r
340 set dbginfo=-gdwarf-2 -g3\r
341 rm -f junk.c junk.o\r
342 goto compilercheckdone\r
344 :clOk\r
345 set COMPILER=cl\r
346 rm -f junk.c junk.obj\r
347 echo Using 'MSVC'\r
349 :compilercheckdone\r
351 rem ----------------------------------------------------------------------\r
352 rem   Check for external image libraries. Since they are loaded\r
353 rem   dynamically, the libraries themselves do not need to be present\r
354 rem   at compile time, but the header files are required.\r
356 set mingwflag=\r
358 if (%nocygwin%) == (N) goto flagsOK\r
359 set mingwflag=-mno-cygwin\r
361 :flagsOK\r
363 if (%pngsupport%) == (N) goto pngDone\r
365 echo Checking for libpng...\r
366 echo #include "png.h" >junk.c\r
367 echo main (){} >>junk.c\r
368 rem   -o option is ignored with cl, but allows result to be consistent.\r
369 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
370 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
371 if exist junk.obj goto havePng\r
373 echo ...png.h not found, building without PNG support.\r
374 echo The failed program was: >>config.log\r
375 type junk.c >>config.log\r
376 set HAVE_PNG=\r
377 goto :pngDone\r
379 :havePng\r
380 echo ...PNG header available, building with PNG support.\r
381 set HAVE_PNG=1\r
383 :pngDone\r
384 rm -f junk.c junk.obj\r
386 if (%jpegsupport%) == (N) goto jpegDone\r
388 echo Checking for jpeg-6b...\r
389 echo #include "jconfig.h" >junk.c\r
390 echo main (){} >>junk.c\r
391 rem   -o option is ignored with cl, but allows result to be consistent.\r
392 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
393 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
394 if exist junk.obj goto haveJpeg\r
396 echo ...jconfig.h not found, building without JPEG support.\r
397 echo The failed program was: >>config.log\r
398 type junk.c >>config.log\r
399 set HAVE_JPEG=\r
400 goto :jpegDone\r
402 :haveJpeg\r
403 echo ...JPEG header available, building with JPEG support.\r
404 set HAVE_JPEG=1\r
406 :jpegDone\r
407 rm -f junk.c junk.obj\r
409 if (%gifsupport%) == (N) goto gifDone\r
411 echo Checking for libgif...\r
412 echo #include "gif_lib.h" >junk.c\r
413 echo main (){} >>junk.c\r
414 rem   -o option is ignored with cl, but allows result to be consistent.\r
415 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
416 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
417 if exist junk.obj goto haveGif\r
419 echo ...gif_lib.h not found, building without GIF support.\r
420 echo The failed program was: >>config.log\r
421 type junk.c >>config.log\r
422 set HAVE_GIF=\r
423 goto :gifDone\r
425 :haveGif\r
426 echo ...GIF header available, building with GIF support.\r
427 set HAVE_GIF=1\r
429 :gifDone\r
430 rm -f junk.c junk.obj\r
432 if (%tiffsupport%) == (N) goto tiffDone\r
434 echo Checking for tiff...\r
435 echo #include "tiffio.h" >junk.c\r
436 echo main (){} >>junk.c\r
437 rem   -o option is ignored with cl, but allows result to be consistent.\r
438 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
439 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
440 if exist junk.obj goto haveTiff\r
442 echo ...tiffio.h not found, building without TIFF support.\r
443 echo The failed program was: >>config.log\r
444 type junk.c >>config.log\r
445 set HAVE_TIFF=\r
446 goto :tiffDone\r
448 :haveTiff\r
449 echo ...TIFF header available, building with TIFF support.\r
450 set HAVE_TIFF=1\r
452 :tiffDone\r
453 rm -f junk.c junk.obj\r
455 if (%xpmsupport%) == (N) goto xpmDone\r
457 echo Checking for libXpm...\r
458 echo #define FOR_MSW 1 >junk.c\r
459 echo #include "X11/xpm.h" >>junk.c\r
460 echo main (){} >>junk.c\r
461 rem   -o option is ignored with cl, but allows result to be consistent.\r
462 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
463 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
464 if exist junk.obj goto haveXpm\r
466 echo ...X11/xpm.h not found, building without XPM support.\r
467 echo The failed program was: >>config.log\r
468 type junk.c >>config.log\r
469 set HAVE_XPM=\r
470 goto :xpmDone\r
472 :haveXpm\r
473 echo ...XPM header available, building with XPM support.\r
474 set HAVE_XPM=1\r
476 :xpmDone\r
477 rm -f junk.c junk.obj junk.err junk.out\r
479 rem ----------------------------------------------------------------------\r
480 :genmakefiles\r
481 echo Generating makefiles\r
482 if %COMPILER% == gcc set MAKECMD=gmake\r
483 if %COMPILER% == cl set MAKECMD=nmake\r
485 rem   Pass on chosen settings to makefiles.\r
486 rem   NB. Be very careful to not have a space before redirection symbols\r
487 rem   except when there is a preceding digit, when a space is required.\r
488 rem\r
489 echo # Start of settings from configure.bat >config.settings\r
490 echo COMPILER=%COMPILER%>>config.settings\r
491 if not "(%mf%)" == "()" echo MCPU_FLAG=%mf%>>config.settings\r
492 if not "(%dbginfo%)" == "()" echo DEBUG_INFO=%dbginfo%>>config.settings\r
493 if (%nodebug%) == (Y) echo NODEBUG=1 >>config.settings\r
494 if (%noopt%) == (Y) echo NOOPT=1 >>config.settings\r
495 if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings\r
496 if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix%>>config.settings\r
497 rem We go thru docflags because usercflags could be "-DFOO=bar" -something\r
498 rem and the if command cannot cope with this\r
499 for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y\r
500 if (%docflags%)==(Y) echo USER_CFLAGS=%usercflags%>>config.settings\r
501 for %%v in (%userldflags%) do if not (%%v)==() set doldflags=Y\r
502 if (%doldflags%)==(Y) echo USER_LDFLAGS=%userldflags%>>config.settings\r
503 echo # End of settings from configure.bat>>config.settings\r
504 echo. >>config.settings\r
506 copy config.nt config.tmp\r
507 echo. >>config.tmp\r
508 echo /* Start of settings from configure.bat.  */ >>config.tmp\r
509 if (%docflags%) == (Y) echo #define USER_CFLAGS " %usercflags%">>config.tmp\r
510 if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %userldflags%">>config.tmp\r
511 if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>config.tmp\r
512 if not "(%HAVE_JPEG%)" == "()" echo #define HAVE_JPEG 1 >>config.tmp\r
513 if not "(%HAVE_GIF%)" == "()" echo #define HAVE_GIF 1 >>config.tmp\r
514 if not "(%HAVE_TIFF%)" == "()" echo #define HAVE_TIFF 1 >>config.tmp\r
515 if not "(%HAVE_XPM%)" == "()" echo #define HAVE_XPM 1 >>config.tmp\r
516 echo /* End of settings from configure.bat.  */ >>config.tmp\r
518 Rem See if fc.exe returns a meaningful exit status.  If it does, we\r
519 Rem might as well avoid unnecessary overwriting of config.h and epaths.h,\r
520 Rem since this forces recompilation of every source file.\r
521 if exist foo.bar del foo.bar\r
522 fc /b foo.bar foo.bar >nul 2>&1\r
523 if not errorlevel 2 goto doCopy\r
524 fc /b config.tmp ..\src\config.h >nul 2>&1\r
525 if errorlevel 1 goto doCopy\r
526 fc /b paths.h ..\src\epaths.h >nul 2>&1\r
527 if errorlevel 0 goto dontCopy\r
528 :doCopy\r
529 copy config.tmp ..\src\config.h\r
530 copy paths.h ..\src\epaths.h\r
532 :dontCopy\r
533 if exist config.tmp del config.tmp\r
534 copy /b config.settings+%MAKECMD%.defs+..\nt\makefile.w32-in ..\nt\makefile\r
535 if exist ..\admin\unidata copy /b config.settings+%MAKECMD%.defs+..\admin\unidata\makefile.w32-in ..\admin\unidata\makefile\r
536 copy /b config.settings+%MAKECMD%.defs+..\lib-src\makefile.w32-in ..\lib-src\makefile\r
537 copy /b config.settings+%MAKECMD%.defs+..\src\makefile.w32-in ..\src\makefile\r
538 copy /b config.settings+%MAKECMD%.defs+..\doc\emacs\makefile.w32-in ..\doc\emacs\makefile\r
539 copy /b config.settings+%MAKECMD%.defs+..\doc\misc\makefile.w32-in ..\doc\misc\makefile\r
540 copy /b config.settings+%MAKECMD%.defs+..\doc\lispref\makefile.w32-in ..\doc\lispref\makefile\r
541 copy /b config.settings+%MAKECMD%.defs+..\doc\lispintro\makefile.w32-in ..\doc\lispintro\makefile\r
542 if exist ..\lisp\makefile rm -f ../lisp/[Mm]akefile\r
543 copy /b config.settings+%MAKECMD%.defs+..\lisp\makefile.w32-in ..\lisp\makefile\r
544 rem   Use the default (no-op) Makefile.in if the nt version is not present.\r
545 if exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\makefile.w32-in ..\leim\makefile\r
546 if not exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\Makefile.in ..\leim\makefile\r
547 del config.settings\r
549 Rem Some people use WinZip which doesn't create empty directories!\r
550 if not exist ..\site-lisp\nul mkdir ..\site-lisp\\r
551 Rem Update subdirs.el only if it is different or fc.exe doesn't work.\r
552 if exist foo.bar del foo.bar\r
553 fc /b foo.bar foo.bar >nul 2>&1\r
554 if not errorlevel 2 goto doUpdateSubdirs\r
555 fc /b subdirs.el ..\site-lisp\subdirs.el >nul 2>&1\r
556 if not errorlevel 1 goto dontUpdateSubdirs\r
557 :doUpdateSubdirs\r
558 if exist ..\site-lisp\subdirs.el del ..\site-lisp\subdirs.el\r
559 copy subdirs.el ..\site-lisp\subdirs.el\r
561 :dontUpdateSubdirs\r
562 echo.\r
564 rem check that we have all the libraries we need.\r
565 set libsOK=1\r
567 if not "(%HAVE_XPM%)" == "()" goto checkpng\r
568 if (%xpmsupport%) == (N) goto checkpng\r
569  set libsOK=0\r
570  echo XPM support is missing. It is required for color icons in the toolbar.\r
571  echo   Install libXpm development files or use --without-xpm\r
573 :checkpng\r
574 if not "(%HAVE_PNG%)" == "()" goto checkjpeg\r
575 if (%pngsupport%) == (N) goto checkjpeg\r
576  set libsOK=0\r
577  echo PNG support is missing.\r
578  echo   Install libpng development files or use --without-png\r
580 :checkjpeg\r
581 if not "(%HAVE_JPEG%)" == "()" goto checktiff\r
582 if (%jpegsupport%) == (N) goto checktiff\r
583  set libsOK=0\r
584  echo JPEG support is missing.\r
585  echo   Install jpeg development files or use --without-jpeg\r
587 :checktiff\r
588 if not "(%HAVE_TIFF%)" == "()" goto checkgif\r
589 if (%tiffsupport%) == (N) goto checkgif\r
590  set libsOK=0\r
591  echo TIFF support is missing.\r
592  echo   Install libtiff development files or use --without-tiff\r
594 :checkgif\r
595 if not "(%HAVE_GIF%)" == "()" goto donelibchecks\r
596 if (%gifsupport%) == (N) goto donelibchecks\r
597  set libsOK=0\r
598  echo GIF support is missing.\r
599  echo   Install giflib or libungif development files or use --without-gif\r
601 :donelibchecks\r
602 if (%libsOK%) == (1) goto success\r
603 echo.\r
604 echo Important libraries are missing. Fix these issues before running make.\r
605 goto end\r
607 :success\r
608 echo Emacs successfully configured.\r
609 echo Emacs successfully configured. >>config.log\r
610 if (%MAKECMD%) == (gmake) set MAKECMD=make\r
611 echo Run `%MAKECMD%' to build, then run `%MAKECMD% install' to install.\r
612 goto end\r
614 :SmallEnv\r
615 echo Your environment size is too small.  Please enlarge it and rerun configure.\r
616 echo For example, type "command.com /e:2048" to have 2048 bytes available.\r
617 set $foo$=\r
618 :end\r
619 set prefix=\r
620 set nodebug=\r
621 set noopt=\r
622 set nocygwin=\r
623 set COMPILER=\r
624 set MAKECMD=\r
625 set usercflags=\r
626 set docflags=\r
627 set userldflags=\r
628 set doldflags=\r
629 set mingwflag=\r
630 set mf=\r
632 goto skipArchTag\r
633    arch-tag: 300d20a4-1675-4e75-b615-7ce1a8c5376c\r
634 :skipArchTag\r