@echo off\r
rem ----------------------------------------------------------------------\r
rem Configuration script for MS Windows 95/98 and NT/2000\r
-rem Copyright (C) 1999, 2000 Free Software Foundation, Inc.\r
+rem Copyright (C) 1999-2001 Free Software Foundation, Inc.\r
\r
rem This file is part of GNU Emacs.\r
\r
del junk.o\r
\r
:checkgcc\r
-if (%nocygwin%) == (Y) goto checkw32api\r
+Rem WARNING -- COMMAND.COM on some systems only looks at the first\r
+Rem 8 characters of a label. So do NOT be tempted to change\r
+Rem chkapi* into something fancier like checkw32api\r
+Rem You HAVE been warned!\r
+if (%nocygwin%) == (Y) goto chkapi\r
echo Checking whether gcc requires '-mno-cygwin'...\r
echo #include "cygwin/version.h" >junk.c\r
echo main(){} >>junk.c\r
gcc -c junk.c\r
-if not exist junk.o goto checkw32api\r
+if not exist junk.o goto chkapi\r
gcc -mno-cygwin -c junk.c\r
if exist junk.o set nocygwin=Y\r
-del junk.o junk.c\r
+rm -f junk.c junk.o\r
\r
-:checkw32api\r
+:chkapi\r
rem ----------------------------------------------------------------------\r
rem Older versions of the Windows API headers either don't have any of\r
rem the IMAGE_xxx definitions (the headers that come with Cygwin b20.1\r
rem\r
echo Checking whether W32 API headers are too old...\r
echo #include "windows.h" >junk.c\r
-echo test(PIMAGE_NT_HEADERS pHeader)>>junk.c\r
-echo {PIMAGE_SECTION_HEADER pSection = IMAGE_FIRST_SECTION(pHeader);}>>junk.c\r
-gcc -c junk.c\r
+echo test(PIMAGE_NT_HEADERS pHeader) >>junk.c\r
+echo {PIMAGE_SECTION_HEADER pSection = IMAGE_FIRST_SECTION(pHeader);} >>junk.c\r
+if (%nocygwin%) == (Y) goto chkapi1\r
+set cf=%usercflags%\r
+goto chkapi2\r
+:chkapi1\r
+set cf=%usercflags% -mno-cygwin\r
+:chkapi2\r
+echo on\r
+gcc %cf% -c junk.c\r
+echo off\r
+set cf=\r
if exist junk.o goto gccOk\r
\r
:nocompiler\r
\r
:gccOk\r
set COMPILER=gcc\r
-del junk.c junk.o\r
+rm -f junk.c junk.o\r
echo Using 'gcc'\r
goto genmakefiles\r
\r
:clOk\r
set COMPILER=cl\r
-del junk.c junk.obj\r
+rm -f junk.c junk.obj\r
echo Using 'MSVC'\r
goto genmakefiles\r
\r
if %COMPILER% == cl set MAKECMD=nmake\r
\r
rem Pass on chosen settings to makefiles.\r
+rem NB. Be very careful to not have a space before redirection symbols\r
+rem except when there is a preceding digit, when a space is required.\r
+rem\r
echo # Start of settings from configure.bat >config.settings\r
-echo COMPILER=%COMPILER% >>config.settings\r
+echo COMPILER=%COMPILER%>>config.settings\r
if (%nodebug%) == (Y) echo NODEBUG=1 >>config.settings\r
if (%noopt%) == (Y) echo NOOPT=1 >>config.settings\r
if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings\r
-if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix% >>config.settings\r
-if not "(%usercflags%)" == "()" echo USER_CFLAGS=%usercflags% >>config.settings\r
-if not "(%userldflags%)" == "()" echo USER_LDFLAGS=%userldflags% >>config.settings\r
-echo # End of settings from configure.bat >>config.settings\r
+if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix%>>config.settings\r
+if not "(%usercflags%)" == "()" echo USER_CFLAGS=%usercflags%>>config.settings\r
+if not "(%userldflags%)" == "()" echo USER_LDFLAGS=%userldflags%>>config.settings\r
+echo # End of settings from configure.bat>>config.settings\r
echo. >>config.settings\r
\r
copy config.nt ..\src\config.h\r
if not "(%userldflags%)" == "()" echo #define USER_LDFLAGS " %userldflags%">>..\src\config.h\r
copy paths.h ..\src\epaths.h\r
\r
-rem gmake doesn't support "cd foo" in commands (except as part of a\r
-rem compound statement which command.com doesn't support), but nmake\r
-rem doesn't support the -C dir command line switch, so generate the\r
-rem necessary makefile fragment for targets that involve changing dir.\r
-rem \r
-if %MAKECMD% == nmake goto gen1\r
-\r
-echo. > make-frag\r
-echo all-other-dirs: >> make-frag\r
-echo. $(MAKE) -C ../lib-src all >> make-frag\r
-echo. $(MAKE) -C ../src all >> make-frag\r
-echo. $(MAKE) -C ../lisp all >> make-frag\r
-echo. $(MAKE) -C ../leim all >> make-frag\r
-echo. >> make-frag\r
-echo clean-other-dirs: >> make-frag\r
-echo. $(MAKE) -C ../lib-src clean >> make-frag\r
-echo. $(MAKE) -C ../src clean >> make-frag\r
-echo. $(MAKE) -C ../lisp clean >> make-frag\r
-echo. $(MAKE) -C ../leim clean >> make-frag\r
-echo. >> make-frag\r
-echo install-other-dirs: >> make-frag\r
-echo. $(MAKE) -C ../lib-src install >> make-frag\r
-echo. $(MAKE) -C ../src install >> make-frag\r
-echo. $(MAKE) -C ../lisp install >> make-frag\r
-echo. $(MAKE) -C ../leim install >> make-frag\r
-echo. >> make-frag\r
-goto gen2\r
-\r
-:gen1\r
-echo. > make-frag\r
-echo all-other-dirs: >> make-frag\r
-echo. cd ..\lib-src >> make-frag\r
-echo. $(MAKE) all >> make-frag\r
-echo. cd ..\src >> make-frag\r
-echo. $(MAKE) all >> make-frag\r
-echo. cd ..\lisp >> make-frag\r
-echo. $(MAKE) all >> make-frag\r
-echo. cd ..\leim >> make-frag\r
-echo. $(MAKE) all >> make-frag\r
-echo. cd ..\nt >> make-frag\r
-echo. >> make-frag\r
-echo clean-other-dirs: >> make-frag\r
-echo. cd ..\lib-src >> make-frag\r
-echo. $(MAKE) clean >> make-frag\r
-echo. cd ..\src >> make-frag\r
-echo. $(MAKE) clean >> make-frag\r
-echo. cd ..\lisp >> make-frag\r
-echo. $(MAKE) clean >> make-frag\r
-echo. cd ..\leim >> make-frag\r
-echo. $(MAKE) clean >> make-frag\r
-echo. cd ..\nt >> make-frag\r
-echo. >> make-frag\r
-echo install-other-dirs: >> make-frag\r
-echo. cd ..\lib-src >> make-frag\r
-echo. $(MAKE) install >> make-frag\r
-echo. cd ..\src >> make-frag\r
-echo. $(MAKE) install >> make-frag\r
-echo. cd ..\lisp >> make-frag\r
-echo. $(MAKE) install >> make-frag\r
-echo. cd ..\leim >> make-frag\r
-echo. $(MAKE) install >> make-frag\r
-echo. cd ..\nt >> make-frag\r
-echo. >> make-frag\r
-\r
-:gen2\r
-copy /b config.settings+%MAKECMD%.defs+make-frag+..\nt\makefile.w32-in ..\nt\makefile\r
-del make-frag\r
+copy /b config.settings+%MAKECMD%.defs+..\nt\makefile.w32-in ..\nt\makefile\r
copy /b config.settings+%MAKECMD%.defs+..\lib-src\makefile.w32-in ..\lib-src\makefile\r
copy /b config.settings+%MAKECMD%.defs+..\src\makefile.w32-in ..\src\makefile\r
-if not exist ..\lisp\Makefile.unix rename ..\lisp\Makefile Makefile.unix\r
-if exist ..\lisp\makefile del /f ..\lisp\makefile\r
+if not exist ..\lisp\Makefile.unix rename ..\lisp\Makefile.in Makefile.unix\r
+if exist ..\lisp\makefile rm -f ../lisp/[Mm]akefile\r
copy /b config.settings+%MAKECMD%.defs+..\lisp\makefile.w32-in ..\lisp\makefile\r
rem Use the default (no-op) Makefile.in if the nt version is not present.\r
if exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\makefile.w32-in ..\leim\makefile\r
if not exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\Makefile.in ..\leim\makefile\r
del config.settings\r
\r
+Rem Some people use WinZip which doesn't create empty directories!\r
+if not exist ..\site-lisp\nul mkdir ..\site-lisp\\r
+if not exist ..\site-lisp\subdirs.el copy subdirs.el ..\site-lisp\subdirs.el\r
+\r
echo.\r
echo Emacs successfully configured.\r
echo Run `%MAKECMD%' to build, then run `%MAKECMD% install' to install.\r