Skip to content

Commit cdf97db

Browse files
author
jbglaw
committed
Update from upstream Automake files.
2014-11-16 Jan-Benedict Glaw <[email protected]> * compile: Sync with upstream Automake. * depcomp: Ditto. * install-sh: Ditto. * missing: Ditto. * mkinstalldirs: Ditto. * ylwrap: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217627 138bc75d-0d04-0410-961f-82ee72b054a4
1 parent 7b8d51c commit cdf97db

File tree

7 files changed

+1005
-836
lines changed

7 files changed

+1005
-836
lines changed

ChangeLog

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
2014-11-16 Jan-Benedict Glaw <[email protected]>
2+
3+
* compile: Sync with upstream Automake.
4+
* depcomp: Ditto.
5+
* install-sh: Ditto.
6+
* missing: Ditto.
7+
* mkinstalldirs: Ditto.
8+
* ylwrap: Ditto.
9+
110
2014-11-16 Jan-Benedict Glaw <[email protected]>
211

312
* config.sub: Update from upstream config repo.

compile

+220-16
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
#! /bin/sh
2-
# Wrapper for compilers which do not understand `-c -o'.
2+
# Wrapper for compilers which do not understand '-c -o'.
33

4-
scriptversion=2009-04-28.21; # UTC
4+
scriptversion=2012-10-14.11; # UTC
55

6-
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
7-
# Foundation, Inc.
6+
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
87
# Written by Tom Tromey <[email protected]>.
98
#
109
# This program is free software; you can redistribute it and/or modify
@@ -29,21 +28,224 @@ scriptversion=2009-04-28.21; # UTC
2928
# bugs to <[email protected]> or send patches to
3029
3130

31+
nl='
32+
'
33+
34+
# We need space, tab and new line, in precisely that order. Quoting is
35+
# there to prevent tools from complaining about whitespace usage.
36+
IFS=" "" $nl"
37+
38+
file_conv=
39+
40+
# func_file_conv build_file lazy
41+
# Convert a $build file to $host form and store it in $file
42+
# Currently only supports Windows hosts. If the determined conversion
43+
# type is listed in (the comma separated) LAZY, no conversion will
44+
# take place.
45+
func_file_conv ()
46+
{
47+
file=$1
48+
case $file in
49+
/ | /[!/]*) # absolute file, and not a UNC file
50+
if test -z "$file_conv"; then
51+
# lazily determine how to convert abs files
52+
case `uname -s` in
53+
MINGW*)
54+
file_conv=mingw
55+
;;
56+
CYGWIN*)
57+
file_conv=cygwin
58+
;;
59+
*)
60+
file_conv=wine
61+
;;
62+
esac
63+
fi
64+
case $file_conv/,$2, in
65+
*,$file_conv,*)
66+
;;
67+
mingw/*)
68+
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
69+
;;
70+
cygwin/*)
71+
file=`cygpath -m "$file" || echo "$file"`
72+
;;
73+
wine/*)
74+
file=`winepath -w "$file" || echo "$file"`
75+
;;
76+
esac
77+
;;
78+
esac
79+
}
80+
81+
# func_cl_dashL linkdir
82+
# Make cl look for libraries in LINKDIR
83+
func_cl_dashL ()
84+
{
85+
func_file_conv "$1"
86+
if test -z "$lib_path"; then
87+
lib_path=$file
88+
else
89+
lib_path="$lib_path;$file"
90+
fi
91+
linker_opts="$linker_opts -LIBPATH:$file"
92+
}
93+
94+
# func_cl_dashl library
95+
# Do a library search-path lookup for cl
96+
func_cl_dashl ()
97+
{
98+
lib=$1
99+
found=no
100+
save_IFS=$IFS
101+
IFS=';'
102+
for dir in $lib_path $LIB
103+
do
104+
IFS=$save_IFS
105+
if $shared && test -f "$dir/$lib.dll.lib"; then
106+
found=yes
107+
lib=$dir/$lib.dll.lib
108+
break
109+
fi
110+
if test -f "$dir/$lib.lib"; then
111+
found=yes
112+
lib=$dir/$lib.lib
113+
break
114+
fi
115+
if test -f "$dir/lib$lib.a"; then
116+
found=yes
117+
lib=$dir/lib$lib.a
118+
break
119+
fi
120+
done
121+
IFS=$save_IFS
122+
123+
if test "$found" != yes; then
124+
lib=$lib.lib
125+
fi
126+
}
127+
128+
# func_cl_wrapper cl arg...
129+
# Adjust compile command to suit cl
130+
func_cl_wrapper ()
131+
{
132+
# Assume a capable shell
133+
lib_path=
134+
shared=:
135+
linker_opts=
136+
for arg
137+
do
138+
if test -n "$eat"; then
139+
eat=
140+
else
141+
case $1 in
142+
-o)
143+
# configure might choose to run compile as 'compile cc -o foo foo.c'.
144+
eat=1
145+
case $2 in
146+
*.o | *.[oO][bB][jJ])
147+
func_file_conv "$2"
148+
set x "$@" -Fo"$file"
149+
shift
150+
;;
151+
*)
152+
func_file_conv "$2"
153+
set x "$@" -Fe"$file"
154+
shift
155+
;;
156+
esac
157+
;;
158+
-I)
159+
eat=1
160+
func_file_conv "$2" mingw
161+
set x "$@" -I"$file"
162+
shift
163+
;;
164+
-I*)
165+
func_file_conv "${1#-I}" mingw
166+
set x "$@" -I"$file"
167+
shift
168+
;;
169+
-l)
170+
eat=1
171+
func_cl_dashl "$2"
172+
set x "$@" "$lib"
173+
shift
174+
;;
175+
-l*)
176+
func_cl_dashl "${1#-l}"
177+
set x "$@" "$lib"
178+
shift
179+
;;
180+
-L)
181+
eat=1
182+
func_cl_dashL "$2"
183+
;;
184+
-L*)
185+
func_cl_dashL "${1#-L}"
186+
;;
187+
-static)
188+
shared=false
189+
;;
190+
-Wl,*)
191+
arg=${1#-Wl,}
192+
save_ifs="$IFS"; IFS=','
193+
for flag in $arg; do
194+
IFS="$save_ifs"
195+
linker_opts="$linker_opts $flag"
196+
done
197+
IFS="$save_ifs"
198+
;;
199+
-Xlinker)
200+
eat=1
201+
linker_opts="$linker_opts $2"
202+
;;
203+
-*)
204+
set x "$@" "$1"
205+
shift
206+
;;
207+
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
208+
func_file_conv "$1"
209+
set x "$@" -Tp"$file"
210+
shift
211+
;;
212+
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
213+
func_file_conv "$1" mingw
214+
set x "$@" "$file"
215+
shift
216+
;;
217+
*)
218+
set x "$@" "$1"
219+
shift
220+
;;
221+
esac
222+
fi
223+
shift
224+
done
225+
if test -n "$linker_opts"; then
226+
linker_opts="-link$linker_opts"
227+
fi
228+
exec "$@" $linker_opts
229+
exit 1
230+
}
231+
232+
eat=
233+
32234
case $1 in
33235
'')
34-
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
236+
echo "$0: No command. Try '$0 --help' for more information." 1>&2
35237
exit 1;
36238
;;
37239
-h | --h*)
38240
cat <<\EOF
39241
Usage: compile [--help] [--version] PROGRAM [ARGS]
40242
41-
Wrapper for compilers which do not understand `-c -o'.
42-
Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
243+
Wrapper for compilers which do not understand '-c -o'.
244+
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
43245
arguments, and rename the output as expected.
44246
45247
If you are trying to build a whole package this is not the
46-
right script to run: please start by reading the file `INSTALL'.
248+
right script to run: please start by reading the file 'INSTALL'.
47249
48250
Report bugs to <[email protected]>.
49251
EOF
@@ -53,11 +255,13 @@ EOF
53255
echo "compile $scriptversion"
54256
exit $?
55257
;;
258+
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
259+
func_cl_wrapper "$@" # Doesn't return...
260+
;;
56261
esac
57262

58263
ofile=
59264
cfile=
60-
eat=
61265

62266
for arg
63267
do
@@ -66,8 +270,8 @@ do
66270
else
67271
case $1 in
68272
-o)
69-
# configure might choose to run compile as `compile cc -o foo foo.c'.
70-
# So we strip `-o arg' only if arg is an object.
273+
# configure might choose to run compile as 'compile cc -o foo foo.c'.
274+
# So we strip '-o arg' only if arg is an object.
71275
eat=1
72276
case $2 in
73277
*.o | *.obj)
@@ -94,10 +298,10 @@ do
94298
done
95299

96300
if test -z "$ofile" || test -z "$cfile"; then
97-
# If no `-o' option was seen then we might have been invoked from a
301+
# If no '-o' option was seen then we might have been invoked from a
98302
# pattern rule where we don't need one. That is ok -- this is a
99303
# normal compilation that the losing compiler can handle. If no
100-
# `.c' file was seen then we are probably linking. That is also
304+
# '.c' file was seen then we are probably linking. That is also
101305
# ok.
102306
exec "$@"
103307
fi
@@ -106,7 +310,7 @@ fi
106310
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
107311

108312
# Create the lock directory.
109-
# Note: use `[/\\:.-]' here to ensure that we don't use the same name
313+
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
110314
# that we are using for the .o file. Also, base the name on the expected
111315
# object file name, since that is what matters with a parallel build.
112316
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
@@ -124,9 +328,9 @@ trap "rmdir '$lockdir'; exit 1" 1 2 15
124328
ret=$?
125329

126330
if test -f "$cofile"; then
127-
mv "$cofile" "$ofile"
331+
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
128332
elif test -f "${cofile}bj"; then
129-
mv "${cofile}bj" "$ofile"
333+
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
130334
fi
131335

132336
rmdir "$lockdir"

0 commit comments

Comments
 (0)