1 [The qDecoder Project]
2 -------------------------------------------------------------------------------
3
4 qDecoder Installation Guide
5
6 * Getting qDecoder Package
7 * Unpacking qDecoder Package
8 * Compile
9 * Install
10 * Deinstall
11 * Test & Examples
12
13 Step 1. Getting qDecoder Package
14
15 The latest version of qDecoder can be downloaded from http://www.qdecoder.org/
16 or ftp://ftp.qdecoder.org/pub/qDecoder/.
17 To get working current : svn co svn://svn.qdecoder.org/qdecoder/trunk qdecoder
18
19 Step 2. Unpacking qDecoder Package
20
21 Basically, qDecoder is provided being compressed with tar on Unix. Follow the
22 below procedure to decompress it.
23
24 $ tar xvfz qDecoder-VERSION.tar.gz
25
26 A directory corresponding to qDecoder-VERSION will be created. And the files
27 will be unpacked like the following:
28
29 $ cd qDecoder-VERSION
30
31 $ ls -asCF
32 4 ./ 32 config.sub* 12 INSTALL
33 4 ../ 160 configure* 16 install-sh*
34 4 AUTHORS 8 configure.ac 4 Makefile.in
35 16 CHANGES 4 COPYING 4 qDecoder.jpg
36 44 config.guess* 4 doc/ 4 src/
37 4 config.h.in 4 examples/
38
39 AUTHORS - List of manufacturers' names
40 CHANGES - Changes of each version
41 COPYING - Copyright-related documents
42 INSTALL - Installation guide
43 README - General guide
44 REFERENCE - Manual on how to use functions
45 qDecoder.jpg - Logotype picture
46
47 Makefile.in --+
48 configure +
49 configure.ac +
50 install-sh +--> Autoconf-related files
51 config.guess +
52 config.sub +
53 config.h.in --+
54
55 doc/... - Documentations
56 examples/... - Collection of example sources.
57 src/... - qDecoder main sources.
58
59 Step 3. Compile
60
61 qDecoder makes the compilation between different platforms more convenient by
62 applying Autoconf (6.0.1 and above) which almost all the GNU software and
63 free/open source software adopt. The compilation method is, like that of general
64 open sources, through "make" after configuration, which checks to see if the
65 compiler environment, needed functions and commands of the pertinent system can
66 be used, and then constructs Makefile for them to be compiled in the system most
67 efficiently.
68
69 $ cd qDecoder-VERSION
70
71 $ ./configure --help
72 (...some messages...)
73 Optional Features:
74
75 --enable-debug enable debugging output
76 --enable-threadsafe enable thread-safe feature
77 --enable-lfs enable large file supports
78 --enable-fastcgi=/FASTCGI_INCLUDE_DIR_PATH/
79 enable FastCGI supports
80 --enable-mysql=/MYSQL_INCLUDE_DIR_PATH/
81 enable MySQL database supports
82 --disable-cgi disable CGI APIs
83 --disable-socket disable socket APIs
84 --disable-ipc disable IPC APIs
85 --disable-datastructure disable data-structure APIs
86
87 $ ./configure (for general purpose)
88 ex) $ ./configure --disable-cgi (for general application library)
89 ex) $ ./configure --disable-cgi --enable-threadsafe (for general thread application library)
90 ex) $ ./configure --disable-socket --disable-ipc --disable-datastructure (only for CGI usages)
91
92 creating cache ./config.cache
93 checking for gcc... gcc
94 checking whether the C compiler (gcc ) works... yes
95 checking whether the C compiler (gcc ) is a cross-compiler... no
96 ...(skip)...
97 configure: optional flags:
98 configure: creating ./config.status
99 config.status: creating Makefile
100 config.status: creating src/Makefile
101 config.status: creating examples/Makefile
102 config.status: creating config.h
103
104 $ ls -asCF
105 4 ./ 4 config.h.in 8 COPYING 4 Makefile.in
106 4 ../ 16 config.log 4 doc/ 4 qDecoder.jpg
107 4 AUTHORS 24 config.status* 4 examples/ 8 README
108 16 CHANGES 32 config.sub* 16 INSTALL 4 REFERENCE
109 44 config.guess* 164 configure* 16 install-sh* 4 src/
110 4 config.h 8 configure.ac 4 Makefile 4 .svn/
111
112 $ make
113
114 NOTE) Type "make distclean", if you wish to clean up the library and object as
115 it was.
116
117 Step 4. Install
118
119 Type "make install" to install a library on the system.
120
121 $ cd qDecoder-VERSION
122
123 $ make install
124 The installation path of headers and libraries can be adjusted by the --prefix,
125 --libdir, --includedir configure options. The default locations will be
126 /usr/local/lib, /usr/local/include when configured with no specific options.
127 ${prefix} ===> /usr/local (default)
128 ${libdir} ===> ${prefix}/lib (default)
129 ${includedir} ===> ${prefix}/include (default)
130
131 libqDecoder.a ===> ${libdir}/libqDecoder.a
132 libqDecoder.so.[n] ===> ${libdir}/libqDecoder.so.[n]
133 libqDecoder.so ===> ${libdir}/libqDecoder.so
134 qDecoder.h ===> ${includedir}/include/qDecoder.h
135
136 ex) $ ./configure --prefix=/usr
137 ex) $ ./configure --libdir=/home/qdecoder/mylib --includedir=/home/qdecoder/myinclude
138
139 NOTE) libqDecoder.so is a symbolic link that refers to libqDecoder.so.[n] which
140 is the actual shared library. The number n increases when the downward
141 compatibility lacks.
142
143 NOTE) A root privilege is required for an installation in the system area.
144
145 Step 5. Deinstall
146
147 The installed qDecoder can be completely deleted by "make deinstall".
148
149 $ cd qDecoder-VERSION
150
151 $ make deinstall
152
153 Step 6. Test & Examples
154
155 There are some of examples in the examples directory. After compiling the
156 examples, test can be performed by opening examples.html by your web browser.
157 For your convenience, all examples have been written in CGI executable, but some
158 of them also can be executed on command line if it does not require CGI inputs.
159 (ex: config.cgi, obstack.cgi, ...)
160
161 $ cd examples
162
163 $ make
164
165 $ ls -al *.cgi
166 -rwxr-xr-x 1 qdecoder qdecoder 193582 Jan 4 19:56 config.cgi
167 -rwxr-xr-x 1 qdecoder qdecoder 194382 Jan 4 19:56 cookie.cgi
168 -rwxr-xr-x 1 qdecoder qdecoder 192904 Jan 4 19:56 download.cgi
169 -rwxr-xr-x 1 qdecoder qdecoder 173796 Jan 4 19:56 hashtable.cgi
170 -rwxr-xr-x 1 qdecoder qdecoder 193130 Jan 4 19:56 multivalue.cgi
171 -rwxr-xr-x 1 qdecoder qdecoder 163111 Jan 4 19:56 obstack.cgi
172 -rwxr-xr-x 1 qdecoder qdecoder 193109 Jan 4 19:56 query.cgi
173 -rwsr-sr-x 1 qdecoder qdecoder 204774 Jan 4 19:56 session.cgi
174 -rwxr-xr-x 1 qdecoder qdecoder 194519 Jan 4 19:56 socket.cgi
175 -rwxr-xr-x 1 qdecoder qdecoder 193266 Jan 4 19:56 streamedit.cgi
176 -rwsr-sr-x 1 qdecoder qdecoder 194070 Jan 4 19:56 upload.cgi
177 -rwsr-sr-x 1 qdecoder qdecoder 194758 Jan 4 19:56 uploadfile.cgi
178
179 -------------------------------------------------------------------------------
180 [The qDecoder Project]