~ubuntu-branches/ubuntu/wily/libimobiledevice/wily

« back to all changes in this revision

Viewing changes to compile

  • Committer: Package Import Robot
  • Author(s): Timo Jyrinki, Matthias Niess, Timo Jyrinki
  • Date: 2014-03-14 08:44:15 UTC
  • mfrom: (1.1.10)
  • Revision ID: package-import@ubuntu.com-20140314084415-twglhjx6bqzmir8v
Tags: 1.1.5+git20140313.bafe6a9e-0ubuntu1
[ Matthias Niess ]
* Replace a duplicate 'backup' util man page with the one for 'crashreport'

[ Timo Jyrinki ]
* New upstream snapshot. (LP: #1207812)
* Drop patches include in the upstream snapshot:
  - debian/patches/CVE-2013-2142.patch
  - debian/patches/git_explicitly_cast_ssl_enabled.patch
* Drop the python patch, new upstream method seems to work:
  - debian/patches/09_use_python_config.patch
* Refreshed remaining patches:
  - debian/patches/01-libs.private.patch
  - debian/patches/02-fix-link-errors.patch
* Drop libimobiledevice-doc, the git does not include html documentation
* Updated libimobiledevice4.symbols 
* Add missing man page for the 'idevicename' util

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#! /bin/sh
2
 
# Wrapper for compilers which do not understand '-c -o'.
3
 
 
4
 
scriptversion=2012-03-05.13; # UTC
5
 
 
6
 
# Copyright (C) 1999-2012 Free Software Foundation, Inc.
7
 
# Written by Tom Tromey <tromey@cygnus.com>.
8
 
#
9
 
# This program is free software; you can redistribute it and/or modify
10
 
# it under the terms of the GNU General Public License as published by
11
 
# the Free Software Foundation; either version 2, or (at your option)
12
 
# any later version.
13
 
#
14
 
# This program is distributed in the hope that it will be useful,
15
 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 
# GNU General Public License for more details.
18
 
#
19
 
# You should have received a copy of the GNU General Public License
20
 
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
 
 
22
 
# As a special exception to the GNU General Public License, if you
23
 
# distribute this file as part of a program that contains a
24
 
# configuration script generated by Autoconf, you may include it under
25
 
# the same distribution terms that you use for the rest of that program.
26
 
 
27
 
# This file is maintained in Automake, please report
28
 
# bugs to <bug-automake@gnu.org> or send patches to
29
 
# <automake-patches@gnu.org>.
30
 
 
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
 
  done
116
 
  IFS=$save_IFS
117
 
 
118
 
  if test "$found" != yes; then
119
 
    lib=$lib.lib
120
 
  fi
121
 
}
122
 
 
123
 
# func_cl_wrapper cl arg...
124
 
# Adjust compile command to suit cl
125
 
func_cl_wrapper ()
126
 
{
127
 
  # Assume a capable shell
128
 
  lib_path=
129
 
  shared=:
130
 
  linker_opts=
131
 
  for arg
132
 
  do
133
 
    if test -n "$eat"; then
134
 
      eat=
135
 
    else
136
 
      case $1 in
137
 
        -o)
138
 
          # configure might choose to run compile as 'compile cc -o foo foo.c'.
139
 
          eat=1
140
 
          case $2 in
141
 
            *.o | *.[oO][bB][jJ])
142
 
              func_file_conv "$2"
143
 
              set x "$@" -Fo"$file"
144
 
              shift
145
 
              ;;
146
 
            *)
147
 
              func_file_conv "$2"
148
 
              set x "$@" -Fe"$file"
149
 
              shift
150
 
              ;;
151
 
          esac
152
 
          ;;
153
 
        -I)
154
 
          eat=1
155
 
          func_file_conv "$2" mingw
156
 
          set x "$@" -I"$file"
157
 
          shift
158
 
          ;;
159
 
        -I*)
160
 
          func_file_conv "${1#-I}" mingw
161
 
          set x "$@" -I"$file"
162
 
          shift
163
 
          ;;
164
 
        -l)
165
 
          eat=1
166
 
          func_cl_dashl "$2"
167
 
          set x "$@" "$lib"
168
 
          shift
169
 
          ;;
170
 
        -l*)
171
 
          func_cl_dashl "${1#-l}"
172
 
          set x "$@" "$lib"
173
 
          shift
174
 
          ;;
175
 
        -L)
176
 
          eat=1
177
 
          func_cl_dashL "$2"
178
 
          ;;
179
 
        -L*)
180
 
          func_cl_dashL "${1#-L}"
181
 
          ;;
182
 
        -static)
183
 
          shared=false
184
 
          ;;
185
 
        -Wl,*)
186
 
          arg=${1#-Wl,}
187
 
          save_ifs="$IFS"; IFS=','
188
 
          for flag in $arg; do
189
 
            IFS="$save_ifs"
190
 
            linker_opts="$linker_opts $flag"
191
 
          done
192
 
          IFS="$save_ifs"
193
 
          ;;
194
 
        -Xlinker)
195
 
          eat=1
196
 
          linker_opts="$linker_opts $2"
197
 
          ;;
198
 
        -*)
199
 
          set x "$@" "$1"
200
 
          shift
201
 
          ;;
202
 
        *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
203
 
          func_file_conv "$1"
204
 
          set x "$@" -Tp"$file"
205
 
          shift
206
 
          ;;
207
 
        *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
208
 
          func_file_conv "$1" mingw
209
 
          set x "$@" "$file"
210
 
          shift
211
 
          ;;
212
 
        *)
213
 
          set x "$@" "$1"
214
 
          shift
215
 
          ;;
216
 
      esac
217
 
    fi
218
 
    shift
219
 
  done
220
 
  if test -n "$linker_opts"; then
221
 
    linker_opts="-link$linker_opts"
222
 
  fi
223
 
  exec "$@" $linker_opts
224
 
  exit 1
225
 
}
226
 
 
227
 
eat=
228
 
 
229
 
case $1 in
230
 
  '')
231
 
     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
232
 
     exit 1;
233
 
     ;;
234
 
  -h | --h*)
235
 
    cat <<\EOF
236
 
Usage: compile [--help] [--version] PROGRAM [ARGS]
237
 
 
238
 
Wrapper for compilers which do not understand '-c -o'.
239
 
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
240
 
arguments, and rename the output as expected.
241
 
 
242
 
If you are trying to build a whole package this is not the
243
 
right script to run: please start by reading the file 'INSTALL'.
244
 
 
245
 
Report bugs to <bug-automake@gnu.org>.
246
 
EOF
247
 
    exit $?
248
 
    ;;
249
 
  -v | --v*)
250
 
    echo "compile $scriptversion"
251
 
    exit $?
252
 
    ;;
253
 
  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
254
 
    func_cl_wrapper "$@"      # Doesn't return...
255
 
    ;;
256
 
esac
257
 
 
258
 
ofile=
259
 
cfile=
260
 
 
261
 
for arg
262
 
do
263
 
  if test -n "$eat"; then
264
 
    eat=
265
 
  else
266
 
    case $1 in
267
 
      -o)
268
 
        # configure might choose to run compile as 'compile cc -o foo foo.c'.
269
 
        # So we strip '-o arg' only if arg is an object.
270
 
        eat=1
271
 
        case $2 in
272
 
          *.o | *.obj)
273
 
            ofile=$2
274
 
            ;;
275
 
          *)
276
 
            set x "$@" -o "$2"
277
 
            shift
278
 
            ;;
279
 
        esac
280
 
        ;;
281
 
      *.c)
282
 
        cfile=$1
283
 
        set x "$@" "$1"
284
 
        shift
285
 
        ;;
286
 
      *)
287
 
        set x "$@" "$1"
288
 
        shift
289
 
        ;;
290
 
    esac
291
 
  fi
292
 
  shift
293
 
done
294
 
 
295
 
if test -z "$ofile" || test -z "$cfile"; then
296
 
  # If no '-o' option was seen then we might have been invoked from a
297
 
  # pattern rule where we don't need one.  That is ok -- this is a
298
 
  # normal compilation that the losing compiler can handle.  If no
299
 
  # '.c' file was seen then we are probably linking.  That is also
300
 
  # ok.
301
 
  exec "$@"
302
 
fi
303
 
 
304
 
# Name of file we expect compiler to create.
305
 
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
306
 
 
307
 
# Create the lock directory.
308
 
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
309
 
# that we are using for the .o file.  Also, base the name on the expected
310
 
# object file name, since that is what matters with a parallel build.
311
 
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
312
 
while true; do
313
 
  if mkdir "$lockdir" >/dev/null 2>&1; then
314
 
    break
315
 
  fi
316
 
  sleep 1
317
 
done
318
 
# FIXME: race condition here if user kills between mkdir and trap.
319
 
trap "rmdir '$lockdir'; exit 1" 1 2 15
320
 
 
321
 
# Run the compile.
322
 
"$@"
323
 
ret=$?
324
 
 
325
 
if test -f "$cofile"; then
326
 
  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
327
 
elif test -f "${cofile}bj"; then
328
 
  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
329
 
fi
330
 
 
331
 
rmdir "$lockdir"
332
 
exit $ret
333
 
 
334
 
# Local Variables:
335
 
# mode: shell-script
336
 
# sh-indentation: 2
337
 
# eval: (add-hook 'write-file-hooks 'time-stamp)
338
 
# time-stamp-start: "scriptversion="
339
 
# time-stamp-format: "%:y-%02m-%02d.%02H"
340
 
# time-stamp-time-zone: "UTC"
341
 
# time-stamp-end: "; # UTC"
342
 
# End: