libusb 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. data/.travis.yml +2 -2
  2. data/Gemfile +0 -8
  3. data/History.md +5 -0
  4. data/README.md +6 -6
  5. data/Rakefile +9 -9
  6. data/ext/extconf.rb +1 -1
  7. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/AUTHORS +10 -0
  8. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/COPYING +0 -0
  9. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/ChangeLog +17 -9
  10. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/INSTALL +0 -0
  11. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/Makefile.am +0 -0
  12. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/Makefile.in +153 -178
  13. data/ext/libusb-1.0.18/NEWS +2 -0
  14. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/PORTING +13 -13
  15. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/README +9 -11
  16. data/ext/libusb-1.0.18/TODO +2 -0
  17. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/Xcode/common.xcconfig +3 -3
  18. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/Xcode/config.h +0 -0
  19. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/Xcode/debug.xcconfig +2 -2
  20. data/ext/{libusbx-1.0.17/Xcode/libusbx.xcconfig → libusb-1.0.18/Xcode/libusb.xcconfig} +2 -2
  21. data/ext/libusb-1.0.18/Xcode/libusb.xcodeproj/project.pbxproj +1 -0
  22. data/ext/{libusbx-1.0.17/Xcode/libusbx_debug.xcconfig → libusb-1.0.18/Xcode/libusb_debug.xcconfig} +3 -3
  23. data/ext/{libusbx-1.0.17/Xcode/libusbx_release.xcconfig → libusb-1.0.18/Xcode/libusb_release.xcconfig} +3 -3
  24. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/Xcode/release.xcconfig +2 -2
  25. data/ext/{libusbx-1.0.17/m4/libtool.m4 → libusb-1.0.18/aclocal.m4} +1731 -27
  26. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/README +0 -0
  27. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/config.h +1 -10
  28. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/jni/Android.mk +0 -0
  29. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/jni/Application.mk +6 -1
  30. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/jni/examples.mk +0 -0
  31. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/jni/libusb.mk +0 -0
  32. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/android/jni/tests.mk +0 -0
  33. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/compile +3 -7
  34. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/config.guess +19 -24
  35. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/config.h.in +0 -0
  36. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/config.sub +30 -47
  37. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/configure +118 -172
  38. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/configure.ac +24 -2
  39. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/depcomp +186 -268
  40. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/doc/Makefile.am +1 -1
  41. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/doc/Makefile.in +36 -73
  42. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/doc/doxygen.cfg.in +1 -1
  43. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/Makefile.am +0 -0
  44. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/Makefile.in +68 -132
  45. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/dpfp.c +1 -1
  46. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/dpfp_threaded.c +1 -1
  47. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/ezusb.c +57 -26
  48. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/ezusb.h +0 -0
  49. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/fxload.c +3 -3
  50. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/getopt/getopt.c +0 -0
  51. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/getopt/getopt.h +0 -0
  52. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/getopt/getopt1.c +0 -0
  53. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/hotplugtest.c +9 -2
  54. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/listdevs.c +1 -1
  55. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/sam3u_benchmark.c +0 -0
  56. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/examples/xusb.c +20 -4
  57. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/install-sh +7 -7
  58. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb-1.0.pc.in +1 -1
  59. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/Makefile.am +1 -1
  60. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/Makefile.in +94 -134
  61. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/core.c +95 -74
  62. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/descriptor.c +2 -2
  63. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/hotplug.c +3 -3
  64. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/hotplug.h +1 -1
  65. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/io.c +127 -116
  66. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/libusb-1.0.def +0 -0
  67. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/libusb-1.0.rc +1 -1
  68. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/libusb.h +42 -39
  69. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/libusbi.h +20 -11
  70. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/darwin_usb.c +20 -16
  71. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/darwin_usb.h +1 -1
  72. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/linux_netlink.c +0 -0
  73. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/linux_udev.c +0 -0
  74. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/linux_usbfs.c +15 -12
  75. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/linux_usbfs.h +0 -0
  76. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/netbsd_usb.c +2 -4
  77. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/openbsd_usb.c +5 -2
  78. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/poll_posix.c +0 -0
  79. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/poll_posix.h +0 -0
  80. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/poll_windows.c +2 -2
  81. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/poll_windows.h +0 -0
  82. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/threads_posix.c +1 -1
  83. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/threads_posix.h +1 -1
  84. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/threads_windows.c +1 -1
  85. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/threads_windows.h +1 -1
  86. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/wince_usb.c +1 -2
  87. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/wince_usb.h +2 -2
  88. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/windows_common.h +1 -1
  89. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/windows_usb.c +53 -33
  90. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/os/windows_usb.h +6 -1
  91. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/strerror.c +2 -2
  92. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/sync.c +6 -6
  93. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/libusb/version.h +1 -1
  94. data/ext/libusb-1.0.18/libusb/version_nano.h +1 -0
  95. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/ltmain.sh +3 -3
  96. data/ext/libusb-1.0.18/missing +331 -0
  97. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/tests/Makefile.am +1 -1
  98. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/tests/Makefile.in +69 -127
  99. data/ext/{libusbx-1.0.17/tests/libusbx_testlib.h → libusb-1.0.18/tests/libusb_testlib.h} +15 -15
  100. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/tests/stress.c +16 -16
  101. data/ext/{libusbx-1.0.17 → libusb-1.0.18}/tests/testlib.c +21 -20
  102. data/lib/libusb/version_gem.rb +1 -1
  103. data/libusb.gemspec +1 -6
  104. metadata +117 -135
  105. checksums.yaml +0 -7
  106. checksums.yaml.gz.sig +0 -0
  107. data.tar.gz.sig +0 -0
  108. data/ext/libusbx-1.0.17/NEWS +0 -2
  109. data/ext/libusbx-1.0.17/TODO +0 -2
  110. data/ext/libusbx-1.0.17/Xcode/libusbx.xcodeproj/project.pbxproj +0 -864
  111. data/ext/libusbx-1.0.17/aclocal.m4 +0 -1112
  112. data/ext/libusbx-1.0.17/libusb/version_nano.h +0 -1
  113. data/ext/libusbx-1.0.17/m4/ltoptions.m4 +0 -384
  114. data/ext/libusbx-1.0.17/m4/ltsugar.m4 +0 -123
  115. data/ext/libusbx-1.0.17/m4/ltversion.m4 +0 -23
  116. data/ext/libusbx-1.0.17/m4/lt~obsolete.m4 +0 -98
  117. data/ext/libusbx-1.0.17/missing +0 -215
  118. metadata.gz.sig +0 -0
@@ -15,7 +15,7 @@ LU_DEFINE_VERSION_ATOM([LIBUSB_MINOR])
15
15
  LU_DEFINE_VERSION_ATOM([LIBUSB_MICRO])
16
16
  LU_DEFINE_VERSION_RC_ATOM([LIBUSB_RC])
17
17
 
18
- AC_INIT([libusbx],[LIBUSB_MAJOR[.]LIBUSB_MINOR[.]LIBUSB_MICRO[]LIBUSB_RC],[libusbx-devel@lists.sourceforge.net],[libusbx],[http://libusbx.org])
18
+ AC_INIT([libusb],[LIBUSB_MAJOR[.]LIBUSB_MINOR[.]LIBUSB_MICRO[]LIBUSB_RC],[libusb-devel@lists.sourceforge.net],[libusb],[http://libusb.info])
19
19
 
20
20
  # Library versioning
21
21
  # These numbers should be tweaked on every release. Read carefully:
@@ -46,8 +46,18 @@ LTLDFLAGS="${LTLDFLAGS} -no-undefined"
46
46
 
47
47
  AC_MSG_CHECKING([operating system])
48
48
 
49
+ dnl on linux-android platform, some functions are in different places
49
50
  case $host in
50
- *-linux*)
51
+ *-linux-android*)
52
+ AC_MSG_RESULT([This is a Linux-Android system])
53
+ is_backend_android="yes"
54
+ ;;
55
+ *)
56
+ is_backend_android="no"
57
+ esac
58
+
59
+ case $host in
60
+ *-linux* | *-uclinux*)
51
61
  AC_MSG_RESULT([Linux])
52
62
  backend="linux"
53
63
  threads="posix"
@@ -108,8 +118,20 @@ linux)
108
118
  ])
109
119
  fi
110
120
  AC_SUBST(USE_UDEV)
121
+
122
+ case $is_backend_android in
123
+ yes)
124
+ dnl some pthread functions is in libc
125
+ THREAD_CFLAGS="-c"
126
+ LIBS="${LIBS} -c"
127
+ dnl there are gettimeofday function but configure doesn't seem to be able to find it.
128
+ AC_DEFINE([HAVE_GETTIMEOFDAY], [1], [Define if you have gettimeofday])
129
+ ;;
130
+ *)
111
131
  THREAD_CFLAGS="-pthread"
112
132
  LIBS="${LIBS} -pthread"
133
+ esac
134
+
113
135
  AC_CHECK_HEADERS([poll.h])
114
136
  AC_DEFINE([POLL_NFDS_TYPE],[nfds_t],[type of second poll() argument])
115
137
  ;;
@@ -1,9 +1,10 @@
1
1
  #! /bin/sh
2
2
  # depcomp - compile a program generating dependencies as side-effects
3
3
 
4
- scriptversion=2012-10-18.11; # UTC
4
+ scriptversion=2012-03-27.16; # UTC
5
5
 
6
- # Copyright (C) 1999-2013 Free Software Foundation, Inc.
6
+ # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
7
+ # 2011, 2012 Free Software Foundation, Inc.
7
8
 
8
9
  # This program is free software; you can redistribute it and/or modify
9
10
  # it under the terms of the GNU General Public License as published by
@@ -27,9 +28,9 @@ scriptversion=2012-10-18.11; # UTC
27
28
 
28
29
  case $1 in
29
30
  '')
30
- echo "$0: No command. Try '$0 --help' for more information." 1>&2
31
- exit 1;
32
- ;;
31
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
32
+ exit 1;
33
+ ;;
33
34
  -h | --h*)
34
35
  cat <<\EOF
35
36
  Usage: depcomp [--help] [--version] PROGRAM [ARGS]
@@ -56,65 +57,11 @@ EOF
56
57
  ;;
57
58
  esac
58
59
 
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
60
  # A tabulation character.
108
61
  tab=' '
109
62
  # A newline character.
110
63
  nl='
111
64
  '
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
65
 
119
66
  if test -z "$depmode" || test -z "$source" || test -z "$object"; then
120
67
  echo "depcomp: Variables source, object and depmode must be set" 1>&2
@@ -128,9 +75,6 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
128
75
 
129
76
  rm -f "$tmpdepfile"
130
77
 
131
- # Avoid interferences from the environment.
132
- gccflag= dashmflag=
133
-
134
78
  # Some modes work just like other modes, but use different flags. We
135
79
  # parameterize here, but still list the modes in the big case below,
136
80
  # to make depend.m4 easier to write. Note that we *cannot* use a case
@@ -142,32 +86,32 @@ if test "$depmode" = hp; then
142
86
  fi
143
87
 
144
88
  if test "$depmode" = dashXmstdout; then
145
- # This is just like dashmstdout with a different argument.
146
- dashmflag=-xM
147
- depmode=dashmstdout
89
+ # This is just like dashmstdout with a different argument.
90
+ dashmflag=-xM
91
+ depmode=dashmstdout
148
92
  fi
149
93
 
150
94
  cygpath_u="cygpath -u -f -"
151
95
  if test "$depmode" = msvcmsys; then
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
96
+ # This is just like msvisualcpp but w/o cygpath translation.
97
+ # Just convert the backslash-escaped backslashes to single forward
98
+ # slashes to satisfy depend.m4
99
+ cygpath_u='sed s,\\\\,/,g'
100
+ depmode=msvisualcpp
157
101
  fi
158
102
 
159
103
  if test "$depmode" = msvc7msys; then
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
104
+ # This is just like msvc7 but w/o cygpath translation.
105
+ # Just convert the backslash-escaped backslashes to single forward
106
+ # slashes to satisfy depend.m4
107
+ cygpath_u='sed s,\\\\,/,g'
108
+ depmode=msvc7
165
109
  fi
166
110
 
167
111
  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
112
+ # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
113
+ gccflag=-qmakedep=gcc,-MF
114
+ depmode=gcc
171
115
  fi
172
116
 
173
117
  case "$depmode" in
@@ -190,7 +134,8 @@ gcc3)
190
134
  done
191
135
  "$@"
192
136
  stat=$?
193
- if test $stat -ne 0; then
137
+ if test $stat -eq 0; then :
138
+ else
194
139
  rm -f "$tmpdepfile"
195
140
  exit $stat
196
141
  fi
@@ -198,17 +143,13 @@ gcc3)
198
143
  ;;
199
144
 
200
145
  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).
204
146
  ## There are various ways to get dependency output from gcc. Here's
205
147
  ## why we pick this rather obscure method:
206
148
  ## - Don't want to use -MD because we'd like the dependencies to end
207
149
  ## up in a subdir. Having to rename by hand is ugly.
208
150
  ## (We might end up doing this anyway to support other compilers.)
209
151
  ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
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.
152
+ ## -MM, not -M (despite what the docs say).
212
153
  ## - Using -M directly means running the compiler twice (even worse
213
154
  ## than renaming).
214
155
  if test -z "$gccflag"; then
@@ -216,14 +157,15 @@ gcc)
216
157
  fi
217
158
  "$@" -Wp,"$gccflag$tmpdepfile"
218
159
  stat=$?
219
- if test $stat -ne 0; then
160
+ if test $stat -eq 0; then :
161
+ else
220
162
  rm -f "$tmpdepfile"
221
163
  exit $stat
222
164
  fi
223
165
  rm -f "$depfile"
224
166
  echo "$object : \\" > "$depfile"
225
- # The second -e expression handles DOS-style file names with drive
226
- # letters.
167
+ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
168
+ ## The second -e expression handles DOS-style file names with drive letters.
227
169
  sed -e 's/^[^:]*: / /' \
228
170
  -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
229
171
  ## This next piece of magic avoids the "deleted header file" problem.
@@ -232,15 +174,15 @@ gcc)
232
174
  ## typically no way to rebuild the header). We avoid this by adding
233
175
  ## dummy dependencies for each header file. Too bad gcc doesn't do
234
176
  ## this for us directly.
177
+ tr ' ' "$nl" < "$tmpdepfile" |
235
178
  ## Some versions of gcc put a space before the ':'. On the theory
236
179
  ## that the space means something, we add a space to the output as
237
180
  ## well. hp depmode also adds that space, but also prefixes the VPATH
238
181
  ## to the object. Take care to not repeat it in the output.
239
182
  ## Some versions of the HPUX 10.20 sed can't process this invocation
240
183
  ## correctly. Breaking it into two sed invocations is a workaround.
241
- tr ' ' "$nl" < "$tmpdepfile" \
242
- | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
243
- | sed -e 's/$/ :/' >> "$depfile"
184
+ sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
185
+ | sed -e 's/$/ :/' >> "$depfile"
244
186
  rm -f "$tmpdepfile"
245
187
  ;;
246
188
 
@@ -258,7 +200,8 @@ sgi)
258
200
  "$@" -MDupdate "$tmpdepfile"
259
201
  fi
260
202
  stat=$?
261
- if test $stat -ne 0; then
203
+ if test $stat -eq 0; then :
204
+ else
262
205
  rm -f "$tmpdepfile"
263
206
  exit $stat
264
207
  fi
@@ -266,6 +209,7 @@ sgi)
266
209
 
267
210
  if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
268
211
  echo "$object : \\" > "$depfile"
212
+
269
213
  # Clip off the initial element (the dependent). Don't try to be
270
214
  # clever and replace this with sed code, as IRIX sed won't handle
271
215
  # lines with more than a fixed number of characters (4096 in
@@ -273,15 +217,19 @@ sgi)
273
217
  # the IRIX cc adds comments like '#:fec' to the end of the
274
218
  # dependency line.
275
219
  tr ' ' "$nl" < "$tmpdepfile" \
276
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
277
- | tr "$nl" ' ' >> "$depfile"
220
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
221
+ tr "$nl" ' ' >> "$depfile"
278
222
  echo >> "$depfile"
223
+
279
224
  # The second pass generates a dummy entry for each header file.
280
225
  tr ' ' "$nl" < "$tmpdepfile" \
281
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
282
- >> "$depfile"
226
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
227
+ >> "$depfile"
283
228
  else
284
- make_dummy_depfile
229
+ # The sourcefile does not contain any dependencies, so just
230
+ # store a dummy comment line, to avoid errors with the Makefile
231
+ # "include basename.Plo" scheme.
232
+ echo "#dummy" > "$depfile"
285
233
  fi
286
234
  rm -f "$tmpdepfile"
287
235
  ;;
@@ -299,8 +247,9 @@ aix)
299
247
  # current directory. Also, the AIX compiler puts '$object:' at the
300
248
  # start of each line; $object doesn't have directory information.
301
249
  # Version 6 uses the directory in both cases.
302
- set_dir_from "$object"
303
- set_base_from "$object"
250
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
251
+ test "x$dir" = "x$object" && dir=
252
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
304
253
  if test "$libtool" = yes; then
305
254
  tmpdepfile1=$dir$base.u
306
255
  tmpdepfile2=$base.u
@@ -313,7 +262,9 @@ aix)
313
262
  "$@" -M
314
263
  fi
315
264
  stat=$?
316
- if test $stat -ne 0; then
265
+
266
+ if test $stat -eq 0; then :
267
+ else
317
268
  rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
318
269
  exit $stat
319
270
  fi
@@ -322,113 +273,65 @@ aix)
322
273
  do
323
274
  test -f "$tmpdepfile" && break
324
275
  done
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
276
+ if test -f "$tmpdepfile"; then
277
+ # Each line is of the form 'foo.o: dependent.h'.
278
+ # Do two passes, one to just change these to
279
+ # '$object: dependent.h' and one to simply 'dependent.h:'.
280
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
281
+ sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
282
+ else
283
+ # The sourcefile does not contain any dependencies, so just
284
+ # store a dummy comment line, to avoid errors with the Makefile
285
+ # "include basename.Plo" scheme.
286
+ echo "#dummy" > "$depfile"
348
287
  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"
356
288
  rm -f "$tmpdepfile"
357
289
  ;;
358
290
 
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
291
+ icc)
292
+ # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
293
+ # However on
294
+ # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
295
+ # ICC 7.0 will fill foo.d with something like
296
+ # foo.o: sub/foo.c
297
+ # foo.o: sub/foo.h
298
+ # which is wrong. We want
299
+ # sub/foo.o: sub/foo.c
300
+ # sub/foo.o: sub/foo.h
301
+ # sub/foo.c:
302
+ # sub/foo.h:
303
+ # ICC 7.1 will output
369
304
  # foo.o: sub/foo.c sub/foo.h
370
- # and will wrap long lines using '\' :
305
+ # and will wrap long lines using '\':
371
306
  # foo.o: sub/foo.c ... \
372
307
  # sub/foo.h ... \
373
308
  # ...
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
417
-
418
- if test $stat -ne 0; then
309
+ # tcc 0.9.26 (FIXME still under development at the moment of writing)
310
+ # will emit a similar output, but also prepend the continuation lines
311
+ # with horizontal tabulation characters.
312
+ "$@" -MD -MF "$tmpdepfile"
313
+ stat=$?
314
+ if test $stat -eq 0; then :
315
+ else
419
316
  rm -f "$tmpdepfile"
420
317
  exit $stat
421
318
  fi
422
319
  rm -f "$depfile"
423
- # Each line is of the form `foo.o: dependent.h',
424
- # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
320
+ # Each line is of the form 'foo.o: dependent.h',
321
+ # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
425
322
  # Do two passes, one to just change these to
426
- # `$object: dependent.h' and one to simply `dependent.h:'.
427
- sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
428
- # Some versions of the HPUX 10.20 sed can't process this invocation
429
- # correctly. Breaking it into two sed invocations is a workaround.
430
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
431
- | sed -e 's/$/ :/' >> "$depfile"
323
+ # '$object: dependent.h' and one to simply 'dependent.h:'.
324
+ sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \
325
+ < "$tmpdepfile" > "$depfile"
326
+ sed '
327
+ s/[ '"$tab"'][ '"$tab"']*/ /g
328
+ s/^ *//
329
+ s/ *\\*$//
330
+ s/^[^:]*: *//
331
+ /^$/d
332
+ /:$/d
333
+ s/$/ :/
334
+ ' < "$tmpdepfile" >> "$depfile"
432
335
  rm -f "$tmpdepfile"
433
336
  ;;
434
337
 
@@ -439,8 +342,9 @@ hp2)
439
342
  # 'foo.d', which lands next to the object file, wherever that
440
343
  # happens to be.
441
344
  # Much of this is similar to the tru64 case; see comments there.
442
- set_dir_from "$object"
443
- set_base_from "$object"
345
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
346
+ test "x$dir" = "x$object" && dir=
347
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
444
348
  if test "$libtool" = yes; then
445
349
  tmpdepfile1=$dir$base.d
446
350
  tmpdepfile2=$dir.libs/$base.d
@@ -451,7 +355,8 @@ hp2)
451
355
  "$@" +Maked
452
356
  fi
453
357
  stat=$?
454
- if test $stat -ne 0; then
358
+ if test $stat -eq 0; then :
359
+ else
455
360
  rm -f "$tmpdepfile1" "$tmpdepfile2"
456
361
  exit $stat
457
362
  fi
@@ -461,61 +366,76 @@ hp2)
461
366
  test -f "$tmpdepfile" && break
462
367
  done
463
368
  if test -f "$tmpdepfile"; then
464
- sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
369
+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
465
370
  # Add 'dependent.h:' lines.
466
371
  sed -ne '2,${
467
- s/^ *//
468
- s/ \\*$//
469
- s/$/:/
470
- p
471
- }' "$tmpdepfile" >> "$depfile"
372
+ s/^ *//
373
+ s/ \\*$//
374
+ s/$/:/
375
+ p
376
+ }' "$tmpdepfile" >> "$depfile"
472
377
  else
473
- make_dummy_depfile
378
+ echo "#dummy" > "$depfile"
474
379
  fi
475
380
  rm -f "$tmpdepfile" "$tmpdepfile2"
476
381
  ;;
477
382
 
478
383
  tru64)
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
- ;;
384
+ # The Tru64 compiler uses -MD to generate dependencies as a side
385
+ # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
386
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
387
+ # dependencies in 'foo.d' instead, so we check for that too.
388
+ # Subdirectories are respected.
389
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
390
+ test "x$dir" = "x$object" && dir=
391
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
392
+
393
+ if test "$libtool" = yes; then
394
+ # With Tru64 cc, shared objects can also be used to make a
395
+ # static library. This mechanism is used in libtool 1.4 series to
396
+ # handle both shared and static libraries in a single compilation.
397
+ # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
398
+ #
399
+ # With libtool 1.5 this exception was removed, and libtool now
400
+ # generates 2 separate objects for the 2 libraries. These two
401
+ # compilations output dependencies in $dir.libs/$base.o.d and
402
+ # in $dir$base.o.d. We have to check for both files, because
403
+ # one of the two compilations can be disabled. We should prefer
404
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
405
+ # automatically cleaned when .libs/ is deleted, while ignoring
406
+ # the former would cause a distcleancheck panic.
407
+ tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
408
+ tmpdepfile2=$dir$base.o.d # libtool 1.5
409
+ tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
410
+ tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
411
+ "$@" -Wc,-MD
412
+ else
413
+ tmpdepfile1=$dir$base.o.d
414
+ tmpdepfile2=$dir$base.d
415
+ tmpdepfile3=$dir$base.d
416
+ tmpdepfile4=$dir$base.d
417
+ "$@" -MD
418
+ fi
419
+
420
+ stat=$?
421
+ if test $stat -eq 0; then :
422
+ else
423
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
424
+ exit $stat
425
+ fi
426
+
427
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
428
+ do
429
+ test -f "$tmpdepfile" && break
430
+ done
431
+ if test -f "$tmpdepfile"; then
432
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
433
+ sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
434
+ else
435
+ echo "#dummy" > "$depfile"
436
+ fi
437
+ rm -f "$tmpdepfile"
438
+ ;;
519
439
 
520
440
  msvc7)
521
441
  if test "$libtool" = yes; then
@@ -526,7 +446,8 @@ msvc7)
526
446
  "$@" $showIncludes > "$tmpdepfile"
527
447
  stat=$?
528
448
  grep -v '^Note: including file: ' "$tmpdepfile"
529
- if test $stat -ne 0; then
449
+ if test "$stat" = 0; then :
450
+ else
530
451
  rm -f "$tmpdepfile"
531
452
  exit $stat
532
453
  fi
@@ -603,14 +524,13 @@ dashmstdout)
603
524
  # in the target name. This is to cope with DOS-style filenames:
604
525
  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
605
526
  "$@" $dashmflag |
606
- sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
527
+ sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
607
528
  rm -f "$depfile"
608
529
  cat < "$tmpdepfile" > "$depfile"
609
- # Some versions of the HPUX 10.20 sed can't process this sed invocation
610
- # correctly. Breaking it into two sed invocations is a workaround.
611
- tr ' ' "$nl" < "$tmpdepfile" \
612
- | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
613
- | sed -e 's/$/ :/' >> "$depfile"
530
+ tr ' ' "$nl" < "$tmpdepfile" | \
531
+ ## Some versions of the HPUX 10.20 sed can't process this invocation
532
+ ## correctly. Breaking it into two sed invocations is a workaround.
533
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
614
534
  rm -f "$tmpdepfile"
615
535
  ;;
616
536
 
@@ -663,12 +583,10 @@ makedepend)
663
583
  # makedepend may prepend the VPATH from the source file name to the object.
664
584
  # No need to regex-escape $object, excess matching of '.' is harmless.
665
585
  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
666
- # Some versions of the HPUX 10.20 sed can't process the last invocation
667
- # correctly. Breaking it into two sed invocations is a workaround.
668
- sed '1,2d' "$tmpdepfile" \
669
- | tr ' ' "$nl" \
670
- | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
671
- | sed -e 's/$/ :/' >> "$depfile"
586
+ sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
587
+ ## Some versions of the HPUX 10.20 sed can't process this invocation
588
+ ## correctly. Breaking it into two sed invocations is a workaround.
589
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
672
590
  rm -f "$tmpdepfile" "$tmpdepfile".bak
673
591
  ;;
674
592
 
@@ -704,10 +622,10 @@ cpp)
704
622
  esac
705
623
  done
706
624
 
707
- "$@" -E \
708
- | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
709
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
710
- | sed '$ s: \\$::' > "$tmpdepfile"
625
+ "$@" -E |
626
+ sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
627
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
628
+ sed '$ s: \\$::' > "$tmpdepfile"
711
629
  rm -f "$depfile"
712
630
  echo "$object : \\" > "$depfile"
713
631
  cat < "$tmpdepfile" >> "$depfile"
@@ -739,15 +657,15 @@ msvisualcpp)
739
657
  shift
740
658
  ;;
741
659
  "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
742
- set fnord "$@"
743
- shift
744
- shift
745
- ;;
660
+ set fnord "$@"
661
+ shift
662
+ shift
663
+ ;;
746
664
  *)
747
- set fnord "$@" "$arg"
748
- shift
749
- shift
750
- ;;
665
+ set fnord "$@" "$arg"
666
+ shift
667
+ shift
668
+ ;;
751
669
  esac
752
670
  done
753
671
  "$@" -E 2>/dev/null |