]> gcc.gnu.org Git - gcc.git/blob - gcc/configure.lang
* Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 for
[gcc.git] / gcc / configure.lang
1 # configure.lang for GNU CC
2 # This script is run by configure for configuration of language
3 # subdirectories which conform to the old GCC configure mechanism
4 # for such subdirectories.
5
6 # Copyright (C) 1997, 1998 Free Software Foundation, Inc.
7
8 #This file is part of GNU CC.
9
10 #GNU CC is free software; you can redistribute it and/or modify
11 #it under the terms of the GNU General Public License as published by
12 #the Free Software Foundation; either version 2, or (at your option)
13 #any later version.
14
15 #GNU CC is distributed in the hope that it will be useful,
16 #but WITHOUT ANY WARRANTY; without even the implied warranty of
17 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 #GNU General Public License for more details.
19
20 #You should have received a copy of the GNU General Public License
21 #along with GNU CC; see the file COPYING. If not, write to
22 #the Free Software Foundation, 59 Temple Place - Suite 330,
23 #Boston, MA 02111-1307, USA.
24
25 savesrcdir=$srcdir
26
27 for subdir in . $oldstyle_subdirs
28 do
29 # We only want to do this in language subdirs, but we have to handle
30 # the case of $oldstyle_subdirs = "".
31 if [ $subdir = . ]
32 then
33 continue
34 fi
35
36 oldsrcdir=$savesrcdir
37
38 # Re-adjust the path
39 case $oldsrcdir in
40 /*)
41 srcdir=$oldsrcdir/$subdir
42 ;;
43 *)
44 oldsrcdir=../${oldsrcdir}
45 srcdir=$oldsrcdir/$subdir
46 ;;
47 esac
48 mainsrcdir=$oldsrcdir
49 STARTDIR=`pwd`
50 test -d $subdir || mkdir $subdir
51 cd $subdir
52
53 # Create Makefile.tem from Makefile.in.
54 # Make it set VPATH if necessary so that the sources are found.
55 # Also change its value of srcdir.
56 # Also create a .gdbinit file which runs the one in srcdir
57 # and tells GDB to look there for source files.
58 case $srcdir in
59 . | ./$subdir | .././$subdir)
60 rm -f Makefile.tem
61 cp Makefile.in Makefile.tem
62 chmod +w Makefile.tem
63 ;;
64 *)
65 rm -f Makefile.tem
66 echo "VPATH = ${srcdir}" \
67 | cat - ${srcdir}/Makefile.in \
68 | sed "s@^srcdir = \.@srcdir = ${srcdir}@" > Makefile.tem
69 rm -f .gdbinit
70 echo "dir ." > .gdbinit
71 echo "dir ${srcdir}" >> .gdbinit
72 echo "dir ${mainsrcdir}" >> .gdbinit
73 if [ x$gdb_needs_out_file_path = xyes ]
74 then
75 echo "dir ${mainsrcdir}/config/"`dirname ${out_file}` >> .gdbinit
76 fi
77 echo "source ${mainsrcdir}/.gdbinit" >> .gdbinit
78 ;;
79 esac
80
81 # Conditionalize the makefile for this host machine.
82 rm -f Makefile.xx Makefile.ll
83 merged_frags=
84 for f in .. ${host_xmake_file}
85 do
86 if [ -f ${mainsrcdir}/config/$f ]
87 then
88 cat ${mainsrcdir}/config/$f >> Makefile.ll
89 if [ x"${merged_frags}" != x ]
90 then
91 merged_frags="${merged_frags} and "
92 fi
93 merged_frags="${merged_frags}${f}"
94 fi
95 done
96 if [ x"${merged_frags}" != x ]
97 then
98 sed -e "/####host/ r Makefile.ll" Makefile.tem > Makefile.xx
99 echo "Merged ${merged_frags}."
100 rm -f Makefile.tem
101 mv Makefile.xx Makefile.tem
102 rm -f Makefile.ll
103 fi
104
105 # Add a definition for MAKE if system wants one.
106 case "$SET_MAKE" in
107 ?*)
108 rm -f Makefile.xx
109 (echo "$SET_MAKE"; cat Makefile.tem) >Makefile.xx
110 rm -f Makefile.tem
111 mv Makefile.xx Makefile.tem
112 esac
113
114 # Add a definition for INSTALL if system wants one.
115 # This substitutes for lots of x-* files.
116 if [ x$build_broken_install = x ]
117 then true
118 else
119 rm -f Makefile.xx
120 abssrcdir=`cd ${srcdir}; pwd`
121 sed "s|^INSTALL = .*|${INSTALL}|" Makefile.tem > Makefile.xx
122 rm -f Makefile.tem
123 mv Makefile.xx Makefile.tem
124 fi
125
126 # If using -program-transform-name, override the installation names.
127 if [ "x${program_transform_set}" = "xyes" ] ; then
128 sed -e "s/^program_transform_name[ ]*=.*$/program_transform_name =
129 $program_transform_name/" \
130 -e "s/^program_transform_cross_name[
131 ]*=.*$/program_transform_cross_name = $program_transform_name/" \
132 Makefile.tem > Makefile.xx
133 rm -f Makefile.tem
134 mv Makefile.xx Makefile.tem
135 fi
136
137 # Conditionalize the makefile for this target machine.
138 rm -f Makefile.xx Makefile.ll
139 merged_frags=
140 for f in .. ${tmake_file}
141 do
142 if [ -f ${mainsrcdir}/config/$f ]
143 then
144 cat ${mainsrcdir}/config/$f >> Makefile.ll
145 if [ x"${merged_frags}" != x ]
146 then
147 merged_frags="${merged_frags} and "
148 fi
149 merged_frags="${merged_frags}$f"
150 fi
151 done
152 if [ x"${merged_frags}" != x ]
153 then
154 sed -e "/####target/ r Makefile.ll" Makefile.tem > Makefile.xx
155 echo "Merged ${merged_frags}."
156 rm -f Makefile.tem
157 mv Makefile.xx Makefile.tem
158 rm -f Makefile.ll
159 fi
160
161 # If the host supports
162 # symlinks, point stage[123] at ../stage[123] so bootstrapping and the
163 # installation procedure can still use CC="stage1/xgcc -Bstage1/".
164 # If the host doesn't support symlinks, FLAGS_TO_PASS has been
165 # modified to solve the problem there.
166 for t in stage1 stage2 stage3 stage4 include
167 do
168 rm -f $t
169 $symbolic_link ../$t $t 2>/dev/null
170 done
171
172 # Remove all formfeeds, since some Makes get confused by them.
173 # Also arrange to give the variables `target', `target_alias',
174 # `host_xmake_file', `tmake_file', `prefix', `local_prefix',
175 # `exec_prefix', `INSTALL_HEADERS_DIR', `exeext'
176 # values in the Makefile from the values they have in this script.
177 rm -f Makefile.xx
178 # Create an empty Makefile.sed first, to work around a Nextstep 3.3 bug.
179 echo 's|\f||' > Makefile.sed
180 rm Makefile.sed
181 echo 's|\f||' > Makefile.sed
182 echo "s|^target=.*$|target=${target}|" >> Makefile.sed
183 echo "s|^target_alias=.*$|target_alias=${target_alias}|" >> Makefile.sed
184 echo "s|^xmake_file=.*$|xmake_file=${dep_host_xmake_file}|" >> Makefile.sed
185 echo "s|^tmake_file=.*$|tmake_file=${dep_tmake_file}|" >> Makefile.sed
186 echo "s|^version=.*$|version=${version}|" >> Makefile.sed
187 echo "s|^GCC_THREAD_FILE=.*$|GCC_THREAD_FILE=${thread_file}|" >> Makefile.sed
188 echo "s|^prefix[ ]*=.*|prefix = $prefix|" >> Makefile.sed
189 echo "s|^local_prefix[ ]*=.*|local_prefix = $local_prefix|" >> Makefile.sed
190 echo "s|^exec_prefix[ ]*=.*|exec_prefix = $exec_prefix|" >> Makefile.sed
191 echo "s|^INSTALL_HEADERS_DIR[ ]*=.*$|INSTALL_HEADERS_DIR = ${build_install_headers_dir}|" >> Makefile.sed
192 echo "s|^exeext[ ]*=.*$|exeext = ${build_exeext}|" >> Makefile.sed
193 sed -f Makefile.sed Makefile.tem > Makefile.xx
194 rm -f Makefile.tem Makefile.sed
195 mv Makefile.xx Makefile.tem
196
197 # Install Makefile for real, after making final changes.
198 # Define macro CROSS_COMPILE in compilation
199 # if this is a cross-compiler.
200 # Also use all.cross instead of all.internal
201 # and add cross-make to Makefile.
202 if [ x$host != x$target ]
203 then
204 rm -f Makefile.xx
205 echo "CROSS=-DCROSS_COMPILE" > Makefile.xx
206 sed -e "/####cross/ r ${mainsrcdir}/cross-make" Makefile.tem >> Makefile.xx
207 rm -f Makefile.tem
208 mv Makefile.xx Makefile.tem
209 fi
210
211 # When building gcc with a cross-compiler, we need to fix a few things.
212 # This must come after cross-make as we want all.build to override
213 # all.cross.
214 if [ x$build != x$host ]
215 then
216 rm -f Makefile.xx
217 echo "build= $build" > Makefile.xx
218 echo "host= $host" >> Makefile.xx
219 sed -e "s|objc-runtime$||" \
220 -e "/####build/ r ${mainsrcdir}/build-make" Makefile.tem >> Makefile.xx
221 rm -f Makefile.tem
222 mv Makefile.xx Makefile.tem
223 fi
224
225 rm -f Makefile
226 mv Makefile.tem Makefile
227 echo "Created \`$subdir/Makefile'."
228
229 cd $STARTDIR
230 done # end of current-dir SUBDIRS loop
231
232 # Restore this, remember we're invoked with `.'.
233 srcdir=$savesrcdir
This page took 0.051509 seconds and 6 git commands to generate.