|  | @@ -6,3 +6,77 @@ This directory contains source code for C++ implementation of gRPC.
 | 
	
		
			
				|  |  |  #Status
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Beta
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#Pre-requisites
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +##Linux
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +```sh
 | 
	
		
			
				|  |  | + $ [sudo] apt-get install build-essential autoconf libtool
 | 
	
		
			
				|  |  | +```
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +##Mac OSX
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +For a Mac system, git is not available by default. You will first need to
 | 
	
		
			
				|  |  | +install Xcode from the Mac AppStore and then run the following command from a
 | 
	
		
			
				|  |  | +terminal:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +```sh
 | 
	
		
			
				|  |  | + $ [sudo] xcode-select --install
 | 
	
		
			
				|  |  | +```
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +##Protoc
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +By default gRPC uses [protocol buffers](https://github.com/google/protobuf),
 | 
	
		
			
				|  |  | +you will need the `protoc` compiler to generate stub server and client code.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +If you compile gRPC from source, as described below, this also installs the
 | 
	
		
			
				|  |  | +`protoc` compiler.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +If it hasn't been installed, you can run the following commands to install it.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +```sh
 | 
	
		
			
				|  |  | +$ cd grpc/third_party/protobuf
 | 
	
		
			
				|  |  | +$ sudo make install   # 'make' should have been run by core grpc
 | 
	
		
			
				|  |  | +```
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Alternatively, you can download `protoc` binaries from
 | 
	
		
			
				|  |  | +[the protocol buffers Github repository](https://github.com/google/protobuf/releases).
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#Installation
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Currently to install gRPC for C++, you need to build from source as described
 | 
	
		
			
				|  |  | +below.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#Build from Source
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +```sh
 | 
	
		
			
				|  |  | + $ git clone https://github.com/grpc/grpc.git
 | 
	
		
			
				|  |  | + $ cd grpc
 | 
	
		
			
				|  |  | + $ git submodule update --init
 | 
	
		
			
				|  |  | + $ make
 | 
	
		
			
				|  |  | + $ [sudo] make install
 | 
	
		
			
				|  |  | +```
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#Documentation
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +You can find out how to build and run our simplest gRPC C++ example in our
 | 
	
		
			
				|  |  | +[C++ quick start](https://github.com/grpc/grpc/tree/{{ site.data.config.grpc_release_branch }}/examples/cpp).
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +For more detailed documentation on using gRPC in C++ , see our main
 | 
	
		
			
				|  |  | +documentation site at [grpc.io](http://grpc.io), specifically:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* [Overview](http://www.grpc.io/docs/): An introduction to gRPC with a simple
 | 
	
		
			
				|  |  | +  Hello World example in all our supported languages, including C++.
 | 
	
		
			
				|  |  | +* [gRPC Basics - C++](http://www.grpc.io/docs/tutorials/basic/c.html):
 | 
	
		
			
				|  |  | +  A tutorial that steps you through creating a simple gRPC C++ example
 | 
	
		
			
				|  |  | +  application.
 | 
	
		
			
				|  |  | +* [Asynchronous Basics - C++](http://www.grpc.io/docs/tutorials/async/helloasync-cpp.html):
 | 
	
		
			
				|  |  | +  A tutorial that shows you how to use gRPC C++'s asynchronous/non-blocking
 | 
	
		
			
				|  |  | +  APIs.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# Examples
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Code examples for gRPC C++ live in this repository's
 | 
	
		
			
				|  |  | +[examples/cpp](https://github.com/grpc/grpc/tree/{{ site.data.config.grpc_release_branch }}/examples/cpp) directory.
 |