1994-01-07 13:34:12 +00:00
|
|
|
|
@echo off
|
|
|
|
|
rem ----------------------------------------------------------------------
|
|
|
|
|
rem Configuration script for MSDOS
|
2006-12-05 06:15:26 +00:00
|
|
|
|
rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003
|
2008-01-07 08:53:20 +00:00
|
|
|
|
rem 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
1994-04-29 19:29:03 +00:00
|
|
|
|
|
1994-01-07 13:34:12 +00:00
|
|
|
|
rem This file is part of GNU Emacs.
|
|
|
|
|
|
2008-05-07 07:35:58 +00:00
|
|
|
|
rem GNU Emacs is free software: you can redistribute it and/or modify
|
1994-01-07 13:34:12 +00:00
|
|
|
|
rem it under the terms of the GNU General Public License as published by
|
2008-05-07 07:35:58 +00:00
|
|
|
|
rem the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
rem (at your option) any later version.
|
1994-01-07 13:34:12 +00:00
|
|
|
|
|
|
|
|
|
rem GNU Emacs is distributed in the hope that it will be useful,
|
|
|
|
|
rem but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
rem GNU General Public License for more details.
|
|
|
|
|
|
|
|
|
|
rem You should have received a copy of the GNU General Public License
|
2008-05-07 10:32:47 +00:00
|
|
|
|
rem along with GNU Emacs. If not, see http://www.gnu.org/licenses/.
|
2008-05-07 07:35:58 +00:00
|
|
|
|
|
1994-01-07 13:34:12 +00:00
|
|
|
|
rem ----------------------------------------------------------------------
|
|
|
|
|
rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:
|
|
|
|
|
rem
|
1994-04-29 19:29:03 +00:00
|
|
|
|
rem + msdos version 3 or better.
|
2004-07-31 09:23:36 +00:00
|
|
|
|
rem + DJGPP version 1.12maint1 or later (version 2.03 or later recommended).
|
1994-04-29 19:29:03 +00:00
|
|
|
|
rem + make utility that allows breaking of the 128 chars limit on
|
|
|
|
|
rem command lines. ndmake (as of version 4.5) won't work due to a
|
2004-07-31 09:23:36 +00:00
|
|
|
|
rem line length limit. The make that comes with DJGPP does work.
|
1996-04-10 05:29:39 +00:00
|
|
|
|
rem + rm and mv (from GNU file utilities).
|
|
|
|
|
rem + sed (you can use the port that comes with DJGPP).
|
1994-04-29 19:29:03 +00:00
|
|
|
|
rem
|
2004-07-31 09:23:36 +00:00
|
|
|
|
rem You should be able to get all the above utilities from the DJGPP FTP
|
|
|
|
|
rem site, ftp.delorie.com, in the directory "pub/djgpp/current/v2gnu".
|
1994-01-07 13:34:12 +00:00
|
|
|
|
rem ----------------------------------------------------------------------
|
1994-10-17 07:35:36 +00:00
|
|
|
|
set X11=
|
|
|
|
|
set nodebug=
|
1996-04-12 15:44:42 +00:00
|
|
|
|
set djgpp_ver=
|
1998-04-16 08:56:46 +00:00
|
|
|
|
if "%1" == "" goto usage
|
|
|
|
|
rem ----------------------------------------------------------------------
|
|
|
|
|
rem See if their environment is large enough. We need 28 bytes.
|
|
|
|
|
set $foo$=789012345678901234567
|
|
|
|
|
if not "%$foo$%" == "789012345678901234567" goto SmallEnv
|
|
|
|
|
set $foo$=
|
1994-10-17 07:35:36 +00:00
|
|
|
|
:again
|
|
|
|
|
if "%1" == "" goto usage
|
|
|
|
|
if "%1" == "--with-x" goto withx
|
|
|
|
|
if "%1" == "--no-debug" goto nodebug
|
1994-01-07 13:34:12 +00:00
|
|
|
|
if "%1" == "msdos" goto msdos
|
|
|
|
|
:usage
|
1994-10-17 07:35:36 +00:00
|
|
|
|
echo Usage: config [--with-x] [--no-debug] msdos
|
|
|
|
|
echo [Read the script before you run it.]
|
1994-01-07 13:34:12 +00:00
|
|
|
|
goto end
|
|
|
|
|
rem ----------------------------------------------------------------------
|
1994-10-17 07:35:36 +00:00
|
|
|
|
:withx
|
|
|
|
|
set X11=Y
|
|
|
|
|
shift
|
|
|
|
|
goto again
|
1994-04-29 19:29:03 +00:00
|
|
|
|
rem ----------------------------------------------------------------------
|
1994-10-17 07:35:36 +00:00
|
|
|
|
:nodebug
|
|
|
|
|
set nodebug=Y
|
|
|
|
|
shift
|
|
|
|
|
goto again
|
1994-01-07 13:34:12 +00:00
|
|
|
|
rem ----------------------------------------------------------------------
|
1994-10-17 07:35:36 +00:00
|
|
|
|
:msdos
|
1995-09-02 16:25:34 +00:00
|
|
|
|
Echo Checking whether 'sed' is available...
|
|
|
|
|
sed -e "w junk.$$$" <Nul
|
1994-10-17 07:35:36 +00:00
|
|
|
|
If Exist junk.$$$ Goto sedOk
|
1995-09-02 16:25:34 +00:00
|
|
|
|
Echo To configure 'Emacs' you need to have 'sed'!
|
1994-10-17 07:35:36 +00:00
|
|
|
|
Goto End
|
|
|
|
|
:sedOk
|
1995-09-02 16:25:34 +00:00
|
|
|
|
Echo Checking whether 'rm' is available...
|
1994-10-17 07:35:36 +00:00
|
|
|
|
rm -f junk.$$$
|
|
|
|
|
If Not Exist junk.$$$ Goto rmOk
|
1995-09-02 16:25:34 +00:00
|
|
|
|
Echo To configure 'Emacs' you need to have 'rm'!
|
1994-10-17 07:35:36 +00:00
|
|
|
|
Goto End
|
|
|
|
|
:rmOk
|
1995-09-02 16:25:34 +00:00
|
|
|
|
Echo Checking whether 'mv' is available...
|
1994-10-17 07:35:36 +00:00
|
|
|
|
rm -f junk.1 junk.2
|
|
|
|
|
echo foo >junk.1
|
1996-10-31 19:53:19 +00:00
|
|
|
|
mv junk.1 ./junk.2
|
1994-10-17 07:35:36 +00:00
|
|
|
|
If Exist junk.2 Goto mvOk
|
1995-09-02 16:25:34 +00:00
|
|
|
|
Echo To configure 'Emacs' you need to have 'mv'!
|
1994-10-17 07:35:36 +00:00
|
|
|
|
rm -f junk.1
|
|
|
|
|
Goto End
|
|
|
|
|
:mvOk
|
|
|
|
|
rm -f junk.2
|
1995-09-02 16:25:34 +00:00
|
|
|
|
Echo Checking whether 'gcc' is available...
|
1994-10-17 07:35:36 +00:00
|
|
|
|
echo main(){} >junk.c
|
|
|
|
|
gcc -c junk.c
|
|
|
|
|
if exist junk.o goto gccOk
|
1995-09-02 16:25:34 +00:00
|
|
|
|
Echo To configure 'Emacs' you need to have 'gcc'!
|
1994-10-17 07:35:36 +00:00
|
|
|
|
rm -f junk.c
|
|
|
|
|
Goto End
|
|
|
|
|
:gccOk
|
1996-04-14 17:28:05 +00:00
|
|
|
|
rm -f junk.c junk.o junk junk.exe
|
1996-04-10 05:29:39 +00:00
|
|
|
|
Echo Checking what version of DJGPP is installed...
|
|
|
|
|
If Not "%DJGPP%" == "" goto djgppOk
|
|
|
|
|
Echo To compile 'Emacs' under MS-DOS you MUST have DJGPP installed!
|
|
|
|
|
Goto End
|
|
|
|
|
:djgppOk
|
|
|
|
|
echo int main() >junk.c
|
|
|
|
|
echo #ifdef __DJGPP__ >>junk.c
|
|
|
|
|
echo {return (__DJGPP__)*10;} >>junk.c
|
|
|
|
|
echo #else >>junk.c
|
|
|
|
|
echo #ifdef __GO32__ >>junk.c
|
|
|
|
|
echo {return 10;} >>junk.c
|
|
|
|
|
echo #else >>junk.c
|
|
|
|
|
echo {return 0;} >>junk.c
|
|
|
|
|
echo #endif >>junk.c
|
|
|
|
|
echo #endif >>junk.c
|
1996-04-14 17:28:05 +00:00
|
|
|
|
gcc -o junk junk.c
|
|
|
|
|
if not exist junk.exe coff2exe junk
|
1996-04-10 05:29:39 +00:00
|
|
|
|
junk
|
|
|
|
|
If ErrorLevel 10 Goto go32Ok
|
|
|
|
|
rm -f junk.c junk junk.exe
|
|
|
|
|
Echo To compile 'Emacs' under MS-DOS you MUST have DJGPP installed!
|
|
|
|
|
Goto End
|
|
|
|
|
:go32Ok
|
1996-04-12 15:44:42 +00:00
|
|
|
|
set djgpp_ver=1
|
|
|
|
|
If ErrorLevel 20 set djgpp_ver=2
|
1996-04-10 05:29:39 +00:00
|
|
|
|
rm -f junk.c junk junk.exe
|
2004-11-12 16:10:03 +00:00
|
|
|
|
rem The v1.x build does not need djecho
|
|
|
|
|
if "%DJGPP_VER%" == "1" Goto djechoOk
|
|
|
|
|
rem DJECHO is used by the top-level Makefile in the v2.x build
|
2000-11-23 15:37:17 +00:00
|
|
|
|
Echo Checking whether 'djecho' is available...
|
|
|
|
|
redir -o Nul -eo djecho -o junk.$$$ foo
|
|
|
|
|
If Exist junk.$$$ Goto djechoOk
|
|
|
|
|
Echo To build 'Emacs' you need the 'djecho.exe' program!
|
|
|
|
|
Echo 'djecho.exe' is part of 'djdevNNN.zip' basic DJGPP development kit.
|
|
|
|
|
Echo Versions of DJGPP before 2.02 called this program 'echo.exe'.
|
|
|
|
|
Echo Either unpack 'djecho.exe' from the 'djdevNNN.zip' archive,
|
|
|
|
|
Echo or, if you have 'echo.exe', copy it to 'djecho.exe'.
|
|
|
|
|
Echo Then run CONFIG.BAT again with the same arguments you did now.
|
|
|
|
|
Goto End
|
|
|
|
|
:djechoOk
|
|
|
|
|
rm -f junk.$$$
|
1996-04-12 15:44:42 +00:00
|
|
|
|
Echo Configuring for DJGPP Version %DJGPP_VER% ...
|
1994-10-17 07:35:36 +00:00
|
|
|
|
Rem ----------------------------------------------------------------------
|
1994-01-07 13:34:12 +00:00
|
|
|
|
Echo Configuring the source directory...
|
|
|
|
|
cd src
|
|
|
|
|
|
1999-03-30 16:28:40 +00:00
|
|
|
|
rem Create "epaths.h"
|
|
|
|
|
sed -f ../msdos/sed4.inp <epaths.in >epaths.tmp
|
|
|
|
|
update epaths.tmp epaths.h >nul
|
|
|
|
|
rm -f epaths.tmp
|
1994-01-07 13:34:12 +00:00
|
|
|
|
|
|
|
|
|
rem Create "config.h"
|
1994-10-17 07:35:36 +00:00
|
|
|
|
rm -f config.h2 config.tmp
|
1997-07-13 20:47:45 +00:00
|
|
|
|
sed -e '' config.in > config.tmp
|
1994-04-29 19:29:03 +00:00
|
|
|
|
if "%X11%" == "" goto src4
|
1995-09-02 16:25:34 +00:00
|
|
|
|
sed -f ../msdos/sed2x.inp <config.in >config.tmp
|
1994-04-29 19:29:03 +00:00
|
|
|
|
:src4
|
2002-04-16 17:39:08 +00:00
|
|
|
|
if "%DJGPP_VER%" == "2" Goto src41
|
1994-10-17 07:35:36 +00:00
|
|
|
|
sed -f ../msdos/sed2.inp <config.tmp >config.h2
|
2002-04-16 17:39:08 +00:00
|
|
|
|
goto src42
|
|
|
|
|
:src41
|
|
|
|
|
sed -f ../msdos/sed2v2.inp <config.tmp >config.h2
|
|
|
|
|
:src42
|
2004-11-12 18:18:43 +00:00
|
|
|
|
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
|
2004-11-27 18:22:45 +00:00
|
|
|
|
rem Two percent signs because it is a special character for COMMAND.COM/CMD
|
|
|
|
|
rem Filter thru Sed because "&" is special for CMD.EXE
|
|
|
|
|
echo int main(void) { return (unsigned long)"&"foo %% 8; } | sed "s/.&./\&/" >>junk.c
|
2004-11-12 18:18:43 +00:00
|
|
|
|
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
|
2004-11-27 12:28:40 +00:00
|
|
|
|
echo #define NO_DECL_ALIGN >>config.h2
|
2004-11-12 18:18:43 +00:00
|
|
|
|
:alignOk
|
|
|
|
|
rm -f junk.c junk junk.exe
|
1994-10-17 07:35:36 +00:00
|
|
|
|
update config.h2 config.h >nul
|
|
|
|
|
rm -f config.tmp config.h2
|
1994-01-07 13:34:12 +00:00
|
|
|
|
|
|
|
|
|
rem On my system dir.h gets in the way. It's a VMS file so who cares.
|
|
|
|
|
if exist dir.h ren dir.h vmsdir.h
|
|
|
|
|
|
1995-09-02 16:25:34 +00:00
|
|
|
|
rem Create "makefile" from "makefile.in".
|
1997-11-20 16:36:24 +00:00
|
|
|
|
rm -f Makefile junk.c
|
2000-05-01 15:19:27 +00:00
|
|
|
|
sed -e "1,/== start of cpp stuff ==/s@^# .*$@@" <Makefile.in >junk.c
|
1996-04-12 15:44:42 +00:00
|
|
|
|
If "%DJGPP_VER%" == "1" Goto mfV1
|
2001-01-08 17:23:43 +00:00
|
|
|
|
gcc -E -traditional junk.c | sed -f ../msdos/sed1v2.inp >Makefile
|
1996-04-10 05:29:39 +00:00
|
|
|
|
goto mfDone
|
|
|
|
|
:mfV1
|
2001-01-08 17:23:43 +00:00
|
|
|
|
gcc -E -traditional junk.c | sed -f ../msdos/sed1.inp >Makefile
|
1996-04-10 05:29:39 +00:00
|
|
|
|
:mfDone
|
1994-01-07 13:46:21 +00:00
|
|
|
|
rm -f junk.c
|
1995-09-02 16:25:34 +00:00
|
|
|
|
|
1994-10-17 07:35:36 +00:00
|
|
|
|
if "%X11%" == "" goto src5
|
1997-11-20 16:36:24 +00:00
|
|
|
|
mv Makefile makefile.tmp
|
|
|
|
|
sed -f ../msdos/sed1x.inp <makefile.tmp >Makefile
|
1994-10-17 07:35:36 +00:00
|
|
|
|
rm -f makefile.tmp
|
|
|
|
|
:src5
|
|
|
|
|
|
|
|
|
|
if "%nodebug%" == "" goto src6
|
1999-08-04 10:19:09 +00:00
|
|
|
|
sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp
|
1997-11-20 16:36:24 +00:00
|
|
|
|
sed -e "/^LDFLAGS *=/s/=/=-s/" <makefile.tmp >Makefile
|
1996-04-10 05:29:39 +00:00
|
|
|
|
rm -f makefile.tmp
|
1994-10-17 07:35:36 +00:00
|
|
|
|
:src6
|
1994-01-07 13:34:12 +00:00
|
|
|
|
cd ..
|
|
|
|
|
rem ----------------------------------------------------------------------
|
|
|
|
|
Echo Configuring the library source directory...
|
|
|
|
|
cd lib-src
|
|
|
|
|
rem Create "makefile" from "makefile.in".
|
2004-04-04 20:53:04 +00:00
|
|
|
|
sed -e "1,/== start of cpp stuff ==/s@^#[ ].*$@@" <Makefile.in >junk.c
|
2001-01-08 17:23:43 +00:00
|
|
|
|
gcc -E -traditional -I. -I../src junk.c | sed -e "s/^ / /" -e "/^#/d" -e "/^[ ]*$/d" >makefile.new
|
1996-04-12 15:44:42 +00:00
|
|
|
|
If "%DJGPP_VER%" == "2" goto libsrc-v2
|
1997-11-20 16:36:24 +00:00
|
|
|
|
sed -f ../msdos/sed3.inp <makefile.new >Makefile
|
1996-04-10 05:29:39 +00:00
|
|
|
|
Goto libsrc2
|
|
|
|
|
:libsrc-v2
|
1997-11-20 16:36:24 +00:00
|
|
|
|
sed -f ../msdos/sed3v2.inp <makefile.new >Makefile
|
1996-04-10 05:29:39 +00:00
|
|
|
|
:libsrc2
|
1994-10-17 07:35:36 +00:00
|
|
|
|
rm -f makefile.new junk.c
|
1996-04-10 05:29:39 +00:00
|
|
|
|
if "%nodebug%" == "" goto libsrc3
|
1999-08-04 10:19:09 +00:00
|
|
|
|
sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp
|
1997-11-20 16:36:24 +00:00
|
|
|
|
sed -e "/^ALL_CFLAGS *=/s/=/= -s/" <makefile.tmp >Makefile
|
1996-04-10 05:29:39 +00:00
|
|
|
|
rm -f makefile.tmp
|
|
|
|
|
:libsrc3
|
1994-10-17 07:35:36 +00:00
|
|
|
|
cd ..
|
|
|
|
|
rem ----------------------------------------------------------------------
|
|
|
|
|
if "%X11%" == "" goto oldx1
|
|
|
|
|
Echo Configuring the oldxmenu directory...
|
|
|
|
|
cd oldxmenu
|
1997-11-20 16:36:24 +00:00
|
|
|
|
sed -f ../msdos/sed5x.inp <Makefile.in >Makefile
|
1994-10-17 07:35:36 +00:00
|
|
|
|
if "%nodebug%" == "" goto oldx2
|
1999-08-04 10:19:09 +00:00
|
|
|
|
sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp
|
1997-11-20 16:36:24 +00:00
|
|
|
|
mv -f makefile.tmp Makefile
|
1994-10-17 07:35:36 +00:00
|
|
|
|
:oldx2
|
1994-01-07 13:34:12 +00:00
|
|
|
|
cd ..
|
1994-10-17 07:35:36 +00:00
|
|
|
|
:oldx1
|
1994-01-07 13:34:12 +00:00
|
|
|
|
rem ----------------------------------------------------------------------
|
2007-10-05 09:39:39 +00:00
|
|
|
|
Echo Configuring the doc directory...
|
|
|
|
|
cd doc
|
|
|
|
|
Rem The two variants for lispintro below is for when the shell
|
2002-05-31 15:13:32 +00:00
|
|
|
|
Rem supports long file names but DJGPP does not
|
2007-10-05 09:39:39 +00:00
|
|
|
|
for %%d in (emacs lispref lispintro lispintr misc) do sed -f ../msdos/sed6.inp < %%d\Makefile.in > %%d\Makefile
|
2001-11-24 11:41:23 +00:00
|
|
|
|
cd ..
|
|
|
|
|
rem ----------------------------------------------------------------------
|
2000-06-15 16:02:03 +00:00
|
|
|
|
Echo Configuring the lisp directory...
|
|
|
|
|
cd lisp
|
|
|
|
|
sed -f ../msdos/sedlisp.inp < Makefile.in > Makefile
|
|
|
|
|
cd ..
|
|
|
|
|
rem ----------------------------------------------------------------------
|
1999-01-07 12:27:19 +00:00
|
|
|
|
If not Exist leim\quail\latin-pre.el goto maindir
|
|
|
|
|
Echo Configuring the leim directory...
|
|
|
|
|
cd leim
|
|
|
|
|
sed -f ../msdos/sedleim.inp < Makefile.in > Makefile
|
|
|
|
|
cd ..
|
|
|
|
|
rem ----------------------------------------------------------------------
|
|
|
|
|
:maindir
|
1994-01-07 13:34:12 +00:00
|
|
|
|
Echo Configuring the main directory...
|
1996-04-15 18:48:06 +00:00
|
|
|
|
If "%DJGPP_VER%" == "1" goto mainv1
|
|
|
|
|
Echo Looking for the GDB init file...
|
2000-08-08 10:36:51 +00:00
|
|
|
|
If Exist src\.gdbinit update src/.gdbinit src/_gdbinit
|
1996-04-15 18:48:06 +00:00
|
|
|
|
If Exist src\_gdbinit goto gdbinitOk
|
|
|
|
|
Echo ERROR:
|
|
|
|
|
Echo I cannot find the GDB init file. It was called ".gdbinit" in
|
|
|
|
|
Echo the Emacs distribution, but was probably renamed to some other
|
|
|
|
|
Echo name without the leading dot when you untarred the archive.
|
|
|
|
|
Echo It should be in the "src/" subdirectory. Please make sure this
|
|
|
|
|
Echo file exists and is called "_gdbinit" with a leading underscore.
|
|
|
|
|
Echo Then run CONFIG.BAT again with the same arguments you did now.
|
|
|
|
|
goto End
|
|
|
|
|
:gdbinitOk
|
|
|
|
|
Echo Looking for the GDB init file...found
|
1997-11-20 16:36:24 +00:00
|
|
|
|
copy msdos\mainmake.v2 Makefile >nul
|
1996-04-15 18:48:06 +00:00
|
|
|
|
:mainv1
|
1997-11-20 16:36:24 +00:00
|
|
|
|
If "%DJGPP_VER%" == "1" copy msdos\mainmake Makefile >nul
|
1994-01-07 13:34:12 +00:00
|
|
|
|
rem ----------------------------------------------------------------------
|
1998-04-16 08:56:46 +00:00
|
|
|
|
goto End
|
|
|
|
|
:SmallEnv
|
|
|
|
|
echo Your environment size is too small. Please enlarge it and run me again.
|
|
|
|
|
echo For example, type "command.com /e:2048" to have 2048 bytes available.
|
|
|
|
|
set $foo$=
|
1994-01-07 13:34:12 +00:00
|
|
|
|
:end
|
1994-04-29 19:29:03 +00:00
|
|
|
|
set X11=
|
1994-10-17 07:35:36 +00:00
|
|
|
|
set nodebug=
|
1996-04-12 15:44:42 +00:00
|
|
|
|
set djgpp_ver=
|
2004-04-04 20:53:04 +00:00
|
|
|
|
|
|
|
|
|
goto skipArchTag
|
|
|
|
|
arch-tag: 2d2fed23-4dc6-4006-a2e4-49daf0031f33
|
|
|
|
|
:skipArchTag
|