~ubuntu-branches/ubuntu/trusty/judy/trusty

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Troy Heber
  • Date: 2005-03-22 06:55:53 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20050322065553-syjpkd48r4re18dn
Tags: 1.0.1-5

* Moving LGPL link in copyright back to LGPL-2.1
* Cleanup of debian/rules: removed explicit refs to 32-bit archs, removed
  unnecessary nostrip, using --man dir to install man pages, moving from
  dh_movefiles to dh_install.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
 
2
 
# @(#) $Revision: 4.17 $ $Source: /judy/README $
3
 
 
4
 
 
5
 
 
6
 
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7
 
 
8
 
 
9
 
    To build and install Judy, see the INSTALL file.
10
 
 
11
 
 
12
 
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
13
 
 
14
 
 
15
 
 
16
 
 
17
 
 
18
 
# This tree contains sources, documents, tests, and tools for the Judy package.
19
 
# This file is in a form that can be validated using the tool/readme script.
20
 
 
21
 
# NOTE:  The README files here describe some files that are not included in
22
 
# every Judy source package.
23
 
 
24
 
 
25
 
# WHAT IS JUDY?  (see below for list of top-level directories and files)
26
 
#
27
 
# Judy is a C library that implements a dynamic array.  Empty Judy arrays are
28
 
# declared with null pointers.  A Judy array consumes memory only when
29
 
# populated yet can grow to take advantage of all available memory.  Judy's key
30
 
# benefits are:  scalability, performance, memory efficiency, and ease of use.
31
 
# Judy arrays are designed to grow without tuning into the peta-element range,
32
 
# scaling near O(log-base-256).
33
 
#
34
 
# Judy arrays are accessed with insert, retrieve, and delete calls for number
35
 
# or string indexes.  Configuration and tuning are not required -- in fact not
36
 
# possible.  Judy offers sorting, counting, and neighbor/empty searching.
37
 
# Indexes can be sequential, clustered, periodic, or random -- it doesn't
38
 
# matter to the algorithm.  Judy arrays can be arranged hierarchically to
39
 
# handle any bit patterns -- large indexes, sets of keys, etc.
40
 
#
41
 
# Judy is often an improvement over common data structures such as:  arrays,
42
 
# sparse arrays, hash tables, B-trees, binary trees, linear lists, skiplists,
43
 
# other sort and search algorithms, and counting functions.
44
 
 
45
 
 
46
 
# JUDY TOP DIRECTORY CONTENTS:
47
 
 
 
2
             Judy - C library creating and accessing dynamic arrays
 
3
         ==============================================================
 
4
 
 
5
Content
 
6
---------
 
7
 
 
8
 1. Introduction
 
9
 2. Directory Contents
 
10
 3. How to install
 
11
 4. License
 
12
 5. Change History
 
13
 6. Reporting Bugs
 
14
 7. Known Issues
 
15
 
 
16
 
 
17
1. INTRODUCTION
 
18
-----------------
 
19
 
 
20
This tree contains sources, documents, tests, and tools for the Judy package.
 
21
This file is in a form that can be validated using the tool/readme script.
 
22
 
 
23
NOTE:  The README files here describe some files that are not included in
 
24
every Judy source package.
 
25
 
 
26
WHAT IS JUDY?  (see below for list of top-level directories and files)
 
27
 
 
28
Judy is a C library that implements a dynamic array.  Empty Judy arrays are
 
29
declared with null pointers.  A Judy array consumes memory only when
 
30
populated yet can grow to take advantage of all available memory.  Judy's key
 
31
benefits are:  scalability, performance, memory efficiency, and ease of use.
 
32
Judy arrays are designed to grow without tuning into the peta-element range,
 
33
scaling near O(log-base-256) -- 1 more RAM access at 256 X population.
 
34
 
 
35
Judy arrays are accessed with insert, retrieve, and delete calls for number
 
36
or string indexes.  Configuration and tuning are not required -- in fact not
 
37
possible.  Judy offers sorting, counting, and neighbor/empty searching.
 
38
Indexes can be sequential, clustered, periodic, or random -- it doesn't
 
39
matter to the algorithm.  Judy arrays can be arranged hierarchically to
 
40
handle any bit patterns -- large indexes, sets of keys, etc.
 
41
 
 
42
Judy is often an improvement over common data structures such as:  arrays,
 
43
sparse arrays, hash tables, B-trees, binary trees, linear lists, skiplists,
 
44
other sort and search algorithms, and counting functions.
 
45
 
 
46
 
 
47
2. JUDY TOP DIRECTORY CONTENTS:
 
48
--------------------------------
 
49
 
 
50
AUTHORS         Judy authors and contributors
48
51
README          This file.
49
 
INSTALL         Summary  instructions to build, install, and check Judy.
 
52
INSTALL         Summary  instructions to build, check and install Judy.
50
53
COPYING         Judy deliverable license notice (the LGPL).
51
 
 
52
 
Makefile.multi  Multi-platform, multi-flavor Judy makefile that knows how to
53
 
                make all deliverables and a few other files, but not all Judy
54
 
                constructed files, especially tests.
55
 
 
56
 
make_includes/  Makefile fragments included by Makefile.multi.
57
 
 
58
 
configure       Simple script to wrap around makefile, a placeholder for a
59
 
                "real" configure script generated by autoconf; see comments
60
 
                in the script.
61
 
 
62
 
makeall         Reminder how to make all (multi-platform) useful Judy
63
 
                files/targets as developer in mounted sandboxes on
64
 
                remote systems.
65
 
 
 
54
ChangeLog       List of changes per version of Judy.
 
55
 
 
56
configure       Autoconf configure script to allow a portable build e
 
57
                environment. 
 
58
                
66
59
src/            Header and source files used to build the package.
67
60
doc/            Documents, both external (to the package) and internal.
68
 
test/           Test support.
69
 
tool/           judy-specific tools.
 
61
test/           Test support and some timing programs.
 
62
tool/           Primitive tool (jhton) to convert *.html files to "man" pages.
 
63
                and build tables used by Judy to malloc() sizes of memory.
 
64
 
 
65
3. HOW TO INSTALL
 
66
-----------------
 
67
 
 
68
For a quick description see the INSTALL file. 
 
69
 
 
70
Judy is now based on the GNU Auto tools. This means that you can do the standard
 
71
configure, make, make check and make install and everything should work, with
 
72
one minor differnece and a little caviot. 
 
73
 
 
74
Judy is capiable of being built as a 32-bit or a 64-bit library. Therefor you
 
75
need to tell Judy what you want. You MUST run configure with one of the
 
76
following flags:
 
77
          
 
78
          --enable-32-bit 
 
79
          --enable-64-bit 
 
80
 
 
81
If your compiler generates 32-bit code by default, such as x86, and you run
 
82
configure with --enable-32-bit, your done. You can now run make, make check and
 
83
make install.  
 
84
 
 
85
If your compiler generates 64-bit code by default, such as Linux IA-64, and you
 
86
run configure with --enable-64-bit, your done. You can now run make, make check
 
87
and make install.  
 
88
 
 
89
The caviot comes in on machines that support both at 32-bit and 64-bit runtime
 
90
environments such as RISC platforms and x86-64. In this case your compiler will
 
91
either use 32-bit or 64-bit as default. If you plan to use the default you can
 
92
follow the above instructions and be finished. 
 
93
 
 
94
However, if you wish to compile for the non-default target type. YOU ARE
 
95
RESPONSIABLE FOR SETTING THE CORRECT FLAGS! Such as CFLAGS to make your compiler
 
96
switch modes LDFLAGS to make your linker behave, etc. 
 
97
 
 
98
For example: On HP-UX PA-RISC the compiler generates 32-bit code by default. If
 
99
I wish to stick with the defautls I can build Judy by: 
 
100
   ./configure --enable-32-bit
 
101
   make
 
102
   make check
 
103
   make install 
 
104
 
 
105
If I want to build Judy as a 64-bit library on HP-UX PA-RISC I have to do:
 
106
   CFLAGS=+DD64 ./configure --enable-64-bit 
 
107
   make 
 
108
   make check 
 
109
   make install 
 
110
 
 
111
 
 
112
4. LICENSE
 
113
----------
 
114
 
 
115
The user library is licensed under the GNU Lesser Public License (LGPL)
 
116
Version 2.1, February 1999.  The full text of the LGPL is located at:
 
117
 
 
118
COPYING
 
119
 
 
120
 
 
121
5. CHAGE HISTORY
 
122
----------------
 
123
 
 
124
See the ChangeLog file.
 
125
 
 
126
6. REPORTING BUGS
 
127
-----------------
 
128
 
 
129
If you encounter a bug, please submit it to the project bug list, 
 
130
located on the project page:
 
131
 
 
132
    https://sourceforge.net/projects/judy/
 
133
 
 
134
7. KNOWN ISSUES
 
135
---------------
 
136
 
 
137
When compiling on HP-UX, you may get a message like: 
 
138
 error 1000: Unexpected symbol: 
 
139
 
 
140
This is a problem with the HP's compiler in that it doesn't like a typedef'ed
 
141
type following a static inline.
 
142
 
 
143
You can work around it by running this command from the Judy directory. 
 
144
 
 
145
find ./ -name \*.[ch] | xargs perl -i.BAK -pe 's/static inline/static/g'