annotate configure1.in @ 605:5f36058e31f9

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Sat, 04 Apr 1992 05:55:39 +0000
parents 470f556a9453
children cde1f15848c6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
603
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 #!/bin/sh
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2 # Configuration script for GNU Emacs
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3 # Copyright (C) 1992 Free Software Foundation, Inc.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 #This file is part of GNU Emacs.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 #GNU Emacs is free software; you can redistribute it and/or modify
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 #it under the terms of the GNU General Public License as published by
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 #the Free Software Foundation; either version 1, or (at your option)
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 #any later version.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 #GNU Emacs is distributed in the hope that it will be useful,
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 #but WITHOUT ANY WARRANTY; without even the implied warranty of
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 #GNU General Public License for more details.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 #You should have received a copy of the GNU General Public License
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 #along with GNU Emacs; see the file COPYING. If not, write to
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 #the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 # Shell script to edit files and make symlinks in preparation for
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22 # compiling Emacs.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23 #
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24 # Usage: configure machine
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25 #
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 # If configure succeeds, it leaves its status in config.status.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27 # If configure fails after disturbing the status quo,
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28 # config.status is removed.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29 #
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 progname=$0
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 short_usage="Type \`${progname} -usage' for more information about options."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 usage_message="Usage: ${progname} MACHINENAME [-OPTION[=VALUE] ...]
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 Set compilation and installation parameters for GNU Emacs, and report.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37 MACHINENAME is the machine to build for. See \`etc/MACHINES'.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 Options are:
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 -opsystem=SYSTEM - operating system to build for; see \`etc/MACHINES'.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 -libroot=DIR - where to install Emacs's library files
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 These options have reasonable defaults (in []s), and may not be needed:
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 -g, -O - Passed to the compiler. If omitted, use -O only.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 -cc=COMPILER - Which compiler to use. Defaults to gcc if available.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 -libdir=DIR - where to look for arch-dependent library files
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 -datadir=DIR - where to look for architecture-independent library files
605
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
46 -bindir=DIR - where to install the Emacs executable, and some friends
603
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 -lisppath=PATH - colon-separated list of Elisp directories
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48 -lockdir=DIR - where Emacs should do its file-locking stuff
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49 -window_system=none or [x11, if it is installed] - what window system to use
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
50 -have_x_menu=yes or [no] - include menu support under X11
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51 -gnu_malloc=[yes] or no - use the GNU memory allocator
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 -rel_alloc=[yes] or no - use compacting allocator for buffers
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53 -highpri=N - run at N points higher-than-normal priority
605
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
54 -lisp_float_type=[yes] or no - Support native floating point in Elisp
603
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55 If successful, ${progname} leaves its status in config.status. If
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 unsuccessful after disturbing the status quo, config.status is removed."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58 if [ ! -r ./src/lisp.h ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 echo "${progname}: Can't find Emacs sources in \`./src'.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60 Run this config script in the top directory of the Emacs source tree." 1>&2
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61 exit 1
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64 options=":\
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65 usage:help:\
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66 machine:opsystem:\
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67 g:O:cc:\
605
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
68 libroot:datadir:libdir:bindir:lisppath:lockdir:\
603
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69 gnu_malloc:rel_alloc:highpri:lisp_float_type:\
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70 window_system:have_x_menu:\
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71 "
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73 boolean_opts=":\
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74 g:O:\
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75 gnu_malloc:rel_alloc:lisp_float_type:have_x_menu:\
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76 "
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
77
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78 config_h_opts=":\
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
79 highpri:gnu_malloc:rel_alloc:lisp_float_type:\
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
80 have_x_windows:have_x11:have_x_menu:\
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81 c_switch_site:sigtype:\
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
82 "
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
83
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
84 libroot=
605
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
85 bindir=/usr/local/bin
603
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
86 gnu_malloc=yes
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
87 lisp_float_type=yes
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89 # The default values for the following options are guessed at after other
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90 # options have been checked and given values, so we set them to null here.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91 lisppath=""
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92 datadir=""
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93 libdir=""
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
94 lockdir=""
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
95 window_system=""
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
96 have_x_menu=""
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
97
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
98 # This must be the only option on the line, and it can't be abbreviated.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99 # This keeps it from interfering with the other, documented options.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100 if [ "$*" = "+distribute" ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101 libroot=/usr/local/lib/emacs
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
102 machine=hp300bsd
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
103 opsystem=bsd4-3
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104 shift
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
105 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
107 echo "Examining options..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
108 for arg in $*; do
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
109 case "${arg}" in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
110 -*)
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
111 # Separate the switch name from the value it's being given.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
112 case "${arg}" in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
113 -*=* )
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114 opt=`echo ${arg} | sed 's:^-\([^=]*\)=.*$:\1:'`
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
115 val=`echo ${arg} | sed 's:^-[^=]*=\(.*\)$:\1:'`
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
116 valomitted=no
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
117 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
118 -* )
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
119 # If FOO is a boolean argument, -FOO is equivalent to -FOO=yes.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
120 opt=`echo ${arg} | sed 's:^-\(.*\)$:\1:'`
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
121 val="yes"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
122 valomitted=yes
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
123 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
124 esac
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
125
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
126 # Make sure the argument is valid and unambiguous.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
127 case ${options} in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
128 *:${opt}:* ) # Exact match.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
129 optvar=${opt}
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
130 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
131 *:${opt}*:${opt}*:* ) # Ambiguous prefix.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132 echo "\`-${opt}' is an ambiguous switch; it could be any of the following:"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
133 echo `echo ${options} | tr ':' '\012' | grep '^'${opt}`
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
134 echo ${short_usage}
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
135 exit 1
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
136 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137 *:${opt}*:* ) # Unambigous prefix.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138 optvar=`echo ${options} | sed 's/^.*:\('${opt}'[^:]*\):.*$/\1/'`
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
139 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
140 * )
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
141 (echo "\`-${opt}' is not a valid option."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
142 echo "${short_usage}") | more
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
143 exit 1
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
144 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
145 esac
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
146
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
147 case "${optvar}" in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
148 usage | help)
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
149 echo "${usage_message}" | more
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
150 exit 1
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
151 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
152 esac
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
153
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
154 # If the variable is supposed to be boolean, make sure the value
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
155 # given is either "yes" or "no". If not, make sure some value
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
156 # was given.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
157 case "${boolean_opts}" in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
158 *:${optvar}:* )
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
159 case "${val}" in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
160 y | ye | yes ) val=yes ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
161 n | no ) val=no ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
162 * )
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
163 echo "The \`-${optvar}' option (\`-${opt}') is supposed to have a boolean
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
164 value - set it to either \`yes' or \`no'." 1>&2
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
165 exit 1
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
166 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
167 esac
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
168 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
169 *)
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
170 if [ "${valomitted}" = "yes" ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
171 (echo "${progname}: You must give a value for the \`-${opt}' option, as in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
172 \`-${opt}=FOO'."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
173 echo "${short_usage}") | more
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
174 exit 1
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
175 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
176 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
177 esac
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
178
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
179 eval "${optvar}=\"${val}\""
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
180 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
181 *)
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
182 machine=${arg}
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
183 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
184 esac
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
185 done
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
186
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
187 if [ "${machine}" = "" ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
188 (echo "You must specify a machine name as an argument to ${progname}."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
189 echo "${short_usage}") | more
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
190 exit 1
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
191 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
192
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
193 echo "Checking machine..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
194 machfile="m/${machine}.h"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
195 if [ ! -r src/${machfile} ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
196 echo "${progname}: Emacs has no configuration info for the machine called
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
197 \`${machine}'. Look at etc/MACHINES for the names of machines
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
198 that Emacs has been ported to." 1>&2
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
199 exit 1
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
200 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
201
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
202 echo "Checking operating system..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
203 if [ "${opsystem}" = "" ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
204
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
205 echo " No operating system explicitly specified."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
206 echo " Guessing, based on machine..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
207 # Get the default operating system to go with the specified machine.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
208 opsystem=`grep 'USUAL-OPSYS="' src/${machfile} \
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
209 | sed 's/^.*USUAL-OPSYS="\([^"]*\)".*$/\1/'`
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
210
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
211 if [ "${opsystem}" = "" ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
212 echo "${progname}: Emacs's configuration files don't suggest what operating
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
213 system a \`${machine}' machine might run. Try specifying the
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
214 operating system explicitly by passing ${progname} an
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
215 \`-opsystem=SYSTEM-NAME' flag. Look at etc/MACHINES for the
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
216 names of operating systems that Emacs has been ported to." 1>&2
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
217 exit 1
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
218 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
219
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
220 if [ "${opsystem}" = "note" ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
221 echo "The \`${machine}' machine can be used with more than one operating
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
222 system, and Emacs's configuration info isn't clever enough to figure
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
223 out which one you're running. Run ${progname} with -machine and
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
224 -opsystem arguments as specified below for the appropriate system.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
225 (This information comes from the file \`etc/MACHINES' - see that
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
226 file for more detail.)
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
227
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
228 " 1>&2
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
229 sed < src/${machfile} -e '1,/NOTE-START/d' -e '/NOTE-END/,$d' | more
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
230 echo
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
231 exit 1
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
232 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
233
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
234 opsysfile="s/${opsystem}.h"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
235 if [ ! -r src/${opsysfile} ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
236 echo "${progname}: Emacs's configuration files say that the default
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
237 operating system for the machine \`${machine}' is \`${opsystem}',
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
238 but there is no configuration file for \`${opsystem}', so Emacs's
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
239 default info is screwed up. Try specifying the operating system
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
240 explicitly by passing ${progname} an \`-opsystem=SYSTEM-NAME' flag." 1>&2
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
241 exit 1
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
242 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
243 else
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
244 opsysfile="s/${opsystem}.h"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
245 if [ ! -r src/${opsysfile} ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
246 echo "${progname}: Emacs has no configuration info for the operating system
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
247 \`${opsystem}'. Look at etc/MACHINES for the names of operating
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
248 systems that Emacs has been ported to." 1>&2
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
249 exit 1
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
250 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
251 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
252
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
253 if [ "${libroot}" = "" ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
254 echo "Guessing library directory..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
255 libroot=`/bin/pwd`
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
256 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
257
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
258 echo "Checking window system..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
259 window_system="`echo ${window_system} | tr A-Z a-z`"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
260 case "${window_system}" in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
261 "none" | "x11" | "x10" ) ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
262 "x" ) window_system=x11 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
263 "" )
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
264 echo " No window system specifed. Looking for X Windows."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
265 window_system=none
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
266 if [ -r /usr/lib/libX11.a -a -d /usr/include/X11 ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
267 window_system=x11
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
268 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
269 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
270 * )
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
271 echo "The \`-window_system' option must be set to \`none' or \`X11'." 1>&2
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
272 exit 1
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
273 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
274 esac
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
275
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
276 case "${window_system}" in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
277 x11 )
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
278 have_x_windows=yes
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
279 have_x11=yes
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
280 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
281 x10 )
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
282 have_x_windows=yes
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
283 have_x11=no
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
284 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
285 none )
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
286 have_x_windows=no
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
287 have_x11=no
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
288 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
289 esac
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
290
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
291 # What is the return type of a signal handler? We grep
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
292 # /usr/include/signal.h for the declaration of the signal function.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
293 # Yuck.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
294 echo "Looking for return type of signal handler functions..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
295 if [ -r /usr/include/signal.h ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
296 sigpattern='[ ]*([ ]*\*[ ]*signal[ ]*('
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
297 sigtype=void
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
298 if grep -s "int${sigpattern}" /usr/include/signal.h; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
299 sigtype=int
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
300 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
301 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
302
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
303
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
304 # Do the opsystem or machine files prohibit the use of the GNU malloc?
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
305 echo "Checking to see if the GNU malloc routines are permissible..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
306 if (cd ./src;grep SYSTEM_MALLOC ${opsysfile} ${machfile} > /dev/null); then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
307 gnu_malloc=no
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
308 gnu_malloc_reason="
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
309 (The GNU allocators don't work with this machine and/or operating system.)"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
310 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
311
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
312 rel_alloc=${gnu_malloc}
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
313
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
314 if [ "${have_x_menu}" = "" ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
315 have_x_menu=no
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
316 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
317
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
318 if [ "${lisppath}" = "" ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
319 lisppath=${libroot}/local-lisp:${libroot}/lisp
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
320 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
321
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
322 if [ "${datadir}" = "" ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
323 datadir=${libroot}/etc
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
324 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
325
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
326 if [ "${libdir}" = "" ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
327 libdir=${libroot}/arch-lib
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
328 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
329
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
330 if [ "${lockdir}" = "" ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
331 lockdir=${libroot}/lock
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
332 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
333
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
334 echo "Checking for GCC..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
335 case "${cc}" in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
336 "" )
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
337 temppath=`echo $PATH | sed 's/^:/.:/
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
338 s/::/:.:/g
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
339 s/:$/:./
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
340 s/:/ /g'`
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
341 cc=`(
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
342 for dir in ${temppath}; do
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
343 if [ -f ${dir}/gcc ]; then echo gcc; exit 0; fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
344 done
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
345 echo cc
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
346 )`
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
347 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
348 esac
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
349
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
350 case "${O},${g},${cc}" in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
351 ,,gcc ) O=yes; g=yes ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
352 ,,* ) O=yes; g=no ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
353 esac
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
354
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
355 echo "Guessing which libraries the lib-src programs will want,"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
356 echo " based on the machine- and system-dependent files..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
357 echo '#include "src/'${machfile}'"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
358 #include "src/'${opsysfile}'"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
359 #ifndef LIBS_MACHINE
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
360 #define LIBS_MACHINE
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
361 #endif
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
362 #ifndef LIBS_SYSTEM
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
363 #define LIBS_SYSTEM
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
364 #endif
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
365 libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
366 ' > config-tmp-$$.c
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
367 eval `${cc} -E config-tmp-$$.c | grep 'libsrc_libs='`
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
368 rm config-tmp-$$.c
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
369
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
370 rm -f config.status
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
371 set -e
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
372
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
373 # Make the proper settings in the config file.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
374 echo "Making src/config.h from src/config.h-dist"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
375 if [ "${highpri}" != "" ]; then
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
376 highpri="(-${highpri})"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
377 fi
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
378 case "${g}" in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
379 "yes" ) c_switch_site="${c_switch_site} -g" ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
380 esac
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
381 case "${O}" in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
382 "yes" ) c_switch_site="${c_switch_site} -O" ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
383 esac
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
384 sed_flags="-e 's:@machine@:${machfile}:'"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
385 sed_flags="${sed_flags} -e 's:@opsystem@:${opsysfile}:'"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
386 for flag in `echo ${config_h_opts} | tr ':' ' '`; do
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
387 cflagname=`echo ${flag} | tr a-z A-Z`
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
388 val=`eval echo '$'${flag}`
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
389 case ${val} in
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
390 no | "")
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
391 f="-e 's:.*#define ${cflagname}.*:/\\* #define ${cflagname} \\*/:'"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
392 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
393 yes)
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
394 f="-e 's:.*#define ${cflagname}.*:#define ${cflagname}:'"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
395 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
396 *)
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
397 f="-e 's:.*#define ${cflagname}.*:#define ${cflagname} ${val}:'"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
398 ;;
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
399 esac
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
400 sed_flags="${sed_flags} ${f}"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
401 done
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
402 eval '/bin/sed '${sed_flags}' < src/config.h-dist > src/config.h'
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
403
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
404 # Modify the parameters in the top makefile.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
405 echo "Editing ./Makefile..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
406 tempMakefile="tempMakefile"$$
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
407 /bin/sed < Makefile > ${tempMakefile} \
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
408 -e 's;^\(LIBROOT=\).*$;\1'"${libroot};" \
605
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
409 -e 's;^\(BINDIR=\).*$;\1'"${bindir};" \
603
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
410 -e 's;^\(LISPPATH=\).*$;\1'"${lisppath};" \
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
411 -e 's;^\(DATADIR=\).*$;\1'"${datadir};" \
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
412 -e 's;^\(LOCKDIR=\).*$;\1'"${lockdir};" \
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
413 -e 's;^\(LIBDIR=\).*$;\1'"${libdir};"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
414 mv ${tempMakefile} Makefile
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
415
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
416 # Modify the parameters in the `build-install' script.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
417 echo "Editing ./build-install..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
418 tempbi="tempbi"$$
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
419 /bin/sed < build-install > ${tempbi} \
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
420 -e 's;^\(LIBROOT=\).*$;\1'"${libroot};" \
605
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
421 -e 's;^\(BINDIR=\).*$;\1'"${bindir};" \
603
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
422 -e 's;^\(LISPPATH=\).*$;\1'"${lisppath};" \
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
423 -e 's;^\(DATADIR=\).*$;\1'"${datadir};" \
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
424 -e 's;^\(LOCKDIR=\).*$;\1'"${lockdir};" \
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
425 -e 's;^\(LIBDIR=\).*$;\1'"${libdir};"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
426 mv ${tempbi} build-install
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
427 chmod a+x build-install
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
428
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
429 # Modify the parameters in the src makefile.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
430 echo "Editing src/Makefile..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
431 tempMakefile="tempMakefile"$$
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
432 /bin/sed < src/Makefile > ${tempMakefile} \
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
433 -e 's;^\(CC[ ]*=\).*$;\1'"${cc};"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
434 mv ${tempMakefile} src/Makefile
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
435
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
436 # Modify the parameters in the lib-src makefile.
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
437 echo "Editing lib-src/Makefile..."
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
438 tempMakefile="tempMakefile"$$
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
439 /bin/sed < lib-src/Makefile > ${tempMakefile} \
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
440 -e 's;^\(CFLAGS=\).*$;\1'"${c_switch_site};" \
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
441 -e 's;^\(LOADLIBES=\).*$;\1'"${libsrc_libs};" \
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
442 -e 's;^\(CC=\).*$;\1'"${cc};"
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
443 mv ${tempMakefile} lib-src/Makefile
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
444
605
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
445 # Create a verbal description of what we have done.
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
446 message="# Configured for machine \`${machine}' running \`${opsystem}'.
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
447 # The following values have been set in ./Makefile and ./build-install:
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
448 # Executables will be placed in
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
449 # ${bindir}.
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
450 # Emacs's lisp search path will be
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
451 # \`${lisppath}'.
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
452 # Emacs will look for its architecture-independent data in
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
453 # ${datadir}.
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
454 # Emacs will look for its utility programs and other architecture-
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
455 # dependent data in
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
456 # ${libdir}.
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
457 # Emacs will keep track of file-locking in
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
458 # ${lockdir}.
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
459 # The following values have been set in src/config.h:
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
460 # At how much higher than normal priority should Emacs run? ${highpri-none}
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
461 # Should Emacs use the GNU version of malloc? ${gnu_malloc}${gnu_malloc_reason}
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
462 # Should Emacs use the relocating allocator for buffers? ${rel_alloc}
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
463 # Should Emacs support a floating point Elisp type? ${lisp_float_type}
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
464 # What window system should Emacs use? ${window_system}
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
465 # Should Emacs support mouse menus, which require X11? ${have_x_menu}
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
466 # What compiler should emacs be built with? ${cc}
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
467 # Should the compilation use \`-g' and/or \`-O'? ${c_switch_site- neither}"
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
468
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
469 # Document the damage we have done by writing config.status.
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
470
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
471 echo '#!/bin/sh' > config.status
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
472
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
473 echo "# This file is generated by \`${progname}.'
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
474 # If you are thinking about editing it, you should seriously consider
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
475 # running \`${progname}' instead.
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
476 " >> config.status
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
477 echo "${message}" >> config.status
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
478 echo "'${progname}' \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
479 -machine='${machine}' \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
480 -opsystem='${opsystem}' \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
481 -g=${g} \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
482 -O=${O} \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
483 -cc=${cc} \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
484 -libdir='${libdir}' \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
485 -datadir='${datadir}' \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
486 -bindir='${bindir}' \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
487 -lisppath='${lisppath}' \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
488 -lockdir='${lockdir}' \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
489 -window_system='${window_system}' \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
490 -have_x_menu='${have_x_menu}' \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
491 -gnu_malloc='${gnu_malloc}'
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
492 -rel_malloc='${rel_alloc}' \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
493 -highpri='${highpri}' \\
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
494 -lisp_float_type='${lisp_float_type}'" >> config.status
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
495 chmod +x config.status
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
496
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
497 # Print the description.
603
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
498 echo
605
5f36058e31f9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 603
diff changeset
499 echo "${message}" | sed -e 's/^# //'
603
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
500
470f556a9453 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
501 exit 0