nutcracker 0.3.0.12 → 0.4.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -13
- data/README.md +3 -3
- data/Rakefile +12 -10
- data/ext/nutcracker/Makefile.in +215 -162
- data/ext/nutcracker/README.md +16 -4
- data/ext/nutcracker/aclocal.m4 +432 -254
- data/ext/nutcracker/{contrib/yaml-0.1.4/configure → autom4te.cache/output.0} +11367 -4545
- data/ext/nutcracker/autom4te.cache/output.1 +19907 -0
- data/ext/nutcracker/autom4te.cache/output.2 +19907 -0
- data/ext/nutcracker/autom4te.cache/requests +518 -0
- data/ext/nutcracker/autom4te.cache/traces.0 +2715 -0
- data/ext/nutcracker/autom4te.cache/traces.1 +967 -0
- data/ext/nutcracker/autom4te.cache/traces.2 +2715 -0
- data/ext/nutcracker/config/compile +347 -0
- data/ext/nutcracker/config/config.guess +116 -78
- data/ext/nutcracker/config/config.sub +65 -45
- data/ext/nutcracker/config/depcomp +295 -192
- data/ext/nutcracker/config/install-sh +7 -7
- data/ext/nutcracker/config/ltmain.sh +15 -20
- data/ext/nutcracker/config/missing +149 -265
- data/ext/nutcracker/configure +493 -367
- data/ext/nutcracker/contrib/Makefile.in +158 -116
- data/ext/nutcracker/extconf.rb +0 -1
- data/ext/nutcracker/m4/libtool.m4 +4 -23
- data/ext/nutcracker/m4/ltoptions.m4 +0 -0
- data/ext/nutcracker/m4/ltsugar.m4 +0 -0
- data/ext/nutcracker/m4/ltversion.m4 +0 -0
- data/ext/nutcracker/m4/lt~obsolete.m4 +0 -0
- data/ext/nutcracker/notes/recommendation.md +1 -1
- data/ext/nutcracker/notes/redis.md +35 -3
- data/ext/nutcracker/scripts/benchmark-mget.py +43 -0
- data/ext/nutcracker/scripts/nutcracker.spec +61 -3
- data/ext/nutcracker/scripts/redis-check.sh +43 -0
- data/ext/nutcracker/src/Makefile.in +205 -142
- data/ext/nutcracker/src/event/Makefile.in +164 -66
- data/ext/nutcracker/src/hashkit/Makefile.in +164 -66
- data/ext/nutcracker/src/nc_conf.c +2 -0
- data/ext/nutcracker/src/nc_connection.c +31 -0
- data/ext/nutcracker/src/nc_connection.h +3 -0
- data/ext/nutcracker/src/nc_core.c +38 -2
- data/ext/nutcracker/src/nc_core.h +11 -0
- data/ext/nutcracker/src/nc_log.c +90 -12
- data/ext/nutcracker/src/nc_log.h +11 -0
- data/ext/nutcracker/src/nc_mbuf.h +1 -1
- data/ext/nutcracker/src/nc_message.c +162 -116
- data/ext/nutcracker/src/nc_message.h +161 -129
- data/ext/nutcracker/src/nc_proxy.c +34 -4
- data/ext/nutcracker/src/nc_request.c +158 -32
- data/ext/nutcracker/src/nc_server.c +59 -5
- data/ext/nutcracker/src/nc_server.h +1 -0
- data/ext/nutcracker/src/nc_signal.c +2 -2
- data/ext/nutcracker/src/nc_stats.c +21 -0
- data/ext/nutcracker/src/nc_stats.h +28 -26
- data/ext/nutcracker/src/nc_string.c +176 -1
- data/ext/nutcracker/src/nc_string.h +26 -0
- data/ext/nutcracker/src/nc_util.c +12 -0
- data/ext/nutcracker/src/nc_util.h +1 -0
- data/ext/nutcracker/src/proto/Makefile.in +164 -66
- data/ext/nutcracker/src/proto/nc_memcache.c +279 -88
- data/ext/nutcracker/src/proto/nc_proto.h +3 -4
- data/ext/nutcracker/src/proto/nc_redis.c +561 -134
- data/lib/nutcracker/version.rb +1 -1
- metadata +31 -67
- data/ext/nutcracker/contrib/yaml-0.1.4/LICENSE +0 -19
- data/ext/nutcracker/contrib/yaml-0.1.4/Makefile.am +0 -20
- data/ext/nutcracker/contrib/yaml-0.1.4/Makefile.in +0 -736
- data/ext/nutcracker/contrib/yaml-0.1.4/README +0 -27
- data/ext/nutcracker/contrib/yaml-0.1.4/aclocal.m4 +0 -956
- data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/config/config.guess +0 -1561
- data/ext/nutcracker/contrib/yaml-0.1.4/config/config.sub +0 -1686
- data/ext/nutcracker/contrib/yaml-0.1.4/config/depcomp +0 -630
- data/ext/nutcracker/contrib/yaml-0.1.4/config/install-sh +0 -520
- data/ext/nutcracker/contrib/yaml-0.1.4/config/ltmain.sh +0 -8406
- data/ext/nutcracker/contrib/yaml-0.1.4/config/missing +0 -376
- data/ext/nutcracker/contrib/yaml-0.1.4/configure.ac +0 -75
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/doxygen.cfg +0 -222
- data/ext/nutcracker/contrib/yaml-0.1.4/include/yaml.h +0 -1971
- data/ext/nutcracker/contrib/yaml-0.1.4/m4/libtool.m4 +0 -7357
- data/ext/nutcracker/contrib/yaml-0.1.4/m4/ltoptions.m4 +0 -368
- data/ext/nutcracker/contrib/yaml-0.1.4/m4/ltsugar.m4 +0 -123
- data/ext/nutcracker/contrib/yaml-0.1.4/m4/ltversion.m4 +0 -23
- data/ext/nutcracker/contrib/yaml-0.1.4/m4/lt~obsolete.m4 +0 -92
- data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile.am +0 -4
- data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile.in +0 -484
- data/ext/nutcracker/contrib/yaml-0.1.4/src/api.c +0 -1392
- data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.c +0 -394
- data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.c +0 -2329
- data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.c +0 -432
- data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.c +0 -1374
- data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.c +0 -465
- data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.c +0 -3570
- data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.c +0 -141
- data/ext/nutcracker/contrib/yaml-0.1.4/src/yaml_private.h +0 -640
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile.am +0 -8
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile.in +0 -675
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt.c +0 -800
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor.c +0 -1130
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt.c +0 -217
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter.c +0 -202
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper.c +0 -311
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter.c +0 -327
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader.c +0 -63
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser.c +0 -63
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner.c +0 -63
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/test-reader.c +0 -354
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/test-version.c +0 -29
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
#! /bin/sh
|
|
2
2
|
# Configuration validation subroutine script.
|
|
3
|
-
# Copyright
|
|
4
|
-
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
|
5
|
-
# 2011, 2012 Free Software Foundation, Inc.
|
|
3
|
+
# Copyright 1992-2013 Free Software Foundation, Inc.
|
|
6
4
|
|
|
7
|
-
timestamp='
|
|
5
|
+
timestamp='2013-10-01'
|
|
8
6
|
|
|
9
|
-
# This file is
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
# This file is free software; you can redistribute it and/or modify
|
|
14
|
-
# it under the terms of the GNU General Public License as published by
|
|
15
|
-
# the Free Software Foundation; either version 2 of the License, or
|
|
7
|
+
# This file is free software; you can redistribute it and/or modify it
|
|
8
|
+
# under the terms of the GNU General Public License as published by
|
|
9
|
+
# the Free Software Foundation; either version 3 of the License, or
|
|
16
10
|
# (at your option) any later version.
|
|
17
11
|
#
|
|
18
|
-
# This program is distributed in the hope that it will be useful,
|
|
19
|
-
#
|
|
20
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
21
|
-
#
|
|
12
|
+
# This program is distributed in the hope that it will be useful, but
|
|
13
|
+
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
15
|
+
# General Public License for more details.
|
|
22
16
|
#
|
|
23
17
|
# You should have received a copy of the GNU General Public License
|
|
24
18
|
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
@@ -26,11 +20,12 @@ timestamp='2012-02-10'
|
|
|
26
20
|
# As a special exception to the GNU General Public License, if you
|
|
27
21
|
# distribute this file as part of a program that contains a
|
|
28
22
|
# configuration script generated by Autoconf, you may include it under
|
|
29
|
-
# the same distribution terms that you use for the rest of that
|
|
23
|
+
# the same distribution terms that you use for the rest of that
|
|
24
|
+
# program. This Exception is an additional permission under section 7
|
|
25
|
+
# of the GNU General Public License, version 3 ("GPLv3").
|
|
30
26
|
|
|
31
27
|
|
|
32
|
-
# Please send patches to
|
|
33
|
-
# diff and a properly formatted GNU ChangeLog entry.
|
|
28
|
+
# Please send patches with a ChangeLog entry to config-patches@gnu.org.
|
|
34
29
|
#
|
|
35
30
|
# Configuration subroutine to validate and canonicalize a configuration type.
|
|
36
31
|
# Supply the specified configuration type as an argument.
|
|
@@ -73,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
|
|
|
73
68
|
version="\
|
|
74
69
|
GNU config.sub ($timestamp)
|
|
75
70
|
|
|
76
|
-
Copyright
|
|
77
|
-
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
78
|
-
Free Software Foundation, Inc.
|
|
71
|
+
Copyright 1992-2013 Free Software Foundation, Inc.
|
|
79
72
|
|
|
80
73
|
This is free software; see the source for copying conditions. There is NO
|
|
81
74
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
|
@@ -123,7 +116,7 @@ esac
|
|
|
123
116
|
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
|
124
117
|
case $maybe_os in
|
|
125
118
|
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
|
126
|
-
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
|
119
|
+
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
|
127
120
|
knetbsd*-gnu* | netbsd*-gnu* | \
|
|
128
121
|
kopensolaris*-gnu* | \
|
|
129
122
|
storm-chaos* | os2-emx* | rtmk-nova*)
|
|
@@ -156,7 +149,7 @@ case $os in
|
|
|
156
149
|
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
|
157
150
|
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
|
158
151
|
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
|
159
|
-
-apple | -axis | -knuth | -cray | -microblaze)
|
|
152
|
+
-apple | -axis | -knuth | -cray | -microblaze*)
|
|
160
153
|
os=
|
|
161
154
|
basic_machine=$1
|
|
162
155
|
;;
|
|
@@ -225,6 +218,12 @@ case $os in
|
|
|
225
218
|
-isc*)
|
|
226
219
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
|
227
220
|
;;
|
|
221
|
+
-lynx*178)
|
|
222
|
+
os=-lynxos178
|
|
223
|
+
;;
|
|
224
|
+
-lynx*5)
|
|
225
|
+
os=-lynxos5
|
|
226
|
+
;;
|
|
228
227
|
-lynx*)
|
|
229
228
|
os=-lynxos
|
|
230
229
|
;;
|
|
@@ -253,10 +252,12 @@ case $basic_machine in
|
|
|
253
252
|
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
|
254
253
|
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
|
255
254
|
| am33_2.0 \
|
|
256
|
-
| arc |
|
|
257
|
-
|
|
255
|
+
| arc | arceb \
|
|
256
|
+
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
|
|
257
|
+
| avr | avr32 \
|
|
258
|
+
| be32 | be64 \
|
|
258
259
|
| bfin \
|
|
259
|
-
| c4x | clipper \
|
|
260
|
+
| c4x | c8051 | clipper \
|
|
260
261
|
| d10v | d30v | dlx | dsp16xx \
|
|
261
262
|
| epiphany \
|
|
262
263
|
| fido | fr30 | frv \
|
|
@@ -264,10 +265,11 @@ case $basic_machine in
|
|
|
264
265
|
| hexagon \
|
|
265
266
|
| i370 | i860 | i960 | ia64 \
|
|
266
267
|
| ip2k | iq2000 \
|
|
268
|
+
| k1om \
|
|
267
269
|
| le32 | le64 \
|
|
268
270
|
| lm32 \
|
|
269
271
|
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
|
270
|
-
| maxq | mb | microblaze | mcore | mep | metag \
|
|
272
|
+
| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
|
|
271
273
|
| mips | mipsbe | mipseb | mipsel | mipsle \
|
|
272
274
|
| mips16 \
|
|
273
275
|
| mips64 | mips64el \
|
|
@@ -285,16 +287,17 @@ case $basic_machine in
|
|
|
285
287
|
| mipsisa64r2 | mipsisa64r2el \
|
|
286
288
|
| mipsisa64sb1 | mipsisa64sb1el \
|
|
287
289
|
| mipsisa64sr71k | mipsisa64sr71kel \
|
|
290
|
+
| mipsr5900 | mipsr5900el \
|
|
288
291
|
| mipstx39 | mipstx39el \
|
|
289
292
|
| mn10200 | mn10300 \
|
|
290
293
|
| moxie \
|
|
291
294
|
| mt \
|
|
292
295
|
| msp430 \
|
|
293
296
|
| nds32 | nds32le | nds32be \
|
|
294
|
-
| nios | nios2 \
|
|
297
|
+
| nios | nios2 | nios2eb | nios2el \
|
|
295
298
|
| ns16k | ns32k \
|
|
296
299
|
| open8 \
|
|
297
|
-
| or32 \
|
|
300
|
+
| or1k | or32 \
|
|
298
301
|
| pdp10 | pdp11 | pj | pjl \
|
|
299
302
|
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
|
300
303
|
| pyramid \
|
|
@@ -322,7 +325,7 @@ case $basic_machine in
|
|
|
322
325
|
c6x)
|
|
323
326
|
basic_machine=tic6x-unknown
|
|
324
327
|
;;
|
|
325
|
-
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
|
|
328
|
+
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
|
|
326
329
|
basic_machine=$basic_machine-unknown
|
|
327
330
|
os=-none
|
|
328
331
|
;;
|
|
@@ -364,13 +367,13 @@ case $basic_machine in
|
|
|
364
367
|
| aarch64-* | aarch64_be-* \
|
|
365
368
|
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
|
|
366
369
|
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
|
367
|
-
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
|
370
|
+
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
|
|
368
371
|
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
|
369
372
|
| avr-* | avr32-* \
|
|
370
373
|
| be32-* | be64-* \
|
|
371
374
|
| bfin-* | bs2000-* \
|
|
372
375
|
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
|
373
|
-
| clipper-* | craynv-* | cydra-* \
|
|
376
|
+
| c8051-* | clipper-* | craynv-* | cydra-* \
|
|
374
377
|
| d10v-* | d30v-* | dlx-* \
|
|
375
378
|
| elxsi-* \
|
|
376
379
|
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
|
@@ -379,11 +382,13 @@ case $basic_machine in
|
|
|
379
382
|
| hexagon-* \
|
|
380
383
|
| i*86-* | i860-* | i960-* | ia64-* \
|
|
381
384
|
| ip2k-* | iq2000-* \
|
|
385
|
+
| k1om-* \
|
|
382
386
|
| le32-* | le64-* \
|
|
383
387
|
| lm32-* \
|
|
384
388
|
| m32c-* | m32r-* | m32rle-* \
|
|
385
389
|
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
|
386
|
-
| m88110-* | m88k-* | maxq-* | mcore-* | metag-*
|
|
390
|
+
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
|
|
391
|
+
| microblaze-* | microblazeel-* \
|
|
387
392
|
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
|
388
393
|
| mips16-* \
|
|
389
394
|
| mips64-* | mips64el-* \
|
|
@@ -401,12 +406,13 @@ case $basic_machine in
|
|
|
401
406
|
| mipsisa64r2-* | mipsisa64r2el-* \
|
|
402
407
|
| mipsisa64sb1-* | mipsisa64sb1el-* \
|
|
403
408
|
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
|
|
409
|
+
| mipsr5900-* | mipsr5900el-* \
|
|
404
410
|
| mipstx39-* | mipstx39el-* \
|
|
405
411
|
| mmix-* \
|
|
406
412
|
| mt-* \
|
|
407
413
|
| msp430-* \
|
|
408
414
|
| nds32-* | nds32le-* | nds32be-* \
|
|
409
|
-
| nios-* | nios2-* \
|
|
415
|
+
| nios-* | nios2-* | nios2eb-* | nios2el-* \
|
|
410
416
|
| none-* | np1-* | ns16k-* | ns32k-* \
|
|
411
417
|
| open8-* \
|
|
412
418
|
| orion-* \
|
|
@@ -782,11 +788,15 @@ case $basic_machine in
|
|
|
782
788
|
basic_machine=ns32k-utek
|
|
783
789
|
os=-sysv
|
|
784
790
|
;;
|
|
785
|
-
microblaze)
|
|
791
|
+
microblaze*)
|
|
786
792
|
basic_machine=microblaze-xilinx
|
|
787
793
|
;;
|
|
794
|
+
mingw64)
|
|
795
|
+
basic_machine=x86_64-pc
|
|
796
|
+
os=-mingw64
|
|
797
|
+
;;
|
|
788
798
|
mingw32)
|
|
789
|
-
basic_machine=
|
|
799
|
+
basic_machine=i686-pc
|
|
790
800
|
os=-mingw32
|
|
791
801
|
;;
|
|
792
802
|
mingw32ce)
|
|
@@ -822,7 +832,7 @@ case $basic_machine in
|
|
|
822
832
|
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
|
|
823
833
|
;;
|
|
824
834
|
msys)
|
|
825
|
-
basic_machine=
|
|
835
|
+
basic_machine=i686-pc
|
|
826
836
|
os=-msys
|
|
827
837
|
;;
|
|
828
838
|
mvs)
|
|
@@ -1013,7 +1023,11 @@ case $basic_machine in
|
|
|
1013
1023
|
basic_machine=i586-unknown
|
|
1014
1024
|
os=-pw32
|
|
1015
1025
|
;;
|
|
1016
|
-
rdos)
|
|
1026
|
+
rdos | rdos64)
|
|
1027
|
+
basic_machine=x86_64-pc
|
|
1028
|
+
os=-rdos
|
|
1029
|
+
;;
|
|
1030
|
+
rdos32)
|
|
1017
1031
|
basic_machine=i386-pc
|
|
1018
1032
|
os=-rdos
|
|
1019
1033
|
;;
|
|
@@ -1340,21 +1354,21 @@ case $os in
|
|
|
1340
1354
|
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
|
1341
1355
|
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
|
1342
1356
|
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
|
1343
|
-
| -sym* | -kopensolaris* \
|
|
1357
|
+
| -sym* | -kopensolaris* | -plan9* \
|
|
1344
1358
|
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
|
1345
1359
|
| -aos* | -aros* \
|
|
1346
1360
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
|
1347
1361
|
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
|
1348
1362
|
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
|
1349
|
-
| -openbsd* | -solidbsd* \
|
|
1363
|
+
| -bitrig* | -openbsd* | -solidbsd* \
|
|
1350
1364
|
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
|
1351
1365
|
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
|
1352
1366
|
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
|
1353
1367
|
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
|
1354
1368
|
| -chorusos* | -chorusrdb* | -cegcc* \
|
|
1355
1369
|
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
|
1356
|
-
| -mingw32* | -linux-gnu* | -linux-android* \
|
|
1357
|
-
| -linux-newlib* | -linux-uclibc* \
|
|
1370
|
+
| -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
|
|
1371
|
+
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
|
|
1358
1372
|
| -uxpv* | -beos* | -mpeix* | -udk* \
|
|
1359
1373
|
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
|
1360
1374
|
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
|
@@ -1486,9 +1500,6 @@ case $os in
|
|
|
1486
1500
|
-aros*)
|
|
1487
1501
|
os=-aros
|
|
1488
1502
|
;;
|
|
1489
|
-
-kaos*)
|
|
1490
|
-
os=-kaos
|
|
1491
|
-
;;
|
|
1492
1503
|
-zvmoe)
|
|
1493
1504
|
os=-zvmoe
|
|
1494
1505
|
;;
|
|
@@ -1537,6 +1548,12 @@ case $basic_machine in
|
|
|
1537
1548
|
c4x-* | tic4x-*)
|
|
1538
1549
|
os=-coff
|
|
1539
1550
|
;;
|
|
1551
|
+
c8051-*)
|
|
1552
|
+
os=-elf
|
|
1553
|
+
;;
|
|
1554
|
+
hexagon-*)
|
|
1555
|
+
os=-elf
|
|
1556
|
+
;;
|
|
1540
1557
|
tic54x-*)
|
|
1541
1558
|
os=-coff
|
|
1542
1559
|
;;
|
|
@@ -1577,6 +1594,9 @@ case $basic_machine in
|
|
|
1577
1594
|
mips*-*)
|
|
1578
1595
|
os=-elf
|
|
1579
1596
|
;;
|
|
1597
|
+
or1k-*)
|
|
1598
|
+
os=-elf
|
|
1599
|
+
;;
|
|
1580
1600
|
or32-*)
|
|
1581
1601
|
os=-coff
|
|
1582
1602
|
;;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
#! /bin/sh
|
|
2
2
|
# depcomp - compile a program generating dependencies as side-effects
|
|
3
3
|
|
|
4
|
-
scriptversion=
|
|
4
|
+
scriptversion=2013-05-30.07; # UTC
|
|
5
5
|
|
|
6
|
-
# Copyright (C) 1999
|
|
7
|
-
# 2011 Free Software Foundation, Inc.
|
|
6
|
+
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
|
8
7
|
|
|
9
8
|
# This program is free software; you can redistribute it and/or modify
|
|
10
9
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -28,9 +27,9 @@ scriptversion=2011-12-04.11; # UTC
|
|
|
28
27
|
|
|
29
28
|
case $1 in
|
|
30
29
|
'')
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
|
31
|
+
exit 1;
|
|
32
|
+
;;
|
|
34
33
|
-h | --h*)
|
|
35
34
|
cat <<\EOF
|
|
36
35
|
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
|
@@ -40,8 +39,8 @@ as side-effects.
|
|
|
40
39
|
|
|
41
40
|
Environment variables:
|
|
42
41
|
depmode Dependency tracking mode.
|
|
43
|
-
source Source file read by
|
|
44
|
-
object Object file output by
|
|
42
|
+
source Source file read by 'PROGRAMS ARGS'.
|
|
43
|
+
object Object file output by 'PROGRAMS ARGS'.
|
|
45
44
|
DEPDIR directory where to store dependencies.
|
|
46
45
|
depfile Dependency file to output.
|
|
47
46
|
tmpdepfile Temporary file to use when outputting dependencies.
|
|
@@ -57,6 +56,66 @@ EOF
|
|
|
57
56
|
;;
|
|
58
57
|
esac
|
|
59
58
|
|
|
59
|
+
# Get the directory component of the given path, and save it in the
|
|
60
|
+
# global variables '$dir'. Note that this directory component will
|
|
61
|
+
# be either empty or ending with a '/' character. This is deliberate.
|
|
62
|
+
set_dir_from ()
|
|
63
|
+
{
|
|
64
|
+
case $1 in
|
|
65
|
+
*/*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
|
|
66
|
+
*) dir=;;
|
|
67
|
+
esac
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
# Get the suffix-stripped basename of the given path, and save it the
|
|
71
|
+
# global variable '$base'.
|
|
72
|
+
set_base_from ()
|
|
73
|
+
{
|
|
74
|
+
base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
# If no dependency file was actually created by the compiler invocation,
|
|
78
|
+
# we still have to create a dummy depfile, to avoid errors with the
|
|
79
|
+
# Makefile "include basename.Plo" scheme.
|
|
80
|
+
make_dummy_depfile ()
|
|
81
|
+
{
|
|
82
|
+
echo "#dummy" > "$depfile"
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
# Factor out some common post-processing of the generated depfile.
|
|
86
|
+
# Requires the auxiliary global variable '$tmpdepfile' to be set.
|
|
87
|
+
aix_post_process_depfile ()
|
|
88
|
+
{
|
|
89
|
+
# If the compiler actually managed to produce a dependency file,
|
|
90
|
+
# post-process it.
|
|
91
|
+
if test -f "$tmpdepfile"; then
|
|
92
|
+
# Each line is of the form 'foo.o: dependency.h'.
|
|
93
|
+
# Do two passes, one to just change these to
|
|
94
|
+
# $object: dependency.h
|
|
95
|
+
# and one to simply output
|
|
96
|
+
# dependency.h:
|
|
97
|
+
# which is needed to avoid the deleted-header problem.
|
|
98
|
+
{ sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
|
|
99
|
+
sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
|
|
100
|
+
} > "$depfile"
|
|
101
|
+
rm -f "$tmpdepfile"
|
|
102
|
+
else
|
|
103
|
+
make_dummy_depfile
|
|
104
|
+
fi
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
# A tabulation character.
|
|
108
|
+
tab=' '
|
|
109
|
+
# A newline character.
|
|
110
|
+
nl='
|
|
111
|
+
'
|
|
112
|
+
# Character ranges might be problematic outside the C locale.
|
|
113
|
+
# These definitions help.
|
|
114
|
+
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
|
115
|
+
lower=abcdefghijklmnopqrstuvwxyz
|
|
116
|
+
digits=0123456789
|
|
117
|
+
alpha=${upper}${lower}
|
|
118
|
+
|
|
60
119
|
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
|
61
120
|
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
|
62
121
|
exit 1
|
|
@@ -69,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
|
|
69
128
|
|
|
70
129
|
rm -f "$tmpdepfile"
|
|
71
130
|
|
|
131
|
+
# Avoid interferences from the environment.
|
|
132
|
+
gccflag= dashmflag=
|
|
133
|
+
|
|
72
134
|
# Some modes work just like other modes, but use different flags. We
|
|
73
135
|
# parameterize here, but still list the modes in the big case below,
|
|
74
136
|
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
|
@@ -80,26 +142,32 @@ if test "$depmode" = hp; then
|
|
|
80
142
|
fi
|
|
81
143
|
|
|
82
144
|
if test "$depmode" = dashXmstdout; then
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
145
|
+
# This is just like dashmstdout with a different argument.
|
|
146
|
+
dashmflag=-xM
|
|
147
|
+
depmode=dashmstdout
|
|
86
148
|
fi
|
|
87
149
|
|
|
88
150
|
cygpath_u="cygpath -u -f -"
|
|
89
151
|
if test "$depmode" = msvcmsys; then
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
152
|
+
# This is just like msvisualcpp but w/o cygpath translation.
|
|
153
|
+
# Just convert the backslash-escaped backslashes to single forward
|
|
154
|
+
# slashes to satisfy depend.m4
|
|
155
|
+
cygpath_u='sed s,\\\\,/,g'
|
|
156
|
+
depmode=msvisualcpp
|
|
95
157
|
fi
|
|
96
158
|
|
|
97
159
|
if test "$depmode" = msvc7msys; then
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
160
|
+
# This is just like msvc7 but w/o cygpath translation.
|
|
161
|
+
# Just convert the backslash-escaped backslashes to single forward
|
|
162
|
+
# slashes to satisfy depend.m4
|
|
163
|
+
cygpath_u='sed s,\\\\,/,g'
|
|
164
|
+
depmode=msvc7
|
|
165
|
+
fi
|
|
166
|
+
|
|
167
|
+
if test "$depmode" = xlc; then
|
|
168
|
+
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
|
|
169
|
+
gccflag=-qmakedep=gcc,-MF
|
|
170
|
+
depmode=gcc
|
|
103
171
|
fi
|
|
104
172
|
|
|
105
173
|
case "$depmode" in
|
|
@@ -122,8 +190,7 @@ gcc3)
|
|
|
122
190
|
done
|
|
123
191
|
"$@"
|
|
124
192
|
stat=$?
|
|
125
|
-
if test $stat -
|
|
126
|
-
else
|
|
193
|
+
if test $stat -ne 0; then
|
|
127
194
|
rm -f "$tmpdepfile"
|
|
128
195
|
exit $stat
|
|
129
196
|
fi
|
|
@@ -131,13 +198,17 @@ gcc3)
|
|
|
131
198
|
;;
|
|
132
199
|
|
|
133
200
|
gcc)
|
|
201
|
+
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
|
|
202
|
+
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
|
|
203
|
+
## (see the conditional assignment to $gccflag above).
|
|
134
204
|
## There are various ways to get dependency output from gcc. Here's
|
|
135
205
|
## why we pick this rather obscure method:
|
|
136
206
|
## - Don't want to use -MD because we'd like the dependencies to end
|
|
137
207
|
## up in a subdir. Having to rename by hand is ugly.
|
|
138
208
|
## (We might end up doing this anyway to support other compilers.)
|
|
139
209
|
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
|
140
|
-
## -MM, not -M (despite what the docs say).
|
|
210
|
+
## -MM, not -M (despite what the docs say). Also, it might not be
|
|
211
|
+
## supported by the other compilers which use the 'gcc' depmode.
|
|
141
212
|
## - Using -M directly means running the compiler twice (even worse
|
|
142
213
|
## than renaming).
|
|
143
214
|
if test -z "$gccflag"; then
|
|
@@ -145,33 +216,31 @@ gcc)
|
|
|
145
216
|
fi
|
|
146
217
|
"$@" -Wp,"$gccflag$tmpdepfile"
|
|
147
218
|
stat=$?
|
|
148
|
-
if test $stat -
|
|
149
|
-
else
|
|
219
|
+
if test $stat -ne 0; then
|
|
150
220
|
rm -f "$tmpdepfile"
|
|
151
221
|
exit $stat
|
|
152
222
|
fi
|
|
153
223
|
rm -f "$depfile"
|
|
154
224
|
echo "$object : \\" > "$depfile"
|
|
155
|
-
|
|
156
|
-
|
|
225
|
+
# The second -e expression handles DOS-style file names with drive
|
|
226
|
+
# letters.
|
|
157
227
|
sed -e 's/^[^:]*: / /' \
|
|
158
228
|
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
|
159
|
-
## This next piece of magic avoids the
|
|
229
|
+
## This next piece of magic avoids the "deleted header file" problem.
|
|
160
230
|
## The problem is that when a header file which appears in a .P file
|
|
161
231
|
## is deleted, the dependency causes make to die (because there is
|
|
162
232
|
## typically no way to rebuild the header). We avoid this by adding
|
|
163
233
|
## dummy dependencies for each header file. Too bad gcc doesn't do
|
|
164
234
|
## this for us directly.
|
|
165
|
-
|
|
166
|
-
' < "$tmpdepfile" |
|
|
167
|
-
## Some versions of gcc put a space before the `:'. On the theory
|
|
235
|
+
## Some versions of gcc put a space before the ':'. On the theory
|
|
168
236
|
## that the space means something, we add a space to the output as
|
|
169
237
|
## well. hp depmode also adds that space, but also prefixes the VPATH
|
|
170
238
|
## to the object. Take care to not repeat it in the output.
|
|
171
239
|
## Some versions of the HPUX 10.20 sed can't process this invocation
|
|
172
240
|
## correctly. Breaking it into two sed invocations is a workaround.
|
|
173
|
-
|
|
174
|
-
|
|
241
|
+
tr ' ' "$nl" < "$tmpdepfile" \
|
|
242
|
+
| sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
|
|
243
|
+
| sed -e 's/$/ :/' >> "$depfile"
|
|
175
244
|
rm -f "$tmpdepfile"
|
|
176
245
|
;;
|
|
177
246
|
|
|
@@ -189,8 +258,7 @@ sgi)
|
|
|
189
258
|
"$@" -MDupdate "$tmpdepfile"
|
|
190
259
|
fi
|
|
191
260
|
stat=$?
|
|
192
|
-
if test $stat -
|
|
193
|
-
else
|
|
261
|
+
if test $stat -ne 0; then
|
|
194
262
|
rm -f "$tmpdepfile"
|
|
195
263
|
exit $stat
|
|
196
264
|
fi
|
|
@@ -198,43 +266,41 @@ sgi)
|
|
|
198
266
|
|
|
199
267
|
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
|
200
268
|
echo "$object : \\" > "$depfile"
|
|
201
|
-
|
|
202
269
|
# Clip off the initial element (the dependent). Don't try to be
|
|
203
270
|
# clever and replace this with sed code, as IRIX sed won't handle
|
|
204
271
|
# lines with more than a fixed number of characters (4096 in
|
|
205
272
|
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
|
206
|
-
# the IRIX cc adds comments like
|
|
273
|
+
# the IRIX cc adds comments like '#:fec' to the end of the
|
|
207
274
|
# dependency line.
|
|
208
|
-
tr ' '
|
|
209
|
-
'
|
|
210
|
-
|
|
211
|
-
tr '
|
|
212
|
-
' ' ' >> "$depfile"
|
|
275
|
+
tr ' ' "$nl" < "$tmpdepfile" \
|
|
276
|
+
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
|
|
277
|
+
| tr "$nl" ' ' >> "$depfile"
|
|
213
278
|
echo >> "$depfile"
|
|
214
|
-
|
|
215
279
|
# The second pass generates a dummy entry for each header file.
|
|
216
|
-
tr ' '
|
|
217
|
-
'
|
|
218
|
-
|
|
219
|
-
>> "$depfile"
|
|
280
|
+
tr ' ' "$nl" < "$tmpdepfile" \
|
|
281
|
+
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
|
282
|
+
>> "$depfile"
|
|
220
283
|
else
|
|
221
|
-
|
|
222
|
-
# store a dummy comment line, to avoid errors with the Makefile
|
|
223
|
-
# "include basename.Plo" scheme.
|
|
224
|
-
echo "#dummy" > "$depfile"
|
|
284
|
+
make_dummy_depfile
|
|
225
285
|
fi
|
|
226
286
|
rm -f "$tmpdepfile"
|
|
227
287
|
;;
|
|
228
288
|
|
|
289
|
+
xlc)
|
|
290
|
+
# This case exists only to let depend.m4 do its work. It works by
|
|
291
|
+
# looking at the text of this script. This case will never be run,
|
|
292
|
+
# since it is checked for above.
|
|
293
|
+
exit 1
|
|
294
|
+
;;
|
|
295
|
+
|
|
229
296
|
aix)
|
|
230
297
|
# The C for AIX Compiler uses -M and outputs the dependencies
|
|
231
298
|
# in a .u file. In older versions, this file always lives in the
|
|
232
|
-
# current directory. Also, the AIX compiler puts
|
|
299
|
+
# current directory. Also, the AIX compiler puts '$object:' at the
|
|
233
300
|
# start of each line; $object doesn't have directory information.
|
|
234
301
|
# Version 6 uses the directory in both cases.
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
|
302
|
+
set_dir_from "$object"
|
|
303
|
+
set_base_from "$object"
|
|
238
304
|
if test "$libtool" = yes; then
|
|
239
305
|
tmpdepfile1=$dir$base.u
|
|
240
306
|
tmpdepfile2=$base.u
|
|
@@ -247,9 +313,7 @@ aix)
|
|
|
247
313
|
"$@" -M
|
|
248
314
|
fi
|
|
249
315
|
stat=$?
|
|
250
|
-
|
|
251
|
-
if test $stat -eq 0; then :
|
|
252
|
-
else
|
|
316
|
+
if test $stat -ne 0; then
|
|
253
317
|
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
|
254
318
|
exit $stat
|
|
255
319
|
fi
|
|
@@ -258,44 +322,100 @@ aix)
|
|
|
258
322
|
do
|
|
259
323
|
test -f "$tmpdepfile" && break
|
|
260
324
|
done
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
325
|
+
aix_post_process_depfile
|
|
326
|
+
;;
|
|
327
|
+
|
|
328
|
+
tcc)
|
|
329
|
+
# tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
|
|
330
|
+
# FIXME: That version still under development at the moment of writing.
|
|
331
|
+
# Make that this statement remains true also for stable, released
|
|
332
|
+
# versions.
|
|
333
|
+
# It will wrap lines (doesn't matter whether long or short) with a
|
|
334
|
+
# trailing '\', as in:
|
|
335
|
+
#
|
|
336
|
+
# foo.o : \
|
|
337
|
+
# foo.c \
|
|
338
|
+
# foo.h \
|
|
339
|
+
#
|
|
340
|
+
# It will put a trailing '\' even on the last line, and will use leading
|
|
341
|
+
# spaces rather than leading tabs (at least since its commit 0394caf7
|
|
342
|
+
# "Emit spaces for -MD").
|
|
343
|
+
"$@" -MD -MF "$tmpdepfile"
|
|
344
|
+
stat=$?
|
|
345
|
+
if test $stat -ne 0; then
|
|
346
|
+
rm -f "$tmpdepfile"
|
|
347
|
+
exit $stat
|
|
273
348
|
fi
|
|
349
|
+
rm -f "$depfile"
|
|
350
|
+
# Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
|
|
351
|
+
# We have to change lines of the first kind to '$object: \'.
|
|
352
|
+
sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
|
|
353
|
+
# And for each line of the second kind, we have to emit a 'dep.h:'
|
|
354
|
+
# dummy dependency, to avoid the deleted-header problem.
|
|
355
|
+
sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
|
|
274
356
|
rm -f "$tmpdepfile"
|
|
275
357
|
;;
|
|
276
358
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
#
|
|
283
|
-
#
|
|
284
|
-
#
|
|
285
|
-
#
|
|
286
|
-
#
|
|
287
|
-
# sub/foo.h:
|
|
288
|
-
# ICC 7.1 will output
|
|
359
|
+
## The order of this option in the case statement is important, since the
|
|
360
|
+
## shell code in configure will try each of these formats in the order
|
|
361
|
+
## listed in this file. A plain '-MD' option would be understood by many
|
|
362
|
+
## compilers, so we must ensure this comes after the gcc and icc options.
|
|
363
|
+
pgcc)
|
|
364
|
+
# Portland's C compiler understands '-MD'.
|
|
365
|
+
# Will always output deps to 'file.d' where file is the root name of the
|
|
366
|
+
# source file under compilation, even if file resides in a subdirectory.
|
|
367
|
+
# The object file name does not affect the name of the '.d' file.
|
|
368
|
+
# pgcc 10.2 will output
|
|
289
369
|
# foo.o: sub/foo.c sub/foo.h
|
|
290
|
-
# and will wrap long lines using \ :
|
|
370
|
+
# and will wrap long lines using '\' :
|
|
291
371
|
# foo.o: sub/foo.c ... \
|
|
292
372
|
# sub/foo.h ... \
|
|
293
373
|
# ...
|
|
374
|
+
set_dir_from "$object"
|
|
375
|
+
# Use the source, not the object, to determine the base name, since
|
|
376
|
+
# that's sadly what pgcc will do too.
|
|
377
|
+
set_base_from "$source"
|
|
378
|
+
tmpdepfile=$base.d
|
|
379
|
+
|
|
380
|
+
# For projects that build the same source file twice into different object
|
|
381
|
+
# files, the pgcc approach of using the *source* file root name can cause
|
|
382
|
+
# problems in parallel builds. Use a locking strategy to avoid stomping on
|
|
383
|
+
# the same $tmpdepfile.
|
|
384
|
+
lockdir=$base.d-lock
|
|
385
|
+
trap "
|
|
386
|
+
echo '$0: caught signal, cleaning up...' >&2
|
|
387
|
+
rmdir '$lockdir'
|
|
388
|
+
exit 1
|
|
389
|
+
" 1 2 13 15
|
|
390
|
+
numtries=100
|
|
391
|
+
i=$numtries
|
|
392
|
+
while test $i -gt 0; do
|
|
393
|
+
# mkdir is a portable test-and-set.
|
|
394
|
+
if mkdir "$lockdir" 2>/dev/null; then
|
|
395
|
+
# This process acquired the lock.
|
|
396
|
+
"$@" -MD
|
|
397
|
+
stat=$?
|
|
398
|
+
# Release the lock.
|
|
399
|
+
rmdir "$lockdir"
|
|
400
|
+
break
|
|
401
|
+
else
|
|
402
|
+
# If the lock is being held by a different process, wait
|
|
403
|
+
# until the winning process is done or we timeout.
|
|
404
|
+
while test -d "$lockdir" && test $i -gt 0; do
|
|
405
|
+
sleep 1
|
|
406
|
+
i=`expr $i - 1`
|
|
407
|
+
done
|
|
408
|
+
fi
|
|
409
|
+
i=`expr $i - 1`
|
|
410
|
+
done
|
|
411
|
+
trap - 1 2 13 15
|
|
412
|
+
if test $i -le 0; then
|
|
413
|
+
echo "$0: failed to acquire lock after $numtries attempts" >&2
|
|
414
|
+
echo "$0: check lockdir '$lockdir'" >&2
|
|
415
|
+
exit 1
|
|
416
|
+
fi
|
|
294
417
|
|
|
295
|
-
|
|
296
|
-
stat=$?
|
|
297
|
-
if test $stat -eq 0; then :
|
|
298
|
-
else
|
|
418
|
+
if test $stat -ne 0; then
|
|
299
419
|
rm -f "$tmpdepfile"
|
|
300
420
|
exit $stat
|
|
301
421
|
fi
|
|
@@ -307,8 +427,8 @@ icc)
|
|
|
307
427
|
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
|
308
428
|
# Some versions of the HPUX 10.20 sed can't process this invocation
|
|
309
429
|
# correctly. Breaking it into two sed invocations is a workaround.
|
|
310
|
-
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile"
|
|
311
|
-
sed -e 's/$/ :/' >> "$depfile"
|
|
430
|
+
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
|
|
431
|
+
| sed -e 's/$/ :/' >> "$depfile"
|
|
312
432
|
rm -f "$tmpdepfile"
|
|
313
433
|
;;
|
|
314
434
|
|
|
@@ -319,9 +439,8 @@ hp2)
|
|
|
319
439
|
# 'foo.d', which lands next to the object file, wherever that
|
|
320
440
|
# happens to be.
|
|
321
441
|
# Much of this is similar to the tru64 case; see comments there.
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
|
442
|
+
set_dir_from "$object"
|
|
443
|
+
set_base_from "$object"
|
|
325
444
|
if test "$libtool" = yes; then
|
|
326
445
|
tmpdepfile1=$dir$base.d
|
|
327
446
|
tmpdepfile2=$dir.libs/$base.d
|
|
@@ -332,8 +451,7 @@ hp2)
|
|
|
332
451
|
"$@" +Maked
|
|
333
452
|
fi
|
|
334
453
|
stat=$?
|
|
335
|
-
if test $stat -
|
|
336
|
-
else
|
|
454
|
+
if test $stat -ne 0; then
|
|
337
455
|
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
|
338
456
|
exit $stat
|
|
339
457
|
fi
|
|
@@ -343,77 +461,61 @@ hp2)
|
|
|
343
461
|
test -f "$tmpdepfile" && break
|
|
344
462
|
done
|
|
345
463
|
if test -f "$tmpdepfile"; then
|
|
346
|
-
sed -e "s,^.*\.[
|
|
347
|
-
# Add
|
|
464
|
+
sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
|
|
465
|
+
# Add 'dependent.h:' lines.
|
|
348
466
|
sed -ne '2,${
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
467
|
+
s/^ *//
|
|
468
|
+
s/ \\*$//
|
|
469
|
+
s/$/:/
|
|
470
|
+
p
|
|
471
|
+
}' "$tmpdepfile" >> "$depfile"
|
|
354
472
|
else
|
|
355
|
-
|
|
473
|
+
make_dummy_depfile
|
|
356
474
|
fi
|
|
357
475
|
rm -f "$tmpdepfile" "$tmpdepfile2"
|
|
358
476
|
;;
|
|
359
477
|
|
|
360
478
|
tru64)
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
exit $stat
|
|
402
|
-
fi
|
|
403
|
-
|
|
404
|
-
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
|
405
|
-
do
|
|
406
|
-
test -f "$tmpdepfile" && break
|
|
407
|
-
done
|
|
408
|
-
if test -f "$tmpdepfile"; then
|
|
409
|
-
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
|
410
|
-
# That's a tab and a space in the [].
|
|
411
|
-
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
|
412
|
-
else
|
|
413
|
-
echo "#dummy" > "$depfile"
|
|
414
|
-
fi
|
|
415
|
-
rm -f "$tmpdepfile"
|
|
416
|
-
;;
|
|
479
|
+
# The Tru64 compiler uses -MD to generate dependencies as a side
|
|
480
|
+
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
|
|
481
|
+
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
|
482
|
+
# dependencies in 'foo.d' instead, so we check for that too.
|
|
483
|
+
# Subdirectories are respected.
|
|
484
|
+
set_dir_from "$object"
|
|
485
|
+
set_base_from "$object"
|
|
486
|
+
|
|
487
|
+
if test "$libtool" = yes; then
|
|
488
|
+
# Libtool generates 2 separate objects for the 2 libraries. These
|
|
489
|
+
# two compilations output dependencies in $dir.libs/$base.o.d and
|
|
490
|
+
# in $dir$base.o.d. We have to check for both files, because
|
|
491
|
+
# one of the two compilations can be disabled. We should prefer
|
|
492
|
+
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
|
493
|
+
# automatically cleaned when .libs/ is deleted, while ignoring
|
|
494
|
+
# the former would cause a distcleancheck panic.
|
|
495
|
+
tmpdepfile1=$dir$base.o.d # libtool 1.5
|
|
496
|
+
tmpdepfile2=$dir.libs/$base.o.d # Likewise.
|
|
497
|
+
tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
|
|
498
|
+
"$@" -Wc,-MD
|
|
499
|
+
else
|
|
500
|
+
tmpdepfile1=$dir$base.d
|
|
501
|
+
tmpdepfile2=$dir$base.d
|
|
502
|
+
tmpdepfile3=$dir$base.d
|
|
503
|
+
"$@" -MD
|
|
504
|
+
fi
|
|
505
|
+
|
|
506
|
+
stat=$?
|
|
507
|
+
if test $stat -ne 0; then
|
|
508
|
+
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
|
509
|
+
exit $stat
|
|
510
|
+
fi
|
|
511
|
+
|
|
512
|
+
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
|
513
|
+
do
|
|
514
|
+
test -f "$tmpdepfile" && break
|
|
515
|
+
done
|
|
516
|
+
# Same post-processing that is required for AIX mode.
|
|
517
|
+
aix_post_process_depfile
|
|
518
|
+
;;
|
|
417
519
|
|
|
418
520
|
msvc7)
|
|
419
521
|
if test "$libtool" = yes; then
|
|
@@ -424,8 +526,7 @@ msvc7)
|
|
|
424
526
|
"$@" $showIncludes > "$tmpdepfile"
|
|
425
527
|
stat=$?
|
|
426
528
|
grep -v '^Note: including file: ' "$tmpdepfile"
|
|
427
|
-
if test
|
|
428
|
-
else
|
|
529
|
+
if test $stat -ne 0; then
|
|
429
530
|
rm -f "$tmpdepfile"
|
|
430
531
|
exit $stat
|
|
431
532
|
fi
|
|
@@ -443,14 +544,15 @@ msvc7)
|
|
|
443
544
|
p
|
|
444
545
|
}' | $cygpath_u | sort -u | sed -n '
|
|
445
546
|
s/ /\\ /g
|
|
446
|
-
s/\(.*\)/
|
|
547
|
+
s/\(.*\)/'"$tab"'\1 \\/p
|
|
447
548
|
s/.\(.*\) \\/\1:/
|
|
448
549
|
H
|
|
449
550
|
$ {
|
|
450
|
-
s/.*/
|
|
551
|
+
s/.*/'"$tab"'/
|
|
451
552
|
G
|
|
452
553
|
p
|
|
453
554
|
}' >> "$depfile"
|
|
555
|
+
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
|
|
454
556
|
rm -f "$tmpdepfile"
|
|
455
557
|
;;
|
|
456
558
|
|
|
@@ -478,7 +580,7 @@ dashmstdout)
|
|
|
478
580
|
shift
|
|
479
581
|
fi
|
|
480
582
|
|
|
481
|
-
# Remove
|
|
583
|
+
# Remove '-o $object'.
|
|
482
584
|
IFS=" "
|
|
483
585
|
for arg
|
|
484
586
|
do
|
|
@@ -498,18 +600,18 @@ dashmstdout)
|
|
|
498
600
|
done
|
|
499
601
|
|
|
500
602
|
test -z "$dashmflag" && dashmflag=-M
|
|
501
|
-
# Require at least two characters before searching for
|
|
603
|
+
# Require at least two characters before searching for ':'
|
|
502
604
|
# in the target name. This is to cope with DOS-style filenames:
|
|
503
|
-
# a dependency such as
|
|
605
|
+
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
|
|
504
606
|
"$@" $dashmflag |
|
|
505
|
-
sed
|
|
607
|
+
sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
|
|
506
608
|
rm -f "$depfile"
|
|
507
609
|
cat < "$tmpdepfile" > "$depfile"
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
610
|
+
# Some versions of the HPUX 10.20 sed can't process this sed invocation
|
|
611
|
+
# correctly. Breaking it into two sed invocations is a workaround.
|
|
612
|
+
tr ' ' "$nl" < "$tmpdepfile" \
|
|
613
|
+
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
|
614
|
+
| sed -e 's/$/ :/' >> "$depfile"
|
|
513
615
|
rm -f "$tmpdepfile"
|
|
514
616
|
;;
|
|
515
617
|
|
|
@@ -562,11 +664,12 @@ makedepend)
|
|
|
562
664
|
# makedepend may prepend the VPATH from the source file name to the object.
|
|
563
665
|
# No need to regex-escape $object, excess matching of '.' is harmless.
|
|
564
666
|
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d'
|
|
667
|
+
# Some versions of the HPUX 10.20 sed can't process the last invocation
|
|
668
|
+
# correctly. Breaking it into two sed invocations is a workaround.
|
|
669
|
+
sed '1,2d' "$tmpdepfile" \
|
|
670
|
+
| tr ' ' "$nl" \
|
|
671
|
+
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
|
672
|
+
| sed -e 's/$/ :/' >> "$depfile"
|
|
570
673
|
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
|
571
674
|
;;
|
|
572
675
|
|
|
@@ -583,7 +686,7 @@ cpp)
|
|
|
583
686
|
shift
|
|
584
687
|
fi
|
|
585
688
|
|
|
586
|
-
# Remove
|
|
689
|
+
# Remove '-o $object'.
|
|
587
690
|
IFS=" "
|
|
588
691
|
for arg
|
|
589
692
|
do
|
|
@@ -602,10 +705,10 @@ cpp)
|
|
|
602
705
|
esac
|
|
603
706
|
done
|
|
604
707
|
|
|
605
|
-
"$@" -E
|
|
606
|
-
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
|
607
|
-
|
|
608
|
-
sed '$ s: \\$::' > "$tmpdepfile"
|
|
708
|
+
"$@" -E \
|
|
709
|
+
| sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
|
710
|
+
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
|
711
|
+
| sed '$ s: \\$::' > "$tmpdepfile"
|
|
609
712
|
rm -f "$depfile"
|
|
610
713
|
echo "$object : \\" > "$depfile"
|
|
611
714
|
cat < "$tmpdepfile" >> "$depfile"
|
|
@@ -637,23 +740,23 @@ msvisualcpp)
|
|
|
637
740
|
shift
|
|
638
741
|
;;
|
|
639
742
|
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
743
|
+
set fnord "$@"
|
|
744
|
+
shift
|
|
745
|
+
shift
|
|
746
|
+
;;
|
|
644
747
|
*)
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
748
|
+
set fnord "$@" "$arg"
|
|
749
|
+
shift
|
|
750
|
+
shift
|
|
751
|
+
;;
|
|
649
752
|
esac
|
|
650
753
|
done
|
|
651
754
|
"$@" -E 2>/dev/null |
|
|
652
755
|
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
|
653
756
|
rm -f "$depfile"
|
|
654
757
|
echo "$object : \\" > "$depfile"
|
|
655
|
-
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::
|
|
656
|
-
echo "
|
|
758
|
+
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
|
|
759
|
+
echo "$tab" >> "$depfile"
|
|
657
760
|
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
|
658
761
|
rm -f "$tmpdepfile"
|
|
659
762
|
;;
|