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