Skip to content

Commit 2530d37

Browse files
committed
Adding more information to the README file, moving to RST.
1 parent 7f4d418 commit 2530d37

File tree

2 files changed

+184
-22
lines changed

2 files changed

+184
-22
lines changed

README.rst

Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
C++ Network Library
2+
===================
3+
4+
Introduction
5+
------------
6+
7+
cpp-netlib is a collection of network related routines/implementations
8+
geared towards providing a robust cross-platform networking library.
9+
cpp-netlib offers the following implementations:
10+
11+
* Common Message Type -- A generic message type which can be used
12+
to encapsulate and store message related information, used by all
13+
network implementations as the primary means of data exchange.
14+
* Network protocol message parsers -- A collection of parsers which
15+
generate message objects from strings.
16+
* Adapters and Wrappers -- A collection of Adapters and wrappers aimed
17+
towards making the message type STL friendly.
18+
* Network protocol client and server implementations -- A collection
19+
of network protocol implementations that include embeddable client
20+
and server types.
21+
22+
This library is released under the Boost Software License (please see
23+
http://boost.org/LICENSE_1_0.txt or the accompanying LICENSE_1_0.txt file
24+
for the full text.
25+
26+
Downloading cpp-netlib
27+
----------------------
28+
29+
You can find official release packages of the library at::
30+
31+
http://github.com/cpp-netlib/cpp-netlib/downloads
32+
33+
Building and Installing
34+
-----------------------
35+
36+
Since cpp-netlib is a header-only library, there is nothing to build. To install
37+
cpp-netlib, you can choose to copy the contents of the ``boost`` directory into
38+
an existing Boost [#]_ distribution or to a different location. All that is
39+
required is for projects that use cpp-netlib when building, have the directory
40+
where cpp-netlib is installed as part of the include paths.
41+
42+
.. [#] http://www.boost.org/
43+
44+
The recommended installation procedure would be to follow the steps below:
45+
46+
::
47+
# On Linux/Mac, consider the `$` character as the shell prompt
48+
$ sudo mkdir -p /usr/local/include/cpp-netlib
49+
$ sudo cp -r cpp-netlib/boost /usr/local/include/cpp-netlib
50+
51+
Now don't forget to add ``/usr/local/include/cpp-netlib`` in your project's
52+
compiler include directories to start using cpp-netlib in your projects.
53+
54+
Running Tests
55+
-------------
56+
57+
If you want to run the tests that come with cpp-netlib, there are a few things
58+
you will need. These are:
59+
60+
* A compiler (GCC 4.x or Clang 2.8)
61+
* A build tool (CMake [#]_ recommended, Boost.Build also an option)
62+
* OpenSSL headers (optional with CMake, mandatory for Boost.Build)
63+
* Python 2.6
64+
65+
.. note:: This assumes that you have the cpp-netlib distribution package
66+
unpacked somwhere in your home directory. This specifically assumes that you
67+
have cpp-netlib at the toplevel of your home directory.
68+
.. [#] http://www.cmake.org/
69+
70+
Building with CMake
71+
~~~~~~~~~~~~~~~~~~~
72+
73+
To build and run the tests with CMake, you will need to have CMake version 2.8
74+
or higher installed appropriately in your system.
75+
76+
::
77+
78+
$ cmake --version
79+
cmake version 2.8.1
80+
81+
Inside the cpp-netlib directory, you can issue the following statements to
82+
configure and generate the Makefiles, and build the tests::
83+
84+
$ cd ~/cpp-netlib # we're assuming it's where cpp-netlib is
85+
$ cmake -DCMAKE_BUILD_TYPE=Debug \
86+
> -CMAKE_C_COMPILER=clang \
87+
> -CMAKE_CXX_COMPILER=clang++ \
88+
> .
89+
90+
.. note:: This uses the source directory as the build directory as well. At the
91+
time of this writing, cpp-netlib is meant to be tested in the same directory
92+
where the source files are, because of the way the tests depend on Python
93+
being installed and having access to Python scripts during the build.
94+
95+
Once CMake is done with generating the Makefiles and configuring the project,
96+
you can now build the tests and run them::
97+
98+
$ cd ~/cpp-netlib
99+
$ make
100+
$ make test
101+
102+
If for some reason some of the tests fail, you can send the files in
103+
``Testing/Temporary/`` as attachments to the cpp-netlib developers mailing list
104+
[#]_.
105+
106+
.. [#] https://lists.sourceforge.net/lists/listinfo/cpp-netlib-devel
107+
108+
Building with Boost.Build
109+
~~~~~~~~~~~~~~~~~~~~~~~~~
110+
111+
If you don't already have Boost.Build set up on your system, follow the steps
112+
indicated in the Boost Getting Started Guide [#]_ -- you will particularly want
113+
to copy the ``bjam`` executable to a directory that is already in your ``PATH``
114+
so that you don't have to go hunting for it all the time. A good place to put it
115+
is in ``/usr/local/bin``.
116+
117+
.. [#] http://www.boost.org/doc/libs/1_44_0/more/getting_started/index.html
118+
119+
Building and running the tests can be as simple as doing the following::
120+
121+
$ cd ~/cpp-netlib
122+
$ bjam
123+
124+
Doing this will already build all the tests and run them as they are built. In
125+
case you encounter any problems and would like to report it to the developers,
126+
please do the following::
127+
128+
$ cd ~/cpp-netlib
129+
$ bjam 2>&1 >build-test.log
130+
131+
And then attach the ``build-test.log`` file to the email you will send to the
132+
cpp-netlib developers mailing list [#]_.
133+
134+
.. [#] https://lists.sourceforge.net/lists/listinfo/cpp-netlib-devel
135+
136+
Hacking on cpp-netlib
137+
---------------------
138+
139+
cpp-netlib is being developed with the git [#]_ distributed SCM system.
140+
cpp-netlib is hosted on GitHub [#]_ following the GitHub recommended practice of
141+
forking the repository and submitting pull requests to the source repository.
142+
You can read more about `the forking process<http://help.github.com/forking/>`
143+
and `submitting pull requests<http://help.github.com/pull-requests/>` if
144+
you're not familiar with either process yet.
145+
146+
Because cpp-netlib is released under the Boost Software License [#]_ it is
147+
recommended that any file you make changes to bear your copyright notice
148+
alongside the original authors' copyright notices on the file. Typically the
149+
copyright notices are at the top of each file in the project.
150+
151+
At the time of writing, there are no coding conventions being followed but if
152+
you write in the general style that is already existing in the project that
153+
would be greatly appreciated. Copious amounts of comments will be called out,
154+
but code that is not self-explanatory typically at least requires a rationale
155+
documentation in comments explaining "why" the code is written that way.
156+
157+
The main "upstream" repository is the one hosted by the original maintainer of
158+
the project (Dean Michael Berris) at http://github.com/mikhailberis/cpp-netlib.
159+
The "official" release repository is maintained at
160+
http://github.com/cpp-netlib/cpp-netlib -- which is a fork of the upstream
161+
repository. It is recommended that forks be made against the upstream repostory
162+
and pull requests be submitted against the upstream repository so that patches
163+
and other implementations can be curated by the original maintainer.
164+
165+
Contact and Commercial Support
166+
------------------------------
167+
168+
In case you have any questions or would like to make feature requests, you can
169+
contact the development team through the `developers mailing list<https://lists.sourceforge.net/lists/listinfo/cpp-netlib-devel>`
170+
or by filing issues at http://github.com/mikhailberis/cpp-netlib/issues.
171+
172+
You can reach the maintainers of the project through::
173+
174+
Dean Michael Berris
175+
mikhailberis@gmail.com
176+
177+
Glyn Matthews
178+
179+
Mike Dickey
180+
181+
At this time, paid commercial support is available for cpp-netlib being offered
182+
by the maintainers. In case you have any questions, please feel free to contact
183+
any one of the maintainers above or anybody on the developers mailing list.
184+

README.txt

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)