* loading.texi (Where Defined): Add `defface' item.
[emacs.git] / nt / configure.bat
blobf99f0b284f4afbce3a673220828cf7cab0b33834
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 profile=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" == "--profile" goto profile\r
104 if "%1" == "--no-cygwin" goto nocygwin\r
105 if "%1" == "--cflags" goto usercflags\r
106 if "%1" == "--ldflags" goto userldflags\r
107 if "%1" == "--without-png" goto withoutpng\r
108 if "%1" == "--without-jpeg" goto withoutjpeg\r
109 if "%1" == "--without-gif" goto withoutgif\r
110 if "%1" == "--without-tiff" goto withouttiff\r
111 if "%1" == "--without-xpm" goto withoutxpm\r
112 if "%1" == "" goto checkutils\r
113 :usage\r
114 echo Usage: configure [options]\r
115 echo Options:\r
116 echo.   --prefix PREFIX         install Emacs in directory PREFIX\r
117 echo.   --with-gcc              use GCC to compile Emacs\r
118 echo.   --with-msvc             use MSVC to compile Emacs\r
119 echo.   --no-debug              exclude debug info from executables\r
120 echo.   --no-opt                disable optimization\r
121 echo.   --profile               enable profiling\r
122 echo.   --no-cygwin             use -mno-cygwin option with GCC\r
123 echo.   --cflags FLAG           pass FLAG to compiler\r
124 echo.   --ldflags FLAG          pass FLAG to compiler when linking\r
125 echo.   --without-png           do not use PNG library even if it is installed\r
126 echo.   --without-jpeg          do not use JPEG library even if it is installed\r
127 echo.   --without-gif           do not use GIF library even if it is installed\r
128 echo.   --without-tiff          do not use TIFF library even if it is installed\r
129 echo.   --without-xpm           do not use XPM library even if it is installed\r
130 goto end\r
131 rem ----------------------------------------------------------------------\r
132 :setprefix\r
133 shift\r
134 set prefix=%1\r
135 shift\r
136 goto again\r
137 rem ----------------------------------------------------------------------\r
138 :withgcc\r
139 set COMPILER=gcc\r
140 shift\r
141 goto again\r
142 rem ----------------------------------------------------------------------\r
143 :withmsvc\r
144 set COMPILER=cl\r
145 shift\r
146 goto again\r
147 rem ----------------------------------------------------------------------\r
148 :nodebug\r
149 set nodebug=Y\r
150 shift\r
151 goto again\r
152 rem ----------------------------------------------------------------------\r
153 :noopt\r
154 set noopt=Y\r
155 shift\r
156 goto again\r
157 rem ----------------------------------------------------------------------\r
158 :profile\r
159 set profile=Y\r
160 shift\r
161 goto again\r
162 rem ----------------------------------------------------------------------\r
163 :nocygwin\r
164 set nocygwin=Y\r
165 shift\r
166 goto again\r
167 rem ----------------------------------------------------------------------\r
168 :usercflags\r
169 shift\r
170 set usercflags=%usercflags%%sep1%%1\r
171 set sep1= %nothing%\r
172 shift\r
173 goto again\r
174 rem ----------------------------------------------------------------------\r
175 :userldflags\r
176 shift\r
177 set userldflags=%userldflags%%sep2%%1\r
178 set sep2= %nothing%\r
179 shift\r
180 goto again\r
181 rem ----------------------------------------------------------------------\r
183 :withoutpng\r
184 set pngsupport=N\r
185 set HAVE_PNG=\r
186 shift\r
187 goto again\r
189 rem ----------------------------------------------------------------------\r
191 :withoutjpeg\r
192 set jpegsupport=N\r
193 set HAVE_JPEG=\r
194 shift\r
195 goto again\r
197 rem ----------------------------------------------------------------------\r
199 :withoutgif\r
200 set gifsupport=N\r
201 set HAVE_GIF=\r
202 shift\r
203 goto again\r
205 rem ----------------------------------------------------------------------\r
207 :withouttiff\r
208 set tiffsupport=N\r
209 set HAVE_TIFF=\r
210 shift\r
211 goto again\r
213 rem ----------------------------------------------------------------------\r
215 :withoutxpm\r
216 set xpmsupport=N\r
217 set HAVE_XPM=\r
218 shift\r
219 goto again\r
221 rem ----------------------------------------------------------------------\r
222 rem    Check that necessary utilities (cp and rm) are present.\r
223 :checkutils\r
224 echo Checking for 'cp'...\r
225 cp configure.bat junk.bat\r
226 if not exist junk.bat goto needcp\r
227 echo Checking for 'rm'...\r
228 rm junk.bat\r
229 if exist junk.bat goto needrm\r
230 goto checkcompiler\r
231 :needcp\r
232 echo You need 'cp' (the Unix file copy program) to build Emacs.\r
233 goto end\r
234 :needrm\r
235 del junk.bat\r
236 echo You need 'rm' (the Unix file delete program) to build Emacs.\r
237 goto end\r
239 rem ----------------------------------------------------------------------\r
240 rem   Auto-detect compiler if not specified, and validate GCC if chosen.\r
241 :checkcompiler\r
242 if (%COMPILER%)==(cl) goto compilercheckdone\r
243 if (%COMPILER%)==(gcc) goto checkgcc\r
245 echo Checking whether 'gcc' is available...\r
246 echo main(){} >junk.c\r
247 gcc -c junk.c\r
248 if exist junk.o goto checkgcc\r
250 echo Checking whether 'cl' is available...\r
251 cl -nologo -c junk.c\r
252 if exist junk.obj goto clOK\r
253 goto nocompiler\r
255 :checkgcc\r
256 if exist junk.o del junk.o\r
257 Rem WARNING -- COMMAND.COM on some systems only looks at the first\r
258 Rem            8 characters of a label.  So do NOT be tempted to change\r
259 Rem            chkapi* into something fancier like checkw32api\r
260 Rem You HAVE been warned!\r
261 if (%nocygwin%) == (Y) goto chkapiN\r
262 echo Checking whether gcc requires '-mno-cygwin'...\r
263 echo #include "cygwin/version.h" >junk.c\r
264 echo main(){} >>junk.c\r
265 echo gcc -c junk.c >>config.log\r
266 gcc -c junk.c >>config.log 2>&1\r
267 if not exist junk.o goto chkapi\r
268 echo gcc -mno-cygwin -c junk.c >>config.log\r
269 gcc -mno-cygwin -c junk.c >>config.log 2>&1\r
270 if exist junk.o set nocygwin=Y\r
272 :chkapi\r
273 echo The failed program was: >>config.log\r
274 type junk.c >>config.log\r
275 :chkapiN\r
276 rm -f junk.c junk.o\r
277 rem ----------------------------------------------------------------------\r
278 rem   Older versions of the Windows API headers either don't have any of\r
279 rem   the IMAGE_xxx definitions (the headers that come with Cygwin b20.1\r
280 rem   are like this), or have a typo in the definition of\r
281 rem   IMAGE_FIRST_SECTION (the headers with gcc/mingw32 2.95 have this\r
282 rem   problem).  The gcc/mingw32 2.95.2 headers are okay, as are distros\r
283 rem   of w32api-xxx.zip from Anders Norlander since 1999-11-18 at least.\r
284 rem   Beginning with Emacs 23, we need usp10.h.\r
285 rem\r
286 echo Checking whether W32 API headers are too old...\r
287 echo #include "windows.h" >junk.c\r
288 echo #include "usp10.h" >>junk.c\r
289 echo test(PIMAGE_NT_HEADERS pHeader) >>junk.c\r
290 echo {PIMAGE_SECTION_HEADER pSection = IMAGE_FIRST_SECTION(pHeader);} >>junk.c\r
291 if (%nocygwin%) == (Y) goto chkapi1\r
292 set cf=%usercflags%\r
293 goto chkapi2\r
294 :chkapi1\r
295 set cf=%usercflags% -mno-cygwin\r
296 :chkapi2\r
297 echo on\r
298 gcc %cf% -c junk.c\r
299 @echo off\r
300 @echo gcc %cf% -c junk.c >>config.log\r
301 gcc %cf% -c junk.c >>config.log 2>&1\r
302 set cf=\r
303 if exist junk.o goto gccOk\r
304 echo The failed program was: >>config.log\r
305 type junk.c >>config.log\r
307 :nocompiler\r
308 echo.\r
309 echo Configure failed.\r
310 echo To configure Emacs for Windows, you need to have either\r
311 echo gcc-2.95 or later with Mingw32 and the W32 API headers,\r
312 echo or MSVC 2.x or later.\r
313 del junk.c\r
314 goto end\r
316 :gccOk\r
317 set COMPILER=gcc\r
318 echo Using 'gcc'\r
319 rm -f junk.c junk.o\r
320 Rem It is not clear what GCC version began supporting -mtune\r
321 Rem and pentium4 on x86, so check this explicitly.\r
322 echo main(){} >junk.c\r
323 echo gcc -c -O2 -mtune=pentium4 junk.c >>config.log\r
324 gcc -c -O2 -mtune=pentium4 junk.c >>config.log 2>&1\r
325 if not errorlevel 1 goto gccMtuneOk\r
326 echo The failed program was: >>config.log\r
327 type junk.c >>config.log\r
328 set mf=-mcpu=i686\r
329 rm -f junk.c junk.o\r
330 goto gccdebug\r
331 :gccMtuneOk\r
332 echo GCC supports -mtune=pentium4 >>config.log\r
333 set mf=-mtune=pentium4\r
334 rm -f junk.c junk.o\r
335 :gccdebug\r
336 rem Check for DWARF-2 debug info support, else default to stabs\r
337 echo main(){} >junk.c\r
338 echo gcc -c -gdwarf-2 -g3 junk.c >>config.log\r
339 gcc -c -gdwarf-2 -g3 junk.c >>config.log 2>&1\r
340 if not errorlevel 1 goto gccdwarf\r
341 echo The failed program was: >>config.log\r
342 type junk.c >>config.log\r
343 set dbginfo=-gstabs+\r
344 rm -f junk.c junk.o\r
345 goto compilercheckdone\r
346 :gccdwarf\r
347 echo GCC supports DWARF-2 >>config.log\r
348 set dbginfo=-gdwarf-2 -g3\r
349 rm -f junk.c junk.o\r
350 goto compilercheckdone\r
352 :clOk\r
353 set COMPILER=cl\r
354 rm -f junk.c junk.obj\r
355 echo Using 'MSVC'\r
357 :compilercheckdone\r
359 rem ----------------------------------------------------------------------\r
360 rem   Check for external image libraries. Since they are loaded\r
361 rem   dynamically, the libraries themselves do not need to be present\r
362 rem   at compile time, but the header files are required.\r
364 set mingwflag=\r
366 if (%nocygwin%) == (N) goto flagsOK\r
367 set mingwflag=-mno-cygwin\r
369 :flagsOK\r
371 if (%pngsupport%) == (N) goto pngDone\r
373 echo Checking for libpng...\r
374 echo #include "png.h" >junk.c\r
375 echo main (){} >>junk.c\r
376 rem   -o option is ignored with cl, but allows result to be consistent.\r
377 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
378 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
379 if exist junk.obj goto havePng\r
381 echo ...png.h not found, building without PNG support.\r
382 echo The failed program was: >>config.log\r
383 type junk.c >>config.log\r
384 set HAVE_PNG=\r
385 goto :pngDone\r
387 :havePng\r
388 echo ...PNG header available, building with PNG support.\r
389 set HAVE_PNG=1\r
391 :pngDone\r
392 rm -f junk.c junk.obj\r
394 if (%jpegsupport%) == (N) goto jpegDone\r
396 echo Checking for jpeg-6b...\r
397 echo #include "jconfig.h" >junk.c\r
398 echo main (){} >>junk.c\r
399 rem   -o option is ignored with cl, but allows result to be consistent.\r
400 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
401 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
402 if exist junk.obj goto haveJpeg\r
404 echo ...jconfig.h not found, building without JPEG support.\r
405 echo The failed program was: >>config.log\r
406 type junk.c >>config.log\r
407 set HAVE_JPEG=\r
408 goto :jpegDone\r
410 :haveJpeg\r
411 echo ...JPEG header available, building with JPEG support.\r
412 set HAVE_JPEG=1\r
414 :jpegDone\r
415 rm -f junk.c junk.obj\r
417 if (%gifsupport%) == (N) goto gifDone\r
419 echo Checking for libgif...\r
420 echo #include "gif_lib.h" >junk.c\r
421 echo main (){} >>junk.c\r
422 rem   -o option is ignored with cl, but allows result to be consistent.\r
423 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
424 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
425 if exist junk.obj goto haveGif\r
427 echo ...gif_lib.h not found, building without GIF support.\r
428 echo The failed program was: >>config.log\r
429 type junk.c >>config.log\r
430 set HAVE_GIF=\r
431 goto :gifDone\r
433 :haveGif\r
434 echo ...GIF header available, building with GIF support.\r
435 set HAVE_GIF=1\r
437 :gifDone\r
438 rm -f junk.c junk.obj\r
440 if (%tiffsupport%) == (N) goto tiffDone\r
442 echo Checking for tiff...\r
443 echo #include "tiffio.h" >junk.c\r
444 echo main (){} >>junk.c\r
445 rem   -o option is ignored with cl, but allows result to be consistent.\r
446 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
447 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
448 if exist junk.obj goto haveTiff\r
450 echo ...tiffio.h not found, building without TIFF support.\r
451 echo The failed program was: >>config.log\r
452 type junk.c >>config.log\r
453 set HAVE_TIFF=\r
454 goto :tiffDone\r
456 :haveTiff\r
457 echo ...TIFF header available, building with TIFF support.\r
458 set HAVE_TIFF=1\r
460 :tiffDone\r
461 rm -f junk.c junk.obj\r
463 if (%xpmsupport%) == (N) goto xpmDone\r
465 echo Checking for libXpm...\r
466 echo #define FOR_MSW 1 >junk.c\r
467 echo #include "X11/xpm.h" >>junk.c\r
468 echo main (){} >>junk.c\r
469 rem   -o option is ignored with cl, but allows result to be consistent.\r
470 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log\r
471 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log\r
472 if exist junk.obj goto haveXpm\r
474 echo ...X11/xpm.h not found, building without XPM support.\r
475 echo The failed program was: >>config.log\r
476 type junk.c >>config.log\r
477 set HAVE_XPM=\r
478 goto :xpmDone\r
480 :haveXpm\r
481 echo ...XPM header available, building with XPM support.\r
482 set HAVE_XPM=1\r
484 :xpmDone\r
485 rm -f junk.c junk.obj junk.err junk.out\r
487 rem ----------------------------------------------------------------------\r
488 :genmakefiles\r
489 echo Generating makefiles\r
490 if %COMPILER% == gcc set MAKECMD=gmake\r
491 if %COMPILER% == cl set MAKECMD=nmake\r
493 rem   Pass on chosen settings to makefiles.\r
494 rem   NB. Be very careful to not have a space before redirection symbols\r
495 rem   except when there is a preceding digit, when a space is required.\r
496 rem\r
497 echo # Start of settings from configure.bat >config.settings\r
498 echo COMPILER=%COMPILER%>>config.settings\r
499 if not "(%mf%)" == "()" echo MCPU_FLAG=%mf%>>config.settings\r
500 if not "(%dbginfo%)" == "()" echo DEBUG_INFO=%dbginfo%>>config.settings\r
501 if (%nodebug%) == (Y) echo NODEBUG=1 >>config.settings\r
502 if (%noopt%) == (Y) echo NOOPT=1 >>config.settings\r
503 if (%profile%) == (Y) echo PROFILE=1 >>config.settings\r
504 if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings\r
505 if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix%>>config.settings\r
506 rem We go thru docflags because usercflags could be "-DFOO=bar" -something\r
507 rem and the if command cannot cope with this\r
508 for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y\r
509 if (%docflags%)==(Y) echo USER_CFLAGS=%usercflags%>>config.settings\r
510 for %%v in (%userldflags%) do if not (%%v)==() set doldflags=Y\r
511 if (%doldflags%)==(Y) echo USER_LDFLAGS=%userldflags%>>config.settings\r
512 echo # End of settings from configure.bat>>config.settings\r
513 echo. >>config.settings\r
515 copy config.nt config.tmp\r
516 echo. >>config.tmp\r
517 echo /* Start of settings from configure.bat.  */ >>config.tmp\r
518 if (%docflags%) == (Y) echo #define USER_CFLAGS " %usercflags%">>config.tmp\r
519 if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %userldflags%">>config.tmp\r
520 if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>config.tmp\r
521 if not "(%HAVE_JPEG%)" == "()" echo #define HAVE_JPEG 1 >>config.tmp\r
522 if not "(%HAVE_GIF%)" == "()" echo #define HAVE_GIF 1 >>config.tmp\r
523 if not "(%HAVE_TIFF%)" == "()" echo #define HAVE_TIFF 1 >>config.tmp\r
524 if not "(%HAVE_XPM%)" == "()" echo #define HAVE_XPM 1 >>config.tmp\r
525 echo /* End of settings from configure.bat.  */ >>config.tmp\r
527 Rem See if fc.exe returns a meaningful exit status.  If it does, we\r
528 Rem might as well avoid unnecessary overwriting of config.h and epaths.h,\r
529 Rem since this forces recompilation of every source file.\r
530 if exist foo.bar del foo.bar\r
531 fc /b foo.bar foo.bar >nul 2>&1\r
532 if not errorlevel 2 goto doCopy\r
533 fc /b config.tmp ..\src\config.h >nul 2>&1\r
534 if errorlevel 1 goto doCopy\r
535 fc /b paths.h ..\src\epaths.h >nul 2>&1\r
536 if errorlevel 0 goto dontCopy\r
537 :doCopy\r
538 copy config.tmp ..\src\config.h\r
539 copy paths.h ..\src\epaths.h\r
541 :dontCopy\r
542 if exist config.tmp del config.tmp\r
543 copy /b config.settings+%MAKECMD%.defs+..\nt\makefile.w32-in ..\nt\makefile\r
544 if exist ..\admin\unidata copy /b config.settings+%MAKECMD%.defs+..\admin\unidata\makefile.w32-in ..\admin\unidata\makefile\r
545 copy /b config.settings+%MAKECMD%.defs+..\lib-src\makefile.w32-in ..\lib-src\makefile\r
546 copy /b config.settings+%MAKECMD%.defs+..\src\makefile.w32-in ..\src\makefile\r
547 copy /b config.settings+%MAKECMD%.defs+..\doc\emacs\makefile.w32-in ..\doc\emacs\makefile\r
548 copy /b config.settings+%MAKECMD%.defs+..\doc\misc\makefile.w32-in ..\doc\misc\makefile\r
549 copy /b config.settings+%MAKECMD%.defs+..\doc\lispref\makefile.w32-in ..\doc\lispref\makefile\r
550 copy /b config.settings+%MAKECMD%.defs+..\doc\lispintro\makefile.w32-in ..\doc\lispintro\makefile\r
551 if exist ..\lisp\makefile rm -f ../lisp/[Mm]akefile\r
552 copy /b config.settings+%MAKECMD%.defs+..\lisp\makefile.w32-in ..\lisp\makefile\r
553 rem   Use the default (no-op) Makefile.in if the nt version is not present.\r
554 if exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\makefile.w32-in ..\leim\makefile\r
555 if not exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\Makefile.in ..\leim\makefile\r
556 del config.settings\r
558 Rem Some people use WinZip which doesn't create empty directories!\r
559 if not exist ..\site-lisp\nul mkdir ..\site-lisp\\r
560 Rem Update subdirs.el only if it is different or fc.exe doesn't work.\r
561 if exist foo.bar del foo.bar\r
562 fc /b foo.bar foo.bar >nul 2>&1\r
563 if not errorlevel 2 goto doUpdateSubdirs\r
564 fc /b subdirs.el ..\site-lisp\subdirs.el >nul 2>&1\r
565 if not errorlevel 1 goto dontUpdateSubdirs\r
566 :doUpdateSubdirs\r
567 if exist ..\site-lisp\subdirs.el del ..\site-lisp\subdirs.el\r
568 copy subdirs.el ..\site-lisp\subdirs.el\r
570 :dontUpdateSubdirs\r
571 echo.\r
573 rem check that we have all the libraries we need.\r
574 set libsOK=1\r
576 if not "(%HAVE_XPM%)" == "()" goto checkpng\r
577 if (%xpmsupport%) == (N) goto checkpng\r
578  set libsOK=0\r
579  echo XPM support is missing. It is required for color icons in the toolbar.\r
580  echo   Install libXpm development files or use --without-xpm\r
582 :checkpng\r
583 if not "(%HAVE_PNG%)" == "()" goto checkjpeg\r
584 if (%pngsupport%) == (N) goto checkjpeg\r
585  set libsOK=0\r
586  echo PNG support is missing.\r
587  echo   Install libpng development files or use --without-png\r
589 :checkjpeg\r
590 if not "(%HAVE_JPEG%)" == "()" goto checktiff\r
591 if (%jpegsupport%) == (N) goto checktiff\r
592  set libsOK=0\r
593  echo JPEG support is missing.\r
594  echo   Install jpeg development files or use --without-jpeg\r
596 :checktiff\r
597 if not "(%HAVE_TIFF%)" == "()" goto checkgif\r
598 if (%tiffsupport%) == (N) goto checkgif\r
599  set libsOK=0\r
600  echo TIFF support is missing.\r
601  echo   Install libtiff development files or use --without-tiff\r
603 :checkgif\r
604 if not "(%HAVE_GIF%)" == "()" goto donelibchecks\r
605 if (%gifsupport%) == (N) goto donelibchecks\r
606  set libsOK=0\r
607  echo GIF support is missing.\r
608  echo   Install giflib or libungif development files or use --without-gif\r
610 :donelibchecks\r
611 if (%libsOK%) == (1) goto success\r
612 echo.\r
613 echo Important libraries are missing. Fix these issues before running make.\r
614 goto end\r
616 :success\r
617 echo Emacs successfully configured.\r
618 echo Emacs successfully configured. >>config.log\r
619 if (%MAKECMD%) == (gmake) set MAKECMD=make\r
620 echo Run `%MAKECMD%' to build, then run `%MAKECMD% install' to install.\r
621 goto end\r
623 :SmallEnv\r
624 echo Your environment size is too small.  Please enlarge it and rerun configure.\r
625 echo For example, type "command.com /e:2048" to have 2048 bytes available.\r
626 set $foo$=\r
627 :end\r
628 set prefix=\r
629 set nodebug=\r
630 set noopt=\r
631 set profile=\r
632 set nocygwin=\r
633 set COMPILER=\r
634 set MAKECMD=\r
635 set usercflags=\r
636 set docflags=\r
637 set userldflags=\r
638 set doldflags=\r
639 set mingwflag=\r
640 set mf=\r
642 goto skipArchTag\r
643    arch-tag: 300d20a4-1675-4e75-b615-7ce1a8c5376c\r
644 :skipArchTag\r