google_hash 0.6.2 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. data/README +61 -27
  2. data/Rakefile +4 -1
  3. data/TODO +5 -0
  4. data/VERSION +1 -1
  5. data/changelog +3 -0
  6. data/ext/extconf.rb +10 -5
  7. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/AUTHORS +0 -0
  8. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/COPYING +0 -0
  9. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/ChangeLog +47 -0
  10. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/INSTALL +0 -0
  11. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/Makefile.am +29 -14
  12. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/Makefile.in +77 -42
  13. data/ext/sparsehash-1.8.1/NEWS +71 -0
  14. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/README +0 -0
  15. data/ext/{sparsehash-1.5.2/README.windows → sparsehash-1.8.1/README_windows.txt} +25 -25
  16. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/TODO +0 -0
  17. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/aclocal.m4 +0 -0
  18. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/compile +0 -0
  19. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/config.guess +0 -0
  20. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/config.sub +0 -0
  21. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/configure +3690 -4560
  22. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/configure.ac +1 -1
  23. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/depcomp +0 -0
  24. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/doc/dense_hash_map.html +65 -5
  25. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/doc/dense_hash_set.html +65 -5
  26. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/doc/designstyle.css +0 -0
  27. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/doc/implementation.html +11 -5
  28. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/doc/index.html +0 -0
  29. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/doc/performance.html +0 -0
  30. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/doc/sparse_hash_map.html +65 -5
  31. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/doc/sparse_hash_set.html +65 -5
  32. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/doc/sparsetable.html +0 -0
  33. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/experimental/Makefile +0 -0
  34. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/experimental/README +0 -0
  35. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/experimental/example.c +0 -0
  36. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/experimental/libchash.c +0 -0
  37. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/experimental/libchash.h +0 -0
  38. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/google-sparsehash.sln +17 -1
  39. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/install-sh +0 -0
  40. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/m4/acx_pthread.m4 +0 -0
  41. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/m4/google_namespace.m4 +0 -0
  42. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/m4/namespaces.m4 +0 -0
  43. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/m4/stl_hash.m4 +0 -0
  44. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/m4/stl_hash_fun.m4 +0 -0
  45. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/m4/stl_namespace.m4 +0 -0
  46. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/missing +0 -0
  47. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/mkinstalldirs +0 -0
  48. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/packages/deb.sh +0 -0
  49. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/packages/deb/README +0 -0
  50. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/packages/deb/changelog +24 -0
  51. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/packages/deb/compat +0 -0
  52. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/packages/deb/control +1 -1
  53. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/packages/deb/copyright +0 -0
  54. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/packages/deb/docs +0 -0
  55. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/packages/deb/rules +0 -0
  56. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/packages/deb/sparsehash.dirs +0 -0
  57. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/packages/deb/sparsehash.install +0 -0
  58. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/packages/rpm.sh +0 -0
  59. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/packages/rpm/rpm.spec +1 -1
  60. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/config.h.in +3 -0
  61. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/config.h.include +0 -0
  62. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/google/dense_hash_map +43 -27
  63. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/google/dense_hash_set +40 -19
  64. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/google/sparse_hash_map +32 -23
  65. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/google/sparse_hash_set +31 -21
  66. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/google/sparsehash/densehashtable.h +481 -298
  67. data/ext/sparsehash-1.8.1/src/google/sparsehash/hashtable-common.h +178 -0
  68. data/ext/sparsehash-1.8.1/src/google/sparsehash/libc_allocator_with_realloc.h +121 -0
  69. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/google/sparsehash/sparsehashtable.h +404 -233
  70. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/google/sparsetable +173 -83
  71. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/google/type_traits.h +3 -29
  72. data/ext/sparsehash-1.8.1/src/hash_test_interface.h +1011 -0
  73. data/ext/sparsehash-1.8.1/src/hashtable_test.cc +1733 -0
  74. data/ext/sparsehash-1.8.1/src/libc_allocator_with_realloc_test.cc +129 -0
  75. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/simple_test.cc +1 -1
  76. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/sparsetable_unittest.cc +202 -6
  77. data/ext/sparsehash-1.8.1/src/testutil.h +251 -0
  78. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/time_hash_map.cc +128 -54
  79. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/type_traits_unittest.cc +30 -20
  80. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/windows/config.h +0 -0
  81. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/windows/google/sparsehash/sparseconfig.h +0 -0
  82. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/windows/port.cc +0 -0
  83. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/src/windows/port.h +0 -0
  84. data/ext/sparsehash-1.8.1/vsprojects/hashtable_test/hashtable_test.vcproj +197 -0
  85. data/ext/{sparsehash-1.5.2/vsprojects/hashtable_unittest/hashtable_unittest.vcproj → sparsehash-1.8.1/vsprojects/simple_test/simple_test.vcproj} +9 -8
  86. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/vsprojects/sparsetable_unittest/sparsetable_unittest.vcproj +0 -2
  87. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/vsprojects/time_hash_map/time_hash_map.vcproj +3 -2
  88. data/ext/{sparsehash-1.5.2 → sparsehash-1.8.1}/vsprojects/type_traits_unittest/type_traits_unittest.vcproj +0 -2
  89. data/ext/template/google_hash.cpp.erb +2 -1
  90. data/ext/template/main.cpp.erb +1 -1
  91. data/results.txt +6 -22
  92. data/spec/benchmark.rb +57 -0
  93. data/spec/spec.google_hash.rb +1 -8
  94. metadata +140 -130
  95. data/ext/benchmark.rb +0 -47
  96. data/ext/sparsehash-1.5.2/NEWS +0 -0
  97. data/ext/sparsehash-1.5.2/src/hashtable_unittest.cc +0 -1375
  98. data/ext/sparsehash-1.5.2/src/words +0 -8944
  99. data/types.txt +0 -18
data/README CHANGED
@@ -1,34 +1,77 @@
1
1
  The "google_hash" gem.
2
2
 
3
- Its goal. To boldly be faster than any hash hash before (cue star trek TNG theme).
3
+ Its goal. To boldly be faster than any ruby hash has before (cue star trek TNG theme...).
4
4
 
5
5
  Well, really the goal is a better hash for Ruby, either one that is faster or more space efficient than ruby's default.
6
- To attempt to accomplish this, we wrap the google sparse and dense hashes [1] and see how they perform.
6
+ To attempt to accomplish this, this library wraps the google hash sparse and dense hashes [1], which seem to perform much better
7
+ at least for the #each method. It also creates some "specialized" hashes, for instance, those that take an integer for their key,
8
+ for even better performance.
7
9
 
8
- Time results (IntToInt hash, populating 500000 integers):
10
+ ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
11
+ inserting 400000 objects
9
12
 
10
- 1.9.1p376 (mingw):
13
+ Ruby Standard Hash
14
+ populate integer 0.324
15
+ #each 0.660
16
+ lookup int 0.083
11
17
 
12
- Hash (Ruby default)
13
- 0.359375 (populate)
14
- 1.1875 (each)
18
+ GoogleHashDenseIntToRuby
19
+ populate integer 0.114
20
+ #each 0.050
21
+ lookup int 0.080
15
22
 
16
- GoogleHashDenseIntToInt
17
- 0.1875 (populate)
18
- 0.078125 (each)
19
23
 
20
- GoogleHashSparseIntToInt
21
- 0.53125 (populate)
22
- 0.078125 (each)
24
+ GoogleHashSparseIntToInt # said to be much more memory efficient
25
+ populate integer 0.242
26
+ #each 0.046
27
+ lookup int 0.099
23
28
 
24
29
  These also use significantly less memory, because (if you specify IntToInt, it stores only 4 bytes per int, instead of Ruby's
25
30
  usual 20 bytes). This also frees up Ruby so it doesn't hvae to garbage collect as much. Yea!
26
31
 
27
- See also the results.txt file
32
+ See also the results.txt file for more OS benchmark results.
33
+
34
+ You can also run your own benchmarks to see how much faster it would be for you ("try before you buy"), see spec/benchmark.rb file.
35
+
36
+ Here is how it performs, if used as a "replacement" for the Ruby standard Hash:
28
37
 
29
- Usage:
38
+ Ruby Standard Hash
39
+ populate string 0.252
40
+ populate symbol 0.109
41
+ populate integer 0.324
42
+ #each 0.660
43
+ lookup int 0.083
44
+ lookup string 0.642
45
+ lookup symbol 0.082
46
+
47
+ GoogleHashDenseRubyToRuby
48
+ populate string 0.312
49
+ populate symbol 0.136
50
+ populate integer 0.172
51
+ #each 0.077
52
+ lookup int 0.102
53
+ lookup string 0.271
54
+ lookup symbol 0.098
55
+
56
+ GoogleHashSparseRubyToRuby
57
+ populate string 0.276
58
+ populate symbol 0.102
59
+ populate integer 0.428
60
+ #each 0.047
61
+ lookup int 0.098
62
+ lookup string 0.293
63
+ lookup symbol 0.099
30
64
 
31
- a = GoogleHashDenseRubyToRuby.new # like a normal Ruby hash, with slightly different performance characteristics, see benchmarks.txt
65
+ basically slightly slower, except for an #each method that is *much* faster, and, as I said, RAM usage might be much better using this than the standard Ruby hash, esp.
66
+ for the case of the Sparse version.
67
+
68
+ == Installation ==
69
+
70
+ gem install google_hash (if on doze, you'll also first need the devkit installed).
71
+
72
+ == usage ==
73
+
74
+ a = GoogleHashDenseRubyToRuby.new # like a normal Ruby hash, with slightly different performance characteristics, see results.txt
32
75
  b = GoogleHashDenseIntToRuby.new # :int => Ruby -- keys are stored as "native" ints, values are ruby objects
33
76
  c = GoogleHashSparseIntToInt.new # :int => :int
34
77
 
@@ -70,18 +113,9 @@ b[4] = 'abc'
70
113
  b['abc'] = 'some complex object'
71
114
  c[3] = 4 # all you can use are ints...
72
115
 
73
- Use them like "normal" hashes with the same method names.
74
-
75
- To learn if sparse or dense is right for you, check the documentation:
76
-
77
- http://google-sparsehash.googlecode.com/svn/trunk/doc/index.html
78
- Dense is faster, sparse uses less memory.
79
-
80
- Installation:
81
-
82
- gem install google_hash (if on doze, you'll also first need the devkit installed). You may need rubygems >= 1.3.6
116
+ Use them like "normal" hashes, the method names try to map well.
83
117
 
84
- Note that if you use a type other than "Ruby" that you will be saving the values away as native values, so they will be using less space than a typical ruby object (which is 20 bytes), using 4 bytes instead of 20 (or instead of 40, in the case of 64 bit machines). In addition to taking less memory, they are also stored separate from Ruby's heap, meaning that they should release stress on the GC, if you are spending much time in GC.
118
+ == feedback ==
85
119
 
86
120
  If you have a desired use case that's not covered, let me know and I might well be able to code it up for you and add it.
87
121
 
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # to actually build it locally, run extconf.rb in /ext, then make
2
+
1
3
  require 'jeweler'
2
4
  Jeweler::Tasks.new do |gemspec|
3
5
  gemspec.name = "google_hash"
@@ -6,6 +8,7 @@ Jeweler::Tasks.new do |gemspec|
6
8
  gemspec.email = "rogerdpack@gmail.com"
7
9
  gemspec.homepage = "http://github.com/rdp/ruby_google_hash"
8
10
  gemspec.authors = ["rogerdpack"]
9
- gemspec.add_dependency('sane')
11
+ gemspec.add_dependency('sane') # real dependency as it's used for building the gem, in the extconf.rb file
12
+ gemspec.add_development_dependency('hitimes')
10
13
  end
11
14
 
data/TODO ADDED
@@ -0,0 +1,5 @@
1
+ could be faster:
2
+
3
+ http://code.google.com/p/ulib/wiki/AlignedHashingPerformance
4
+
5
+ some specs fail [?]
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.2
1
+ 0.7.0
@@ -0,0 +1,3 @@
1
+ 0.7.0:
2
+ fix building in linux with newer GCC's, fix building in windows with broken system command (?)
3
+ bump internal google_hash version to 0.8.2
@@ -6,12 +6,17 @@ require 'sane'
6
6
  # re-build google's lib locally...
7
7
 
8
8
  dir = Dir.pwd
9
- Dir.chdir 'sparsehash-1.5.2' do
9
+ Dir.chdir 'sparsehash-1.8.1' do
10
10
  dir = dir + '/local_installed'
11
- command = "sh configure --prefix=#{dir} && make && make install"
12
- puts command
13
- # only if necessary
14
- system command unless File.directory?(dir)
11
+ # only if haven't already built it...except who installing a gem would ever have it already there? reinstallers?
12
+ unless File.directory?(dir)
13
+ puts 'building local copy/version of google sparse/dense hash library'
14
+ configure = "sh configure --prefix=#{dir}"
15
+ puts configure
16
+ system configure
17
+ system "make"
18
+ system "make install"
19
+ end
15
20
  end
16
21
 
17
22
  $CFLAGS += " -I./local_installed/include "
@@ -1,3 +1,50 @@
1
+ Thu Jul 29 15:01:29 2010 Google Inc. <opensource@google.com>
2
+
3
+ * sparsehash: version 1.8.1 release
4
+ * Remove -Werror from Makefile: gcc 4.3 gives spurious warnings
5
+
6
+ Thu Jul 29 09:53:26 2010 Google Inc. <opensource@google.com>
7
+
8
+ * sparsehash: version 1.8 release
9
+ * More support for Allocator, including allocator ctor arg (csilvers)
10
+ * Repack hasthable vars to reduce container size *more* (giao)
11
+ * Speed up clear() (csilvers)
12
+ * Change HT_{OCCUPANCY,SHRINK}_FLT from float to int (csilvers)
13
+ * Revamp test suite for more complete code & timing coverage (csilvers)
14
+ * BUGFIX: Enforce max_size for dense/sparse_hashtable (giao, csilvers)
15
+ * BUGFIX: Raise exception instead of crashing on overflow (csilvers)
16
+ * BUGFIX: Allow extraneous const in key type (csilvers)
17
+ * BUGFIX: Allow same functor for both hasher and key_equals (giao)
18
+ * PORTING: remove is_convertible, which gives AIX cc fits (csilvers)
19
+ * PORTING: Renamed README.windows to README_windows.txt (csilvers)
20
+ * Created non-empty NEWS file (csilvers)
21
+
22
+ Wed Mar 31 12:32:03 2010 Google Inc. <opensource@google.com>
23
+
24
+ * sparsehash: version 1.7 release
25
+ * Add support for Allocator (guilin)
26
+ * Add libc_allocator_with_realloc as the new default allocator (guilin)
27
+ * Repack {sparse,dense}hashtable vars to reduce container size (giao)
28
+ * BUGFIX: operator== no longer requires same table ordering (csilvers)
29
+ * BUGFIX: fix dense_hash_*(it,it) by requiring empty-key too (csilvers)
30
+ * PORTING: fix language bugs that gcc allowed (csilvers, chandlerc)
31
+ * Update from autoconf 2.61 to autoconf 2.64
32
+
33
+ Fri Jan 8 14:47:55 2010 Google Inc. <opensource@google.com>
34
+
35
+ * sparsehash: version 1.6 release
36
+ * New accessor methods for deleted_key, empty_key (sjackman)
37
+ * Use explicit hash functions in sparsehash tests (csilvers)
38
+ * BUGFIX: Cast resize to fix SUNWspro bug (csilvers)
39
+ * Check for sz overflow in min_size (csilvers)
40
+ * Speed up clear() for dense and sparse hashtables (jeff)
41
+ * Avoid shrinking in all cases when min-load is 0 (shaunj, csilvers)
42
+ * Improve densehashtable code for the deleted key (gpike)
43
+ * BUGFIX: Fix operator= when the 2 empty-keys differ (andreidam)
44
+ * BUGFIX: Fix ht copying when empty-key isn't set (andreidam)
45
+ * PORTING: Use TmpFile() instead of /tmp on MinGW (csilvers)
46
+ * PORTING: Use filenames that work with Stratus VOS.
47
+
1
48
  Tue May 12 14:16:38 2009 Google Inc. <opensource@google.com>
2
49
 
3
50
  * sparsehash: version 1.5.2 release
@@ -8,7 +8,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/src
8
8
 
9
9
  # These are good warnings to turn on by default
10
10
  if GCC
11
- AM_CXXFLAGS = -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -Wshadow
11
+ AM_CXXFLAGS = -Wall -W -Wwrite-strings -Woverloaded-virtual -Wshadow
12
12
  endif
13
13
 
14
14
  googleincludedir = $(includedir)/google
@@ -26,7 +26,7 @@ docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
26
26
  ## This is for HTML and other documentation you want to install.
27
27
  ## Add your documentation files (in doc/) in addition to these boilerplate
28
28
  ## Also add a TODO file if you have one
29
- dist_doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README README.windows \
29
+ dist_doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README README_windows.txt \
30
30
  TODO \
31
31
  doc/dense_hash_map.html \
32
32
  doc/dense_hash_set.html \
@@ -47,12 +47,7 @@ WINDOWS_PROJECTS = google-sparsehash.sln
47
47
  ## TESTS is for binary unittests, check_SCRIPTS for script-based unittests.
48
48
  ## TESTS_ENVIRONMENT sets environment variables for when you run unittest,
49
49
  ## but it only seems to take effect for *binary* unittests (argh!)
50
- TESTS = type_traits_unittest sparsetable_unittest hashtable_unittest \
51
- simple_test
52
- # TODO(csilvers): get simple_test working on windows
53
- WINDOWS_PROJECTS += vsprojects/type_traits_unittest/type_traits_unittest.vcproj \
54
- vsprojects/sparsetable_unittest/sparsetable_unittest.vcproj \
55
- vsprojects/hashtable_unittest/hashtable_unittest.vcproj
50
+ TESTS =
56
51
  check_SCRIPTS =
57
52
  TESTS_ENVIRONMENT =
58
53
 
@@ -100,33 +95,53 @@ CLEANFILES = src/google/sparsehash/sparseconfig.h
100
95
  sparsehashincludedir = $(googleincludedir)/sparsehash
101
96
  sparsehashinclude_HEADERS = \
102
97
  src/google/sparsehash/densehashtable.h \
103
- src/google/sparsehash/sparsehashtable.h
98
+ src/google/sparsehash/sparsehashtable.h \
99
+ src/google/sparsehash/hashtable-common.h \
100
+ src/google/sparsehash/libc_allocator_with_realloc.h
104
101
  nodist_sparsehashinclude_HEADERS = src/google/sparsehash/sparseconfig.h
105
102
 
103
+ TESTS += type_traits_unittest
104
+ WINDOWS_PROJECTS += vsprojects/type_traits_unittest/type_traits_unittest.vcproj
106
105
  type_traits_unittest_SOURCES = \
107
106
  src/type_traits_unittest.cc \
108
107
  $(sparsehashinclude_HEADERS) \
109
108
  src/google/type_traits.h
110
109
  nodist_type_traits_unittest_SOURCES = $(nodist_sparsehashinclude_HEADERS)
111
110
 
111
+ TESTS += libc_allocator_with_realloc_test
112
+ WINDOWS_PROJECTS += vsprojects/libc_allocator_with_realloc_test/libc_allocator_with_realloc_test.vcproj
113
+ libc_allocator_with_realloc_test_SOURCES = \
114
+ src/libc_allocator_with_realloc_test.cc \
115
+ $(sparsehashinclude_HEADERS) \
116
+ src/google/sparsehash/libc_allocator_with_realloc.h
117
+
118
+
119
+ TESTS += sparsetable_unittest
120
+ WINDOWS_PROJECTS += vsprojects/sparsetable_unittest/sparsetable_unittest.vcproj
112
121
  sparsetable_unittest_SOURCES = \
113
122
  src/sparsetable_unittest.cc \
114
123
  $(sparsehashinclude_HEADERS) \
115
124
  src/google/sparsetable
116
125
  nodist_sparsetable_unittest_SOURCES = $(nodist_sparsehashinclude_HEADERS)
117
126
 
118
- hashtable_unittest_SOURCES = \
119
- src/hashtable_unittest.cc \
127
+ TESTS += hashtable_test
128
+ WINDOWS_PROJECTS += vsprojects/hashtable_test/hashtable_test.vcproj
129
+ hashtable_test_SOURCES = \
130
+ src/hashtable_test.cc \
131
+ src/hash_test_interface.h \
132
+ src/testutil.h \
120
133
  $(googleinclude_HEADERS) \
121
- $(sparsehashinclude_HEADERS) \
122
- src/words
123
- nodist_hashtable_unittest_SOURCES = $(nodist_sparsehashinclude_HEADERS)
134
+ $(sparsehashinclude_HEADERS)
135
+ nodist_hashtable_test_SOURCES = $(nodist_sparsehashinclude_HEADERS)
124
136
 
137
+ TESTS += simple_test
138
+ WINDOWS_PROJECTS += vsprojects/simple_test/simple_test.vcproj
125
139
  simple_test_SOURCES = \
126
140
  src/simple_test.cc \
127
141
  $(sparsehashinclude_HEADERS)
128
142
  nodist_simple_test_SOURCES = $(nodist_sparsehashinclude_HEADERS)
129
143
 
144
+
130
145
  time_hash_map_SOURCES = \
131
146
  src/time_hash_map.cc \
132
147
  $(sparsehashinclude_HEADERS) \
@@ -73,16 +73,22 @@ am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(docdir)" \
73
73
  libLTLIBRARIES_INSTALL = $(INSTALL)
74
74
  LTLIBRARIES = $(lib_LTLIBRARIES)
75
75
  am__EXEEXT_1 = type_traits_unittest$(EXEEXT) \
76
- sparsetable_unittest$(EXEEXT) hashtable_unittest$(EXEEXT) \
76
+ libc_allocator_with_realloc_test$(EXEEXT) \
77
+ sparsetable_unittest$(EXEEXT) hashtable_test$(EXEEXT) \
77
78
  simple_test$(EXEEXT)
78
79
  PROGRAMS = $(noinst_PROGRAMS)
79
80
  am__objects_1 =
80
- am_hashtable_unittest_OBJECTS = hashtable_unittest.$(OBJEXT) \
81
- $(am__objects_1) $(am__objects_1)
82
- nodist_hashtable_unittest_OBJECTS = $(am__objects_1)
83
- hashtable_unittest_OBJECTS = $(am_hashtable_unittest_OBJECTS) \
84
- $(nodist_hashtable_unittest_OBJECTS)
85
- hashtable_unittest_LDADD = $(LDADD)
81
+ am_hashtable_test_OBJECTS = hashtable_test.$(OBJEXT) $(am__objects_1) \
82
+ $(am__objects_1)
83
+ nodist_hashtable_test_OBJECTS = $(am__objects_1)
84
+ hashtable_test_OBJECTS = $(am_hashtable_test_OBJECTS) \
85
+ $(nodist_hashtable_test_OBJECTS)
86
+ hashtable_test_LDADD = $(LDADD)
87
+ am_libc_allocator_with_realloc_test_OBJECTS = \
88
+ libc_allocator_with_realloc_test.$(OBJEXT) $(am__objects_1)
89
+ libc_allocator_with_realloc_test_OBJECTS = \
90
+ $(am_libc_allocator_with_realloc_test_OBJECTS)
91
+ libc_allocator_with_realloc_test_LDADD = $(LDADD)
86
92
  am_simple_test_OBJECTS = simple_test.$(OBJEXT) $(am__objects_1)
87
93
  nodist_simple_test_OBJECTS = $(am__objects_1)
88
94
  simple_test_OBJECTS = $(am_simple_test_OBJECTS) \
@@ -118,16 +124,18 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
118
124
  $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
119
125
  CCLD = $(CC)
120
126
  LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
121
- SOURCES = $(hashtable_unittest_SOURCES) \
122
- $(nodist_hashtable_unittest_SOURCES) $(simple_test_SOURCES) \
123
- $(nodist_simple_test_SOURCES) $(sparsetable_unittest_SOURCES) \
127
+ SOURCES = $(hashtable_test_SOURCES) $(nodist_hashtable_test_SOURCES) \
128
+ $(libc_allocator_with_realloc_test_SOURCES) \
129
+ $(simple_test_SOURCES) $(nodist_simple_test_SOURCES) \
130
+ $(sparsetable_unittest_SOURCES) \
124
131
  $(nodist_sparsetable_unittest_SOURCES) \
125
132
  $(time_hash_map_SOURCES) $(nodist_time_hash_map_SOURCES) \
126
133
  $(type_traits_unittest_SOURCES) \
127
134
  $(nodist_type_traits_unittest_SOURCES)
128
- DIST_SOURCES = $(hashtable_unittest_SOURCES) $(simple_test_SOURCES) \
129
- $(sparsetable_unittest_SOURCES) $(time_hash_map_SOURCES) \
130
- $(type_traits_unittest_SOURCES)
135
+ DIST_SOURCES = $(hashtable_test_SOURCES) \
136
+ $(libc_allocator_with_realloc_test_SOURCES) \
137
+ $(simple_test_SOURCES) $(sparsetable_unittest_SOURCES) \
138
+ $(time_hash_map_SOURCES) $(type_traits_unittest_SOURCES)
131
139
  dist_docDATA_INSTALL = $(INSTALL_DATA)
132
140
  DATA = $(dist_doc_DATA)
133
141
  googleincludeHEADERS_INSTALL = $(INSTALL_HEADER)
@@ -191,6 +199,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
191
199
  PACKAGE_NAME = @PACKAGE_NAME@
192
200
  PACKAGE_STRING = @PACKAGE_STRING@
193
201
  PACKAGE_TARNAME = @PACKAGE_TARNAME@
202
+ PACKAGE_URL = @PACKAGE_URL@
194
203
  PACKAGE_VERSION = @PACKAGE_VERSION@
195
204
  PATH_SEPARATOR = @PATH_SEPARATOR@
196
205
  PTHREAD_CC = @PTHREAD_CC@
@@ -257,7 +266,7 @@ ACLOCAL_AMFLAGS = -I m4
257
266
  AM_CPPFLAGS = -I$(top_srcdir)/src
258
267
 
259
268
  # These are good warnings to turn on by default
260
- @GCC_TRUE@AM_CXXFLAGS = -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -Wshadow
269
+ @GCC_TRUE@AM_CXXFLAGS = -Wall -W -Wwrite-strings -Woverloaded-virtual -Wshadow
261
270
  googleincludedir = $(includedir)/google
262
271
  googleinclude_HEADERS = \
263
272
  src/google/dense_hash_map \
@@ -267,7 +276,7 @@ googleinclude_HEADERS = \
267
276
  src/google/sparsetable \
268
277
  src/google/type_traits.h
269
278
 
270
- dist_doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README README.windows \
279
+ dist_doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README README_windows.txt \
271
280
  TODO \
272
281
  doc/dense_hash_map.html \
273
282
  doc/dense_hash_set.html \
@@ -280,15 +289,15 @@ dist_doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README README.windows \
280
289
  doc/designstyle.css
281
290
 
282
291
  lib_LTLIBRARIES =
283
- # TODO(csilvers): get simple_test working on windows
284
292
  WINDOWS_PROJECTS = google-sparsehash.sln \
293
+ vsprojects/time_hash_map/time_hash_map.vcproj \
285
294
  vsprojects/type_traits_unittest/type_traits_unittest.vcproj \
295
+ vsprojects/libc_allocator_with_realloc_test/libc_allocator_with_realloc_test.vcproj \
286
296
  vsprojects/sparsetable_unittest/sparsetable_unittest.vcproj \
287
- vsprojects/hashtable_unittest/hashtable_unittest.vcproj \
288
- vsprojects/time_hash_map/time_hash_map.vcproj
289
- TESTS = type_traits_unittest sparsetable_unittest hashtable_unittest \
290
- simple_test
291
-
297
+ vsprojects/hashtable_test/hashtable_test.vcproj \
298
+ vsprojects/simple_test/simple_test.vcproj
299
+ TESTS = type_traits_unittest libc_allocator_with_realloc_test \
300
+ sparsetable_unittest hashtable_test simple_test
292
301
  check_SCRIPTS =
293
302
  TESTS_ENVIRONMENT =
294
303
  # This is how we tell automake about auto-generated .h files
@@ -297,7 +306,9 @@ CLEANFILES = src/google/sparsehash/sparseconfig.h
297
306
  sparsehashincludedir = $(googleincludedir)/sparsehash
298
307
  sparsehashinclude_HEADERS = \
299
308
  src/google/sparsehash/densehashtable.h \
300
- src/google/sparsehash/sparsehashtable.h
309
+ src/google/sparsehash/sparsehashtable.h \
310
+ src/google/sparsehash/hashtable-common.h \
311
+ src/google/sparsehash/libc_allocator_with_realloc.h
301
312
 
302
313
  nodist_sparsehashinclude_HEADERS = src/google/sparsehash/sparseconfig.h
303
314
  type_traits_unittest_SOURCES = \
@@ -306,19 +317,25 @@ type_traits_unittest_SOURCES = \
306
317
  src/google/type_traits.h
307
318
 
308
319
  nodist_type_traits_unittest_SOURCES = $(nodist_sparsehashinclude_HEADERS)
320
+ libc_allocator_with_realloc_test_SOURCES = \
321
+ src/libc_allocator_with_realloc_test.cc \
322
+ $(sparsehashinclude_HEADERS) \
323
+ src/google/sparsehash/libc_allocator_with_realloc.h
324
+
309
325
  sparsetable_unittest_SOURCES = \
310
326
  src/sparsetable_unittest.cc \
311
327
  $(sparsehashinclude_HEADERS) \
312
328
  src/google/sparsetable
313
329
 
314
330
  nodist_sparsetable_unittest_SOURCES = $(nodist_sparsehashinclude_HEADERS)
315
- hashtable_unittest_SOURCES = \
316
- src/hashtable_unittest.cc \
331
+ hashtable_test_SOURCES = \
332
+ src/hashtable_test.cc \
333
+ src/hash_test_interface.h \
334
+ src/testutil.h \
317
335
  $(googleinclude_HEADERS) \
318
- $(sparsehashinclude_HEADERS) \
319
- src/words
336
+ $(sparsehashinclude_HEADERS)
320
337
 
321
- nodist_hashtable_unittest_SOURCES = $(nodist_sparsehashinclude_HEADERS)
338
+ nodist_hashtable_test_SOURCES = $(nodist_sparsehashinclude_HEADERS)
322
339
  simple_test_SOURCES = \
323
340
  src/simple_test.cc \
324
341
  $(sparsehashinclude_HEADERS)
@@ -424,9 +441,12 @@ clean-libLTLIBRARIES:
424
441
 
425
442
  clean-noinstPROGRAMS:
426
443
  -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
427
- hashtable_unittest$(EXEEXT): $(hashtable_unittest_OBJECTS) $(hashtable_unittest_DEPENDENCIES)
428
- @rm -f hashtable_unittest$(EXEEXT)
429
- $(CXXLINK) $(hashtable_unittest_LDFLAGS) $(hashtable_unittest_OBJECTS) $(hashtable_unittest_LDADD) $(LIBS)
444
+ hashtable_test$(EXEEXT): $(hashtable_test_OBJECTS) $(hashtable_test_DEPENDENCIES)
445
+ @rm -f hashtable_test$(EXEEXT)
446
+ $(CXXLINK) $(hashtable_test_LDFLAGS) $(hashtable_test_OBJECTS) $(hashtable_test_LDADD) $(LIBS)
447
+ libc_allocator_with_realloc_test$(EXEEXT): $(libc_allocator_with_realloc_test_OBJECTS) $(libc_allocator_with_realloc_test_DEPENDENCIES)
448
+ @rm -f libc_allocator_with_realloc_test$(EXEEXT)
449
+ $(CXXLINK) $(libc_allocator_with_realloc_test_LDFLAGS) $(libc_allocator_with_realloc_test_OBJECTS) $(libc_allocator_with_realloc_test_LDADD) $(LIBS)
430
450
  simple_test$(EXEEXT): $(simple_test_OBJECTS) $(simple_test_DEPENDENCIES)
431
451
  @rm -f simple_test$(EXEEXT)
432
452
  $(CXXLINK) $(simple_test_LDFLAGS) $(simple_test_OBJECTS) $(simple_test_LDADD) $(LIBS)
@@ -446,7 +466,8 @@ mostlyclean-compile:
446
466
  distclean-compile:
447
467
  -rm -f *.tab.c
448
468
 
449
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hashtable_unittest.Po@am__quote@
469
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hashtable_test.Po@am__quote@
470
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libc_allocator_with_realloc_test.Po@am__quote@
450
471
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_test.Po@am__quote@
451
472
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sparsetable_unittest.Po@am__quote@
452
473
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_hash_map-time_hash_map.Po@am__quote@
@@ -466,19 +487,33 @@ distclean-compile:
466
487
  @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
467
488
  @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
468
489
 
469
- hashtable_unittest.o: src/hashtable_unittest.cc
470
- @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hashtable_unittest.o -MD -MP -MF "$(DEPDIR)/hashtable_unittest.Tpo" -c -o hashtable_unittest.o `test -f 'src/hashtable_unittest.cc' || echo '$(srcdir)/'`src/hashtable_unittest.cc; \
471
- @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/hashtable_unittest.Tpo" "$(DEPDIR)/hashtable_unittest.Po"; else rm -f "$(DEPDIR)/hashtable_unittest.Tpo"; exit 1; fi
472
- @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/hashtable_unittest.cc' object='hashtable_unittest.o' libtool=no @AMDEPBACKSLASH@
490
+ hashtable_test.o: src/hashtable_test.cc
491
+ @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hashtable_test.o -MD -MP -MF "$(DEPDIR)/hashtable_test.Tpo" -c -o hashtable_test.o `test -f 'src/hashtable_test.cc' || echo '$(srcdir)/'`src/hashtable_test.cc; \
492
+ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/hashtable_test.Tpo" "$(DEPDIR)/hashtable_test.Po"; else rm -f "$(DEPDIR)/hashtable_test.Tpo"; exit 1; fi
493
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/hashtable_test.cc' object='hashtable_test.o' libtool=no @AMDEPBACKSLASH@
494
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
495
+ @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hashtable_test.o `test -f 'src/hashtable_test.cc' || echo '$(srcdir)/'`src/hashtable_test.cc
496
+
497
+ hashtable_test.obj: src/hashtable_test.cc
498
+ @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hashtable_test.obj -MD -MP -MF "$(DEPDIR)/hashtable_test.Tpo" -c -o hashtable_test.obj `if test -f 'src/hashtable_test.cc'; then $(CYGPATH_W) 'src/hashtable_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/hashtable_test.cc'; fi`; \
499
+ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/hashtable_test.Tpo" "$(DEPDIR)/hashtable_test.Po"; else rm -f "$(DEPDIR)/hashtable_test.Tpo"; exit 1; fi
500
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/hashtable_test.cc' object='hashtable_test.obj' libtool=no @AMDEPBACKSLASH@
501
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
502
+ @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hashtable_test.obj `if test -f 'src/hashtable_test.cc'; then $(CYGPATH_W) 'src/hashtable_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/hashtable_test.cc'; fi`
503
+
504
+ libc_allocator_with_realloc_test.o: src/libc_allocator_with_realloc_test.cc
505
+ @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libc_allocator_with_realloc_test.o -MD -MP -MF "$(DEPDIR)/libc_allocator_with_realloc_test.Tpo" -c -o libc_allocator_with_realloc_test.o `test -f 'src/libc_allocator_with_realloc_test.cc' || echo '$(srcdir)/'`src/libc_allocator_with_realloc_test.cc; \
506
+ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libc_allocator_with_realloc_test.Tpo" "$(DEPDIR)/libc_allocator_with_realloc_test.Po"; else rm -f "$(DEPDIR)/libc_allocator_with_realloc_test.Tpo"; exit 1; fi
507
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/libc_allocator_with_realloc_test.cc' object='libc_allocator_with_realloc_test.o' libtool=no @AMDEPBACKSLASH@
473
508
  @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
474
- @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hashtable_unittest.o `test -f 'src/hashtable_unittest.cc' || echo '$(srcdir)/'`src/hashtable_unittest.cc
509
+ @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libc_allocator_with_realloc_test.o `test -f 'src/libc_allocator_with_realloc_test.cc' || echo '$(srcdir)/'`src/libc_allocator_with_realloc_test.cc
475
510
 
476
- hashtable_unittest.obj: src/hashtable_unittest.cc
477
- @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hashtable_unittest.obj -MD -MP -MF "$(DEPDIR)/hashtable_unittest.Tpo" -c -o hashtable_unittest.obj `if test -f 'src/hashtable_unittest.cc'; then $(CYGPATH_W) 'src/hashtable_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/src/hashtable_unittest.cc'; fi`; \
478
- @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/hashtable_unittest.Tpo" "$(DEPDIR)/hashtable_unittest.Po"; else rm -f "$(DEPDIR)/hashtable_unittest.Tpo"; exit 1; fi
479
- @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/hashtable_unittest.cc' object='hashtable_unittest.obj' libtool=no @AMDEPBACKSLASH@
511
+ libc_allocator_with_realloc_test.obj: src/libc_allocator_with_realloc_test.cc
512
+ @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libc_allocator_with_realloc_test.obj -MD -MP -MF "$(DEPDIR)/libc_allocator_with_realloc_test.Tpo" -c -o libc_allocator_with_realloc_test.obj `if test -f 'src/libc_allocator_with_realloc_test.cc'; then $(CYGPATH_W) 'src/libc_allocator_with_realloc_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/libc_allocator_with_realloc_test.cc'; fi`; \
513
+ @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libc_allocator_with_realloc_test.Tpo" "$(DEPDIR)/libc_allocator_with_realloc_test.Po"; else rm -f "$(DEPDIR)/libc_allocator_with_realloc_test.Tpo"; exit 1; fi
514
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/libc_allocator_with_realloc_test.cc' object='libc_allocator_with_realloc_test.obj' libtool=no @AMDEPBACKSLASH@
480
515
  @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
481
- @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hashtable_unittest.obj `if test -f 'src/hashtable_unittest.cc'; then $(CYGPATH_W) 'src/hashtable_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/src/hashtable_unittest.cc'; fi`
516
+ @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libc_allocator_with_realloc_test.obj `if test -f 'src/libc_allocator_with_realloc_test.cc'; then $(CYGPATH_W) 'src/libc_allocator_with_realloc_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/libc_allocator_with_realloc_test.cc'; fi`
482
517
 
483
518
  simple_test.o: src/simple_test.cc
484
519
  @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simple_test.o -MD -MP -MF "$(DEPDIR)/simple_test.Tpo" -c -o simple_test.o `test -f 'src/simple_test.cc' || echo '$(srcdir)/'`src/simple_test.cc; \
@@ -729,7 +764,7 @@ check-TESTS: $(TESTS)
729
764
  distdir: $(DISTFILES)
730
765
  $(am__remove_distdir)
731
766
  mkdir $(distdir)
732
- $(mkdir_p) $(distdir)/doc $(distdir)/m4 $(distdir)/packages $(distdir)/packages/rpm $(distdir)/src $(distdir)/src/google $(distdir)/src/google/sparsehash $(distdir)/vsprojects/hashtable_unittest $(distdir)/vsprojects/sparsetable_unittest $(distdir)/vsprojects/time_hash_map $(distdir)/vsprojects/type_traits_unittest
767
+ $(mkdir_p) $(distdir)/doc $(distdir)/m4 $(distdir)/packages $(distdir)/packages/rpm $(distdir)/src $(distdir)/src/google $(distdir)/src/google/sparsehash $(distdir)/vsprojects/hashtable_test $(distdir)/vsprojects/libc_allocator_with_realloc_test $(distdir)/vsprojects/simple_test $(distdir)/vsprojects/sparsetable_unittest $(distdir)/vsprojects/time_hash_map $(distdir)/vsprojects/type_traits_unittest
733
768
  @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
734
769
  topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
735
770
  list='$(DISTFILES)'; for file in $$list; do \