~walkerlee/totem/pre-interview

« back to all changes in this revision

Viewing changes to compile

  • Committer: Package Import Robot
  • Author(s): Jeremy Bicha
  • Date: 2013-05-26 00:07:51 UTC
  • mfrom: (1.6.1) (24.1.4 experimental)
  • Revision ID: package-import@ubuntu.com-20130526000751-kv8ap3x1di4qq8j2
Tags: 3.8.2-0ubuntu1
* Sync with Debian. Remaining changes: 
* debian/control.in:
  - Drop build-depends on libepc-ui-dev and libgrilo-0.2-dev (in universe)
  - Drop libxtst-dev build-depends so that the (redundant) fake key presses
    for inhibiting the screensaver are disabled (LP: #1007438)
  - Build-depend on libzeitgeist-dev
  - Suggest rather than recommend gstreamer components in universe
  - Add totem-plugins-extra
  - Add XB-Npp-Description and XB-Npp-Filename header to the 
    totem-mozilla package to improve ubufox/ubuntu plugin db integration 
  - Refer to Firefox in totem-mozilla description instead of Iceweasel
  - Don't have totem-mozilla recommend any particular browser
  - Drop obsolete python library dependencies since iplayer is no longer
    included
* debian/totem-common.install, debian/source_totem.py:
  - Install Ubuntu apport debugging hook
* debian/totem-plugins-extra.install:
  - Universe plugins split out of totem-plugins (currently only gromit)
* debian/totem-plugins.install:    
  - Skip the plugins split to -extra and add the zeitgeist plugin
* debian/rules:
  - Build with --fail-missing, to ensure we install everything. 
    + Ignore libtotem.{,l}a since we delibrately don't install these.
  - Re-enable hardening, make sure both PIE and BINDNOW are used
    by setting hardening=+all. (LP: #1039604)
* debian/patches/91_quicklist_entries.patch:
  - Add static quicklist
* debian/patches/92_gst-plugins-good.patch:
  - Build without unnecessary gstreamer1.0-bad dependency
* debian/patches/93_grilo_optional.patch:
  - Allow building without grilo while grilo MIR is still pending
* debian/patches/correct_desktop_mimetypes.patch:
  - Don't list the mimetypes after the unity lists
* debian/patches/revert_shell_menu.patch: 
  - revert the use of a shell menu until indicator-appmenu can handle
    the mixed shell/traditional menus itself
* New upstream release

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-01-04.17; # UTC
5
 
 
6
 
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
7
 
# Software Foundation, Inc.
8
 
# Written by Tom Tromey <tromey@cygnus.com>.
9
 
#
10
 
# This program 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
 
# This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
22
 
 
23
 
# As a special exception to the GNU General Public License, if you
24
 
# distribute this file as part of a program that contains a
25
 
# configuration script generated by Autoconf, you may include it under
26
 
# the same distribution terms that you use for the rest of that program.
27
 
 
28
 
# This file is maintained in Automake, please report
29
 
# bugs to <bug-automake@gnu.org> or send patches to
30
 
# <automake-patches@gnu.org>.
31
 
 
32
 
nl='
33
 
'
34
 
 
35
 
# We need space, tab and new line, in precisely that order.  Quoting is
36
 
# there to prevent tools from complaining about whitespace usage.
37
 
IFS=" ""        $nl"
38
 
 
39
 
file_conv=
40
 
 
41
 
# func_file_conv build_file lazy
42
 
# Convert a $build file to $host form and store it in $file
43
 
# Currently only supports Windows hosts. If the determined conversion
44
 
# type is listed in (the comma separated) LAZY, no conversion will
45
 
# take place.
46
 
func_file_conv ()
47
 
{
48
 
  file=$1
49
 
  case $file in
50
 
    / | /[!/]*) # absolute file, and not a UNC file
51
 
      if test -z "$file_conv"; then
52
 
        # lazily determine how to convert abs files
53
 
        case `uname -s` in
54
 
          MINGW*)
55
 
            file_conv=mingw
56
 
            ;;
57
 
          CYGWIN*)
58
 
            file_conv=cygwin
59
 
            ;;
60
 
          *)
61
 
            file_conv=wine
62
 
            ;;
63
 
        esac
64
 
      fi
65
 
      case $file_conv/,$2, in
66
 
        *,$file_conv,*)
67
 
          ;;
68
 
        mingw/*)
69
 
          file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
70
 
          ;;
71
 
        cygwin/*)
72
 
          file=`cygpath -m "$file" || echo "$file"`
73
 
          ;;
74
 
        wine/*)
75
 
          file=`winepath -w "$file" || echo "$file"`
76
 
          ;;
77
 
      esac
78
 
      ;;
79
 
  esac
80
 
}
81
 
 
82
 
# func_cl_wrapper cl arg...
83
 
# Adjust compile command to suit cl
84
 
func_cl_wrapper ()
85
 
{
86
 
  # Assume a capable shell
87
 
  lib_path=
88
 
  shared=:
89
 
  linker_opts=
90
 
  for arg
91
 
  do
92
 
    if test -n "$eat"; then
93
 
      eat=
94
 
    else
95
 
      case $1 in
96
 
        -o)
97
 
          # configure might choose to run compile as 'compile cc -o foo foo.c'.
98
 
          eat=1
99
 
          case $2 in
100
 
            *.o | *.[oO][bB][jJ])
101
 
              func_file_conv "$2"
102
 
              set x "$@" -Fo"$file"
103
 
              shift
104
 
              ;;
105
 
            *)
106
 
              func_file_conv "$2"
107
 
              set x "$@" -Fe"$file"
108
 
              shift
109
 
              ;;
110
 
          esac
111
 
          ;;
112
 
        -I*)
113
 
          func_file_conv "${1#-I}" mingw
114
 
          set x "$@" -I"$file"
115
 
          shift
116
 
          ;;
117
 
        -l*)
118
 
          lib=${1#-l}
119
 
          found=no
120
 
          save_IFS=$IFS
121
 
          IFS=';'
122
 
          for dir in $lib_path $LIB
123
 
          do
124
 
            IFS=$save_IFS
125
 
            if $shared && test -f "$dir/$lib.dll.lib"; then
126
 
              found=yes
127
 
              set x "$@" "$dir/$lib.dll.lib"
128
 
              break
129
 
            fi
130
 
            if test -f "$dir/$lib.lib"; then
131
 
              found=yes
132
 
              set x "$@" "$dir/$lib.lib"
133
 
              break
134
 
            fi
135
 
          done
136
 
          IFS=$save_IFS
137
 
 
138
 
          test "$found" != yes && set x "$@" "$lib.lib"
139
 
          shift
140
 
          ;;
141
 
        -L*)
142
 
          func_file_conv "${1#-L}"
143
 
          if test -z "$lib_path"; then
144
 
            lib_path=$file
145
 
          else
146
 
            lib_path="$lib_path;$file"
147
 
          fi
148
 
          linker_opts="$linker_opts -LIBPATH:$file"
149
 
          ;;
150
 
        -static)
151
 
          shared=false
152
 
          ;;
153
 
        -Wl,*)
154
 
          arg=${1#-Wl,}
155
 
          save_ifs="$IFS"; IFS=','
156
 
          for flag in $arg; do
157
 
            IFS="$save_ifs"
158
 
            linker_opts="$linker_opts $flag"
159
 
          done
160
 
          IFS="$save_ifs"
161
 
          ;;
162
 
        -Xlinker)
163
 
          eat=1
164
 
          linker_opts="$linker_opts $2"
165
 
          ;;
166
 
        -*)
167
 
          set x "$@" "$1"
168
 
          shift
169
 
          ;;
170
 
        *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
171
 
          func_file_conv "$1"
172
 
          set x "$@" -Tp"$file"
173
 
          shift
174
 
          ;;
175
 
        *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
176
 
          func_file_conv "$1" mingw
177
 
          set x "$@" "$file"
178
 
          shift
179
 
          ;;
180
 
        *)
181
 
          set x "$@" "$1"
182
 
          shift
183
 
          ;;
184
 
      esac
185
 
    fi
186
 
    shift
187
 
  done
188
 
  if test -n "$linker_opts"; then
189
 
    linker_opts="-link$linker_opts"
190
 
  fi
191
 
  exec "$@" $linker_opts
192
 
  exit 1
193
 
}
194
 
 
195
 
eat=
196
 
 
197
 
case $1 in
198
 
  '')
199
 
     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
200
 
     exit 1;
201
 
     ;;
202
 
  -h | --h*)
203
 
    cat <<\EOF
204
 
Usage: compile [--help] [--version] PROGRAM [ARGS]
205
 
 
206
 
Wrapper for compilers which do not understand '-c -o'.
207
 
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
208
 
arguments, and rename the output as expected.
209
 
 
210
 
If you are trying to build a whole package this is not the
211
 
right script to run: please start by reading the file 'INSTALL'.
212
 
 
213
 
Report bugs to <bug-automake@gnu.org>.
214
 
EOF
215
 
    exit $?
216
 
    ;;
217
 
  -v | --v*)
218
 
    echo "compile $scriptversion"
219
 
    exit $?
220
 
    ;;
221
 
  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
222
 
    func_cl_wrapper "$@"      # Doesn't return...
223
 
    ;;
224
 
esac
225
 
 
226
 
ofile=
227
 
cfile=
228
 
 
229
 
for arg
230
 
do
231
 
  if test -n "$eat"; then
232
 
    eat=
233
 
  else
234
 
    case $1 in
235
 
      -o)
236
 
        # configure might choose to run compile as 'compile cc -o foo foo.c'.
237
 
        # So we strip '-o arg' only if arg is an object.
238
 
        eat=1
239
 
        case $2 in
240
 
          *.o | *.obj)
241
 
            ofile=$2
242
 
            ;;
243
 
          *)
244
 
            set x "$@" -o "$2"
245
 
            shift
246
 
            ;;
247
 
        esac
248
 
        ;;
249
 
      *.c)
250
 
        cfile=$1
251
 
        set x "$@" "$1"
252
 
        shift
253
 
        ;;
254
 
      *)
255
 
        set x "$@" "$1"
256
 
        shift
257
 
        ;;
258
 
    esac
259
 
  fi
260
 
  shift
261
 
done
262
 
 
263
 
if test -z "$ofile" || test -z "$cfile"; then
264
 
  # If no '-o' option was seen then we might have been invoked from a
265
 
  # pattern rule where we don't need one.  That is ok -- this is a
266
 
  # normal compilation that the losing compiler can handle.  If no
267
 
  # '.c' file was seen then we are probably linking.  That is also
268
 
  # ok.
269
 
  exec "$@"
270
 
fi
271
 
 
272
 
# Name of file we expect compiler to create.
273
 
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
274
 
 
275
 
# Create the lock directory.
276
 
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
277
 
# that we are using for the .o file.  Also, base the name on the expected
278
 
# object file name, since that is what matters with a parallel build.
279
 
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
280
 
while true; do
281
 
  if mkdir "$lockdir" >/dev/null 2>&1; then
282
 
    break
283
 
  fi
284
 
  sleep 1
285
 
done
286
 
# FIXME: race condition here if user kills between mkdir and trap.
287
 
trap "rmdir '$lockdir'; exit 1" 1 2 15
288
 
 
289
 
# Run the compile.
290
 
"$@"
291
 
ret=$?
292
 
 
293
 
if test -f "$cofile"; then
294
 
  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
295
 
elif test -f "${cofile}bj"; then
296
 
  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
297
 
fi
298
 
 
299
 
rmdir "$lockdir"
300
 
exit $ret
301
 
 
302
 
# Local Variables:
303
 
# mode: shell-script
304
 
# sh-indentation: 2
305
 
# eval: (add-hook 'write-file-hooks 'time-stamp)
306
 
# time-stamp-start: "scriptversion="
307
 
# time-stamp-format: "%:y-%02m-%02d.%02H"
308
 
# time-stamp-time-zone: "UTC"
309
 
# time-stamp-end: "; # UTC"
310
 
# End: