@echo off\r
rem ----------------------------------------------------------------------\r
rem Configuration script for MSDOS\r
-rem Copyright (C) 1994 Free Software Foundation, Inc.\r
+rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2004, 2006\r
+rem Free Software Foundation, Inc.\r
\r
rem This file is part of GNU Emacs.\r
\r
\r
rem You should have received a copy of the GNU General Public License\r
rem along with GNU Emacs; see the file COPYING. If not, write to the\r
-rem Free Software Foundation, Inc., 59 Temple Place - Suite 330,\r
-rem Boston, MA 02111-1307, USA.\r
+rem Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\r
+rem Boston, MA 02110-1301, USA.\r
rem ----------------------------------------------------------------------\r
rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:\r
rem\r
rem + msdos version 3 or better.\r
-rem + djgpp version 1.12maint1 or later (version 2.0 or later recommended).\r
+rem + DJGPP version 1.12maint1 or later (version 2.03 or later recommended).\r
rem + make utility that allows breaking of the 128 chars limit on\r
rem command lines. ndmake (as of version 4.5) won't work due to a\r
-rem line length limit. The make that comes with djgpp does work.\r
+rem line length limit. The make that comes with DJGPP does work.\r
rem + rm and mv (from GNU file utilities).\r
rem + sed (you can use the port that comes with DJGPP).\r
rem\r
-rem You should be able to get all the above utilities from any SimTel\r
-rem repository, e.g. ftp.simtel.net, in the directory\r
-rem "pub/simtelnet/gnu/djgpp/v2gnu". As usual, please use your local\r
-rem mirroring site to reduce trans-Atlantic traffic.\r
+rem You should be able to get all the above utilities from the DJGPP FTP\r
+rem site, ftp.delorie.com, in the directory "pub/djgpp/current/v2gnu".\r
rem ----------------------------------------------------------------------\r
set X11=\r
set nodebug=\r
set djgpp_ver=1\r
If ErrorLevel 20 set djgpp_ver=2\r
rm -f junk.c junk junk.exe\r
-rem DJECHO is used by the top-level Makefile\r
+rem The v1.x build does not need djecho\r
+if "%DJGPP_VER%" == "1" Goto djechoOk\r
+rem DJECHO is used by the top-level Makefile in the v2.x build\r
Echo Checking whether 'djecho' is available...\r
redir -o Nul -eo djecho -o junk.$$$ foo\r
If Exist junk.$$$ Goto djechoOk\r
if "%X11%" == "" goto src4\r
sed -f ../msdos/sed2x.inp <config.in >config.tmp\r
:src4\r
+if "%DJGPP_VER%" == "2" Goto src41\r
sed -f ../msdos/sed2.inp <config.tmp >config.h2\r
+goto src42\r
+:src41\r
+sed -f ../msdos/sed2v2.inp <config.tmp >config.h2\r
+:src42\r
+Rem See if DECL_ALIGN can be supported with this GCC\r
+rm -f junk.c junk.o junk junk.exe\r
+echo struct { int i; char *p; } __attribute__((__aligned__(8))) foo; >junk.c\r
+rem Two percent signs because it is a special character for COMMAND.COM/CMD\r
+rem Filter thru Sed because "&" is special for CMD.EXE\r
+echo int main(void) { return (unsigned long)"&"foo %% 8; } | sed "s/.&./\&/" >>junk.c\r
+gcc -o junk junk.c\r
+if not exist junk.exe coff2exe junk\r
+junk\r
+If Not ErrorLevel 1 Goto alignOk\r
+Echo WARNING: Your GCC does not support 8-byte aligned variables.\r
+Echo WARNING: Therefore Emacs cannot support buffers larger than 128MB.\r
+rem The following line disables DECL_ALIGN which in turn disables USE_LSB_TAG\r
+rem For details see lisp.h where it defines USE_LSB_TAG\r
+echo #define NO_DECL_ALIGN >>config.h2\r
+:alignOk\r
+rm -f junk.c junk junk.exe\r
update config.h2 config.h >nul\r
rm -f config.tmp config.h2\r
\r
Echo Configuring the library source directory...\r
cd lib-src\r
rem Create "makefile" from "makefile.in".\r
-sed -e "1,/== start of cpp stuff ==/s@^# .*$@@" <Makefile.in >junk.c\r
+sed -e "1,/== start of cpp stuff ==/s@^#[ ].*$@@" <Makefile.in >junk.c\r
gcc -E -traditional -I. -I../src junk.c | sed -e "s/^ / /" -e "/^#/d" -e "/^[ \f]*$/d" >makefile.new\r
If "%DJGPP_VER%" == "2" goto libsrc-v2\r
sed -f ../msdos/sed3.inp <makefile.new >Makefile\r
sed -f ../msdos/sed6.inp < Makefile.in > Makefile\r
cd ..\r
rem ----------------------------------------------------------------------\r
+Echo Configuring the ELisp manual directory...\r
+cd lispref\r
+sed -f ../msdos/sed6.inp < Makefile.in > Makefile\r
+cd ..\r
+rem ----------------------------------------------------------------------\r
+Echo Configuring the ELisp Introduction manual directory...\r
+Rem The two variants for the line below is for when the shell\r
+Rem supports long file names but DJGPP does not\r
+if exist lispintro\Makefile.in cd lispintro\r
+if exist lispintr\Makefile.in cd lispintr\r
+sed -f ../msdos/sed6.inp < Makefile.in > Makefile\r
+cd ..\r
+rem ----------------------------------------------------------------------\r
Echo Configuring the lisp directory...\r
cd lisp\r
sed -f ../msdos/sedlisp.inp < Makefile.in > Makefile\r
set X11=\r
set nodebug=\r
set djgpp_ver=\r
+\r
+goto skipArchTag\r
+ arch-tag: 2d2fed23-4dc6-4006-a2e4-49daf0031f33\r
+:skipArchTag\r