config.bat 6.19 KB
Newer Older
Richard M. Stallman's avatar
Richard M. Stallman committed
1 2 3
@echo off
rem   ----------------------------------------------------------------------
rem   Configuration script for MSDOS
4 5
rem   Copyright (C) 1994 Free Software Foundation, Inc.

Richard M. Stallman's avatar
Richard M. Stallman committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
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
24 25 26 27 28
rem   + msdos version 3 or better.
rem   + djgpp version 1,11 maint 4 or better.
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
rem     line length limit.
Richard M. Stallman's avatar
Richard M. Stallman committed
29 30
rem   + rm, mv, chmod (From GNU file utilities).
rem   + sed.
31
rem
Morten Welinder's avatar
Morten Welinder committed
32 33 34 35
rem   You should be able to get all the above utilities from all
rem   Simtel repositories, e.g., oak.oakland.edu in the directories
rem   "/pub/msdos/djgpp" and "/pub/msdos/gnuish".  As usual, please
rem   use your local mirroring site to reduce trans-Atlantic traffic.
Richard M. Stallman's avatar
Richard M. Stallman committed
36
rem   ----------------------------------------------------------------------
Morten Welinder's avatar
Morten Welinder committed
37 38 39 40 41 42
set X11=
set nodebug=
:again
if "%1" == "" goto usage
if "%1" == "--with-x" goto withx
if "%1" == "--no-debug" goto nodebug
Richard M. Stallman's avatar
Richard M. Stallman committed
43 44
if "%1" == "msdos" goto msdos
:usage
Morten Welinder's avatar
Morten Welinder committed
45 46
echo Usage: config [--with-x] [--no-debug] msdos
echo [Read the script before you run it.]
Richard M. Stallman's avatar
Richard M. Stallman committed
47 48
goto end
rem   ----------------------------------------------------------------------
Morten Welinder's avatar
Morten Welinder committed
49 50 51 52
:withx
set X11=Y
shift
goto again
53
rem   ----------------------------------------------------------------------
Morten Welinder's avatar
Morten Welinder committed
54 55 56 57
:nodebug
set nodebug=Y
shift
goto again
Richard M. Stallman's avatar
Richard M. Stallman committed
58
rem   ----------------------------------------------------------------------
Morten Welinder's avatar
Morten Welinder committed
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
:msdos
Echo Checking whether `sed' is available...
Sed -e "w junk.$$$" <Nul
If Exist junk.$$$ Goto sedOk
Echo To configure `Emacs' you need to have `sed'!
Goto End
:sedOk
Echo Checking whether `rm' is available...
rm -f junk.$$$
If Not Exist junk.$$$ Goto rmOk
Echo To configure `Emacs' you need to have `rm'!
Goto End
:rmOk
Echo Checking whether `mv' is available...
rm -f junk.1 junk.2
echo foo >junk.1
mv junk.1 junk.2
If Exist junk.2 Goto mvOk
Echo To configure `Emacs' you need to have `mv'!
rm -f junk.1
Goto End
:mvOk
rm -f junk.2
Echo Checking whether `gcc' is available...
echo main(){} >junk.c
gcc -c junk.c
if exist junk.o goto gccOk
Echo To configure `Emacs' you need to have `gcc'!
rm -f junk.c
Goto End
:gccOk
rm -f junk.c junk.o
Rem   ----------------------------------------------------------------------
Richard M. Stallman's avatar
Richard M. Stallman committed
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
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"
Morten Welinder's avatar
Morten Welinder committed
120 121 122
sed -f ../msdos/sed4.inp <%PATHSH% >paths.tmp
update paths.tmp paths.h >nul
rm -f paths.tmp
Richard M. Stallman's avatar
Richard M. Stallman committed
123 124

rem   Create "config.h"
Morten Welinder's avatar
Morten Welinder committed
125
rm -f config.h2 config.tmp
126 127
cp %CONFIGH% config.tmp
if "%X11%" == "" goto src4
Morten Welinder's avatar
Morten Welinder committed
128
sed -f ../msdos/sed2x.inp <%CONFIGH% >config.tmp
129
:src4
Morten Welinder's avatar
Morten Welinder committed
130 131 132
sed -f ../msdos/sed2.inp <config.tmp >config.h2
update config.h2 config.h >nul
rm -f config.tmp config.h2
Richard M. Stallman's avatar
Richard M. Stallman committed
133 134 135 136

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

Morten Welinder's avatar
Morten Welinder committed
137
rem   Create "makefile" from "makefile.in.in".
138
rm -f makefile junk.c
139
sed -e "1,/cpp stuff/s@^# .*$@@" <%MAKEFILEIN% >junk.c
Richard M. Stallman's avatar
Richard M. Stallman committed
140
gcc -E junk.c | sed -f ../msdos/sed1.inp >makefile
141
rm -f junk.c
Morten Welinder's avatar
Morten Welinder committed
142 143 144 145 146 147 148 149 150 151
if "%X11%" == "" goto src5
mv makefile makefile.tmp
sed -f ../msdos/sed1x.inp <makefile.tmp >makefile
rm -f makefile.tmp
:src5

if "%nodebug%" == "" goto src6
sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp
mv -f makefile.tmp makefile
:src6
Richard M. Stallman's avatar
Richard M. Stallman committed
152 153 154 155
cd ..
rem   ----------------------------------------------------------------------
Echo Configuring the library source directory...
cd lib-src
Richard M. Stallman's avatar
Richard M. Stallman committed
156 157 158 159 160 161 162 163
set MAKEFILEIN=makefile.in-in
if exist %MAKEFILEIN% goto libsrc1
set MAKEFILEIN=makefile-in.in
if exist %MAKEFILEIN% goto libsrc1
echo makefile: *** The file originally called "lib-src/Makefile.in.in" cannot be found.
cd ..
goto end
:libsrc1
Richard M. Stallman's avatar
Richard M. Stallman committed
164
rem   Create "makefile" from "makefile.in".
165
sed -e "1,/cpp stuff/s@^# .*$@@" <%MAKEFILEIN% >junk.c
166 167
gcc -E -I. -I../src junk.c | sed -e "s/^ /	/" -e "/^#/d" -e "/^[ 	]*$/d" >Makefile.new
sed -f ../msdos/sed3.inp <makefile.new >makefile
Morten Welinder's avatar
Morten Welinder committed
168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
rm -f makefile.new junk.c
if "%nodebug%" == "" goto libsrc2
sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp
mv -f makefile.tmp makefile
:libsrc2
cd ..
rem   ----------------------------------------------------------------------
if "%X11%" == "" goto oldx1
Echo Configuring the oldxmenu directory...
cd oldxmenu
sed -f ../msdos/sed5x.inp <makefile.in >makefile
if "%nodebug%" == "" goto oldx2
sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp
mv -f makefile.tmp makefile
:oldx2
Richard M. Stallman's avatar
Richard M. Stallman committed
183
cd ..
Morten Welinder's avatar
Morten Welinder committed
184
:oldx1
Richard M. Stallman's avatar
Richard M. Stallman committed
185 186 187 188 189
rem   ----------------------------------------------------------------------
Echo Configuring the main directory...
copy msdos\mainmake makefile >nul
rem   ----------------------------------------------------------------------
:end
190
set X11=
Morten Welinder's avatar
Morten Welinder committed
191
set nodebug=
192 193 194
set MAKEFILEIN=
set PATHSH=
set CONFIGH=