More for C++





What's next?




Before downloading "More for C++", please have a look at the license (just in case you haven't until now).

There are different ways of getting the library. Preferably you should use the SourceForge File Release System and download one of the archives from their servers. Each archive contains the library's sources and header files as well as project and makefiles. Besides this, there are various examples that demonstrate how the different features of the library should be used.

Additionally it is available as a snapshot that comes in the form of a zip file and should be considered as "bleeding edge". It contains the latest changes to the library that have not been published yet in a formal release.

A third option is Sourceforge's CVS server. You can either check out the repository via anonymous CVS Access, or download the current nightly generated CVS-tarball. If you want to take a look at the code right now, you might browse the repository.

Building the binaries

With "More for C++" you are able to develop native Apache modules. Another feature of the library supports embedded and extended Python scripting. Both features depend on external header files and libraries. In addition, some of the sample projects need external tools.

The file ".../more/include/more/features.hpp" controls the inclusion of these features when the library is built. The macros "MORE_APACHE_ENABLED" and/or "MORE_PYTHON_ENABLED" must be defined if the features should be enabled. If the external libraries or tools are missing, the examples according to these features may not be built.

The archive contains all the project and makefiles that are necessary for building the binaries on the following platforms:

  • GNU/Linux

    Change the current directory to ".../more/build/gnu". Then build the binaries by invoking the command "make" (for GNU make). I was able to build everything with success on both, SuSE Linux 7.3 for i386 using gcc 2.95.3, and SuSE 8.1 that comes preinstalled with gcc 3.2.

    If you want to build the packages and samples for Apache servlets and embedded Python, you have to install the required headers and libraries first. For the servlet example you have to make sure that the tool "apxs" is in your path. For building the PYML and Python scripting example I had to build the file "libpython.a" myself, since the SuSE installer seems not to install it.

    Everything else should be able to built "out of the box" with the plain vanilla GNU C++ tools that come with every Linux distribution. GNU tools on other platforms might work as well.

    When everything has been built successfully, go to the directory called "bin" and execute the program "unitests". It runs several unit tests for the library that should not fail.

  • Windows

    For building "More for C++" under the Win32 environment, you could use a workspace file for Visual C++ called "more.dsw". It has been placed in the directory ".../more/build/msvc60" and contains all the project files for building the binaries.

    The compiler and the linker are using the environment variables MORE_APACHE and MORE_PYTHON. The first should contain the path to the root directory of your Apache 1.3.x installation. The latter should point to the root of your Python 2.x installation. If you don't want to build the examples for Apache servlets and/or embedded Python you have to exclude the accordant projects from the workspace.

    Open the workspace file in the Dev Studio IDE, use the command "Batch build", and select every target that is listed for the projects. Everything should be built without a single compiler warning.

    If all the targets have been built successfully, you will be able to locate a file called "unitests.exe" in the "bin" directory that should complete all test cases with success.

© 1999 - 2003  Thorsten Görtz