summaryrefslogtreecommitdiff
path: root/config.bat
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2004-11-12 18:18:43 +0000
committerEli Zaretskii <eliz@gnu.org>2004-11-12 18:18:43 +0000
commita30fb04fbc84ffc78dbba967f4e0478cdf69236a (patch)
tree990bf63f75f81fcf78c357300a17b678e658e417 /config.bat
parentf431a91000637a53f52b90fa9a8260b6216df2ed (diff)
downloademacs-a30fb04fbc84ffc78dbba967f4e0478cdf69236a.tar.gz
Add a test for DECL_ALIGN support, and add a trivial definition to
src/config.h if 8-byte alignment is not supported.
Diffstat (limited to 'config.bat')
-rw-r--r--config.bat16
1 files changed, 16 insertions, 0 deletions
diff --git a/config.bat b/config.bat
index c7be653b873..64775244391 100644
--- a/config.bat
+++ b/config.bat
@@ -158,6 +158,22 @@ goto src42
:src41
sed -f ../msdos/sed2v2.inp <config.tmp >config.h2
:src42
+Rem See if DECL_ALIGN can be supported with this GCC
+rm -f junk.c junk.o junk junk.exe
+echo struct { int i; char *p; } __attribute__((__aligned__(8))) foo; >junk.c
+rem Two percent signs because it is a special character for COMMAND.COM
+echo int main(void) { return (unsigned long)&foo %% 8; } >>junk.c
+gcc -o junk junk.c
+if not exist junk.exe coff2exe junk
+junk
+If Not ErrorLevel 1 Goto alignOk
+Echo WARNING: Your GCC does not support 8-byte aligned variables.
+Echo WARNING: Therefore Emacs cannot support buffers larger than 128MB.
+rem The following line disables DECL_ALIGN which in turn disables USE_LSB_TAG
+rem For details see lisp.h where it defines USE_LSB_TAG
+echo #define DECL_ALIGN(type, var) type var >>config.h2
+:alignOk
+rm -f junk.c junk junk.exe
update config.h2 config.h >nul
rm -f config.tmp config.h2