summaryrefslogtreecommitdiff
path: root/cpp/INSTALL-AUTOTOOLS
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2013-03-15 20:27:37 +0000
committerAlan Conway <aconway@apache.org>2013-03-15 20:27:37 +0000
commit021836b659be167b93f00bd76043a3fff53819eb (patch)
tree52e19f97f967568a7de304fb867e2a5288c6e47a /cpp/INSTALL-AUTOTOOLS
parent9bdb24353d5eaf69ebf2c741ef6160d09fd90597 (diff)
downloadqpid-python-021836b659be167b93f00bd76043a3fff53819eb.tar.gz
QPID-4640: Deprecate autotools build system.
This patch does the following: - Update INSTALL and README files to refer to the cmake build. - configure script prints a deprecation notice. The autotools instructions are still available in INSTALL-AUTOTOOLS, which also has a deprecation notice. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1457098 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/INSTALL-AUTOTOOLS')
-rw-r--r--cpp/INSTALL-AUTOTOOLS224
1 files changed, 224 insertions, 0 deletions
diff --git a/cpp/INSTALL-AUTOTOOLS b/cpp/INSTALL-AUTOTOOLS
new file mode 100644
index 0000000000..20461cb609
--- /dev/null
+++ b/cpp/INSTALL-AUTOTOOLS
@@ -0,0 +1,224 @@
+
+
+ ============================== DEPRECATED ==============================
+
+ This file describes how to use the autotools build system to build Qpid.
+ The autotools build system is *deprecated* and will be removed in a
+ future release. Use the cmake build system instead as described in the
+ INSTALL file.
+
+ You can continue using the autoconf build system until you switch to
+ cmake. Run configure with --enable-deprecated=yes to enable it.
+
+ ========================================================================
+
+ Installing Qpid/C++
+ ===================
+
+Table of Contents
+=================
+1. Introduction
+
+2. Prerequisites
+ 2.1. What to Install
+ 2.2. How to Install
+ 2.2.1. Using Package Management Tools
+ 2.2.2. From Source
+ 2.3. Important Environment Variable Settings
+
+3. Building from a Source Distribution
+4. Building a Repository Working Copy
+5. Portability
+6. Tests
+
+
+1. Introduction
+===============
+Note that the daemon and client API can be installed separately.
+
+This document describes how to build the Qpid/C++ broker and client, either
+from a checkout of the source or from a source distribution, on Linux/UNIX.
+Please see INSTALL-WINDOWS for information on building on Windows.
+
+This also explains how to install the required prerequisites for Qpid/C++.
+
+
+2. Prerequisites
+================
+We prefer to avoid spending time accommodating older versions of these
+packages, so please make sure that you have the latest stable versions.
+Known version numbers for a succesfull build are given in brackets, take
+these as a recommended minimum version.
+
+
+2.1. What to Install
+====================
+The following libraries and header files must be installed to build
+a source distribution:
+ * boost <http://www.boost.org> (1.35)(*)
+ * libuuid <http://kernel.org/~kzak/util-linux/> (2.19)
+ * pkgconfig <http://pkgconfig.freedesktop.org/wiki/> (0.21)
+
+(*) earlier versions of boost e.g. 1.33 also work and there is a patch
+to get 1.32 working in the svn tree though that is only recommended as
+a last resort.
+
+Optional XML exchange requires:
+ * xqilla <http://xqilla.sourceforge.net/HomePage> (2.0.0)
+ * xerces-c <http://xerces.apache.org/xerces-c/> (2.7.0)
+
+Optional SSL support requires:
+* nss <http://www.mozilla.org/projects/security/pki/nss/>
+* nspr <http://www.mozilla.org/projects/nspr/>
+
+Optional binding support for ruby requires:
+* ruby and ruby devel <http://www.ruby-lang.org/en/>
+* swig <http://www.swig.org/>
+
+Qpid has been built using the GNU C++ compiler:
+ * gcc <http://gcc.gnu.org/> (3.4.6)
+
+If you want to build directly from the SVN repository you will need
+all of the above plus:
+
+ * Cmake <http://www.cmake.org/> (2.6.4)
+ * GNU make <http://www.gnu.org/software/make/> (3.8.0)
+ * help2man <http://www.gnu.org/software/help2man/> (1.36.4)
+ * doxygen <ftp://ftp.stack.nl/pub/users/dimitri/> (1.5.1)
+ * graphviz <http://www.graphviz.org/> (2.12)
+ * ruby 1.8 <http://www.ruby-lang.org> (1.8.4)
+
+
+NOTE: make sure to install the related '-devel' packages also!
+
+To build the QMF (Qpid Management Framework) bindings for Ruby and Python,
+the following must also be installed:
+
+ * ruby-devel
+ * python-devel
+ * swig <http://www.swig.org> (1.3.35)
+
+UUID problems:
+In some earlier Linux releases (such as Fedora 11), the uuid/uuid.h
+file is located in the e2fsprogs-devel package instead of
+libuuid-devel. If you are using an older Linux release and run into a
+problem during configure in which uuid.h cannot be found, install the
+e2fsprogs-devel package.
+
+2.2. How to Install
+===================
+
+2.2.1. Using Package Management Tools
+=====================================
+
+On linux most packages can be installed using your distribution's
+package management tool. For example on Fedora:
+
+ # yum install cmake boost-devel libuuid-devel pkgconfig gcc-c++ make ruby help2man doxygen graphviz
+
+For SASL and SSL, include
+ # yum install cyrus-sasl-devel nss-devel nspr-devel
+
+For the XML Exchange, include:
+
+ # yum install xqilla-devel xerces-c-devel
+
+Optional ruby binding support include:
+ # yum install ruby ruby-devel swig
+
+Optional legacystore store module.
+# yum install libdb-cxx-devel libaio-devel
+
+Follow the manual installation instruction below for any packages not
+available through your distributions packaging tool.
+
+2.2.2. From Source
+==================
+Required dependencies can be installed and built from source distributions.
+It is recommended that you create a directory to install them to, for example,
+~/qpid-tools.
+
+ To build and install the dependency pakcages:
+
+ 1. Unzip and untar them and cd to the untared directory.
+ 2. do:
+ # ./configure --prefix=~/qpid-tools
+ # make install
+
+The exception is boost.
+
+boost
+========
+ 1. Unpack boost-jam.
+ 2. Add bjam in the unpacked directory to your path.
+ 3. Unpack boost and cd to the boost untarred directory.
+ 4. do:
+
+ # bjam toolset=gcc variant=release threading=single link=shared \
+ --layout=system --prefix=~/qpid-tools install
+
+
+2.3. Important Environment Variable Settings
+============================================
+Ensure that all the build tools are available on your path, when they are
+manually installed to non-standard locations. For example:
+
+ # export PATH=~/qpid-tools/bin:$PATH
+
+Ensure that the boost libraries are made available on the gcc library path.
+For example:
+
+ # export CXXFLAGS=-I~/qpid-tools/include/boost-1_33_1
+
+
+3. Building from a Source Distribution
+======================================
+In the distribution directory
+
+Build and install with:
+
+ # mkdir build
+ # cd build
+ # cmake ..
+ # make all
+ # make install
+
+To build and test everything:
+
+ # make
+ # make test
+
+This builds in the source tree. You can have multiple builds in the
+same working copy with different configuration. For example you can do
+the following to build twice, once for debug, the other with
+optimization:
+
+ # mkdir .build-dbg .build-opt
+ # (cd .build-dbg; cmake cmake -DCMAKE_CXX_FLAGS=-g .. && make )
+ # (cd .build-dbg; cmake cmake -DCMAKE_CXX_FLAGS=-O3 .. && make)
+
+
+4. Building a Repository Working Copy
+=====================================
+
+To get the source code from the subversion repository (trunk) do:
+
+ # svn checkout http://svn.apache.org/repos/asf/qpid/trunk/qpid/.
+
+To build, cd to qpid/cpp subdirectory and then follow instruction for building
+from a source distribution in step (3).
+
+
+5. Portability
+==============
+All system calls are abstracted by classes under lib/common/sys. This
+provides an object-oriented C++ API and contains platform-specific
+code.
+
+These wrappers are mainly inline by-value classes so they impose no
+run-time penalty compared do direct system calls.
+
+6. Tests
+========
+See src/tests/README.txt for details.
+