google_hash 0.8.1 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. data/ChangeLog.txt +2 -0
  2. data/VERSION +1 -1
  3. data/ext/clean.bat +0 -0
  4. data/ext/clean.sh +4 -0
  5. data/ext/extconf.rb +4 -5
  6. data/ext/go.bat +0 -0
  7. data/ext/sparsehash-2.0.2/AUTHORS +2 -0
  8. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/COPYING +0 -0
  9. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/ChangeLog +60 -0
  10. data/ext/sparsehash-2.0.2/INSTALL +365 -0
  11. data/ext/sparsehash-2.0.2/Makefile +1336 -0
  12. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/Makefile.am +97 -40
  13. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/Makefile.in +538 -256
  14. data/ext/sparsehash-2.0.2/NEWS +188 -0
  15. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/README +4 -10
  16. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/README_windows.txt +3 -3
  17. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/TODO +0 -0
  18. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/aclocal.m4 +266 -166
  19. data/ext/sparsehash-2.0.2/allocator.patch +31 -0
  20. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/config.guess +235 -234
  21. data/ext/sparsehash-2.0.2/config.status +1238 -0
  22. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/config.sub +198 -64
  23. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/configure +1118 -1000
  24. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/configure.ac +4 -5
  25. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/depcomp +136 -36
  26. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/doc/dense_hash_map.html +182 -67
  27. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/doc/dense_hash_set.html +173 -74
  28. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/doc/designstyle.css +0 -6
  29. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/doc/implementation.html +0 -0
  30. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/doc/index.html +4 -5
  31. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/doc/performance.html +1 -1
  32. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/doc/sparse_hash_map.html +190 -58
  33. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/doc/sparse_hash_set.html +180 -65
  34. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/doc/sparsetable.html +1 -1
  35. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/experimental/Makefile +0 -0
  36. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/experimental/README +0 -0
  37. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/experimental/example.c +1 -0
  38. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/experimental/libchash.c +1 -0
  39. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/experimental/libchash.h +1 -0
  40. data/ext/sparsehash-2.0.2/install-sh +520 -0
  41. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/m4/acx_pthread.m4 +34 -0
  42. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/m4/google_namespace.m4 +0 -0
  43. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/m4/namespaces.m4 +0 -0
  44. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/m4/stl_hash.m4 +0 -0
  45. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/m4/stl_hash_fun.m4 +0 -0
  46. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/missing +60 -44
  47. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/packages/deb.sh +0 -0
  48. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/packages/deb/README +0 -0
  49. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/packages/deb/changelog +42 -0
  50. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/packages/deb/compat +0 -0
  51. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/packages/deb/control +1 -1
  52. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/packages/deb/copyright +5 -4
  53. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/packages/deb/docs +0 -0
  54. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/packages/deb/rules +0 -0
  55. data/ext/sparsehash-2.0.2/packages/deb/sparsehash.dirs +5 -0
  56. data/ext/sparsehash-2.0.2/packages/deb/sparsehash.install +6 -0
  57. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/packages/rpm.sh +1 -1
  58. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/packages/rpm/rpm.spec +5 -3
  59. data/ext/{sparsehash-1.8.1/google-sparsehash.sln → sparsehash-2.0.2/sparsehash.sln} +0 -0
  60. data/ext/sparsehash-2.0.2/src/config.h +132 -0
  61. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/src/config.h.in +0 -3
  62. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/src/config.h.include +0 -1
  63. data/ext/sparsehash-2.0.2/src/google/dense_hash_map +34 -0
  64. data/ext/sparsehash-2.0.2/src/google/dense_hash_set +34 -0
  65. data/ext/sparsehash-2.0.2/src/google/sparse_hash_map +34 -0
  66. data/ext/sparsehash-2.0.2/src/google/sparse_hash_set +34 -0
  67. data/ext/sparsehash-2.0.2/src/google/sparsehash/densehashtable.h +34 -0
  68. data/ext/sparsehash-2.0.2/src/google/sparsehash/hashtable-common.h +34 -0
  69. data/ext/sparsehash-2.0.2/src/google/sparsehash/libc_allocator_with_realloc.h +34 -0
  70. data/ext/sparsehash-2.0.2/src/google/sparsehash/sparsehashtable.h +34 -0
  71. data/ext/sparsehash-2.0.2/src/google/sparsetable +34 -0
  72. data/ext/sparsehash-2.0.2/src/google/template_util.h +34 -0
  73. data/ext/sparsehash-2.0.2/src/google/type_traits.h +34 -0
  74. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/src/hash_test_interface.h +64 -37
  75. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/src/hashtable_test.cc +415 -141
  76. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/src/libc_allocator_with_realloc_test.cc +16 -23
  77. data/ext/sparsehash-2.0.2/src/simple_compat_test.cc +106 -0
  78. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/src/simple_test.cc +8 -5
  79. data/ext/{sparsehash-1.8.1/src/google → sparsehash-2.0.2/src/sparsehash}/dense_hash_map +80 -37
  80. data/ext/{sparsehash-1.8.1/src/google → sparsehash-2.0.2/src/sparsehash}/dense_hash_set +64 -34
  81. data/ext/{sparsehash-1.8.1/src/google/sparsehash → sparsehash-2.0.2/src/sparsehash/internal}/densehashtable.h +247 -173
  82. data/ext/sparsehash-2.0.2/src/sparsehash/internal/hashtable-common.h +381 -0
  83. data/ext/{sparsehash-1.8.1/src/google/sparsehash → sparsehash-2.0.2/src/sparsehash/internal}/libc_allocator_with_realloc.h +5 -7
  84. data/ext/{sparsehash-1.8.1/src/google/sparsehash → sparsehash-2.0.2/src/sparsehash/internal}/sparsehashtable.h +154 -93
  85. data/ext/{sparsehash-1.8.1/src/google → sparsehash-2.0.2/src/sparsehash}/sparse_hash_map +96 -36
  86. data/ext/{sparsehash-1.8.1/src/google → sparsehash-2.0.2/src/sparsehash}/sparse_hash_set +85 -32
  87. data/ext/{sparsehash-1.8.1/src/google → sparsehash-2.0.2/src/sparsehash}/sparsetable +520 -258
  88. data/ext/sparsehash-2.0.2/src/sparsehash/template_util.h +134 -0
  89. data/ext/{sparsehash-1.8.1/src/google → sparsehash-2.0.2/src/sparsehash}/type_traits.h +153 -35
  90. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/src/sparsetable_unittest.cc +108 -22
  91. data/ext/sparsehash-2.0.2/src/stamp-h1 +1 -0
  92. data/ext/sparsehash-2.0.2/src/template_util_unittest.cc +134 -0
  93. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/src/testutil.h +16 -1
  94. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/src/time_hash_map.cc +259 -94
  95. data/ext/sparsehash-2.0.2/src/type_traits_unittest.cc +636 -0
  96. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/src/windows/config.h +4 -4
  97. data/ext/sparsehash-2.0.2/src/windows/google/sparsehash/sparseconfig.h +49 -0
  98. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/src/windows/port.cc +1 -0
  99. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/src/windows/port.h +4 -13
  100. data/ext/sparsehash-2.0.2/src/windows/sparsehash/internal/sparseconfig.h +49 -0
  101. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/vsprojects/hashtable_test/hashtable_test.vcproj +11 -11
  102. data/ext/sparsehash-2.0.2/vsprojects/libc_allocator_with_realloc_test/libc_allocator_with_realloc_test.vcproj +161 -0
  103. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/vsprojects/simple_test/simple_test.vcproj +10 -10
  104. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/vsprojects/sparsetable_unittest/sparsetable_unittest.vcproj +4 -4
  105. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/vsprojects/time_hash_map/time_hash_map.vcproj +10 -10
  106. data/ext/{sparsehash-1.8.1 → sparsehash-2.0.2}/vsprojects/type_traits_unittest/type_traits_unittest.vcproj +3 -3
  107. data/ext/spec.bat +0 -0
  108. data/ext/template/google_hash.cpp.erb +6 -5
  109. metadata +106 -86
  110. data/ext/sparsehash-1.8.1/AUTHORS +0 -2
  111. data/ext/sparsehash-1.8.1/INSTALL +0 -236
  112. data/ext/sparsehash-1.8.1/NEWS +0 -71
  113. data/ext/sparsehash-1.8.1/compile +0 -99
  114. data/ext/sparsehash-1.8.1/install-sh +0 -323
  115. data/ext/sparsehash-1.8.1/m4/stl_namespace.m4 +0 -25
  116. data/ext/sparsehash-1.8.1/mkinstalldirs +0 -158
  117. data/ext/sparsehash-1.8.1/packages/deb/sparsehash.dirs +0 -2
  118. data/ext/sparsehash-1.8.1/packages/deb/sparsehash.install +0 -2
  119. data/ext/sparsehash-1.8.1/src/google/sparsehash/hashtable-common.h +0 -178
  120. data/ext/sparsehash-1.8.1/src/type_traits_unittest.cc +0 -502
  121. data/ext/sparsehash-1.8.1/src/windows/google/sparsehash/sparseconfig.h +0 -32
@@ -0,0 +1,188 @@
1
+ == 23 Ferbruary 2012 ==
2
+
3
+ A backwards incompatibility arose from flattening the include headers
4
+ structure for the <google> folder.
5
+
6
+ This is now fixed in 2.0.2. You only need to upgrade if you had previously
7
+ included files from the <google/sparsehash> folder.
8
+
9
+ == 1 February 2012 ==
10
+
11
+ A minor bug related to the namespace switch from google to sparsehash
12
+ stopped the build from working when perftools is also installed.
13
+
14
+ This is now fixed in 2.0.1. You only need to upgrade if you have perftools
15
+ installed.
16
+
17
+ == 31 January 2012 ==
18
+
19
+ I've just released sparsehash 2.0.
20
+
21
+ The `google-sparsehash` project has been renamed to `sparsehash`. I
22
+ (csilvers) am stepping down as maintainer, to be replaced by the team
23
+ of Donovan Hide and Geoff Pike. Welcome to the team, Donovan and
24
+ Geoff! Donovan has been an active contributor to sparsehash bug
25
+ reports and discussions in the past, and Geoff has been closely
26
+ involved with sparsehash inside Google (in addition to writing the
27
+ [http://code.google.com/p/cityhash CityHash hash function]). The two
28
+ of them together should be a formidable force. For good.
29
+
30
+ I bumped the major version number up to 2 to reflect the new community
31
+ ownership of the project. All the
32
+ [http://sparsehash.googlecode.com/svn/tags/sparsehash-2.0/ChangeLog changes]
33
+ are related to the renaming.
34
+
35
+ The only functional change from sparsehash 1.12 is that I've renamed
36
+ the `google/` include-directory to be `sparsehash/` instead. New code
37
+ should `#include <sparsehash/sparse_hash_map>`/etc. I've kept the old
38
+ names around as forwarding headers to the new, so `#include
39
+ <google/sparse_hash_map>` will continue to work.
40
+
41
+ Note that the classes and functions remain in the `google` C++
42
+ namespace (I didn't change that to `sparsehash` as well); I think
43
+ that's a trickier transition, and can happen in a future release.
44
+
45
+
46
+ === 18 January 2011 ===
47
+
48
+ The `google-sparsehash` Google Code page has been renamed to
49
+ `sparsehash`, in preparation for the project being renamed to
50
+ `sparsehash`. In the coming weeks, I'll be stepping down as
51
+ maintainer for the sparsehash project, and as part of that Google is
52
+ relinquishing ownership of the project; it will now be entirely
53
+ community run. The name change reflects that shift.
54
+
55
+
56
+ === 20 December 2011 ===
57
+
58
+ I've just released sparsehash 1.12. This release features improved
59
+ I/O (serialization) support. Support is finally added to serialize
60
+ and unserialize `dense_hash_map`/`set`, paralleling the existing code
61
+ for `sparse_hash_map`/`set`. In addition, the serialization API has
62
+ gotten simpler, with a single `serialize()` method to write to disk,
63
+ and an `unserialize()` method to read from disk. Finally, support has
64
+ gotten more generic, with built-in support for both C `FILE*`s and C++
65
+ streams, and an extension mechanism to support arbitrary sources and
66
+ sinks.
67
+
68
+ There are also more minor changes, including minor bugfixes, an
69
+ improved deleted-key test, and a minor addition to the `sparsetable`
70
+ API. See the [http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.12/ChangeLog ChangeLog]
71
+ for full details.
72
+
73
+ === 23 June 2011 ===
74
+
75
+ I've just released sparsehash 1.11. The major user-visible change is
76
+ that the default behavior is improved -- using the hash_map/set is
77
+ faster -- for hashtables where the key is a pointer. We now notice
78
+ that case and ignore the low 2-3 bits (which are almost always 0 for
79
+ pointers) when hashing.
80
+
81
+ Another user-visible change is we've removed the tests for whether the
82
+ STL (vector, pair, etc) is defined in the 'std' namespace. gcc 2.95
83
+ is the most recent compiler I know of to put STL types and functions
84
+ in the global namespace. If you need to use such an old compiler, do
85
+ not update to the latest sparsehash release.
86
+
87
+ We've also changed the internal tools we use to integrate
88
+ Googler-supplied patches to sparsehash into the opensource release.
89
+ These new tools should result in more frequent updates with better
90
+ change descriptions. They will also result in future ChangeLog
91
+ entries being much more verbose (for better or for worse).
92
+
93
+ A full list of changes is described in
94
+ [http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.11/ChangeLog ChangeLog].
95
+
96
+ === 21 January 2011 ===
97
+
98
+ I've just released sparsehash 1.10. This fixes a performance
99
+ regression in sparsehash 1.8, where sparse_hash_map would copy
100
+ hashtable keys by value even when the key was explicitly a reference.
101
+ It also fixes compiler warnings from MSVC 10, which uses some c++0x
102
+ features that did not interact well with sparsehash.
103
+
104
+ There is no reason to upgrade unless you use references for your
105
+ hashtable keys, or compile with MSVC 10. A full list of changes is
106
+ described in
107
+ [http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.10/ChangeLog ChangeLog].
108
+
109
+
110
+ === 24 September 2010 ===
111
+
112
+ I've just released sparsehash 1.9. This fixes a size regression in
113
+ sparsehash 1.8, where the new allocator would take up space in
114
+ `sparse_hash_map`, doubling the sparse_hash_map overhead (from 1-2
115
+ bits per bucket to 3 or so). All users are encouraged to upgrade.
116
+
117
+ This change also marks enums as being Plain Old Data, which can speed
118
+ up hashtables with enum keys and/or values. A full list of changes is
119
+ described in
120
+ [http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.9/ChangeLog ChangeLog].
121
+
122
+ === 29 July 2010 ===
123
+
124
+ I've just released sparsehash 1.8. This includes improved support for
125
+ `Allocator`, including supporting the allocator constructor arg and
126
+ `get_allocator()` access method.
127
+
128
+ To work around a bug in gcc 4.0.x, I've renamed the static variables
129
+ `HT_OCCUPANCY_FLT` and `HT_SHRINK_FLT` to `HT_OCCUPANCY_PCT` and
130
+ `HT_SHRINK_PCT`, and changed their type from float to int. This
131
+ should not be a user-visible change, since these variables are only
132
+ used in the internal hashtable classes (sparsehash clients should use
133
+ `max_load_factor()` and `min_load_factor()` instead of modifying these
134
+ static variables), but if you do access these constants, you will need
135
+ to change your code.
136
+
137
+ Internally, the biggest change is a revamp of the test suite. It now
138
+ has more complete coverage, and a more capable timing tester. There
139
+ are other, more minor changes as well. A full list of changes is
140
+ described in the
141
+ [http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.8/ChangeLog ChangeLog].
142
+
143
+ === 31 March 2010 ===
144
+
145
+ I've just released sparsehash 1.7. The major news here is the
146
+ addition of `Allocator` support. Previously, these hashtable classes
147
+ would just ignore the `Allocator` template parameter. They now
148
+ respect it, and even inherit `size_type`, `pointer`, etc. from the
149
+ allocator class. By default, they use a special allocator we provide
150
+ that uses libc `malloc` and `free` to allocate. The hash classes
151
+ notice when this special allocator is being used, and use `realloc`
152
+ when it can. This means that the default allocator is significantly
153
+ faster than custom allocators are likely to be (since realloc-like
154
+ functionality is not supported by STL allocators).
155
+
156
+ There are a few more minor changes as well. A full list of changes is
157
+ described in the
158
+ [http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.7/ChangeLog ChangeLog].
159
+
160
+ === 11 January 2010 ===
161
+
162
+ I've just released sparsehash 1.6. The API has widened a bit with the
163
+ addition of `deleted_key()` and `empty_key()`, which let you query
164
+ what values these keys have. A few rather obscure bugs have been
165
+ fixed (such as an error when copying one hashtable into another when
166
+ the empty_keys differ). A full list of changes is described in the
167
+ [http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.6/ChangeLog ChangeLog].
168
+
169
+ === 9 May 2009 ===
170
+
171
+ I've just released sparsehash 1.5.1. Hot on the heels of sparsehash
172
+ 1.5, this release fixes a longstanding bug in the sparsehash code,
173
+ where `equal_range` would always return an empty range. It now works
174
+ as documented. All sparsehash users are encouraged to upgrade.
175
+
176
+ === 7 May 2009 ===
177
+
178
+ I've just released sparsehash 1.5. This release introduces tr1
179
+ compatibility: I've added `rehash`, `begin(i)`, and other methods that
180
+ are expected to be part of the `unordered_map` API once `tr1` in
181
+ introduced. This allows `sparse_hash_map`, `dense_hash_map`,
182
+ `sparse_hash_set`, and `dense_hash_set` to be (almost) drop-in
183
+ replacements for `unordered_map` and `unordered_set`.
184
+
185
+ There is no need to upgrade unless you need this functionality, or
186
+ need one of the other, more minor, changes described in the
187
+ [http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.5/ChangeLog ChangeLog].
188
+
@@ -15,7 +15,7 @@ COMPILING
15
15
  To compile test applications with these classes, run ./configure
16
16
  followed by make. To install these header files on your system, run
17
17
  'make install'. (On Windows, the instructions are different; see
18
- README.windows.) See INSTALL for more details.
18
+ README_windows.txt.) See INSTALL for more details.
19
19
 
20
20
  This code should work on any modern C++ system. It has been tested on
21
21
  Linux (Ubuntu, Fedora, RedHat, Debian), Solaris 10 x86, FreeBSD 6.0,
@@ -26,7 +26,7 @@ USING
26
26
  See the html files in the doc directory for small example programs
27
27
  that use these classes. It's enough to just include the header file:
28
28
 
29
- #include <google/sparse_hash_map> // or sparse_hash_set, dense_hash_map, ...
29
+ #include <sparsehash/sparse_hash_map> // or sparse_hash_set, dense_hash_map, ...
30
30
  google::sparse_hash_set<int, int> number_mapper;
31
31
 
32
32
  and use the class the way you would other hash-map implementations.
@@ -75,16 +75,10 @@ There are also some smaller differences:
75
75
  if (...) ht.erase(it);
76
76
  As another consequence, a series of erase() calls can leave your
77
77
  hashtable using more memory than it needs to. The hashtable will
78
- automatically compact() at the next call to insert(), but to
78
+ automatically compact at the next call to insert(), but to
79
79
  manually compact a hashtable, you can call
80
80
  ht.resize(0)
81
81
 
82
- 3) While sparse_hash_map et al. accept an Allocator template argument,
83
- they ignore it. They use malloc() and free() for all memory
84
- allocations.
85
-
86
- 4) sparse_hash_map et al. do not use exceptions.
87
-
88
82
  I/O
89
83
  ---
90
84
  In addition to the normal hash-map operations, sparse_hash_map can
@@ -146,4 +140,4 @@ and performance data.
146
140
 
147
141
  ---
148
142
  16 March 2005
149
- (Last updated: 20 March 2007)
143
+ (Last updated: 12 September 2010)
@@ -1,6 +1,6 @@
1
1
  This project has been ported to Windows. A working solution file
2
2
  exists in this directory:
3
- google-sparsehash.sln
3
+ sparsehash.sln
4
4
 
5
5
  You can load this solution file into either VC++ 7.1 (Visual Studio
6
6
  2003) or VC++ 8.0 (Visual Studio 2005) -- in the latter case, it will
@@ -18,8 +18,8 @@ You may want to change them to Release mode.
18
18
  I have little experience with Windows programming, so there may be
19
19
  better ways to set this up than I've done! If you run across any
20
20
  problems, please post to the google-sparsehash Google Group, or report
21
- them on the google-sparsehash Google Code site:
21
+ them on the sparsehash Google Code site:
22
22
  http://groups.google.com/group/google-sparsehash
23
- http://code.google.com/p/google-sparsehash/issues/list
23
+ http://code.google.com/p/sparsehash/issues/list
24
24
 
25
25
  -- craig
@@ -1,7 +1,7 @@
1
- # generated automatically by aclocal 1.9.6 -*- Autoconf -*-
1
+ # generated automatically by aclocal 1.11.1 -*- Autoconf -*-
2
2
 
3
3
  # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4
- # 2005 Free Software Foundation, Inc.
4
+ # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
5
5
  # This file is free software; the Free Software Foundation
6
6
  # gives unlimited permission to copy and/or distribute it,
7
7
  # with or without modifications, as long as this notice is preserved.
@@ -11,7 +11,15 @@
11
11
  # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12
12
  # PARTICULAR PURPOSE.
13
13
 
14
- # Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
14
+ m4_ifndef([AC_AUTOCONF_VERSION],
15
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
16
+ m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
17
+ [m4_warning([this file was generated for autoconf 2.68.
18
+ You have another version of autoconf. It may work, but is not guaranteed to.
19
+ If you have problems, you may need to regenerate the build system entirely.
20
+ To do so, use the procedure documented by the package, typically `autoreconf'.])])
21
+
22
+ # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
15
23
  #
16
24
  # This file is free software; the Free Software Foundation
17
25
  # gives unlimited permission to copy and/or distribute it,
@@ -21,14 +29,31 @@
21
29
  # ----------------------------
22
30
  # Automake X.Y traces this macro to ensure aclocal.m4 has been
23
31
  # generated from the m4 files accompanying Automake X.Y.
24
- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
32
+ # (This private macro should not be called outside this file.)
33
+ AC_DEFUN([AM_AUTOMAKE_VERSION],
34
+ [am__api_version='1.11'
35
+ dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
36
+ dnl require some minimum version. Point them to the right macro.
37
+ m4_if([$1], [1.11.1], [],
38
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
39
+ ])
40
+
41
+ # _AM_AUTOCONF_VERSION(VERSION)
42
+ # -----------------------------
43
+ # aclocal traces this macro to find the Autoconf version.
44
+ # This is a private macro too. Using m4_define simplifies
45
+ # the logic in aclocal, which can simply ignore this definition.
46
+ m4_define([_AM_AUTOCONF_VERSION], [])
25
47
 
26
48
  # AM_SET_CURRENT_AUTOMAKE_VERSION
27
49
  # -------------------------------
28
- # Call AM_AUTOMAKE_VERSION so it can be traced.
29
- # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
50
+ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
51
+ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
30
52
  AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
31
- [AM_AUTOMAKE_VERSION([1.9.6])])
53
+ [AM_AUTOMAKE_VERSION([1.11.1])dnl
54
+ m4_ifndef([AC_AUTOCONF_VERSION],
55
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
56
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
32
57
 
33
58
  # AM_AUX_DIR_EXPAND -*- Autoconf -*-
34
59
 
@@ -85,14 +110,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
85
110
 
86
111
  # AM_CONDITIONAL -*- Autoconf -*-
87
112
 
88
- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
113
+ # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
89
114
  # Free Software Foundation, Inc.
90
115
  #
91
116
  # This file is free software; the Free Software Foundation
92
117
  # gives unlimited permission to copy and/or distribute it,
93
118
  # with or without modifications, as long as this notice is preserved.
94
119
 
95
- # serial 7
120
+ # serial 9
96
121
 
97
122
  # AM_CONDITIONAL(NAME, SHELL-CONDITION)
98
123
  # -------------------------------------
@@ -101,8 +126,11 @@ AC_DEFUN([AM_CONDITIONAL],
101
126
  [AC_PREREQ(2.52)dnl
102
127
  ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
103
128
  [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
104
- AC_SUBST([$1_TRUE])
105
- AC_SUBST([$1_FALSE])
129
+ AC_SUBST([$1_TRUE])dnl
130
+ AC_SUBST([$1_FALSE])dnl
131
+ _AM_SUBST_NOTMAKE([$1_TRUE])dnl
132
+ _AM_SUBST_NOTMAKE([$1_FALSE])dnl
133
+ m4_define([_AM_COND_VALUE_$1], [$2])dnl
106
134
  if $2; then
107
135
  $1_TRUE=
108
136
  $1_FALSE='#'
@@ -116,15 +144,14 @@ AC_CONFIG_COMMANDS_PRE(
116
144
  Usually this means the macro was only invoked conditionally.]])
117
145
  fi])])
118
146
 
119
-
120
- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
147
+ # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
121
148
  # Free Software Foundation, Inc.
122
149
  #
123
150
  # This file is free software; the Free Software Foundation
124
151
  # gives unlimited permission to copy and/or distribute it,
125
152
  # with or without modifications, as long as this notice is preserved.
126
153
 
127
- # serial 8
154
+ # serial 10
128
155
 
129
156
  # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
130
157
  # written in clear, in which case automake, when reading aclocal.m4,
@@ -152,6 +179,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl
152
179
  ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
153
180
  [$1], CXX, [depcc="$CXX" am_compiler_list=],
154
181
  [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
182
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
155
183
  [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
156
184
  [depcc="$$1" am_compiler_list=])
157
185
 
@@ -180,6 +208,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
180
208
  if test "$am_compiler_list" = ""; then
181
209
  am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
182
210
  fi
211
+ am__universal=false
212
+ m4_case([$1], [CC],
213
+ [case " $depcc " in #(
214
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
215
+ esac],
216
+ [CXX],
217
+ [case " $depcc " in #(
218
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
219
+ esac])
220
+
183
221
  for depmode in $am_compiler_list; do
184
222
  # Setup a source with many dependencies, because some compilers
185
223
  # like to wrap large dependency lists on column 80 (with \), and
@@ -197,7 +235,17 @@ AC_CACHE_CHECK([dependency style of $depcc],
197
235
  done
198
236
  echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
199
237
 
238
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
239
+ # mode. It turns out that the SunPro C++ compiler does not properly
240
+ # handle `-M -o', and we need to detect this. Also, some Intel
241
+ # versions had trouble with output in subdirs
242
+ am__obj=sub/conftest.${OBJEXT-o}
243
+ am__minus_obj="-o $am__obj"
200
244
  case $depmode in
245
+ gcc)
246
+ # This depmode causes a compiler race in universal mode.
247
+ test "$am__universal" = false || continue
248
+ ;;
201
249
  nosideeffect)
202
250
  # after this tag, mechanisms are not by side-effect, so they'll
203
251
  # only be used when explicitly requested
@@ -207,18 +255,23 @@ AC_CACHE_CHECK([dependency style of $depcc],
207
255
  break
208
256
  fi
209
257
  ;;
258
+ msvisualcpp | msvcmsys)
259
+ # This compiler won't grok `-c -o', but also, the minuso test has
260
+ # not run yet. These depmodes are late enough in the game, and
261
+ # so weak that their functioning should not be impacted.
262
+ am__obj=conftest.${OBJEXT-o}
263
+ am__minus_obj=
264
+ ;;
210
265
  none) break ;;
211
266
  esac
212
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
213
- # mode. It turns out that the SunPro C++ compiler does not properly
214
- # handle `-M -o', and we need to detect this.
215
267
  if depmode=$depmode \
216
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
268
+ source=sub/conftest.c object=$am__obj \
217
269
  depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
218
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
270
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
219
271
  >/dev/null 2>conftest.err &&
272
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
220
273
  grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
221
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
274
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
222
275
  ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
223
276
  # icc doesn't choke on unknown options, it will just issue warnings
224
277
  # or remarks (even with -Werror). So we grep stderr for any message
@@ -269,61 +322,74 @@ if test "x$enable_dependency_tracking" != xno; then
269
322
  AMDEPBACKSLASH='\'
270
323
  fi
271
324
  AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
272
- AC_SUBST([AMDEPBACKSLASH])
325
+ AC_SUBST([AMDEPBACKSLASH])dnl
326
+ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
273
327
  ])
274
328
 
275
329
  # Generate code to set up dependency tracking. -*- Autoconf -*-
276
330
 
277
- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
331
+ # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
278
332
  # Free Software Foundation, Inc.
279
333
  #
280
334
  # This file is free software; the Free Software Foundation
281
335
  # gives unlimited permission to copy and/or distribute it,
282
336
  # with or without modifications, as long as this notice is preserved.
283
337
 
284
- #serial 3
338
+ #serial 5
285
339
 
286
340
  # _AM_OUTPUT_DEPENDENCY_COMMANDS
287
341
  # ------------------------------
288
342
  AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
289
- [for mf in $CONFIG_FILES; do
290
- # Strip MF so we end up with the name of the file.
291
- mf=`echo "$mf" | sed -e 's/:.*$//'`
292
- # Check whether this is an Automake generated Makefile or not.
293
- # We used to match only the files named `Makefile.in', but
294
- # some people rename them; so instead we look at the file content.
295
- # Grep'ing the first line is not enough: some people post-process
296
- # each Makefile.in and add a new line on top of each file to say so.
297
- # So let's grep whole file.
298
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
299
- dirpart=`AS_DIRNAME("$mf")`
300
- else
301
- continue
302
- fi
303
- # Extract the definition of DEPDIR, am__include, and am__quote
304
- # from the Makefile without running `make'.
305
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
306
- test -z "$DEPDIR" && continue
307
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
308
- test -z "am__include" && continue
309
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
310
- # When using ansi2knr, U may be empty or an underscore; expand it
311
- U=`sed -n 's/^U = //p' < "$mf"`
312
- # Find all dependency output files, they are included files with
313
- # $(DEPDIR) in their names. We invoke sed twice because it is the
314
- # simplest approach to changing $(DEPDIR) to its actual value in the
315
- # expansion.
316
- for file in `sed -n "
317
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
318
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
319
- # Make sure the directory exists.
320
- test -f "$dirpart/$file" && continue
321
- fdir=`AS_DIRNAME(["$file"])`
322
- AS_MKDIR_P([$dirpart/$fdir])
323
- # echo "creating $dirpart/$file"
324
- echo '# dummy' > "$dirpart/$file"
343
+ [{
344
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
345
+ # are listed without --file. Let's play safe and only enable the eval
346
+ # if we detect the quoting.
347
+ case $CONFIG_FILES in
348
+ *\'*) eval set x "$CONFIG_FILES" ;;
349
+ *) set x $CONFIG_FILES ;;
350
+ esac
351
+ shift
352
+ for mf
353
+ do
354
+ # Strip MF so we end up with the name of the file.
355
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
356
+ # Check whether this is an Automake generated Makefile or not.
357
+ # We used to match only the files named `Makefile.in', but
358
+ # some people rename them; so instead we look at the file content.
359
+ # Grep'ing the first line is not enough: some people post-process
360
+ # each Makefile.in and add a new line on top of each file to say so.
361
+ # Grep'ing the whole file is not good either: AIX grep has a line
362
+ # limit of 2048, but all sed's we know have understand at least 4000.
363
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
364
+ dirpart=`AS_DIRNAME("$mf")`
365
+ else
366
+ continue
367
+ fi
368
+ # Extract the definition of DEPDIR, am__include, and am__quote
369
+ # from the Makefile without running `make'.
370
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
371
+ test -z "$DEPDIR" && continue
372
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
373
+ test -z "am__include" && continue
374
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
375
+ # When using ansi2knr, U may be empty or an underscore; expand it
376
+ U=`sed -n 's/^U = //p' < "$mf"`
377
+ # Find all dependency output files, they are included files with
378
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
379
+ # simplest approach to changing $(DEPDIR) to its actual value in the
380
+ # expansion.
381
+ for file in `sed -n "
382
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
383
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
384
+ # Make sure the directory exists.
385
+ test -f "$dirpart/$file" && continue
386
+ fdir=`AS_DIRNAME(["$file"])`
387
+ AS_MKDIR_P([$dirpart/$fdir])
388
+ # echo "creating $dirpart/$file"
389
+ echo '# dummy' > "$dirpart/$file"
390
+ done
325
391
  done
326
- done
392
+ }
327
393
  ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
328
394
 
329
395
 
@@ -354,14 +420,14 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
354
420
 
355
421
  # Do all the work for Automake. -*- Autoconf -*-
356
422
 
357
- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
358
- # Free Software Foundation, Inc.
423
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
424
+ # 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
359
425
  #
360
426
  # This file is free software; the Free Software Foundation
361
427
  # gives unlimited permission to copy and/or distribute it,
362
428
  # with or without modifications, as long as this notice is preserved.
363
429
 
364
- # serial 12
430
+ # serial 16
365
431
 
366
432
  # This macro actually does too much. Some checks are only needed if
367
433
  # your package does certain things. But this isn't really a big deal.
@@ -378,16 +444,20 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
378
444
  # arguments mandatory, and then we can depend on a new Autoconf
379
445
  # release and drop the old call support.
380
446
  AC_DEFUN([AM_INIT_AUTOMAKE],
381
- [AC_PREREQ([2.58])dnl
447
+ [AC_PREREQ([2.62])dnl
382
448
  dnl Autoconf wants to disallow AM_ names. We explicitly allow
383
449
  dnl the ones we care about.
384
450
  m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
385
451
  AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
386
452
  AC_REQUIRE([AC_PROG_INSTALL])dnl
387
- # test to see if srcdir already configured
388
- if test "`cd $srcdir && pwd`" != "`pwd`" &&
389
- test -f $srcdir/config.status; then
390
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
453
+ if test "`cd $srcdir && pwd`" != "`pwd`"; then
454
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
455
+ # is not polluted with repeated "-I."
456
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
457
+ # test to see if srcdir already configured
458
+ if test -f $srcdir/config.status; then
459
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
460
+ fi
391
461
  fi
392
462
 
393
463
  # test whether we have cygpath
@@ -407,6 +477,9 @@ m4_ifval([$2],
407
477
  AC_SUBST([PACKAGE], [$1])dnl
408
478
  AC_SUBST([VERSION], [$2])],
409
479
  [_AM_SET_OPTIONS([$1])dnl
480
+ dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
481
+ m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
482
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
410
483
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
411
484
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
412
485
 
@@ -422,8 +495,8 @@ AM_MISSING_PROG(AUTOCONF, autoconf)
422
495
  AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
423
496
  AM_MISSING_PROG(AUTOHEADER, autoheader)
424
497
  AM_MISSING_PROG(MAKEINFO, makeinfo)
425
- AM_PROG_INSTALL_SH
426
- AM_PROG_INSTALL_STRIP
498
+ AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
499
+ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
427
500
  AC_REQUIRE([AM_PROG_MKDIR_P])dnl
428
501
  # We need awk for the "check" target. The system "awk" is bad on
429
502
  # some platforms.
@@ -431,20 +504,37 @@ AC_REQUIRE([AC_PROG_AWK])dnl
431
504
  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
432
505
  AC_REQUIRE([AM_SET_LEADING_DOT])dnl
433
506
  _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
434
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
435
- [_AM_PROG_TAR([v7])])])
507
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
508
+ [_AM_PROG_TAR([v7])])])
436
509
  _AM_IF_OPTION([no-dependencies],,
437
510
  [AC_PROVIDE_IFELSE([AC_PROG_CC],
438
- [_AM_DEPENDENCIES(CC)],
439
- [define([AC_PROG_CC],
440
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
511
+ [_AM_DEPENDENCIES(CC)],
512
+ [define([AC_PROG_CC],
513
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
441
514
  AC_PROVIDE_IFELSE([AC_PROG_CXX],
442
- [_AM_DEPENDENCIES(CXX)],
443
- [define([AC_PROG_CXX],
444
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
515
+ [_AM_DEPENDENCIES(CXX)],
516
+ [define([AC_PROG_CXX],
517
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
518
+ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
519
+ [_AM_DEPENDENCIES(OBJC)],
520
+ [define([AC_PROG_OBJC],
521
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
445
522
  ])
523
+ _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
524
+ dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
525
+ dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
526
+ dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
527
+ AC_CONFIG_COMMANDS_PRE(dnl
528
+ [m4_provide_if([_AM_COMPILER_EXEEXT],
529
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
446
530
  ])
447
531
 
532
+ dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
533
+ dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
534
+ dnl mangled by Autoconf and run in a shell conditional statement.
535
+ m4_define([_AC_COMPILER_EXEEXT],
536
+ m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
537
+
448
538
 
449
539
  # When config.status generates a header, we must update the stamp-h file.
450
540
  # This file resides in the same directory as the config header
@@ -455,18 +545,19 @@ AC_PROVIDE_IFELSE([AC_PROG_CXX],
455
545
  # our stamp files there.
456
546
  AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
457
547
  [# Compute $1's index in $config_headers.
548
+ _am_arg=$1
458
549
  _am_stamp_count=1
459
550
  for _am_header in $config_headers :; do
460
551
  case $_am_header in
461
- $1 | $1:* )
552
+ $_am_arg | $_am_arg:* )
462
553
  break ;;
463
554
  * )
464
555
  _am_stamp_count=`expr $_am_stamp_count + 1` ;;
465
556
  esac
466
557
  done
467
- echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
558
+ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
468
559
 
469
- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
560
+ # Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
470
561
  #
471
562
  # This file is free software; the Free Software Foundation
472
563
  # gives unlimited permission to copy and/or distribute it,
@@ -477,7 +568,14 @@ echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
477
568
  # Define $install_sh.
478
569
  AC_DEFUN([AM_PROG_INSTALL_SH],
479
570
  [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
480
- install_sh=${install_sh-"$am_aux_dir/install-sh"}
571
+ if test x"${install_sh}" != xset; then
572
+ case $am_aux_dir in
573
+ *\ * | *\ *)
574
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
575
+ *)
576
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
577
+ esac
578
+ fi
481
579
  AC_SUBST(install_sh)])
482
580
 
483
581
  # Copyright (C) 2003, 2005 Free Software Foundation, Inc.
@@ -503,13 +601,13 @@ AC_SUBST([am__leading_dot])])
503
601
 
504
602
  # Check to see how 'make' treats includes. -*- Autoconf -*-
505
603
 
506
- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
604
+ # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
507
605
  #
508
606
  # This file is free software; the Free Software Foundation
509
607
  # gives unlimited permission to copy and/or distribute it,
510
608
  # with or without modifications, as long as this notice is preserved.
511
609
 
512
- # serial 3
610
+ # serial 4
513
611
 
514
612
  # AM_MAKE_INCLUDE()
515
613
  # -----------------
@@ -518,7 +616,7 @@ AC_DEFUN([AM_MAKE_INCLUDE],
518
616
  [am_make=${MAKE-make}
519
617
  cat > confinc << 'END'
520
618
  am__doit:
521
- @echo done
619
+ @echo this is the am__doit target
522
620
  .PHONY: am__doit
523
621
  END
524
622
  # If we don't find an include directive, just comment out the code.
@@ -528,24 +626,24 @@ am__quote=
528
626
  _am_result=none
529
627
  # First try GNU make style include.
530
628
  echo "include confinc" > confmf
531
- # We grep out `Entering directory' and `Leaving directory'
532
- # messages which can occur if `w' ends up in MAKEFLAGS.
533
- # In particular we don't look at `^make:' because GNU make might
534
- # be invoked under some other name (usually "gmake"), in which
535
- # case it prints its new name instead of `make'.
536
- if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
537
- am__include=include
538
- am__quote=
539
- _am_result=GNU
540
- fi
629
+ # Ignore all kinds of additional output from `make'.
630
+ case `$am_make -s -f confmf 2> /dev/null` in #(
631
+ *the\ am__doit\ target*)
632
+ am__include=include
633
+ am__quote=
634
+ _am_result=GNU
635
+ ;;
636
+ esac
541
637
  # Now try BSD make style include.
542
638
  if test "$am__include" = "#"; then
543
639
  echo '.include "confinc"' > confmf
544
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
545
- am__include=.include
546
- am__quote="\""
547
- _am_result=BSD
548
- fi
640
+ case `$am_make -s -f confmf 2> /dev/null` in #(
641
+ *the\ am__doit\ target*)
642
+ am__include=.include
643
+ am__quote="\""
644
+ _am_result=BSD
645
+ ;;
646
+ esac
549
647
  fi
550
648
  AC_SUBST([am__include])
551
649
  AC_SUBST([am__quote])
@@ -555,14 +653,14 @@ rm -f confinc confmf
555
653
 
556
654
  # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
557
655
 
558
- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
656
+ # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
559
657
  # Free Software Foundation, Inc.
560
658
  #
561
659
  # This file is free software; the Free Software Foundation
562
660
  # gives unlimited permission to copy and/or distribute it,
563
661
  # with or without modifications, as long as this notice is preserved.
564
662
 
565
- # serial 4
663
+ # serial 6
566
664
 
567
665
  # AM_MISSING_PROG(NAME, PROGRAM)
568
666
  # ------------------------------
@@ -578,7 +676,15 @@ AC_SUBST($1)])
578
676
  # If it does, set am_missing_run to use it, otherwise, to nothing.
579
677
  AC_DEFUN([AM_MISSING_HAS_RUN],
580
678
  [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
581
- test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
679
+ AC_REQUIRE_AUX_FILE([missing])dnl
680
+ if test x"${MISSING+set}" != xset; then
681
+ case $am_aux_dir in
682
+ *\ * | *\ *)
683
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
684
+ *)
685
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
686
+ esac
687
+ fi
582
688
  # Use eval to expand $SHELL
583
689
  if eval "$MISSING --run true"; then
584
690
  am_missing_run="$MISSING --run "
@@ -588,7 +694,7 @@ else
588
694
  fi
589
695
  ])
590
696
 
591
- # Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
697
+ # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
592
698
  #
593
699
  # This file is free software; the Free Software Foundation
594
700
  # gives unlimited permission to copy and/or distribute it,
@@ -596,70 +702,33 @@ fi
596
702
 
597
703
  # AM_PROG_MKDIR_P
598
704
  # ---------------
599
- # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
600
- #
601
- # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
602
- # created by `make install' are always world readable, even if the
603
- # installer happens to have an overly restrictive umask (e.g. 077).
604
- # This was a mistake. There are at least two reasons why we must not
605
- # use `-m 0755':
606
- # - it causes special bits like SGID to be ignored,
607
- # - it may be too restrictive (some setups expect 775 directories).
608
- #
609
- # Do not use -m 0755 and let people choose whatever they expect by
610
- # setting umask.
611
- #
612
- # We cannot accept any implementation of `mkdir' that recognizes `-p'.
613
- # Some implementations (such as Solaris 8's) are not thread-safe: if a
614
- # parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
615
- # concurrently, both version can detect that a/ is missing, but only
616
- # one can create it and the other will error out. Consequently we
617
- # restrict ourselves to GNU make (using the --version option ensures
618
- # this.)
705
+ # Check for `mkdir -p'.
619
706
  AC_DEFUN([AM_PROG_MKDIR_P],
620
- [if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
621
- # We used to keeping the `.' as first argument, in order to
622
- # allow $(mkdir_p) to be used without argument. As in
623
- # $(mkdir_p) $(somedir)
624
- # where $(somedir) is conditionally defined. However this is wrong
625
- # for two reasons:
626
- # 1. if the package is installed by a user who cannot write `.'
627
- # make install will fail,
628
- # 2. the above comment should most certainly read
629
- # $(mkdir_p) $(DESTDIR)$(somedir)
630
- # so it does not work when $(somedir) is undefined and
631
- # $(DESTDIR) is not.
632
- # To support the latter case, we have to write
633
- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
634
- # so the `.' trick is pointless.
635
- mkdir_p='mkdir -p --'
636
- else
637
- # On NextStep and OpenStep, the `mkdir' command does not
638
- # recognize any option. It will interpret all options as
639
- # directories to create, and then abort because `.' already
640
- # exists.
641
- for d in ./-p ./--version;
642
- do
643
- test -d $d && rmdir $d
644
- done
645
- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
646
- if test -f "$ac_aux_dir/mkinstalldirs"; then
647
- mkdir_p='$(mkinstalldirs)'
648
- else
649
- mkdir_p='$(install_sh) -d'
650
- fi
651
- fi
652
- AC_SUBST([mkdir_p])])
707
+ [AC_PREREQ([2.60])dnl
708
+ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
709
+ dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
710
+ dnl while keeping a definition of mkdir_p for backward compatibility.
711
+ dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
712
+ dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
713
+ dnl Makefile.ins that do not define MKDIR_P, so we do our own
714
+ dnl adjustment using top_builddir (which is defined more often than
715
+ dnl MKDIR_P).
716
+ AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
717
+ case $mkdir_p in
718
+ [[\\/$]]* | ?:[[\\/]]*) ;;
719
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
720
+ esac
721
+ ])
653
722
 
654
723
  # Helper functions for option handling. -*- Autoconf -*-
655
724
 
656
- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
725
+ # Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
657
726
  #
658
727
  # This file is free software; the Free Software Foundation
659
728
  # gives unlimited permission to copy and/or distribute it,
660
729
  # with or without modifications, as long as this notice is preserved.
661
730
 
662
- # serial 3
731
+ # serial 4
663
732
 
664
733
  # _AM_MANGLE_OPTION(NAME)
665
734
  # -----------------------
@@ -676,7 +745,7 @@ AC_DEFUN([_AM_SET_OPTION],
676
745
  # ----------------------------------
677
746
  # OPTIONS is a space-separated list of Automake options.
678
747
  AC_DEFUN([_AM_SET_OPTIONS],
679
- [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
748
+ [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
680
749
 
681
750
  # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
682
751
  # -------------------------------------------
@@ -686,14 +755,14 @@ AC_DEFUN([_AM_IF_OPTION],
686
755
 
687
756
  # Check to make sure that the build environment is sane. -*- Autoconf -*-
688
757
 
689
- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
758
+ # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
690
759
  # Free Software Foundation, Inc.
691
760
  #
692
761
  # This file is free software; the Free Software Foundation
693
762
  # gives unlimited permission to copy and/or distribute it,
694
763
  # with or without modifications, as long as this notice is preserved.
695
764
 
696
- # serial 4
765
+ # serial 5
697
766
 
698
767
  # AM_SANITY_CHECK
699
768
  # ---------------
@@ -702,16 +771,29 @@ AC_DEFUN([AM_SANITY_CHECK],
702
771
  # Just in case
703
772
  sleep 1
704
773
  echo timestamp > conftest.file
774
+ # Reject unsafe characters in $srcdir or the absolute working directory
775
+ # name. Accept space and tab only in the latter.
776
+ am_lf='
777
+ '
778
+ case `pwd` in
779
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
780
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
781
+ esac
782
+ case $srcdir in
783
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
784
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
785
+ esac
786
+
705
787
  # Do `set' in a subshell so we don't clobber the current shell's
706
788
  # arguments. Must try -L first in case configure is actually a
707
789
  # symlink; some systems play weird games with the mod time of symlinks
708
790
  # (eg FreeBSD returns the mod time of the symlink's containing
709
791
  # directory).
710
792
  if (
711
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
793
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
712
794
  if test "$[*]" = "X"; then
713
795
  # -L didn't work.
714
- set X `ls -t $srcdir/configure conftest.file`
796
+ set X `ls -t "$srcdir/configure" conftest.file`
715
797
  fi
716
798
  rm -f conftest.file
717
799
  if test "$[*]" != "X $srcdir/configure conftest.file" \
@@ -761,9 +843,28 @@ dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
761
843
  if test "$cross_compiling" != no; then
762
844
  AC_CHECK_TOOL([STRIP], [strip], :)
763
845
  fi
764
- INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
846
+ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
765
847
  AC_SUBST([INSTALL_STRIP_PROGRAM])])
766
848
 
849
+ # Copyright (C) 2006, 2008 Free Software Foundation, Inc.
850
+ #
851
+ # This file is free software; the Free Software Foundation
852
+ # gives unlimited permission to copy and/or distribute it,
853
+ # with or without modifications, as long as this notice is preserved.
854
+
855
+ # serial 2
856
+
857
+ # _AM_SUBST_NOTMAKE(VARIABLE)
858
+ # ---------------------------
859
+ # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
860
+ # This macro is traced by Automake.
861
+ AC_DEFUN([_AM_SUBST_NOTMAKE])
862
+
863
+ # AM_SUBST_NOTMAKE(VARIABLE)
864
+ # ---------------------------
865
+ # Public sister of _AM_SUBST_NOTMAKE.
866
+ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
867
+
767
868
  # Check how to create a tarball. -*- Autoconf -*-
768
869
 
769
870
  # Copyright (C) 2004, 2005 Free Software Foundation, Inc.
@@ -865,4 +966,3 @@ m4_include([m4/google_namespace.m4])
865
966
  m4_include([m4/namespaces.m4])
866
967
  m4_include([m4/stl_hash.m4])
867
968
  m4_include([m4/stl_hash_fun.m4])
868
- m4_include([m4/stl_namespace.m4])