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,2 @@
1
+ 0.8.2
2
+ hopefully building for os x mavericks'ish gcc's now
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.1
1
+ 0.8.2
File without changes
@@ -0,0 +1,4 @@
1
+ rm *.cpp
2
+ rm *.o
3
+ rm *.so
4
+ rm *.def
@@ -4,9 +4,8 @@ require 'rubygems'
4
4
  require 'sane'
5
5
 
6
6
  # re-build google's lib locally...
7
-
8
7
  dir = Dir.pwd
9
- Dir.chdir 'sparsehash-1.8.1' do
8
+ Dir.chdir 'sparsehash-2.0.2' do
10
9
  dir = dir + '/local_installed'
11
10
  # only if haven't already built it...except who installing a gem would ever have it already there? reinstallers?
12
11
  unless File.directory?(dir)
@@ -23,7 +22,7 @@ $CFLAGS += " -I./local_installed/include "
23
22
  $CPPFLAGS += " -I./local_installed/include "
24
23
 
25
24
  if RUBY_VERSION < '1.9'
26
- # appears to link using gcc on 1.8 [mingw at least]
25
+ # appears to need this to link using gcc on 1.8 [mingw at least]
27
26
  $LDFLAGS += " -lstdc++ "
28
27
  end
29
28
 
@@ -110,8 +109,8 @@ File.write 'main.cpp', template.result(binding)
110
109
  Config::CONFIG['CPP'] = "g++ -E" # else cannot check for c++ headers? huh wuh?
111
110
  have_header('tr1/functional')
112
111
 
113
- if have_header('functional') && OS.x?
114
- $CPPFLAGS += " -std=c++11 -stdlib=libc++ " # LLVM, no idea what I'm doing here...
112
+ if have_header('functional') && OS.x? && !have_header('tr1/functional')
113
+ $CPPFLAGS += " -std=c++11 -stdlib=libc++ " # LLVM, updated to not have tr1 anymore, no idea what I'm doing here...
115
114
  end
116
115
 
117
116
  create_makefile('google_hash')
data/ext/go.bat CHANGED
File without changes
@@ -0,0 +1,2 @@
1
+ google-sparsehash@googlegroups.com
2
+
@@ -1,3 +1,63 @@
1
+ Thu Feb 23 23:47:18 2012 Google Inc. <google-sparsehash@googlegroups.com>
2
+
3
+ * sparsehash: version 2.0.2
4
+ * BUGFIX: Fix backwards compatibility for <google> include folders
5
+
6
+ Wed Feb 01 02:57:48 2012 Google Inc. <google-sparsehash@googlegroups.com>
7
+
8
+ * sparsehash: version 2.0.1
9
+ * BUGFIX: Fix path to malloc_extension.h in time_hash_map.cc
10
+
11
+ Tue Jan 31 11:33:04 2012 Google Inc. <google-sparsehash@googlegroups.com>
12
+
13
+ * sparsehash: version 2.0
14
+ * Renamed include directory from google/ to sparsehash/ (csilvers)
15
+ * Changed the 'official' sparsehash email in setup.py/etc
16
+ * Renamed google-sparsehash.sln to sparsehash.sln
17
+ * Changed copyright text to reflect Google's relinquished ownership
18
+
19
+ Tue Dec 20 21:04:04 2011 Google Inc. <opensource@google.com>
20
+
21
+ * sparsehash: version 1.12 release
22
+ * Add support for serializing/unserializing dense_hash_map/set to disk
23
+ * New simpler and more flexible serialization API
24
+ * Be more consistent about clearing on unserialize() even if it fails
25
+ * Quiet some compiler warnings about unused variables
26
+ * Add a timing test for iterating (suggested by google code issue 77)
27
+ * Add offset_to_pos, the opposite of pos_to_offset, to sparsetable
28
+ * PORTING: Add some missing #includes, needed on some systems
29
+ * Die at configure-time when g++ isn't installed
30
+ * Successfully make rpm's even when dpkg is missing
31
+ * Improve deleted key test in util/gtl/{dense,sparse}hashtable
32
+ * Update automake to 1.10.1, and autoconf to 2.62
33
+
34
+ Thu Jun 23 21:12:58 2011 Google Inc. <opensource@google.com>
35
+
36
+ * sparsehash: version 1.11 release
37
+ * Improve performance on pointer keys by ignoring always-0 low bits
38
+ * Fix missing $(top_srcdir) in Makefile.am, which broke some compiles
39
+ * BUGFIX: Fix a crashing typo-bug in swap()
40
+ * PORTING: Remove support for old compilers that do not use 'std'
41
+ * Add some new benchmarks to test for a place dense_hash_* does badly
42
+ * Some cosmetic changes due to a switch to a new releasing tool
43
+
44
+ Thu Jan 20 16:07:39 2011 Google Inc. <opensource@google.com>
45
+
46
+ * sparsehash: version 1.10 release
47
+ * Follow ExtractKey return type, allowing it to return a reference
48
+ * PORTING: fix MSVC 10 warnings (constifying result_type, placement-new)
49
+ * Update from autoconf 2.61 to autoconf 2.65
50
+
51
+ Fri Sep 24 11:37:50 2010 Google Inc. <opensource@google.com>
52
+
53
+ * sparsehash: version 1.9 release
54
+ * Add is_enum; make all enums PODs by default (romanp)
55
+ * Make find_or_insert() usable directly (dawidk)
56
+ * Use zero-memory trick for allocators to reduce space use (guilin)
57
+ * Fix some compiler warnings (chandlerc, eraman)
58
+ * BUGFIX: int -> size_type in one function we missed (csilvers)
59
+ * Added sparsehash.pc, for pkg-config (csilvers)
60
+
1
61
  Thu Jul 29 15:01:29 2010 Google Inc. <opensource@google.com>
2
62
 
3
63
  * sparsehash: version 1.8.1 release
@@ -0,0 +1,365 @@
1
+ Installation Instructions
2
+ *************************
3
+
4
+ Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
5
+ 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
6
+
7
+ Copying and distribution of this file, with or without modification,
8
+ are permitted in any medium without royalty provided the copyright
9
+ notice and this notice are preserved. This file is offered as-is,
10
+ without warranty of any kind.
11
+
12
+ Basic Installation
13
+ ==================
14
+
15
+ Briefly, the shell commands `./configure; make; make install' should
16
+ configure, build, and install this package. The following
17
+ more-detailed instructions are generic; see the `README' file for
18
+ instructions specific to this package. Some packages provide this
19
+ `INSTALL' file but do not implement all of the features documented
20
+ below. The lack of an optional feature in a given package is not
21
+ necessarily a bug. More recommendations for GNU packages can be found
22
+ in *note Makefile Conventions: (standards)Makefile Conventions.
23
+
24
+ The `configure' shell script attempts to guess correct values for
25
+ various system-dependent variables used during compilation. It uses
26
+ those values to create a `Makefile' in each directory of the package.
27
+ It may also create one or more `.h' files containing system-dependent
28
+ definitions. Finally, it creates a shell script `config.status' that
29
+ you can run in the future to recreate the current configuration, and a
30
+ file `config.log' containing compiler output (useful mainly for
31
+ debugging `configure').
32
+
33
+ It can also use an optional file (typically called `config.cache'
34
+ and enabled with `--cache-file=config.cache' or simply `-C') that saves
35
+ the results of its tests to speed up reconfiguring. Caching is
36
+ disabled by default to prevent problems with accidental use of stale
37
+ cache files.
38
+
39
+ If you need to do unusual things to compile the package, please try
40
+ to figure out how `configure' could check whether to do them, and mail
41
+ diffs or instructions to the address given in the `README' so they can
42
+ be considered for the next release. If you are using the cache, and at
43
+ some point `config.cache' contains results you don't want to keep, you
44
+ may remove or edit it.
45
+
46
+ The file `configure.ac' (or `configure.in') is used to create
47
+ `configure' by a program called `autoconf'. You need `configure.ac' if
48
+ you want to change it or regenerate `configure' using a newer version
49
+ of `autoconf'.
50
+
51
+ The simplest way to compile this package is:
52
+
53
+ 1. `cd' to the directory containing the package's source code and type
54
+ `./configure' to configure the package for your system.
55
+
56
+ Running `configure' might take a while. While running, it prints
57
+ some messages telling which features it is checking for.
58
+
59
+ 2. Type `make' to compile the package.
60
+
61
+ 3. Optionally, type `make check' to run any self-tests that come with
62
+ the package, generally using the just-built uninstalled binaries.
63
+
64
+ 4. Type `make install' to install the programs and any data files and
65
+ documentation. When installing into a prefix owned by root, it is
66
+ recommended that the package be configured and built as a regular
67
+ user, and only the `make install' phase executed with root
68
+ privileges.
69
+
70
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
71
+ this time using the binaries in their final installed location.
72
+ This target does not install anything. Running this target as a
73
+ regular user, particularly if the prior `make install' required
74
+ root privileges, verifies that the installation completed
75
+ correctly.
76
+
77
+ 6. You can remove the program binaries and object files from the
78
+ source code directory by typing `make clean'. To also remove the
79
+ files that `configure' created (so you can compile the package for
80
+ a different kind of computer), type `make distclean'. There is
81
+ also a `make maintainer-clean' target, but that is intended mainly
82
+ for the package's developers. If you use it, you may have to get
83
+ all sorts of other programs in order to regenerate files that came
84
+ with the distribution.
85
+
86
+ 7. Often, you can also type `make uninstall' to remove the installed
87
+ files again. In practice, not all packages have tested that
88
+ uninstallation works correctly, even though it is required by the
89
+ GNU Coding Standards.
90
+
91
+ 8. Some packages, particularly those that use Automake, provide `make
92
+ distcheck', which can by used by developers to test that all other
93
+ targets like `make install' and `make uninstall' work correctly.
94
+ This target is generally not run by end users.
95
+
96
+ Compilers and Options
97
+ =====================
98
+
99
+ Some systems require unusual options for compilation or linking that
100
+ the `configure' script does not know about. Run `./configure --help'
101
+ for details on some of the pertinent environment variables.
102
+
103
+ You can give `configure' initial values for configuration parameters
104
+ by setting variables in the command line or in the environment. Here
105
+ is an example:
106
+
107
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
108
+
109
+ *Note Defining Variables::, for more details.
110
+
111
+ Compiling For Multiple Architectures
112
+ ====================================
113
+
114
+ You can compile the package for more than one kind of computer at the
115
+ same time, by placing the object files for each architecture in their
116
+ own directory. To do this, you can use GNU `make'. `cd' to the
117
+ directory where you want the object files and executables to go and run
118
+ the `configure' script. `configure' automatically checks for the
119
+ source code in the directory that `configure' is in and in `..'. This
120
+ is known as a "VPATH" build.
121
+
122
+ With a non-GNU `make', it is safer to compile the package for one
123
+ architecture at a time in the source code directory. After you have
124
+ installed the package for one architecture, use `make distclean' before
125
+ reconfiguring for another architecture.
126
+
127
+ On MacOS X 10.5 and later systems, you can create libraries and
128
+ executables that work on multiple system types--known as "fat" or
129
+ "universal" binaries--by specifying multiple `-arch' options to the
130
+ compiler but only a single `-arch' option to the preprocessor. Like
131
+ this:
132
+
133
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
134
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
135
+ CPP="gcc -E" CXXCPP="g++ -E"
136
+
137
+ This is not guaranteed to produce working output in all cases, you
138
+ may have to build one architecture at a time and combine the results
139
+ using the `lipo' tool if you have problems.
140
+
141
+ Installation Names
142
+ ==================
143
+
144
+ By default, `make install' installs the package's commands under
145
+ `/usr/local/bin', include files under `/usr/local/include', etc. You
146
+ can specify an installation prefix other than `/usr/local' by giving
147
+ `configure' the option `--prefix=PREFIX', where PREFIX must be an
148
+ absolute file name.
149
+
150
+ You can specify separate installation prefixes for
151
+ architecture-specific files and architecture-independent files. If you
152
+ pass the option `--exec-prefix=PREFIX' to `configure', the package uses
153
+ PREFIX as the prefix for installing programs and libraries.
154
+ Documentation and other data files still use the regular prefix.
155
+
156
+ In addition, if you use an unusual directory layout you can give
157
+ options like `--bindir=DIR' to specify different values for particular
158
+ kinds of files. Run `configure --help' for a list of the directories
159
+ you can set and what kinds of files go in them. In general, the
160
+ default for these options is expressed in terms of `${prefix}', so that
161
+ specifying just `--prefix' will affect all of the other directory
162
+ specifications that were not explicitly provided.
163
+
164
+ The most portable way to affect installation locations is to pass the
165
+ correct locations to `configure'; however, many packages provide one or
166
+ both of the following shortcuts of passing variable assignments to the
167
+ `make install' command line to change installation locations without
168
+ having to reconfigure or recompile.
169
+
170
+ The first method involves providing an override variable for each
171
+ affected directory. For example, `make install
172
+ prefix=/alternate/directory' will choose an alternate location for all
173
+ directory configuration variables that were expressed in terms of
174
+ `${prefix}'. Any directories that were specified during `configure',
175
+ but not in terms of `${prefix}', must each be overridden at install
176
+ time for the entire installation to be relocated. The approach of
177
+ makefile variable overrides for each directory variable is required by
178
+ the GNU Coding Standards, and ideally causes no recompilation.
179
+ However, some platforms have known limitations with the semantics of
180
+ shared libraries that end up requiring recompilation when using this
181
+ method, particularly noticeable in packages that use GNU Libtool.
182
+
183
+ The second method involves providing the `DESTDIR' variable. For
184
+ example, `make install DESTDIR=/alternate/directory' will prepend
185
+ `/alternate/directory' before all installation names. The approach of
186
+ `DESTDIR' overrides is not required by the GNU Coding Standards, and
187
+ does not work on platforms that have drive letters. On the other hand,
188
+ it does better at avoiding recompilation issues, and works well even
189
+ when some directory options were not specified in terms of `${prefix}'
190
+ at `configure' time.
191
+
192
+ Optional Features
193
+ =================
194
+
195
+ If the package supports it, you can cause programs to be installed
196
+ with an extra prefix or suffix on their names by giving `configure' the
197
+ option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
198
+
199
+ Some packages pay attention to `--enable-FEATURE' options to
200
+ `configure', where FEATURE indicates an optional part of the package.
201
+ They may also pay attention to `--with-PACKAGE' options, where PACKAGE
202
+ is something like `gnu-as' or `x' (for the X Window System). The
203
+ `README' should mention any `--enable-' and `--with-' options that the
204
+ package recognizes.
205
+
206
+ For packages that use the X Window System, `configure' can usually
207
+ find the X include and library files automatically, but if it doesn't,
208
+ you can use the `configure' options `--x-includes=DIR' and
209
+ `--x-libraries=DIR' to specify their locations.
210
+
211
+ Some packages offer the ability to configure how verbose the
212
+ execution of `make' will be. For these packages, running `./configure
213
+ --enable-silent-rules' sets the default to minimal output, which can be
214
+ overridden with `make V=1'; while running `./configure
215
+ --disable-silent-rules' sets the default to verbose, which can be
216
+ overridden with `make V=0'.
217
+
218
+ Particular systems
219
+ ==================
220
+
221
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
222
+ CC is not installed, it is recommended to use the following options in
223
+ order to use an ANSI C compiler:
224
+
225
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
226
+
227
+ and if that doesn't work, install pre-built binaries of GCC for HP-UX.
228
+
229
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
230
+ parse its `<wchar.h>' header file. The option `-nodtk' can be used as
231
+ a workaround. If GNU CC is not installed, it is therefore recommended
232
+ to try
233
+
234
+ ./configure CC="cc"
235
+
236
+ and if that doesn't work, try
237
+
238
+ ./configure CC="cc -nodtk"
239
+
240
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
241
+ directory contains several dysfunctional programs; working variants of
242
+ these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
243
+ in your `PATH', put it _after_ `/usr/bin'.
244
+
245
+ On Haiku, software installed for all users goes in `/boot/common',
246
+ not `/usr/local'. It is recommended to use the following options:
247
+
248
+ ./configure --prefix=/boot/common
249
+
250
+ Specifying the System Type
251
+ ==========================
252
+
253
+ There may be some features `configure' cannot figure out
254
+ automatically, but needs to determine by the type of machine the package
255
+ will run on. Usually, assuming the package is built to be run on the
256
+ _same_ architectures, `configure' can figure that out, but if it prints
257
+ a message saying it cannot guess the machine type, give it the
258
+ `--build=TYPE' option. TYPE can either be a short name for the system
259
+ type, such as `sun4', or a canonical name which has the form:
260
+
261
+ CPU-COMPANY-SYSTEM
262
+
263
+ where SYSTEM can have one of these forms:
264
+
265
+ OS
266
+ KERNEL-OS
267
+
268
+ See the file `config.sub' for the possible values of each field. If
269
+ `config.sub' isn't included in this package, then this package doesn't
270
+ need to know the machine type.
271
+
272
+ If you are _building_ compiler tools for cross-compiling, you should
273
+ use the option `--target=TYPE' to select the type of system they will
274
+ produce code for.
275
+
276
+ If you want to _use_ a cross compiler, that generates code for a
277
+ platform different from the build platform, you should specify the
278
+ "host" platform (i.e., that on which the generated programs will
279
+ eventually be run) with `--host=TYPE'.
280
+
281
+ Sharing Defaults
282
+ ================
283
+
284
+ If you want to set default values for `configure' scripts to share,
285
+ you can create a site shell script called `config.site' that gives
286
+ default values for variables like `CC', `cache_file', and `prefix'.
287
+ `configure' looks for `PREFIX/share/config.site' if it exists, then
288
+ `PREFIX/etc/config.site' if it exists. Or, you can set the
289
+ `CONFIG_SITE' environment variable to the location of the site script.
290
+ A warning: not all `configure' scripts look for a site script.
291
+
292
+ Defining Variables
293
+ ==================
294
+
295
+ Variables not defined in a site shell script can be set in the
296
+ environment passed to `configure'. However, some packages may run
297
+ configure again during the build, and the customized values of these
298
+ variables may be lost. In order to avoid this problem, you should set
299
+ them in the `configure' command line, using `VAR=value'. For example:
300
+
301
+ ./configure CC=/usr/local2/bin/gcc
302
+
303
+ causes the specified `gcc' to be used as the C compiler (unless it is
304
+ overridden in the site shell script).
305
+
306
+ Unfortunately, this technique does not work for `CONFIG_SHELL' due to
307
+ an Autoconf bug. Until the bug is fixed you can use this workaround:
308
+
309
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
310
+
311
+ `configure' Invocation
312
+ ======================
313
+
314
+ `configure' recognizes the following options to control how it
315
+ operates.
316
+
317
+ `--help'
318
+ `-h'
319
+ Print a summary of all of the options to `configure', and exit.
320
+
321
+ `--help=short'
322
+ `--help=recursive'
323
+ Print a summary of the options unique to this package's
324
+ `configure', and exit. The `short' variant lists options used
325
+ only in the top level, while the `recursive' variant lists options
326
+ also present in any nested packages.
327
+
328
+ `--version'
329
+ `-V'
330
+ Print the version of Autoconf used to generate the `configure'
331
+ script, and exit.
332
+
333
+ `--cache-file=FILE'
334
+ Enable the cache: use and save the results of the tests in FILE,
335
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
336
+ disable caching.
337
+
338
+ `--config-cache'
339
+ `-C'
340
+ Alias for `--cache-file=config.cache'.
341
+
342
+ `--quiet'
343
+ `--silent'
344
+ `-q'
345
+ Do not print messages saying which checks are being made. To
346
+ suppress all normal output, redirect it to `/dev/null' (any error
347
+ messages will still be shown).
348
+
349
+ `--srcdir=DIR'
350
+ Look for the package's source code in directory DIR. Usually
351
+ `configure' can determine that directory automatically.
352
+
353
+ `--prefix=DIR'
354
+ Use DIR as the installation prefix. *note Installation Names::
355
+ for more details, including other options available for fine-tuning
356
+ the installation locations.
357
+
358
+ `--no-create'
359
+ `-n'
360
+ Run the configure checks, but stop before creating any output
361
+ files.
362
+
363
+ `configure' also accepts some other, not widely useful, options. Run
364
+ `configure --help' for more details.
365
+