*** empty log message ***
[bpt/emacs.git] / config.bat
index c3e3697..9617dfb 100644 (file)
@@ -121,7 +121,9 @@ Goto End
 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
@@ -156,6 +158,23 @@ goto src42
 :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