|
|
|
@ -3,56 +3,9 @@ |
|
|
|
|
|
|
|
|
|
This directory contains source code for C++ implementation of gRPC. |
|
|
|
|
|
|
|
|
|
# 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 -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc |
|
|
|
|
$ cd grpc |
|
|
|
|
$ git submodule update --init |
|
|
|
|
$ make |
|
|
|
|
$ [sudo] make install |
|
|
|
|
``` |
|
|
|
|
To install gRPC for C++ on your system, follow the instructions to build from source |
|
|
|
|
[here](../../INSTALL.md). This also installs the protocol buffer compiler |
|
|
|
|
`protoc` (if you don't have it already), and the C++ gRPC plugin for `protoc`. |
|
|
|
|
|
|
|
|
|
# Documentation |
|
|
|
|
|
|
|
|
|