2 rem ----------------------------------------------------------------------
\r
3 rem Configuration script for MS Windows operating systems
\r
4 rem Copyright (C) 1999-2011 Free Software Foundation, Inc.
\r
6 rem This file is part of GNU Emacs.
\r
8 rem GNU Emacs is free software: you can redistribute it and/or modify
\r
9 rem it under the terms of the GNU General Public License as published by
\r
10 rem the Free Software Foundation, either version 3 of the License, or
\r
11 rem (at your option) any later version.
\r
13 rem GNU Emacs is distributed in the hope that it will be useful,
\r
14 rem but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
15 rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
16 rem GNU General Public License for more details.
\r
18 rem You should have received a copy of the GNU General Public License
\r
19 rem along with GNU Emacs. If not, see http://www.gnu.org/licenses/.
\r
21 rem ----------------------------------------------------------------------
\r
22 rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:
\r
24 rem + MS Windows 95, NT or later
\r
25 rem + either MSVC 2.x or later, or gcc-2.95 or later (with GNU make 3.75
\r
26 rem or later) and the Mingw32 and W32 API headers and libraries.
\r
27 rem + Visual Studio 2005 is not supported at this time.
\r
29 rem For reference, here is a list of which builds of GNU make are known to
\r
30 rem work or not, and whether they work in the presence and/or absence of
\r
34 rem cygwin b20.1 make (3.75): fails[1,5] fails[2,5]
\r
35 rem MSVC compiled gmake 3.77: okay okay
\r
36 rem MSVC compiled gmake 3.78.1: okay okay
\r
37 rem MSVC compiled gmake 3.79.1: okay okay
\r
38 rem mingw32/gcc-2.92.2 make (3.77): okay okay[4]
\r
39 rem cygwin compiled gmake 3.77: fails[1,5] fails[2,5]
\r
40 rem cygwin compiled gmake 3.78.1: fails[5] fails[2,5]
\r
41 rem cygwin compiled gmake 3.79.1: fails[3,5] fails[2?,5]
\r
42 rem cygwin compiled make 3.80: okay[6] fails?[7]
\r
43 rem cygwin compiled make 3.81: fails fails?[7]
\r
44 rem mingw32 compiled make 3.79.1: okay okay
\r
45 rem mingw32 compiled make 3.80: okay okay?[7]
\r
46 rem mingw32 compiled make 3.81: okay okay[8]
\r
48 rem [1] doesn't cope with makefiles with DOS line endings, so must mount
\r
49 rem emacs source with text!=binary.
\r
50 rem [2] fails when needs to invoke shell commands; okay invoking gcc etc.
\r
51 rem [3] requires LC_MESSAGES support to build; cannot build with early
\r
52 rem versions of cygwin.
\r
53 rem [4] may fail on Windows 9X and Windows ME; if so, install Bash.
\r
54 rem [5] fails when building leim due to the use of cygwin style paths.
\r
55 rem May work if building emacs without leim.
\r
56 rem [6] need to uncomment 3 lines in nt/gmake.defs that invoke `cygpath';
\r
57 rem look for "cygpath" near line 85 of gmake.defs.
\r
58 rem [7] not recommended; please report if you try this combination.
\r
59 rem [8] tested only on Windows XP.
\r
62 if exist config.log del config.log
\r
64 rem ----------------------------------------------------------------------
\r
65 rem See if the environment is large enough. We need 43 (?) bytes.
\r
66 set $foo$=123456789_123456789_123456789_123456789_123
\r
67 if not "%$foo$%" == "123456789_123456789_123456789_123456789_123" goto SmallEnv
\r
70 rem ----------------------------------------------------------------------
\r
71 rem Make sure we are running in the nt subdir
\r
72 if exist configure.bat goto start
\r
73 echo You must run configure from the nt subdirectory.
\r
77 rem ----------------------------------------------------------------------
\r
78 rem Default settings.
\r
82 set enablechecking=N
\r
95 rem ----------------------------------------------------------------------
\r
96 rem Handle arguments.
\r
98 if "%1" == "-h" goto usage
\r
99 if "%1" == "--help" goto usage
\r
100 if "%1" == "--prefix" goto setprefix
\r
101 if "%1" == "--with-gcc" goto withgcc
\r
102 if "%1" == "--with-msvc" goto withmsvc
\r
103 if "%1" == "--no-debug" goto nodebug
\r
104 if "%1" == "--no-opt" goto noopt
\r
105 if "%1" == "--enable-checking" goto enablechecking
\r
106 if "%1" == "--profile" goto profile
\r
107 if "%1" == "--no-cygwin" goto nocygwin
\r
108 if "%1" == "--cflags" goto usercflags
\r
109 if "%1" == "--ldflags" goto userldflags
\r
110 if "%1" == "--without-png" goto withoutpng
\r
111 if "%1" == "--without-jpeg" goto withoutjpeg
\r
112 if "%1" == "--without-gif" goto withoutgif
\r
113 if "%1" == "--without-tiff" goto withouttiff
\r
114 if "%1" == "--without-xpm" goto withoutxpm
\r
115 if "%1" == "--with-svg" goto withsvg
\r
116 if "%1" == "--distfiles" goto distfiles
\r
117 if "%1" == "" goto checkutils
\r
120 echo Usage: configure [options]
\r
122 echo. --prefix PREFIX install Emacs in directory PREFIX
\r
123 echo. --with-gcc use GCC to compile Emacs
\r
124 echo. --with-msvc use MSVC to compile Emacs
\r
125 echo. --no-debug exclude debug info from executables
\r
126 echo. --no-opt disable optimization
\r
127 echo. --enable-checking enable checks and assertions
\r
128 echo. --profile enable profiling
\r
129 echo. --no-cygwin use -mno-cygwin option with GCC
\r
130 echo. --cflags FLAG pass FLAG to compiler
\r
131 echo. --ldflags FLAG pass FLAG to compiler when linking
\r
132 echo. --without-png do not use PNG library even if it is installed
\r
133 echo. --without-jpeg do not use JPEG library even if it is installed
\r
134 echo. --without-gif do not use GIF library even if it is installed
\r
135 echo. --without-tiff do not use TIFF library even if it is installed
\r
136 echo. --without-xpm do not use XPM library even if it is installed
\r
137 echo. --with-svg use the RSVG library (experimental)
\r
138 echo. --distfiles path to files for make dist, e.g. libXpm.dll
\r
141 rem ----------------------------------------------------------------------
\r
149 rem ----------------------------------------------------------------------
\r
156 rem ----------------------------------------------------------------------
\r
163 rem ----------------------------------------------------------------------
\r
170 rem ----------------------------------------------------------------------
\r
177 rem ----------------------------------------------------------------------
\r
180 set enablechecking=Y
\r
184 rem ----------------------------------------------------------------------
\r
191 rem ----------------------------------------------------------------------
\r
198 rem ----------------------------------------------------------------------
\r
202 set usercflags=%usercflags%%sep1%%1
\r
203 set sep1= %nothing%
\r
207 rem ----------------------------------------------------------------------
\r
211 set userldflags=%userldflags%%sep2%%1
\r
212 set sep2= %nothing%
\r
216 rem ----------------------------------------------------------------------
\r
224 rem ----------------------------------------------------------------------
\r
232 rem ----------------------------------------------------------------------
\r
240 rem ----------------------------------------------------------------------
\r
248 rem ----------------------------------------------------------------------
\r
261 rem ----------------------------------------------------------------------
\r
264 set HAVE_DISTFILES=1
\r
266 set distfiles=%distfiles%%sep3%%1
\r
267 set sep3= %nothing%
\r
271 rem ----------------------------------------------------------------------
\r
272 rem Check that necessary utilities (cp and rm) are present.
\r
275 echo Checking for 'cp'...
\r
276 cp configure.bat junk.bat
\r
277 if not exist junk.bat goto needcp
\r
278 echo Checking for 'rm'...
\r
280 if exist junk.bat goto needrm
\r
284 echo You need 'cp' (the Unix file copy program) to build Emacs.
\r
289 echo You need 'rm' (the Unix file delete program) to build Emacs.
\r
292 rem ----------------------------------------------------------------------
\r
293 rem Auto-detect compiler if not specified, and validate GCC if chosen.
\r
296 if (%COMPILER%)==(cl) goto compilercheckdone
\r
297 if (%COMPILER%)==(gcc) goto checkgcc
\r
299 echo Checking whether 'gcc' is available...
\r
300 echo main(){} >junk.c
\r
302 if exist junk.o goto checkgcc
\r
304 echo Checking whether 'cl' is available...
\r
305 cl -nologo -c junk.c
\r
306 if exist junk.obj goto clOK
\r
310 if exist junk.o del junk.o
\r
311 Rem WARNING -- COMMAND.COM on some systems only looks at the first
\r
312 Rem 8 characters of a label. So do NOT be tempted to change
\r
313 Rem chkapi* into something fancier like checkw32api
\r
314 Rem You HAVE been warned!
\r
315 if (%nocygwin%) == (Y) goto chkapiN
\r
316 echo Checking whether gcc requires '-mno-cygwin'...
\r
317 echo #include "cygwin/version.h" >junk.c
\r
318 echo main(){} >>junk.c
\r
319 echo gcc -c junk.c >>config.log
\r
320 gcc -c junk.c >>config.log 2>&1
\r
321 if not exist junk.o goto chkapi
\r
322 echo gcc -mno-cygwin -c junk.c >>config.log
\r
323 gcc -mno-cygwin -c junk.c >>config.log 2>&1
\r
324 if exist junk.o set nocygwin=Y
\r
327 echo The failed program was: >>config.log
\r
328 type junk.c >>config.log
\r
331 rm -f junk.c junk.o
\r
332 rem ----------------------------------------------------------------------
\r
333 rem Older versions of the Windows API headers either don't have any of
\r
334 rem the IMAGE_xxx definitions (the headers that come with Cygwin b20.1
\r
335 rem are like this), or have a typo in the definition of
\r
336 rem IMAGE_FIRST_SECTION (the headers with gcc/mingw32 2.95 have this
\r
337 rem problem). The gcc/mingw32 2.95.2 headers are okay, as are distros
\r
338 rem of w32api-xxx.zip from Anders Norlander since 1999-11-18 at least.
\r
339 rem Beginning with Emacs 23, we need usp10.h.
\r
341 echo Checking whether W32 API headers are too old...
\r
342 echo #include "windows.h" >junk.c
\r
343 echo #include "usp10.h" >>junk.c
\r
344 echo test(PIMAGE_NT_HEADERS pHeader) >>junk.c
\r
345 echo {PIMAGE_SECTION_HEADER pSection = IMAGE_FIRST_SECTION(pHeader);} >>junk.c
\r
346 if (%nocygwin%) == (Y) goto chkapi1
\r
347 set cf=%usercflags%
\r
351 set cf=%usercflags% -mno-cygwin
\r
357 @echo gcc %cf% -c junk.c >>config.log
\r
358 gcc %cf% -c junk.c >>config.log 2>&1
\r
360 if exist junk.o goto chkuser
\r
361 echo The failed program was: >>config.log
\r
362 type junk.c >>config.log
\r
367 echo int main (int argc, char *argv[]) {>junk.c
\r
368 echo char *usercflags = "%usercflags%";>>junk.c
\r
370 echo gcc -Werror -c junk.c >>config.log
\r
371 gcc -Werror -c junk.c >>config.log 2>&1
\r
372 if exist junk.o goto gccOk
\r
374 echo Error in --cflags argument: %usercflags%
\r
375 echo Backslashes and quotes cannot be used with --cflags. Please use forward
\r
376 echo slashes for filenames and paths (e.g. when passing directories to -I).
\r
382 echo Configure failed.
\r
383 echo To configure Emacs for Windows, you need to have either
\r
384 echo gcc-2.95 or later with Mingw32 and the W32 API headers,
\r
385 echo or MSVC 2.x or later.
\r
392 rm -f junk.c junk.o
\r
393 Rem It is not clear what GCC version began supporting -mtune
\r
394 Rem and pentium4 on x86, so check this explicitly.
\r
395 echo main(){} >junk.c
\r
396 echo gcc -c -O2 -mtune=pentium4 junk.c >>config.log
\r
397 gcc -c -O2 -mtune=pentium4 junk.c >>config.log 2>&1
\r
398 if not errorlevel 1 goto gccMtuneOk
\r
399 echo The failed program was: >>config.log
\r
400 type junk.c >>config.log
\r
402 rm -f junk.c junk.o
\r
406 echo GCC supports -mtune=pentium4 >>config.log
\r
407 set mf=-mtune=pentium4
\r
408 rm -f junk.c junk.o
\r
411 rem Check for DWARF-2 debug info support, else default to stabs
\r
412 echo main(){} >junk.c
\r
413 echo gcc -c -gdwarf-2 -g3 junk.c >>config.log
\r
414 gcc -c -gdwarf-2 -g3 junk.c >>config.log 2>&1
\r
415 if not errorlevel 1 goto gccdwarf
\r
416 echo The failed program was: >>config.log
\r
417 type junk.c >>config.log
\r
418 set dbginfo=-gstabs+
\r
419 rm -f junk.c junk.o
\r
420 goto compilercheckdone
\r
423 echo GCC supports DWARF-2 >>config.log
\r
424 set dbginfo=-gdwarf-2 -g3
\r
425 rm -f junk.c junk.o
\r
426 goto compilercheckdone
\r
430 rm -f junk.c junk.obj
\r
435 rem ----------------------------------------------------------------------
\r
436 rem Check for external image libraries. Since they are loaded
\r
437 rem dynamically, the libraries themselves do not need to be present
\r
438 rem at compile time, but the header files are required.
\r
442 if (%nocygwin%) == (N) goto flagsOK
\r
443 set mingwflag=-mno-cygwin
\r
447 if (%pngsupport%) == (N) goto pngDone
\r
449 echo Checking for libpng...
\r
450 echo #include "png.h" >junk.c
\r
451 echo main (){} >>junk.c
\r
452 rem -o option is ignored with cl, but allows result to be consistent.
\r
453 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
\r
454 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
\r
455 if exist junk.obj goto havePng
\r
457 echo ...png.h not found, building without PNG support.
\r
458 echo The failed program was: >>config.log
\r
459 type junk.c >>config.log
\r
464 echo ...PNG header available, building with PNG support.
\r
468 rm -f junk.c junk.obj
\r
470 if (%jpegsupport%) == (N) goto jpegDone
\r
472 echo Checking for jpeg-6b...
\r
473 echo #include "jconfig.h" >junk.c
\r
474 echo main (){} >>junk.c
\r
475 rem -o option is ignored with cl, but allows result to be consistent.
\r
476 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
\r
477 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
\r
478 if exist junk.obj goto haveJpeg
\r
480 echo ...jconfig.h not found, building without JPEG support.
\r
481 echo The failed program was: >>config.log
\r
482 type junk.c >>config.log
\r
487 echo ...JPEG header available, building with JPEG support.
\r
491 rm -f junk.c junk.obj
\r
493 if (%gifsupport%) == (N) goto gifDone
\r
495 echo Checking for libgif...
\r
496 echo #include "gif_lib.h" >junk.c
\r
497 echo main (){} >>junk.c
\r
498 rem -o option is ignored with cl, but allows result to be consistent.
\r
499 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
\r
500 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
\r
501 if exist junk.obj goto haveGif
\r
503 echo ...gif_lib.h not found, building without GIF support.
\r
504 echo The failed program was: >>config.log
\r
505 type junk.c >>config.log
\r
510 echo ...GIF header available, building with GIF support.
\r
514 rm -f junk.c junk.obj
\r
516 if (%tiffsupport%) == (N) goto tiffDone
\r
518 echo Checking for tiff...
\r
519 echo #include "tiffio.h" >junk.c
\r
520 echo main (){} >>junk.c
\r
521 rem -o option is ignored with cl, but allows result to be consistent.
\r
522 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
\r
523 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
\r
524 if exist junk.obj goto haveTiff
\r
526 echo ...tiffio.h not found, building without TIFF support.
\r
527 echo The failed program was: >>config.log
\r
528 type junk.c >>config.log
\r
533 echo ...TIFF header available, building with TIFF support.
\r
537 rm -f junk.c junk.obj
\r
539 if (%xpmsupport%) == (N) goto xpmDone
\r
541 echo Checking for libXpm...
\r
542 echo #define FOR_MSW 1 >junk.c
\r
543 echo #include "X11/xpm.h" >>junk.c
\r
544 echo main (){} >>junk.c
\r
545 rem -o option is ignored with cl, but allows result to be consistent.
\r
546 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
\r
547 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
\r
548 if exist junk.obj goto haveXpm
\r
550 echo ...X11/xpm.h not found, building without XPM support.
\r
551 echo The failed program was: >>config.log
\r
552 type junk.c >>config.log
\r
557 echo ...XPM header available, building with XPM support.
\r
561 rm -f junk.c junk.obj
\r
563 if not (%svgsupport%) == (Y) goto :svgDone
\r
564 echo Checking for librsvg...
\r
565 echo #include "librsvg/rsvg.h" >junk.c
\r
566 echo main (){} >>junk.c
\r
567 rem -o option is ignored with cl, but allows result to be consistent.
\r
568 echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
\r
569 %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
\r
570 if exist junk.obj goto haveSvg
\r
572 echo ...librsvg/rsvg.h or dependencies not found, building without SVG support.
\r
573 echo The failed program was: >>config.log
\r
574 type junk.c >>config.log
\r
579 echo ...librsvg header available, building with SVG support (EXPERIMENTAL).
\r
583 rm -f junk.c junk.obj junk.err junk.out
\r
585 rem Any distfiles provided for building distribution? If no, we're done.
\r
586 if "(%HAVE_DISTFILES%)"=="()" goto :distFilesDone
\r
588 rem Any arguments to --distfiles specified? If no, we're done.
\r
589 if not "%distfiles%"=="" goto :checkDistFiles
\r
591 echo No arguments specified for option --distfiles!
\r
595 echo Checking for distfiles...
\r
596 rem Check if all specified distfiles exist
\r
598 for %%d in (%distfiles%) do if not exist %%d set fileNotFound=%%d
\r
599 if not "%fileNotFound%"=="" goto distFilesNotFound
\r
602 echo ...all distfiles found.
\r
603 goto :distFilesDone
\r
607 echo ...%fileNotFound% not found.
\r
609 goto :distfilesDone
\r
614 rem ----------------------------------------------------------------------
\r
617 echo Generating makefiles
\r
618 if %COMPILER% == gcc set MAKECMD=gmake
\r
619 if %COMPILER% == cl set MAKECMD=nmake
\r
621 rem Pass on chosen settings to makefiles.
\r
622 rem NB. Be very careful to not have a space before redirection symbols
\r
623 rem except when there is a preceding digit, when a space is required.
\r
625 echo # Start of settings from configure.bat >config.settings
\r
626 echo COMPILER=%COMPILER%>>config.settings
\r
627 if not "(%mf%)" == "()" echo MCPU_FLAG=%mf%>>config.settings
\r
628 if not "(%dbginfo%)" == "()" echo DEBUG_INFO=%dbginfo%>>config.settings
\r
629 if (%nodebug%) == (Y) echo NODEBUG=1 >>config.settings
\r
630 if (%noopt%) == (Y) echo NOOPT=1 >>config.settings
\r
631 if (%enablechecking%) == (Y) echo ENABLECHECKS=1 >>config.settings
\r
632 if (%profile%) == (Y) echo PROFILE=1 >>config.settings
\r
633 if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings
\r
634 if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix%>>config.settings
\r
635 if not "(%distfiles%)" == "()" echo DIST_FILES=%distfiles%>>config.settings
\r
636 rem We go thru docflags because usercflags could be "-DFOO=bar" -something
\r
637 rem and the if command cannot cope with this
\r
638 for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y
\r
639 if (%docflags%)==(Y) echo USER_CFLAGS=%usercflags%>>config.settings
\r
640 for %%v in (%userldflags%) do if not (%%v)==() set doldflags=Y
\r
641 if (%doldflags%)==(Y) echo USER_LDFLAGS=%userldflags%>>config.settings
\r
642 echo # End of settings from configure.bat>>config.settings
\r
643 echo. >>config.settings
\r
645 copy config.nt config.tmp
\r
647 echo /* Start of settings from configure.bat. */ >>config.tmp
\r
648 rem We write USER_CFLAGS and USER_LDFLAGS starting with a space to simplify
\r
649 rem processing of compiler options in w32.c:get_emacs_configuration_options
\r
650 if (%docflags%) == (Y) echo #define USER_CFLAGS " %usercflags%">>config.tmp
\r
651 if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %userldflags%">>config.tmp
\r
652 if (%profile%) == (Y) echo #define PROFILING 1 >>config.tmp
\r
653 if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>config.tmp
\r
654 if not "(%HAVE_JPEG%)" == "()" echo #define HAVE_JPEG 1 >>config.tmp
\r
655 if not "(%HAVE_GIF%)" == "()" echo #define HAVE_GIF 1 >>config.tmp
\r
656 if not "(%HAVE_TIFF%)" == "()" echo #define HAVE_TIFF 1 >>config.tmp
\r
657 if not "(%HAVE_XPM%)" == "()" echo #define HAVE_XPM 1 >>config.tmp
\r
658 if "(%HAVE_RSVG%)" == "(1)" echo #define HAVE_RSVG 1 >>config.tmp
\r
660 echo /* End of settings from configure.bat. */ >>config.tmp
\r
662 Rem See if fc.exe returns a meaningful exit status. If it does, we
\r
663 Rem might as well avoid unnecessary overwriting of config.h and epaths.h,
\r
664 Rem since this forces recompilation of every source file.
\r
665 if exist foo.bar del foo.bar
\r
666 fc /b foo.bar foo.bar >nul 2>&1
\r
667 if not errorlevel 2 goto doCopy
\r
668 fc /b config.tmp ..\src\config.h >nul 2>&1
\r
669 if errorlevel 1 goto doCopy
\r
670 fc /b paths.h ..\src\epaths.h >nul 2>&1
\r
671 if not errorlevel 1 goto dontCopy
\r
674 copy config.tmp ..\src\config.h
\r
675 copy paths.h ..\src\epaths.h
\r
678 if exist config.tmp del config.tmp
\r
679 copy /b config.settings+%MAKECMD%.defs+..\nt\makefile.w32-in ..\nt\makefile
\r
680 if exist ..\admin\unidata copy /b config.settings+%MAKECMD%.defs+..\admin\unidata\makefile.w32-in ..\admin\unidata\makefile
\r
681 copy /b config.settings+%MAKECMD%.defs+..\lib-src\makefile.w32-in ..\lib-src\makefile
\r
682 copy /b config.settings+%MAKECMD%.defs+..\lib\makefile.w32-in ..\lib\makefile
\r
683 copy /b config.settings+%MAKECMD%.defs+..\src\makefile.w32-in ..\src\makefile
\r
684 copy /b config.settings+%MAKECMD%.defs+..\doc\emacs\makefile.w32-in ..\doc\emacs\makefile
\r
685 copy /b config.settings+%MAKECMD%.defs+..\doc\misc\makefile.w32-in ..\doc\misc\makefile
\r
686 copy /b config.settings+%MAKECMD%.defs+..\doc\lispref\makefile.w32-in ..\doc\lispref\makefile
\r
687 copy /b config.settings+%MAKECMD%.defs+..\doc\lispintro\makefile.w32-in ..\doc\lispintro\makefile
\r
688 if exist ..\lisp\makefile rm -f ../lisp/[Mm]akefile
\r
689 copy /b config.settings+%MAKECMD%.defs+..\lisp\makefile.w32-in ..\lisp\makefile
\r
690 rem Use the default (no-op) Makefile.in if the nt version is not present.
\r
691 if exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\makefile.w32-in ..\leim\makefile
\r
692 if not exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\Makefile.in ..\leim\makefile
\r
693 del config.settings
\r
695 Rem Some people use WinZip which doesn't create empty directories!
\r
696 if not exist ..\site-lisp\nul mkdir ..\site-lisp\
\r
697 Rem Update subdirs.el only if it is different or fc.exe doesn't work.
\r
698 if exist foo.bar del foo.bar
\r
699 fc /b foo.bar foo.bar >nul 2>&1
\r
700 if not errorlevel 2 goto doUpdateSubdirs
\r
701 fc /b subdirs.el ..\site-lisp\subdirs.el >nul 2>&1
\r
702 if not errorlevel 1 goto dontUpdateSubdirs
\r
705 if exist ..\site-lisp\subdirs.el del ..\site-lisp\subdirs.el
\r
706 copy subdirs.el ..\site-lisp\subdirs.el
\r
711 rem check that we have all the libraries we need.
\r
714 if not "(%HAVE_XPM%)" == "()" goto checkpng
\r
715 if (%xpmsupport%) == (N) goto checkpng
\r
717 echo XPM support is missing. It is required for color icons in the toolbar.
\r
718 echo Install libXpm development files or use --without-xpm
\r
721 if not "(%HAVE_PNG%)" == "()" goto checkjpeg
\r
722 if (%pngsupport%) == (N) goto checkjpeg
\r
724 echo PNG support is missing.
\r
725 echo Install libpng development files or use --without-png
\r
728 if not "(%HAVE_JPEG%)" == "()" goto checktiff
\r
729 if (%jpegsupport%) == (N) goto checktiff
\r
731 echo JPEG support is missing.
\r
732 echo Install jpeg development files or use --without-jpeg
\r
735 if not "(%HAVE_TIFF%)" == "()" goto checkgif
\r
736 if (%tiffsupport%) == (N) goto checkgif
\r
738 echo TIFF support is missing.
\r
739 echo Install libtiff development files or use --without-tiff
\r
742 if not "(%HAVE_GIF%)" == "()" goto checkdistfiles
\r
743 if (%gifsupport%) == (N) goto checkdistfiles
\r
745 echo GIF support is missing.
\r
746 echo Install giflib or libungif development files or use --without-gif
\r
749 if "(%HAVE_DISTFILES%)" == "()" goto donelibchecks
\r
750 if (%distFilesOk%) == (1) goto donelibchecks
\r
752 echo Files specified with option --distfiles could not be found.
\r
753 echo Fix these issues before running make dist
\r
756 if (%libsOK%) == (1) goto success
\r
758 echo Important libraries are missing. Fix these issues before running make.
\r
762 echo Emacs successfully configured.
\r
763 echo Emacs successfully configured. >>config.log
\r
764 if (%MAKECMD%) == (gmake) set MAKECMD=make
\r
765 echo Run `%MAKECMD%' to build, then run `%MAKECMD% install' to install.
\r
769 echo Your environment size is too small. Please enlarge it and rerun configure.
\r
770 echo For example, type "command.com /e:2048" to have 2048 bytes available.
\r
777 set enablechecking=
\r
789 set HAVE_DISTFILES=
\r