jjLibrary Document
| Last updated:
| 2007-05-01
|
| Created:
| 2003-01-29
|
by Fumisky Wells
Contents
- What's New
- OverView
- Install
- Environment
- Feedback
- Release Note
What's New
-
This is bug fix version.
Please see Release Note for more detail.
OverView
C++ Library "jj" consists from the following three sub categories:
- jj/errno -Error handling module
Similar to Unix/C errno + some utilities.
- jj/pattern
-Pattern Library module
Provides several container patterns like Hash, List, Tree, Graph.
Jj/pattern has a unique feature compared to
STL(Standard Template Library).
- jj/cgi -CGI module for C++
usuful library to write CGI/FastCGI applications by C++
Go to each link to read their details.
jj's History
Jj's roots is my personal study of
"Taming C++".
I felt this pattern library (and its concept) was very usuful so that
I wrote the patterns from scratch.
Other sub modules, errno and CGI, were added to jj during its version-up.
The meaning of "jj" comes from the prefix of name in the library.
In the book "Taming C++",
"ZZ" is chosen for name prefix. I get the same idea from that.
Copyright
I am not familiear with this area so that I would like to apply GPL for
jj so far.
NOTE: This package is ABSOLUTELY NO WARRANTY.
Install
Sub Contents in this chapter is as follows:
- Normal installation
- Install FastCGI compliance jjLibrary
- NOTE on installing on HP-UX11 + ANSI C++
environment
The detail is as follows:
-
Normal installation
configure is now adapted since Ver1.5 so that the installation steps are:
./configure --prefix=/opt/jj-#.#
make
make install
--prefix option in configure command is optional. You can set any other
installation directory (personally, I recommend /opt/jj).
-
Install FastCGI compliance jjLibrary
It's very tedious work-around, but it works anyway
in order to build FastCGI compliant jjLibrary as follows:
- before doing ./configure, substitute all of strings libjj to
libjjf in {R}/Makefile.in.
NOTE: this substitution is not for only one line!
- do ./configure as usual.
- add "-DFOR_FCGI" in the line of "CXXFLAGS =" in
R/cgi/Makefile as follows:
|
CXXFLAGS = -g -02 -DFOR_FCGI
|
Where, R means root directory of this
source-package.
NOTE: If FCGI include path is not in standard path (like
/usr/include), then add "-Ifcgi_include_path" in
CXXFLAGS here.
- make sure to do "make clean" at R/cgi/
- do "make; make install"
at R/
-
NOTE on installing on HP-UX11 + ANSI C++
environment
- In order to install on HP-UX11 + ANSI C++(aC++) environment,
explicitly specify compiler path as follows:
|
$ CXX=/opt/aCC/bin/aCC ./configure options...
|
- When compiling C++ source files by aC++ compiler(aCC),
link must be done by aCC, not by ld(1), especially when building
shared library. Unfortunately, libtool in this
jjLibrary package doesn't recognize aCC as linker so that
the executable program may cause in trouble.
Work around is to manually modify 2 points in libtool as follows
(If you know more smart way, please let me know):
- Change the following line at ~73 the line:
to:
- At ~184th line, delete the underlined part as follows:
|
archive_cmds="\$LD -b +h \$soname +b \$install_libdir -o...
|
Environment
Confirmed environment which jj is successfully installed is as follows:
| OS
| Version
| C++
|
| Linux
| Vine Linux 3.2CR
| g++ 3.3.2
|
| HP-UX
| 11.00
| aC++ 3.50
|
Feedback
I'll welcome your feedback, any question, and/or opinion.
Please send e-mail via
http://sourceforge.net/users/fwells00/.
IMPORTANT NOTE: Please never ask Dr.Jiri Soukup
about jjPattern. The question on jjPattern should be asked to me, thank
you.
Welcome your feedback!