nutcracker 0.3.0.12 → 0.4.0.13
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
;;
|