2012-12-30 06:20:08 +00:00
|
|
|
Installation {#installation}
|
|
|
|
================================================================================
|
2012-12-28 08:39:41 +00:00
|
|
|
|
2012-12-30 06:20:08 +00:00
|
|
|
Source Package
|
|
|
|
--------------
|
2012-12-28 08:39:41 +00:00
|
|
|
|
|
|
|
You can download the source package from
|
|
|
|
|
|
|
|
http://code.google.com/p/qse/downloads/list
|
|
|
|
|
|
|
|
A source package has this naming format of *qse-<version>.tar.gz*.
|
|
|
|
|
|
|
|
Alternatively, you can check out the lastest source files from the subversion
|
|
|
|
repository by executing the following command:
|
|
|
|
|
|
|
|
svn checkout http://qse.googlecode.com/svn/trunk/qse/
|
|
|
|
|
2012-12-30 06:20:08 +00:00
|
|
|
Building on Unix/Linux
|
|
|
|
----------------------
|
2012-12-28 08:39:41 +00:00
|
|
|
|
|
|
|
The project uses the standard autoconf/automake generated script files for
|
|
|
|
buildiing. If you work on the systems where these scripts can run, you can
|
|
|
|
follow the standard procedures of configuring and making the project.
|
|
|
|
|
|
|
|
$ ./configure
|
|
|
|
$ make
|
|
|
|
$ make install
|
|
|
|
|
|
|
|
You can use this method of building for MinGW or Cygwin on Windows.
|
|
|
|
|
2012-12-30 06:20:08 +00:00
|
|
|
Cross-compiling for WIN32
|
|
|
|
-------------------------
|
2012-12-28 08:39:41 +00:00
|
|
|
|
|
|
|
While the autoconf/automake scripts may not support your native compilers,
|
|
|
|
you can cross-compile it for WIN32/WIN64 with a cross-compiler. Get a
|
|
|
|
cross-compiler installed first and run the *configure* script with a host
|
|
|
|
and a target.
|
|
|
|
|
|
|
|
With MINGW-W64, you may run *configure* as shown below:
|
|
|
|
|
|
|
|
$ ./configure --host=i686-w64-mingw32 --target=i686-w64-mingw32
|
|
|
|
$ make
|
|
|
|
$ make install
|
|
|
|
|
|
|
|
With MINGW-W64, you may run *configure* as shown below:
|
|
|
|
|
|
|
|
$ ./configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32
|
|
|
|
$ make
|
|
|
|
$ make install
|
|
|
|
|
|
|
|
The actual host and target names may vary depending on the cross-compiler
|
|
|
|
installed.
|
|
|
|
|
2012-12-30 06:20:08 +00:00
|
|
|
Native Makefiles
|
|
|
|
----------------
|
2012-12-28 08:39:41 +00:00
|
|
|
|
|
|
|
The project provides makefiles for some selected compilers and platforms.
|
|
|
|
The makefiles were generated with bakefile (www.bakefile.org) and can be
|
|
|
|
found in the *bld* subdirectory.
|
|
|
|
|
|
|
|
- os2-watcom/makefile (Watcom C/C++ for OS/2)
|
|
|
|
- win32-watcom/makefile (Watcom C/C++ for Windows)
|
|
|
|
- win32-borland/makefile (Borland C/C++ for Windows)
|
|
|
|
- win32-msvc/makefile (Microsoft Visual C/C++ for Windows)
|
|
|
|
|
|
|
|
You can execute your native make utility for building in each subdirectory.
|
2012-12-28 14:32:56 +00:00
|
|
|
For example, to build for OS/2 with Watcom C/C++ in the result mode using
|
|
|
|
the wide character type, you can execute this:
|
|
|
|
|
|
|
|
cd bld\os2-watcom
|
|
|
|
wmake BUILD=release CHAR=wchar
|
2012-12-28 08:39:41 +00:00
|
|
|
|
2012-12-30 06:20:08 +00:00
|
|
|
Build Options
|
|
|
|
-------------
|
2012-12-28 08:39:41 +00:00
|
|
|
|
2012-12-28 14:32:56 +00:00
|
|
|
The configure script and the native makefiles provides some options that you
|
|
|
|
can use to change the build environment. The options presented here can be
|
|
|
|
specified to the command line of the configure script or the native make
|
|
|
|
utilities.
|
|
|
|
|
|
|
|
For the configure script, the options should prefixed with double
|
|
|
|
slashes and mutliples options can be specified together. See this example:
|
|
|
|
|
|
|
|
./configure --enable-debug --disable-wchar
|
|
|
|
|
|
|
|
|
|
|
|
For the native makefiles, the options can be appened to the end of the command
|
|
|
|
line. See this example:
|
|
|
|
|
|
|
|
make BUILD=debug CHAR=mchar
|
|
|
|
|
|
|
|
### Build Mode ###
|
|
|
|
|
|
|
|
You can choose to build the project in the **release** mode or in the **debug**
|
|
|
|
mode. The resulting libraries and programs in the **debug** mode contain
|
|
|
|
extra information useful for debugging. The default mode is **release**.
|
|
|
|
|
|
|
|
value | configure | native makefile
|
|
|
|
--------|----------------|-----------------
|
|
|
|
debug | enable-debug | BUILD=debug
|
|
|
|
release | disable-debug | BUILD=release
|
|
|
|
|
2013-01-07 15:08:22 +00:00
|
|
|
### Character Type ###
|
2012-12-28 08:39:41 +00:00
|
|
|
|
2012-12-28 14:32:56 +00:00
|
|
|
You can choose between the wide charcter type and the multi-byte character
|
|
|
|
type as a basic character type represented in the #qse_char_t type. The default
|
|
|
|
character type is the wide character type.
|
2012-12-28 08:39:41 +00:00
|
|
|
|
2012-12-28 14:32:56 +00:00
|
|
|
value | configure | native makefile
|
|
|
|
-----------|----------------|-----------------
|
|
|
|
wide | enable-wchar | CHAR=wchar
|
|
|
|
multi-byte | disable-wchar | CHAR=mchar
|
2012-12-28 08:39:41 +00:00
|
|
|
|
2012-12-28 14:32:56 +00:00
|
|
|
If the wide charater type is chosen:
|
|
|
|
- #QSE_CHAR_IS_WCHAR is defined.
|
|
|
|
- #qse_char_t maps to #qse_wchar_t.
|
2012-12-28 08:39:41 +00:00
|
|
|
|
2012-12-28 14:32:56 +00:00
|
|
|
If the multi-byte charater type is chosen:
|
|
|
|
- #QSE_CHAR_IS_MCHAR is defined.
|
|
|
|
- #qse_char_t maps to #qse_mchar_t.
|
2012-12-28 08:39:41 +00:00
|
|
|
|
2012-12-28 14:32:56 +00:00
|
|
|
### Bundled Unicode Routines ###
|
|
|
|
|
|
|
|
You can choose to use the bundled character classification routines
|
|
|
|
based on unicode. It is disabled by default.
|
|
|
|
|
|
|
|
value | configure | native makefile
|
|
|
|
-----------|--------------------------|-----------------
|
|
|
|
on | enable-bundled-unicode | BUNDLED_UNICODE=on
|
|
|
|
off | disable-bundled-unicode | BUNDLED_UNICODE=off
|
|
|
|
|
|
|
|
Enabling this option makes the routines defined in <qse/cmn/uni.h>
|
|
|
|
to be included in the resulting library. It also affects somes routines
|
|
|
|
defined in <qse/cmn/chr.h> to use these bundled unicode routines.
|
|
|
|
|
|
|
|
### Character Encoding Conversion ###
|
|
|
|
|
|
|
|
You can include extra routines for character encoding conversion into
|
|
|
|
the resulting library. This option is disabled by default.
|
|
|
|
|
|
|
|
value | configure | native makefile
|
|
|
|
-----------|-----------------|---------------------
|
|
|
|
on | enable-xcmgrs | XCMGRS=on
|
|
|
|
off | disable-xcmgrs | XCMGRS=off
|
|
|
|
|
|
|
|
More #qse_cmgr_t instances are made available when this option is enabled.
|
|
|
|
The UTF-8 conversion and the locale-based conversion are included regardless
|
|
|
|
of this option.
|
2012-12-28 08:39:41 +00:00
|
|
|
|
|
|
|
### TCPV40HDRS ###
|
|
|
|
|
|
|
|
The option, when turned on, enables you to use *tcp32dll.dll* and *so32dll.dll*
|
|
|
|
instead of *tcpip32.dll*. Doing so allows a resulting program to run on OS/2
|
|
|
|
systems without the 32-bit TCP/IP stack. This option is off by default and
|
|
|
|
available for the native makefile for Watcom C/C++ for OS/2 only.
|
|
|
|
|
|
|
|
wmake TCPV40HDRS=on
|
|
|
|
|
2015-04-26 16:20:21 +00:00
|
|
|
### C++ ###
|
|
|
|
|
|
|
|
C++ support is enabled by default as long as a C++ compiler is detected.
|
|
|
|
If you want to disable it for any reasons, you can specify `--disable-cxx`.
|
|
|
|
|
|
|
|
./configure --disable-cxx
|
|
|
|
|
2014-11-17 15:01:49 +00:00
|
|
|
### SCO UNIX System V/386 Release 3.2 ###
|
|
|
|
|
2014-11-17 17:18:11 +00:00
|
|
|
- If /usr/include/netinet and /usr/include/net are missing,
|
|
|
|
check if there are /usr/include/sys/netinet and /usr/include/sys/net.
|
2014-11-24 17:01:04 +00:00
|
|
|
if they exists, you can make symbolic links.
|
2014-11-17 17:18:11 +00:00
|
|
|
|
|
|
|
cd /usr/include
|
|
|
|
ln -sf sys/netinet netinet
|
|
|
|
ln -sf sys/net net
|
|
|
|
|
2014-11-17 15:01:49 +00:00
|
|
|
- Specify GREP if configure fails to find an acceptable grep.
|
2014-11-18 16:10:12 +00:00
|
|
|
- Specify RANLIB to /bin/true.
|
|
|
|
/bin/ranlib ended up like this: *ranlib: .libs/libqsecmn.a: not an archive*
|
2014-11-17 15:01:49 +00:00
|
|
|
- Build in the source tree. Building outside the source tree is likely to fail
|
|
|
|
for dificiency of the bundled make utility.
|
|
|
|
- Do not include -g in CFLAGS.
|
|
|
|
|
2015-04-26 16:20:21 +00:00
|
|
|
./configure GREP=/bin/grep RANLIB=/bin/true CFLAGS=""
|
2014-11-17 15:01:49 +00:00
|
|
|
|
2014-11-24 17:01:04 +00:00
|
|
|
- Remove $(LIBLTDL) from LIBADD_LIB_COMMON in lib/awk/Makefile
|
|
|
|
- Remove $(LIBLTDL) from libqsehttp_la_LIBADD in lib/http/Makefile
|
2014-11-17 17:18:11 +00:00
|
|
|
|
|
|
|
make
|
2014-11-17 15:01:49 +00:00
|
|
|
|
2015-04-26 16:20:21 +00:00
|
|
|
### Mac OS X/Darwin ###
|
|
|
|
|
|
|
|
No special consideration is required if you work with moderately recent
|
|
|
|
version of developer tools. The GCC compiler by Apple before early 2000's
|
|
|
|
has an option called `-no-cpp-precomp`.
|
|
|
|
|
|
|
|
\code
|
|
|
|
% cc -E /tmp/a.c
|
|
|
|
#1 "/tmp/a.c"
|
|
|
|
|
|
|
|
|
|
|
|
int main ( )
|
|
|
|
{
|
|
|
|
Lxxxx ;
|
|
|
|
return 0 ;
|
|
|
|
}
|
|
|
|
|
|
|
|
% cc -E -no-cpp-precomp /tmp/a.c
|
|
|
|
#1 "/tmp/a.c"
|
|
|
|
|
|
|
|
|
|
|
|
int main ( )
|
|
|
|
{
|
|
|
|
Lxxxx ;
|
|
|
|
return 0 ;
|
|
|
|
}
|
|
|
|
\endcode
|
|
|
|
|
|
|
|
Without the `-no-cpp-precomp` option, some preprocessing produces erroneous
|
|
|
|
code. If your compiler behaves this way, you should specify `-no-cpp-precomp`
|
|
|
|
to CFLAGS or CXXFLAGS when running configure. For instance,
|
|
|
|
|
|
|
|
$ ./configure --prefix=/usr/local --disable-cxx CFLAGS="-Wall -g -no-cpp-precomp"
|
|
|
|
|
|
|
|
|
2012-12-28 14:32:56 +00:00
|
|
|
### More options ###
|
|
|
|
|
|
|
|
More options are available for the configure script. Execute this for more
|
|
|
|
information:
|
|
|
|
|
|
|
|
./configure --help
|
2012-12-28 08:39:41 +00:00
|
|
|
|