(x-frob-font-slant): Properly handle a match against
[bpt/emacs.git] / config.bat
1 @echo off
2 rem ----------------------------------------------------------------------
3 rem Configuration script for MSDOS
4 rem Copyright (C) 1994 Free Software Foundation, Inc.
5
6 rem This file is part of GNU Emacs.
7
8 rem GNU Emacs is free software; you can redistribute it and/or modify
9 rem it under the terms of the GNU General Public License as published by
10 rem the Free Software Foundation; either version 2, or (at your option)
11 rem any later version.
12
13 rem GNU Emacs is distributed in the hope that it will be useful,
14 rem but WITHOUT ANY WARRANTY; without even the implied warranty of
15 rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 rem GNU General Public License for more details.
17
18 rem You should have received a copy of the GNU General Public License
19 rem along with GNU Emacs; see the file COPYING. If not, write to
20 rem the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
21 rem ----------------------------------------------------------------------
22 rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:
23 rem
24 rem + msdos version 3 or better.
25 rem + djgpp version 1,11 maint 4 or better (but not version 2).
26 rem + make utility that allows breaking of the 128 chars limit on
27 rem command lines. ndmake (as of version 4.5) won't work due to a
28 rem line length limit. The make that comes with djgpp does work.
29 rem + rm, mv, chmod (From GNU file utilities).
30 rem + sed.
31 rem
32 rem You should be able to get all the above utilities from
33 rem oak.oakland.edu in the directories
34 rem "/pub/msdos/djgpp" and "/pub/msdos/gnuish". There are other mirror
35 rem sites as well.
36 rem ----------------------------------------------------------------------
37 set X11=
38 set nodebug=
39 :again
40 if "%1" == "" goto usage
41 if "%1" == "--with-x" goto withx
42 if "%1" == "--no-debug" goto nodebug
43 if "%1" == "msdos" goto msdos
44 :usage
45 echo Usage: config [--with-x] [--no-debug] msdos
46 echo [Read the script before you run it.]
47 goto end
48 rem ----------------------------------------------------------------------
49 :withx
50 set X11=Y
51 shift
52 goto again
53 rem ----------------------------------------------------------------------
54 :nodebug
55 set nodebug=Y
56 shift
57 goto again
58 rem ----------------------------------------------------------------------
59 :msdos
60 Echo Checking whether 'sed' is available...
61 sed -e "w junk.$$$" <Nul
62 If Exist junk.$$$ Goto sedOk
63 Echo To configure 'Emacs' you need to have 'sed'!
64 Goto End
65 :sedOk
66 Echo Checking whether 'rm' is available...
67 rm -f junk.$$$
68 If Not Exist junk.$$$ Goto rmOk
69 Echo To configure 'Emacs' you need to have 'rm'!
70 Goto End
71 :rmOk
72 Echo Checking whether 'mv' is available...
73 rm -f junk.1 junk.2
74 echo foo >junk.1
75 mv junk.1 junk.2
76 If Exist junk.2 Goto mvOk
77 Echo To configure 'Emacs' you need to have 'mv'!
78 rm -f junk.1
79 Goto End
80 :mvOk
81 rm -f junk.2
82 Echo Checking whether 'gcc' is available...
83 echo main(){} >junk.c
84 gcc -c junk.c
85 if exist junk.o goto gccOk
86 Echo To configure 'Emacs' you need to have 'gcc'!
87 rm -f junk.c
88 Goto End
89 :gccOk
90 rm -f junk.c junk.o
91 Rem ----------------------------------------------------------------------
92 Echo Configuring the source directory...
93 cd src
94
95 rem Create "paths.h"
96 sed -f ../msdos/sed4.inp <paths.in >paths.tmp
97 update paths.tmp paths.h >nul
98 rm -f paths.tmp
99
100 rem Create "config.h"
101 rm -f config.h2 config.tmp
102 cp config.in config.tmp
103 if "%X11%" == "" goto src4
104 sed -f ../msdos/sed2x.inp <config.in >config.tmp
105 :src4
106 sed -f ../msdos/sed2.inp <config.tmp >config.h2
107 update config.h2 config.h >nul
108 rm -f config.tmp config.h2
109
110 rem On my system dir.h gets in the way. It's a VMS file so who cares.
111 if exist dir.h ren dir.h vmsdir.h
112
113 rem Create "makefile" from "makefile.in".
114 rm -f makefile junk.c
115 sed -e "1,/cpp stuff/s@^# .*$@@" <makefile.in >junk.c
116 gcc -E junk.c | sed -f ../msdos/sed1.inp >makefile
117 rm -f junk.c
118
119 if "%X11%" == "" goto src5
120 mv makefile makefile.tmp
121 sed -f ../msdos/sed1x.inp <makefile.tmp >makefile
122 rm -f makefile.tmp
123 :src5
124
125 if "%nodebug%" == "" goto src6
126 sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp
127 mv -f makefile.tmp makefile
128 :src6
129 cd ..
130 rem ----------------------------------------------------------------------
131 Echo Configuring the library source directory...
132 cd lib-src
133 rem Create "makefile" from "makefile.in".
134 sed -e "1,/cpp stuff/s@^# .*$@@" <makefile.in >junk.c
135 gcc -E -I. -I../src junk.c | sed -e "s/^ / /" -e "/^#/d" -e "/^[ \f]*$/d" >makefile.new
136 sed -f ../msdos/sed3.inp <makefile.new >makefile
137 rm -f makefile.new junk.c
138 if "%nodebug%" == "" goto libsrc2
139 sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp
140 mv -f makefile.tmp makefile
141 :libsrc2
142 cd ..
143 rem ----------------------------------------------------------------------
144 if "%X11%" == "" goto oldx1
145 Echo Configuring the oldxmenu directory...
146 cd oldxmenu
147 sed -f ../msdos/sed5x.inp <makefile.in >makefile
148 if "%nodebug%" == "" goto oldx2
149 sed -e "/^CFLAGS *=/s/ *-g//" <makefile >makefile.tmp
150 mv -f makefile.tmp makefile
151 :oldx2
152 cd ..
153 :oldx1
154 rem ----------------------------------------------------------------------
155 Echo Configuring the main directory...
156 copy msdos\mainmake makefile >nul
157 rem ----------------------------------------------------------------------
158 :end
159 set X11=
160 set nodebug=