config.bat 3.71 KB
Newer Older
Richard M. Stallman's avatar
Richard M. Stallman committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
@echo off
rem   ----------------------------------------------------------------------
rem   Configuration script for MSDOS
rem   This file is part of GNU Emacs.

rem   GNU Emacs is free software; you can redistribute it and/or modify
rem   it under the terms of the GNU General Public License as published by
rem   the Free Software Foundation; either version 2, or (at your option)
rem   any later version.

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
rem   along with GNU Emacs; see the file COPYING.  If not, write to
rem   the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
rem   ----------------------------------------------------------------------
rem   YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:
rem
rem   + djgpp.
rem   + make utility that allows breaking of 128 chars limit of commands.
rem     ndmake (as of version 4.5) won't work due to a line length limit.
rem   + rm, mv, chmod (From GNU file utilities).
rem   + sed.
rem   + patch (Larry Wall's for instance.  I think it's supplied with djgpp).
rem   ----------------------------------------------------------------------
if not "%2" == "" goto usage
if "%1" == "msdos" goto msdos
:usage
echo Usage: config msdos
echo [Read the script before you run it; also check that you have all the
echo necessary utilities.]
goto end
rem   ----------------------------------------------------------------------
:msdos
rem   Change to the Emacs root
cd c:\emacs
rem   ----------------------------------------------------------------------
Echo Configuring the source directory...
cd src
set PATHSH=paths-h.in
if exist %PATHSH% goto src1
set PATHSH=paths.h-in
if exist %PATHSH% goto src1
echo config: *** The file originally called "src/paths.h.in" cannot be found.
cd ..
goto end
:src1
set CONFIGH=config-h.in
if exist %CONFIGH% goto src2
set CONFIGH=config.h-in
if exist %CONFIGH% goto src2
echo config: *** The file originally called "src/config.h.in" cannot be found.
cd ..
goto end
:src2
set MAKEFILEIN=makefile.in-in
if exist %MAKEFILEIN% goto src3
set MAKEFILEIN=makefile-in.in
if exist %MAKEFILEIN% goto src3
echo makefile: *** The file originally called "src/makefile.in.in" cannot be found.
cd ..
goto end
:src3

rem   Create "paths.h"
rm -f paths.h
sed -e "s!/lib/emacs!!" -e "s!/usr/local!c:/emacs!" -e "s!/data!/etc!" <%PATHSH% >paths.h

rem   Create "config.h"
rm -f config.h
sed -f ../msdos/sed2.inp <%CONFIGH% >config.h

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

rem   Create "makefile" from "makefile.in.in" using a context patch.
rm -f makefile
cp %MAKEFILEIN% makefile
patch -p1 -B ! -r patch.rjt makefile ../msdos/patch1
echo All hunks above should have passed!  If they didn't, you'll have to
echo update manually.  That should be easy though.
mv makefile junk.c
gcc -E junk.c | sed -f ../msdos/sed1.inp >makefile
del !makefile
del junk.c
cd ..
rem   ----------------------------------------------------------------------
Echo Configuring the library source directory...
cd lib-src
rem   Create "makefile" from "makefile.in".
copy makefile makefile.bak >nul
sed -f ../msdos/sed3.inp <makefile.in >makefile
cd ..
rem   ----------------------------------------------------------------------
Echo Configuring the main directory...
copy msdos\mainmake makefile >nul
rem   ----------------------------------------------------------------------
:end