Skip to content

Commit

Permalink
This is the inital import from my private repo to the public one.
Browse files Browse the repository at this point in the history
  • Loading branch information
Troy Heber committed Feb 15, 2005
0 parents commit 036c44d
Show file tree
Hide file tree
Showing 102 changed files with 50,328 additions and 0 deletions.
8 changes: 8 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Doug Baskinks
Owner and Main Author

Contributors:

Troy Heber:
Repackaging
Project Administration
516 changes: 516 additions & 0 deletions COPYING

Large diffs are not rendered by default.

41 changes: 41 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
1. Version ( ) by (twh)

o fixed assumption of signed char in test programs.
o updated sh_build

1.0.1 Version (Dec 2004) by (twh)

o fixed bootstrap to use later versions
o fixed manpage naming from (3X) to (3)
o Code changes to support Microsoft __inline directive
o Move away from using symlinks to using copies
o Added build.bat to support building on Windows

1.0.0 Version (Sept 2004) by (twh)

o Complete Autoconfisication of Judy
o Removed previous build environment
o Change INSTALL_IT back to INSTALL
o Moving to 1.0.0 to denote API change.


0.1.6 Version (1June2004) by (dlb)

o See src/sh_build in case of 'make' failures
o The is an endian-neutral version I.E. (jp_DcdPop0 deleted)
o Should not require any special platform specific compile flags
o Includes JudyHS*() -- very fast, scalable string version
o JudyHS*() is still preliminary and may need additional functionality.
o See test/manual/StringCompare.c for comparing different 'string' ADT's
o Deleted files: JudyMalloc.h, JudySL.h, JudySearch*
o All malloc() and free() is done thru interface routines in JudyMalloc.c
o Judy.h should work on all platforms that conform to ISO standards.
o After trying on many platforms, <stdint.h> was changed to <inttypes.h>
o jbgraph has some 'bash/ksh' isms that need to be removed.
o See test/manual/testjbgraph for plotting performance graphs
o 'libtools' stuff is in unknown shape.
o Does not "mangle" the root pointer (so old valgrind is not confused)
o Conform to standard "C"
o Change INSTALL to INSTALL_IT because it confused "make install"
o To he man pages need work to clean up the .html to be portable
o Plus hundreds of changes to make the source more portable.
20 changes: 20 additions & 0 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
=== QUICK INSTALLATION OF JUDY LIBRARY AND MANUAL ENTRIES ===

1. ./configure #NOTE: you must do configure with either
--enable-32-bit or --enable-64-bit
depending on your system. Also note if you
are doing a non-native compile you are
responsiable for setting the appropriate
CFLAGS. See README for more information.
2. make
3. make check
4. make install # NOTE: must be SUPERUSER for make install
# This installs /opt/Judy/* and symlinks to
# files there from /usr/include/, /usr/lib/,
# /usr/share/man/, and /usr/share/doc/Judy/.

(Installation done! The rest is optional but recommended.)

5) man Judy # nroff -man version, or...

6) file:/opt/Judy/usr/share/doc/Judy/Judy_3x.htm # from LOCAL Web browser.
17 changes: 17 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Tell automake we don't want to comply with every last clause in the
# GNU Maintainer's Manual.
AUTOMAKE_OPTIONS = foreign

# We need to build the following subdirectories in this order. Note that
# we put a Makefile.am in every subdirectory, even if there's nothing to
# compile, so that we can support 'make dist' gracefully.
#
# Dependencies: src <- tool (for libJudy), tool <- doc (for jhton), src <-
# test (for libJudy).
#SUBDIRS = src tool doc test make_includes
#SUBDIRS = src/JudyCommon src/JudyL src/Judy1 src/JudySL src/JudyHS src/obj
SUBDIRS = src tool doc test

# These files will be included in our tarballs, even though automake knows
# nothing else about them.
#EXTRA_DIST = Makefile.multi original_configure .cvsignore
145 changes: 145 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@

Judy - C library creating and accessing dynamic arrays
==============================================================

Content
---------

1. Introduction
2. Directory Contents
3. How to install
4. License
5. Change History
6. Reporting Bugs
7. Known Issues


1. INTRODUCTION
-----------------

This tree contains sources, documents, tests, and tools for the Judy package.
This file is in a form that can be validated using the tool/readme script.

NOTE: The README files here describe some files that are not included in
every Judy source package.

WHAT IS JUDY? (see below for list of top-level directories and files)

Judy is a C library that implements a dynamic array. Empty Judy arrays are
declared with null pointers. A Judy array consumes memory only when
populated yet can grow to take advantage of all available memory. Judy's key
benefits are: scalability, performance, memory efficiency, and ease of use.
Judy arrays are designed to grow without tuning into the peta-element range,
scaling near O(log-base-256) -- 1 more RAM access at 256 X population.

Judy arrays are accessed with insert, retrieve, and delete calls for number
or string indexes. Configuration and tuning are not required -- in fact not
possible. Judy offers sorting, counting, and neighbor/empty searching.
Indexes can be sequential, clustered, periodic, or random -- it doesn't
matter to the algorithm. Judy arrays can be arranged hierarchically to
handle any bit patterns -- large indexes, sets of keys, etc.

Judy is often an improvement over common data structures such as: arrays,
sparse arrays, hash tables, B-trees, binary trees, linear lists, skiplists,
other sort and search algorithms, and counting functions.


2. JUDY TOP DIRECTORY CONTENTS:
--------------------------------

AUTHORS Judy authors and contributors
README This file.
INSTALL Summary instructions to build, check and install Judy.
COPYING Judy deliverable license notice (the LGPL).
ChangeLog List of changes per version of Judy.

configure Autoconf configure script to allow a portable build e
environment.

src/ Header and source files used to build the package.
doc/ Documents, both external (to the package) and internal.
test/ Test support and some timing programs.
tool/ Primitive tool (jhton) to convert *.html files to "man" pages.
and build tables used by Judy to malloc() sizes of memory.

3. HOW TO INSTALL
-----------------

For a quick description see the INSTALL file.

Judy is now based on the GNU Auto tools. This means that you can do the standard
configure, make, make check and make install and everything should work, with
one minor differnece and a little caviot.

Judy is capiable of being built as a 32-bit or a 64-bit library. Therefor you
need to tell Judy what you want. You MUST run configure with one of the
following flags:

--enable-32-bit
--enable-64-bit

If your compiler generates 32-bit code by default, such as x86, and you run
configure with --enable-32-bit, your done. You can now run make, make check and
make install.

If your compiler generates 64-bit code by default, such as Linux IA-64, and you
run configure with --enable-64-bit, your done. You can now run make, make check
and make install.

The caviot comes in on machines that support both at 32-bit and 64-bit runtime
environments such as RISC platforms and x86-64. In this case your compiler will
either use 32-bit or 64-bit as default. If you plan to use the default you can
follow the above instructions and be finished.

However, if you wish to compile for the non-default target type. YOU ARE
RESPONSIABLE FOR SETTING THE CORRECT FLAGS! Such as CFLAGS to make your compiler
switch modes LDFLAGS to make your linker behave, etc.

For example: On HP-UX PA-RISC the compiler generates 32-bit code by default. If
I wish to stick with the defautls I can build Judy by:
./configure --enable-32-bit
make
make check
make install

If I want to build Judy as a 64-bit library on HP-UX PA-RISC I have to do:
CFLAGS=+DD64 ./configure --enable-64-bit
make
make check
make install


4. LICENSE
----------

The user library is licensed under the GNU Lesser Public License (LGPL)
Version 2.1, February 1999. The full text of the LGPL is located at:

COPYING


5. CHAGE HISTORY
----------------

See the ChangeLog file.

6. REPORTING BUGS
-----------------

If you encounter a bug, please submit it to the project bug list,
located on the project page:

https://sourceforge.net/projects/judy/

7. KNOWN ISSUES
---------------

When compiling on HP-UX, you may get a message like:
error 1000: Unexpected symbol:

This is a problem with the HP's compiler in that it doesn't like a typedef'ed
type following a static inline.

You can work around it by running this command from the Judy directory.

find ./ -name \*.[ch] | xargs perl -i.BAK -pe 's/static inline/static/g'
11 changes: 11 additions & 0 deletions bootstrap
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#! /bin/sh
set -x

libtoolize --force --copy
aclocal-1.9
autoheader2.50
#add --include-deps if you want to bootstrap with any other compiler than gcc
#automake --add-missing --copy --include-deps
automake-1.9 --add-missing --force --copy
autoconf2.50
rm -f config.cache
Loading

0 comments on commit 036c44d

Please sign in to comment.