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