Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Pion Network Library (Boost licensed open source)
C++ CMake SourcePawn Perl XSLT Shell Other
Latest commit 92a81ba @mikedickey mikedickey #74
I've decided to remove the -Werror flag from all gcc and clang options.
This has inconsistent behavior across compilers and versions of compilers
because they each support different warnings. The value of enabling this
is therefore dubious compared to the cost of it potentially breaking for
trivial things. Also gcc only started supporting the "diagnostic" #pragma
in version 4.2.1 so it's impossible to suppress warnings in third party
libraries (namely boost) with earlier compiler versions.

Added some extra preprocessor conditionals to wrap "#pragma GCC diagnostic"
since this is not supported by older (pre-4.2.1) compilers.

Fixed a bunch of warnings that were happening with gcc 4.1 on Linux.

Fixed some compilation errors for Windows
Failed to load latest commit information.
build #74
cmake #74
doc Bumped version to 5.0.6
include #74
pion.xcodeproj PION-1327: fixed pion::test::read_lines_from_file breaking on log lin…
services #92
src #74
tests #74
utils All boost::shared_ptr typedefs are now passed to functions by const ref.
.gitignore PION-1320: Debug configurations not working for MSVC
.travis.yml updated travis.yml
AUTHORS Updates to make new repo with with autotools
CMakeLists.txt Merge branch 'fix_boost_include' of git:// into … Adding file and algorithm::UTF8_REPLACEMENT_CHAR
COPYING Updates to make new repo with with autotools
ChangeLog Bumped pion version to 5.0.7 PION-1306: updates for pion source bundle and automated builds
NEWS Tab -> Spaces global conversion
PionNetServices.vcxproj STREAM-1221: VC12 auto upgrade changes only Updated to reflect new project home
TODO Tab -> Spaces global conversion Updates to make new repo with with autotools Bumped pion version to 5.0.7
index.html PION-1225: various fixes following merge of SPDY branch changes Tab -> Spaces global conversion
pion.sln PION-1328: Convert pion.sln to VS 2013.

Pion Network Library

C++ framework for building lightweight HTTP interfaces

Project Home:

Retrieving the code

git clone
cd pion

Building the code

For XCode: use pion.xcodeproj

For Visual Studio: use pion.sln

On Unix platforms (including Linux, OSX, etc.) you can run


to generate Makefiles using GNU autotools, followed by


to build everything except the unit tests.

You can build and run all the unit tests with

make check

Generate build using CMake

CMake is cross-platform build generator. Pion required cmake version 2.8.10+

To generate build call

cmake <path to pion clone> [-G <generator name>] [-D<option>...]

for example to generate MSVS2012 Win64 solution run

git clone
cd pion/build
cmake .. -G"Visual Studio 11 Win64"

this will create pion_solution.sln for MSVS2012/Win64

if cmake can't find dependency, use -D to control Find modules search behaviour

-DBOOST_ROOT=<path to installed boost libraries>
-DZLIB_ROOT=<path to installed zlib>

Third Party Libraries

Pion requires the Boost C++ libraries version 1.35 or greater. Please see the README.boost file within the doc subdirectory for instructions on how to download, build and install Boost.

For logging, Pion may be configured to:

  • use std::cout and std::cerr for logging (the default configuration)

  • use one of the following open source libraries:

  • disable logging entirely (run configure --disable-logging)

Detailed build instructions are available for all of the platforms supported by Pion within the doc subdirectory (README.platform).


Copyright © 2007-2014 Splunk Inc.

The Pion Network Library is published under the Boost Software License. See COPYING for licensing information.

Something went wrong with that request. Please try again.