config.bat 5.26 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
:msdos
60 61
Echo Checking whether 'sed' is available...
sed -e "w junk.$$$" <Nul
Morten Welinder's avatar
Morten Welinder committed
62
If Exist junk.$$$ Goto sedOk
63
Echo To configure 'Emacs' you need to have 'sed'!
Morten Welinder's avatar
Morten Welinder committed
64 65
Goto End
:sedOk
66
Echo Checking whether 'rm' is available...
Morten Welinder's avatar
Morten Welinder committed
67 68
rm -f junk.$$$
If Not Exist junk.$$$ Goto rmOk
69
Echo To configure 'Emacs' you need to have 'rm'!
Morten Welinder's avatar
Morten Welinder committed
70 71
Goto End
:rmOk
72
Echo Checking whether 'mv' is available...
Morten Welinder's avatar
Morten Welinder committed
73 74 75 76
rm -f junk.1 junk.2
echo foo >junk.1
mv junk.1 junk.2
If Exist junk.2 Goto mvOk
77
Echo To configure 'Emacs' you need to have 'mv'!
Morten Welinder's avatar
Morten Welinder committed
78 79 80 81
rm -f junk.1
Goto End
:mvOk
rm -f junk.2
82
Echo Checking whether 'gcc' is available...
Morten Welinder's avatar
Morten Welinder committed
83 84 85
echo main(){} >junk.c
gcc -c junk.c
if exist junk.o goto gccOk
86
Echo To configure 'Emacs' you need to have 'gcc'!
Morten Welinder's avatar
Morten Welinder committed
87 88 89 90 91
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
Echo Configuring the source directory...
cd src

rem   Create "paths.h"
96
sed -f ../msdos/sed4.inp <paths.in >paths.tmp
Morten Welinder's avatar
Morten Welinder committed
97 98
update paths.tmp paths.h >nul
rm -f paths.tmp
Richard M. Stallman's avatar
Richard M. Stallman committed
99 100

rem   Create "config.h"
Morten Welinder's avatar
Morten Welinder committed
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
Morten Welinder's avatar
Morten Welinder committed
106 107 108
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
109 110 111 112

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

113
rem   Create "makefile" from "makefile.in".
114
rm -f makefile junk.c
115
sed -e "1,/cpp stuff/s@^# .*$@@" <makefile.in >junk.c
Richard M. Stallman's avatar
Richard M. Stallman committed
116
gcc -E junk.c | sed -f ../msdos/sed1.inp >makefile
117
rm -f junk.c
118

Morten Welinder's avatar
Morten Welinder committed
119 120 121 122 123 124 125 126 127 128
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
129 130 131 132 133
cd ..
rem   ----------------------------------------------------------------------
Echo Configuring the library source directory...
cd lib-src
rem   Create "makefile" from "makefile.in".
134 135
sed -e "1,/cpp stuff/s@^# .*$@@" <makefile.in >junk.c
gcc -E -I. -I../src junk.c | sed -e "s/^ /	/" -e "/^#/d" -e "/^[ 	]*$/d" >makefile.new
136
sed -f ../msdos/sed3.inp <makefile.new >makefile
Morten Welinder's avatar
Morten Welinder committed
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
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
152
cd ..
Morten Welinder's avatar
Morten Welinder committed
153
:oldx1
Richard M. Stallman's avatar
Richard M. Stallman committed
154 155 156 157 158
rem   ----------------------------------------------------------------------
Echo Configuring the main directory...
copy msdos\mainmake makefile >nul
rem   ----------------------------------------------------------------------
:end
159
set X11=
Morten Welinder's avatar
Morten Welinder committed
160
set nodebug=