~ubuntu-branches/ubuntu/saucy/geis/saucy-proposed

« back to all changes in this revision

Viewing changes to config.aux/compile

  • Committer: Package Import Robot
  • Author(s): Automatic PS uploader, Stephen M. Webb, Mathieu Trudel-Lapierre, Didier Roche, Daniel d'Andrada, Automatic PS uploader
  • Date: 2012-12-05 02:01:14 UTC
  • mfrom: (1.1.4)
  • Revision ID: package-import@ubuntu.com-20121205020114-6bx9muj72piz36j7
Tags: 2.2.15daily12.12.05-0ubuntu1
[ Stephen M. Webb ]
* python-fix-print-syntax.patch: removed (fixed upstream)
* converted to python3

[ Mathieu Trudel-Lapierre ]
* debian/control:
  - Update style; use trailing commas at the end of dependency lists.
  - Update Vcs-Bzr, Vcs-Browser and add a notice to uploaders.
* debian/rules:
  - Clean up rules file from unnecessary comments and daily build code.
  - Add and export DPKG_GENSYMBOLS_CHECK_LEVEL.
  - Override dh_autoreconf to call autogen.sh and not run configure.
* debian/source/format: migrate back to source format 1.0.

[ Didier Roche ]
* Automatic snapshot from revision 295 (bootstrap)

[ Daniel d'Andrada ]
* Relicense under (L)GPL version 3 *only* (no +)

[ Automatic PS uploader ]
* Automatic snapshot from revision 297

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, 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_dashL linkdir
83
 
# Make cl look for libraries in LINKDIR
84
 
func_cl_dashL ()
85
 
{
86
 
  func_file_conv "$1"
87
 
  if test -z "$lib_path"; then
88
 
    lib_path=$file
89
 
  else
90
 
    lib_path="$lib_path;$file"
91
 
  fi
92
 
  linker_opts="$linker_opts -LIBPATH:$file"
93
 
}
94
 
 
95
 
# func_cl_dashl library
96
 
# Do a library search-path lookup for cl
97
 
func_cl_dashl ()
98
 
{
99
 
  lib=$1
100
 
  found=no
101
 
  save_IFS=$IFS
102
 
  IFS=';'
103
 
  for dir in $lib_path $LIB
104
 
  do
105
 
    IFS=$save_IFS
106
 
    if $shared && test -f "$dir/$lib.dll.lib"; then
107
 
      found=yes
108
 
      lib=$dir/$lib.dll.lib
109
 
      break
110
 
    fi
111
 
    if test -f "$dir/$lib.lib"; then
112
 
      found=yes
113
 
      lib=$dir/$lib.lib
114
 
      break
115
 
    fi
116
 
  done
117
 
  IFS=$save_IFS
118
 
 
119
 
  if test "$found" != yes; then
120
 
    lib=$lib.lib
121
 
  fi
122
 
}
123
 
 
124
 
# func_cl_wrapper cl arg...
125
 
# Adjust compile command to suit cl
126
 
func_cl_wrapper ()
127
 
{
128
 
  # Assume a capable shell
129
 
  lib_path=
130
 
  shared=:
131
 
  linker_opts=
132
 
  for arg
133
 
  do
134
 
    if test -n "$eat"; then
135
 
      eat=
136
 
    else
137
 
      case $1 in
138
 
        -o)
139
 
          # configure might choose to run compile as 'compile cc -o foo foo.c'.
140
 
          eat=1
141
 
          case $2 in
142
 
            *.o | *.[oO][bB][jJ])
143
 
              func_file_conv "$2"
144
 
              set x "$@" -Fo"$file"
145
 
              shift
146
 
              ;;
147
 
            *)
148
 
              func_file_conv "$2"
149
 
              set x "$@" -Fe"$file"
150
 
              shift
151
 
              ;;
152
 
          esac
153
 
          ;;
154
 
        -I)
155
 
          eat=1
156
 
          func_file_conv "$2" mingw
157
 
          set x "$@" -I"$file"
158
 
          shift
159
 
          ;;
160
 
        -I*)
161
 
          func_file_conv "${1#-I}" mingw
162
 
          set x "$@" -I"$file"
163
 
          shift
164
 
          ;;
165
 
        -l)
166
 
          eat=1
167
 
          func_cl_dashl "$2"
168
 
          set x "$@" "$lib"
169
 
          shift
170
 
          ;;
171
 
        -l*)
172
 
          func_cl_dashl "${1#-l}"
173
 
          set x "$@" "$lib"
174
 
          shift
175
 
          ;;
176
 
        -L)
177
 
          eat=1
178
 
          func_cl_dashL "$2"
179
 
          ;;
180
 
        -L*)
181
 
          func_cl_dashL "${1#-L}"
182
 
          ;;
183
 
        -static)
184
 
          shared=false
185
 
          ;;
186
 
        -Wl,*)
187
 
          arg=${1#-Wl,}
188
 
          save_ifs="$IFS"; IFS=','
189
 
          for flag in $arg; do
190
 
            IFS="$save_ifs"
191
 
            linker_opts="$linker_opts $flag"
192
 
          done
193
 
          IFS="$save_ifs"
194
 
          ;;
195
 
        -Xlinker)
196
 
          eat=1
197
 
          linker_opts="$linker_opts $2"
198
 
          ;;
199
 
        -*)
200
 
          set x "$@" "$1"
201
 
          shift
202
 
          ;;
203
 
        *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
204
 
          func_file_conv "$1"
205
 
          set x "$@" -Tp"$file"
206
 
          shift
207
 
          ;;
208
 
        *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
209
 
          func_file_conv "$1" mingw
210
 
          set x "$@" "$file"
211
 
          shift
212
 
          ;;
213
 
        *)
214
 
          set x "$@" "$1"
215
 
          shift
216
 
          ;;
217
 
      esac
218
 
    fi
219
 
    shift
220
 
  done
221
 
  if test -n "$linker_opts"; then
222
 
    linker_opts="-link$linker_opts"
223
 
  fi
224
 
  exec "$@" $linker_opts
225
 
  exit 1
226
 
}
227
 
 
228
 
eat=
229
 
 
230
 
case $1 in
231
 
  '')
232
 
     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
233
 
     exit 1;
234
 
     ;;
235
 
  -h | --h*)
236
 
    cat <<\EOF
237
 
Usage: compile [--help] [--version] PROGRAM [ARGS]
238
 
 
239
 
Wrapper for compilers which do not understand '-c -o'.
240
 
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
241
 
arguments, and rename the output as expected.
242
 
 
243
 
If you are trying to build a whole package this is not the
244
 
right script to run: please start by reading the file 'INSTALL'.
245
 
 
246
 
Report bugs to <bug-automake@gnu.org>.
247
 
EOF
248
 
    exit $?
249
 
    ;;
250
 
  -v | --v*)
251
 
    echo "compile $scriptversion"
252
 
    exit $?
253
 
    ;;
254
 
  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
255
 
    func_cl_wrapper "$@"      # Doesn't return...
256
 
    ;;
257
 
esac
258
 
 
259
 
ofile=
260
 
cfile=
261
 
 
262
 
for arg
263
 
do
264
 
  if test -n "$eat"; then
265
 
    eat=
266
 
  else
267
 
    case $1 in
268
 
      -o)
269
 
        # configure might choose to run compile as 'compile cc -o foo foo.c'.
270
 
        # So we strip '-o arg' only if arg is an object.
271
 
        eat=1
272
 
        case $2 in
273
 
          *.o | *.obj)
274
 
            ofile=$2
275
 
            ;;
276
 
          *)
277
 
            set x "$@" -o "$2"
278
 
            shift
279
 
            ;;
280
 
        esac
281
 
        ;;
282
 
      *.c)
283
 
        cfile=$1
284
 
        set x "$@" "$1"
285
 
        shift
286
 
        ;;
287
 
      *)
288
 
        set x "$@" "$1"
289
 
        shift
290
 
        ;;
291
 
    esac
292
 
  fi
293
 
  shift
294
 
done
295
 
 
296
 
if test -z "$ofile" || test -z "$cfile"; then
297
 
  # If no '-o' option was seen then we might have been invoked from a
298
 
  # pattern rule where we don't need one.  That is ok -- this is a
299
 
  # normal compilation that the losing compiler can handle.  If no
300
 
  # '.c' file was seen then we are probably linking.  That is also
301
 
  # ok.
302
 
  exec "$@"
303
 
fi
304
 
 
305
 
# Name of file we expect compiler to create.
306
 
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
307
 
 
308
 
# Create the lock directory.
309
 
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
310
 
# that we are using for the .o file.  Also, base the name on the expected
311
 
# object file name, since that is what matters with a parallel build.
312
 
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
313
 
while true; do
314
 
  if mkdir "$lockdir" >/dev/null 2>&1; then
315
 
    break
316
 
  fi
317
 
  sleep 1
318
 
done
319
 
# FIXME: race condition here if user kills between mkdir and trap.
320
 
trap "rmdir '$lockdir'; exit 1" 1 2 15
321
 
 
322
 
# Run the compile.
323
 
"$@"
324
 
ret=$?
325
 
 
326
 
if test -f "$cofile"; then
327
 
  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
328
 
elif test -f "${cofile}bj"; then
329
 
  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
330
 
fi
331
 
 
332
 
rmdir "$lockdir"
333
 
exit $ret
334
 
 
335
 
# Local Variables:
336
 
# mode: shell-script
337
 
# sh-indentation: 2
338
 
# eval: (add-hook 'write-file-hooks 'time-stamp)
339
 
# time-stamp-start: "scriptversion="
340
 
# time-stamp-format: "%:y-%02m-%02d.%02H"
341
 
# time-stamp-time-zone: "UTC"
342
 
# time-stamp-end: "; # UTC"
343
 
# End: