2 rem ----------------------------------------------------------------------
\r
3 rem Configuration script for MS Windows operating systems
\r
4 rem Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005,
\r
5 rem 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
\r
7 rem This file is part of GNU Emacs.
\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
25 rem + MS Windows 95, NT or later
\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
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
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
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
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
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
78 rem ----------------------------------------------------------------------
\r
79 rem Default settings.
\r
83 set enablechecking=N
\r
96 rem ----------------------------------------------------------------------
\r
97 rem Handle arguments.
\r
99 if "%1" == "-h" goto usage
\r
100 if "%1" == "--help" goto usage
\r
101 if "%1" == "--prefix" goto setprefix
\r
102 if "%1" == "--with-gcc" goto withgcc
\r
103 if "%1" == "--with-msvc" goto withmsvc
\r
104 if "%1" == "--no-debug" goto nodebug
\r
105 if "%1" == "--no-opt" goto noopt
\r
106 if "%1" == "--enable-checking" goto enablechecking
\r
107 if "%1" == "--profile" goto profile
\r
108 if "%1" == "--no-cygwin" goto nocygwin
\r
109 if "%1" == "--cflags" goto usercflags
\r
110 if "%1" == "--ldflags" goto userldflags
\r
111 if "%1" == "--without-png" goto withoutpng
\r
112 if "%1" == "--without-jpeg" goto withoutjpeg
\r
113 if "%1" == "--without-gif" goto withoutgif
\r
114 if "%1" == "--without-tiff" goto withouttiff
\r
115 if "%1" == "--without-xpm" goto withoutxpm
\r
116 if "%1" == "--with-svg" goto withsvg
\r
117 if "%1" == "--distfiles" goto distfiles
\r
118 if "%1" == "" goto checkutils
\r
121 echo Usage: configure [options]
\r
123 echo. --prefix PREFIX install Emacs in directory PREFIX
\r
124 echo. --with-gcc use GCC to compile Emacs
\r
125 echo. --with-msvc use MSVC to compile Emacs
\r
126 echo. --no-debug exclude debug info from executables
\r
127 echo. --no-opt disable optimization
\r
128 echo. --enable-checking enable checks and assertions
\r
129 echo. --profile enable profiling
\r
130 echo. --no-cygwin use -mno-cygwin option with GCC
\r
131 echo. --cflags FLAG pass FLAG to compiler
\r
132 echo. --ldflags FLAG pass FLAG to compiler when linking
\r
133 echo. --without-png do not use PNG library even if it is installed
\r
134 echo. --without-jpeg do not use JPEG library even if it is installed
\r
135 echo. --without-gif do not use GIF library even if it is installed
\r
136 echo. --without-tiff do not use TIFF library even if it is installed
\r
137 echo. --without-xpm do not use XPM library even if it is installed
\r
138 echo. --with-svg use the RSVG library (experimental)
\r
139 echo. --distfiles path to files for make dist, e.g. libXpm.dll
\r
142 rem ----------------------------------------------------------------------
\r
150 rem ----------------------------------------------------------------------
\r
157 rem ----------------------------------------------------------------------
\r
164 rem ----------------------------------------------------------------------
\r
171 rem ----------------------------------------------------------------------
\r
178 rem ----------------------------------------------------------------------
\r
181 set enablechecking=Y
\r
185 rem ----------------------------------------------------------------------
\r
192 rem ----------------------------------------------------------------------
\r
199 rem ----------------------------------------------------------------------
\r
203 set usercflags=%usercflags%%sep1%%1
\r
204 set sep1= %nothing%
\r
208 rem ----------------------------------------------------------------------
\r
212 set userldflags=%userldflags%%sep2%%1
\r
213 set sep2= %nothing%
\r
217 rem ----------------------------------------------------------------------
\r
225 rem ----------------------------------------------------------------------
\r
233 rem ----------------------------------------------------------------------
\r
241 rem ----------------------------------------------------------------------
\r
249 rem ----------------------------------------------------------------------
\r
262 rem ----------------------------------------------------------------------
\r
265 set HAVE_DISTFILES=1
\r
267 set distfiles=%distfiles%%sep3%%1
\r
268 set sep3= %nothing%
\r
272 rem ----------------------------------------------------------------------
\r
273 rem Check that necessary utilities (cp and rm) are present.
\r
276 echo Checking for 'cp'...
\r
277 cp configure.bat junk.bat
\r
278 if not exist junk.bat goto needcp
\r
279 echo Checking for 'rm'...
\r
281 if exist junk.bat goto needrm
\r
285 echo You need 'cp' (the Unix file copy program) to build Emacs.
\r
290 echo You need 'rm' (the Unix file delete program) to build Emacs.
\r
293 rem ----------------------------------------------------------------------
\r
294 rem Auto-detect compiler if not specified, and validate GCC if chosen.
\r
297 if (%COMPILER%)==(cl) goto compilercheckdone
\r
298 if (%COMPILER%)==(gcc) goto checkgcc
\r
300 echo Checking whether 'gcc' is available...
\r
301 echo main(){} >junk.c
\r
303 if exist junk.o goto checkgcc
\r
305 echo Checking whether 'cl' is available...
\r
306 cl -nologo -c junk.c
\r
307 if exist junk.obj goto clOK
\r
311 if exist junk.o del junk.o
\r
312 Rem WARNING -- COMMAND.COM on some systems only looks at the first
\r
313 Rem 8 characters of a label. So do NOT be tempted to change
\r
314 Rem chkapi* into something fancier like checkw32api
\r
315 Rem You HAVE been warned!
\r
316 if (%nocygwin%) == (Y) goto chkapiN
\r
317 echo Checking whether gcc requires '-mno-cygwin'...
\r
318 echo #include "cygwin/version.h" >junk.c
\r
319 echo main(){} >>junk.c
\r
320 echo gcc -c junk.c >>config.log
\r
321 gcc -c junk.c >>config.log 2>&1
\r
322 if not exist junk.o goto chkapi
\r
323 echo gcc -mno-cygwin -c junk.c >>config.log
\r
324 gcc -mno-cygwin -c junk.c >>config.log 2>&1
\r
325 if exist junk.o set nocygwin=Y
\r
328 echo The failed program was: >>config.log
\r
329 type junk.c >>config.log
\r
332 rm -f junk.c junk.o
\r
333 rem ----------------------------------------------------------------------
\r
334 rem Older versions of the Windows API headers either don't have any of
\r
335 rem the IMAGE_xxx definitions (the headers that come with Cygwin b20.1
\r
336 rem are like this), or have a typo in the definition of
\r
337 rem IMAGE_FIRST_SECTION (the headers with gcc/mingw32 2.95 have this
\r
338 rem problem). The gcc/mingw32 2.95.2 headers are okay, as are distros
\r
339 rem of w32api-xxx.zip from Anders Norlander since 1999-11-18 at least.
\r
340 rem Beginning with Emacs 23, we need usp10.h.
\r
342 echo Checking whether W32 API headers are too old...
\r
343 echo #include "windows.h" >junk.c
\r
344 echo #include "usp10.h" >>junk.c
\r
345 echo test(PIMAGE_NT_HEADERS pHeader) >>junk.c
\r
346 echo {PIMAGE_SECTION_HEADER pSection = IMAGE_FIRST_SECTION(pHeader);} >>junk.c
\r
347 if (%nocygwin%) == (Y) goto chkapi1
\r
348 set cf=%usercflags%
\r
352 set cf=%usercflags% -mno-cygwin
\r
358 @echo gcc %cf% -c junk.c >>config.log
\r
359 gcc %cf% -c junk.c >>config.log 2>&1
\r
361 if exist junk.o goto gccOk
\r
362 echo The failed program was: >>config.log
\r
363 type junk.c >>config.log
\r
367 echo Configure failed.
\r
368 echo To configure Emacs for Windows, you need to have either
\r
369 echo gcc-2.95 or later with Mingw32 and the W32 API headers,
\r
370 echo or MSVC 2.x or later.
\r
377 rm -f junk.c junk.o
\r
378 Rem It is not clear what GCC version began supporting -mtune
\r
379 Rem and pentium4 on x86, so check this explicitly.
\r
380 echo main(){} >junk.c
\r
381 echo gcc -c -O2 -mtune=pentium4 junk.c >>config.log
\r
382 gcc -c -O2 -mtune=pentium4 junk.c >>config.log 2>&1
\r
383 if not errorlevel 1 goto gccMtuneOk
\r
384 echo The failed program was: >>config.log
\r
385 type junk.c >>config.log
\r
387 rm -f junk.c junk.o
\r
391 echo GCC supports -mtune=pentium4 >>config.log
\r
392 set mf=-mtune=pentium4
\r
393 rm -f junk.c junk.o
\r
396 rem Check for DWARF-2 debug info support, else default to stabs
\r
397 echo main(){} >junk.c
\r
398 echo gcc -c -gdwarf-2 -g3 junk.c >>config.log
\r
399 gcc -c -gdwarf-2 -g3 junk.c >>config.log 2>&1
\r
400 if not errorlevel 1 goto gccdwarf
\r
401 echo The failed program was: >>config.log
\r
402 type junk.c >>config.log
\r
403 set dbginfo=-gstabs+
\r
404 rm -f junk.c junk.o
\r
405 goto compilercheckdone
\r
408 echo GCC supports DWARF-2 >>config.log
\r
409 set dbginfo=-gdwarf-2 -g3
\r
410 rm -f junk.c junk.o
\r
411 goto compilercheckdone
\r
415 rm -f junk.c junk.obj
\r
420 rem ----------------------------------------------------------------------
\r
421 rem Check for external image libraries. Since they are loaded
\r
422 rem dynamically, the libraries themselves do not need to be present
\r
423 rem at compile time, but the header files are required.
\r
427 if (%nocygwin%) == (N) goto flagsOK
\r
428 set mingwflag=-mno-cygwin
\r
432 if (%pngsupport%) == (N) goto pngDone
\r
434 echo Checking for libpng...
\r
435 echo #include "png.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 havePng
\r
442 echo ...png.h not found, building without PNG support.
\r
443 echo The failed program was: >>config.log
\r
444 type junk.c >>config.log
\r
449 echo ...PNG header available, building with PNG support.
\r
453 rm -f junk.c junk.obj
\r
455 if (%jpegsupport%) == (N) goto jpegDone
\r
457 echo Checking for jpeg-6b...
\r
458 echo #include "jconfig.h" >junk.c
\r
459 echo main (){} >>junk.c
\r
460 rem -o option is ignored with cl, but allows result to be consistent.
\r
461 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
\r
462 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
\r
463 if exist junk.obj goto haveJpeg
\r
465 echo ...jconfig.h not found, building without JPEG support.
\r
466 echo The failed program was: >>config.log
\r
467 type junk.c >>config.log
\r
472 echo ...JPEG header available, building with JPEG support.
\r
476 rm -f junk.c junk.obj
\r
478 if (%gifsupport%) == (N) goto gifDone
\r
480 echo Checking for libgif...
\r
481 echo #include "gif_lib.h" >junk.c
\r
482 echo main (){} >>junk.c
\r
483 rem -o option is ignored with cl, but allows result to be consistent.
\r
484 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
\r
485 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
\r
486 if exist junk.obj goto haveGif
\r
488 echo ...gif_lib.h not found, building without GIF support.
\r
489 echo The failed program was: >>config.log
\r
490 type junk.c >>config.log
\r
495 echo ...GIF header available, building with GIF support.
\r
499 rm -f junk.c junk.obj
\r
501 if (%tiffsupport%) == (N) goto tiffDone
\r
503 echo Checking for tiff...
\r
504 echo #include "tiffio.h" >junk.c
\r
505 echo main (){} >>junk.c
\r
506 rem -o option is ignored with cl, but allows result to be consistent.
\r
507 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
\r
508 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
\r
509 if exist junk.obj goto haveTiff
\r
511 echo ...tiffio.h not found, building without TIFF support.
\r
512 echo The failed program was: >>config.log
\r
513 type junk.c >>config.log
\r
518 echo ...TIFF header available, building with TIFF support.
\r
522 rm -f junk.c junk.obj
\r
524 if (%xpmsupport%) == (N) goto xpmDone
\r
526 echo Checking for libXpm...
\r
527 echo #define FOR_MSW 1 >junk.c
\r
528 echo #include "X11/xpm.h" >>junk.c
\r
529 echo main (){} >>junk.c
\r
530 rem -o option is ignored with cl, but allows result to be consistent.
\r
531 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
\r
532 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
\r
533 if exist junk.obj goto haveXpm
\r
535 echo ...X11/xpm.h not found, building without XPM support.
\r
536 echo The failed program was: >>config.log
\r
537 type junk.c >>config.log
\r
542 echo ...XPM header available, building with XPM support.
\r
546 rm -f junk.c junk.obj
\r
548 if not (%svgsupport%) == (Y) goto :svgDone
\r
549 echo Checking for librsvg...
\r
550 echo #include "librsvg/rsvg.h" >junk.c
\r
551 echo main (){} >>junk.c
\r
552 rem -o option is ignored with cl, but allows result to be consistent.
\r
553 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
\r
554 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
\r
555 if exist junk.obj goto haveSvg
\r
557 echo ...librsvg/rsvg.h or dependencies not found, building without SVG support.
\r
558 echo The failed program was: >>config.log
\r
559 type junk.c >>config.log
\r
564 echo ...librsvg header available, building with SVG support (EXPERIMENTAL).
\r
568 rm -f junk.c junk.obj junk.err junk.out
\r
570 rem Any distfiles provided for building distribution? If no, we're done.
\r
571 if "(%HAVE_DISTFILES%)"=="()" goto :distFilesDone
\r
573 rem Any arguments to --distfiles specified? If no, we're done.
\r
574 if not "%distfiles%"=="" goto :checkDistFiles
\r
576 echo No arguments specified for option --distfiles!
\r
580 echo Checking for distfiles...
\r
581 rem Check if all specified distfiles exist
\r
583 for %%d in (%distfiles%) do if not exist %%d set fileNotFound=%%d
\r
584 if not "%fileNotFound%"=="" goto distFilesNotFound
\r
587 echo ...all distfiles found.
\r
588 goto :distFilesDone
\r
592 echo ...%fileNotFound% not found.
\r
594 goto :distfilesDone
\r
599 rem ----------------------------------------------------------------------
\r
602 echo Generating makefiles
\r
603 if %COMPILER% == gcc set MAKECMD=gmake
\r
604 if %COMPILER% == cl set MAKECMD=nmake
\r
606 rem Pass on chosen settings to makefiles.
\r
607 rem NB. Be very careful to not have a space before redirection symbols
\r
608 rem except when there is a preceding digit, when a space is required.
\r
610 echo # Start of settings from configure.bat >config.settings
\r
611 echo COMPILER=%COMPILER%>>config.settings
\r
612 if not "(%mf%)" == "()" echo MCPU_FLAG=%mf%>>config.settings
\r
613 if not "(%dbginfo%)" == "()" echo DEBUG_INFO=%dbginfo%>>config.settings
\r
614 if (%nodebug%) == (Y) echo NODEBUG=1 >>config.settings
\r
615 if (%noopt%) == (Y) echo NOOPT=1 >>config.settings
\r
616 if (%enablechecking%) == (Y) echo ENABLECHECKS=1 >>config.settings
\r
617 if (%profile%) == (Y) echo PROFILE=1 >>config.settings
\r
618 if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings
\r
619 if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix%>>config.settings
\r
620 if not "(%distfiles%)" == "()" echo DIST_FILES=%distfiles%>>config.settings
\r
621 rem We go thru docflags because usercflags could be "-DFOO=bar" -something
\r
622 rem and the if command cannot cope with this
\r
623 for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y
\r
624 if (%docflags%)==(Y) echo USER_CFLAGS=%usercflags%>>config.settings
\r
625 for %%v in (%userldflags%) do if not (%%v)==() set doldflags=Y
\r
626 if (%doldflags%)==(Y) echo USER_LDFLAGS=%userldflags%>>config.settings
\r
627 echo # End of settings from configure.bat>>config.settings
\r
628 echo. >>config.settings
\r
630 copy config.nt config.tmp
\r
632 echo /* Start of settings from configure.bat. */ >>config.tmp
\r
633 rem We write USER_CFLAGS and USER_LDFLAGS starting with a space to simplify
\r
634 rem processing of compiler options in w32.c:get_emacs_configuration_options
\r
635 if (%docflags%) == (Y) echo #define USER_CFLAGS " %usercflags%">>config.tmp
\r
636 if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %userldflags%">>config.tmp
\r
637 if (%profile%) == (Y) echo #define PROFILING 1 >>config.tmp
\r
638 if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>config.tmp
\r
639 if not "(%HAVE_JPEG%)" == "()" echo #define HAVE_JPEG 1 >>config.tmp
\r
640 if not "(%HAVE_GIF%)" == "()" echo #define HAVE_GIF 1 >>config.tmp
\r
641 if not "(%HAVE_TIFF%)" == "()" echo #define HAVE_TIFF 1 >>config.tmp
\r
642 if not "(%HAVE_XPM%)" == "()" echo #define HAVE_XPM 1 >>config.tmp
\r
643 if "(%HAVE_RSVG%)" == "(1)" echo #define HAVE_RSVG 1 >>config.tmp
\r
645 echo /* End of settings from configure.bat. */ >>config.tmp
\r
647 Rem See if fc.exe returns a meaningful exit status. If it does, we
\r
648 Rem might as well avoid unnecessary overwriting of config.h and epaths.h,
\r
649 Rem since this forces recompilation of every source file.
\r
650 if exist foo.bar del foo.bar
\r
651 fc /b foo.bar foo.bar >nul 2>&1
\r
652 if not errorlevel 2 goto doCopy
\r
653 fc /b config.tmp ..\src\config.h >nul 2>&1
\r
654 if errorlevel 1 goto doCopy
\r
655 fc /b paths.h ..\src\epaths.h >nul 2>&1
\r
656 if errorlevel 0 goto dontCopy
\r
659 copy config.tmp ..\src\config.h
\r
660 copy paths.h ..\src\epaths.h
\r
663 if exist config.tmp del config.tmp
\r
664 copy /b config.settings+%MAKECMD%.defs+..\nt\makefile.w32-in ..\nt\makefile
\r
665 if exist ..\admin\unidata copy /b config.settings+%MAKECMD%.defs+..\admin\unidata\makefile.w32-in ..\admin\unidata\makefile
\r
666 copy /b config.settings+%MAKECMD%.defs+..\lib-src\makefile.w32-in ..\lib-src\makefile
\r
667 copy /b config.settings+%MAKECMD%.defs+..\src\makefile.w32-in ..\src\makefile
\r
668 copy /b config.settings+%MAKECMD%.defs+..\doc\emacs\makefile.w32-in ..\doc\emacs\makefile
\r
669 copy /b config.settings+%MAKECMD%.defs+..\doc\misc\makefile.w32-in ..\doc\misc\makefile
\r
670 copy /b config.settings+%MAKECMD%.defs+..\doc\lispref\makefile.w32-in ..\doc\lispref\makefile
\r
671 copy /b config.settings+%MAKECMD%.defs+..\doc\lispintro\makefile.w32-in ..\doc\lispintro\makefile
\r
672 if exist ..\lisp\makefile rm -f ../lisp/[Mm]akefile
\r
673 copy /b config.settings+%MAKECMD%.defs+..\lisp\makefile.w32-in ..\lisp\makefile
\r
674 rem Use the default (no-op) Makefile.in if the nt version is not present.
\r
675 if exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\makefile.w32-in ..\leim\makefile
\r
676 if not exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\Makefile.in ..\leim\makefile
\r
677 del config.settings
\r
679 Rem Some people use WinZip which doesn't create empty directories!
\r
680 if not exist ..\site-lisp\nul mkdir ..\site-lisp\
\r
681 Rem Update subdirs.el only if it is different or fc.exe doesn't work.
\r
682 if exist foo.bar del foo.bar
\r
683 fc /b foo.bar foo.bar >nul 2>&1
\r
684 if not errorlevel 2 goto doUpdateSubdirs
\r
685 fc /b subdirs.el ..\site-lisp\subdirs.el >nul 2>&1
\r
686 if not errorlevel 1 goto dontUpdateSubdirs
\r
689 if exist ..\site-lisp\subdirs.el del ..\site-lisp\subdirs.el
\r
690 copy subdirs.el ..\site-lisp\subdirs.el
\r
695 rem check that we have all the libraries we need.
\r
698 if not "(%HAVE_XPM%)" == "()" goto checkpng
\r
699 if (%xpmsupport%) == (N) goto checkpng
\r
701 echo XPM support is missing. It is required for color icons in the toolbar.
\r
702 echo Install libXpm development files or use --without-xpm
\r
705 if not "(%HAVE_PNG%)" == "()" goto checkjpeg
\r
706 if (%pngsupport%) == (N) goto checkjpeg
\r
708 echo PNG support is missing.
\r
709 echo Install libpng development files or use --without-png
\r
712 if not "(%HAVE_JPEG%)" == "()" goto checktiff
\r
713 if (%jpegsupport%) == (N) goto checktiff
\r
715 echo JPEG support is missing.
\r
716 echo Install jpeg development files or use --without-jpeg
\r
719 if not "(%HAVE_TIFF%)" == "()" goto checkgif
\r
720 if (%tiffsupport%) == (N) goto checkgif
\r
722 echo TIFF support is missing.
\r
723 echo Install libtiff development files or use --without-tiff
\r
726 if not "(%HAVE_GIF%)" == "()" goto checkdistfiles
\r
727 if (%gifsupport%) == (N) goto checkdistfiles
\r
729 echo GIF support is missing.
\r
730 echo Install giflib or libungif development files or use --without-gif
\r
733 if "(%HAVE_DISTFILES%)" == "()" goto donelibchecks
\r
734 if (%distFilesOk%) == (1) goto donelibchecks
\r
736 echo Files specified with option --distfiles could not be found.
\r
737 echo Fix these issues before running make dist
\r
740 if (%libsOK%) == (1) goto success
\r
742 echo Important libraries are missing. Fix these issues before running make.
\r
746 echo Emacs successfully configured.
\r
747 echo Emacs successfully configured. >>config.log
\r
748 if (%MAKECMD%) == (gmake) set MAKECMD=make
\r
749 echo Run `%MAKECMD%' to build, then run `%MAKECMD% install' to install.
\r
753 echo Your environment size is too small. Please enlarge it and rerun configure.
\r
754 echo For example, type "command.com /e:2048" to have 2048 bytes available.
\r
761 set enablechecking=
\r
773 set HAVE_DISTFILES=
\r
777 arch-tag: 300d20a4-1675-4e75-b615-7ce1a8c5376c
\r