mirror of https://github.com/grpc/grpc.git
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
https://grpc.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.5 KiB
109 lines
3.5 KiB
#If you are in a hurry |
|
|
|
For language-specific installation instructions for gRPC runtime, please |
|
refer to these documents |
|
|
|
* [C++](examples/cpp): Currently to install gRPC for C++, you need to build from source as described below. |
|
* [C#](src/csharp): NuGet package `Grpc` |
|
* [Go](https://github.com/grpc/grpc-go): `go get google.golang.org/grpc` |
|
* [Java](https://github.com/grpc/grpc-java) |
|
* [Node](src/node): `npm install grpc` |
|
* [Objective-C](src/objective-c) |
|
* [PHP](src/php): `pecl install grpc-beta` |
|
* [Python](src/python/grpcio): `pip install grpcio` |
|
* [Ruby](src/ruby): `gem install 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, the Makefile will |
|
automatically try and compile the `protoc` in third_party if you cloned the |
|
repository recursively and it detects that you don't already have it |
|
installed. |
|
|
|
|
|
#Build from Source |
|
|
|
For developers who are interested to contribute, here is how to compile the |
|
gRPC C Core library. |
|
|
|
```sh |
|
$ git clone -b $(curl -L http://grpc.io/release) https://github.com/grpc/grpc |
|
$ cd grpc |
|
$ git submodule update --init |
|
$ make |
|
$ [sudo] make install |
|
``` |
|
|
|
##Windows |
|
|
|
There are several ways to build under Windows, of varying complexity depending |
|
on experience with the tools involved. |
|
|
|
<!-- |
|
###Visual Studio |
|
|
|
Versions 2013 and 2015 are both supported. You can use [their respective |
|
community |
|
editions](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx). |
|
|
|
Building the C Core: |
|
- Open [grpc.sln](https://github.com/grpc/grpc/blob/master/vsprojects/grpc.sln). |
|
- Select your build target. |
|
- Build the `grpc` project. |
|
|
|
Building the C++ runtime: |
|
- You need [CMake](https://cmake.org/) on your path to build protobuf (see below |
|
for building using solely CMake). |
|
- Run `vsprojects/build_protos.bat` (needs `cmake.exe` in your path). |
|
- Open [buildtests_cxx.sln]() |
|
- Select your build target. |
|
- build the `grpc++` project. |
|
--> |
|
|
|
###msys2 |
|
|
|
This approach requires having [msys2](https://msys2.github.io/) installed. |
|
|
|
- The Makefile (and source code) should support msys2's mingw32 and mingw64 |
|
compilers. Building with msys2's native compiler is also possible, but |
|
difficult. |
|
- The Makefile is expecting the Windows versions of OpenSSL (see |
|
https://slproweb.com/products/Win32OpenSSL.html). It's also possible to build |
|
the Windows version of OpenSSL from scratch. The output should be `libeay32` |
|
and `ssleay32`. |
|
- If you are not installing the above files under msys2's path, you may specify |
|
it, for instance, in the following way: |
|
```CPPFLAGS=”-I/c/OpenSSL-Win32/include” LDFLAGS=”-L/c/OpenSSL-Win32/lib” make static_c``` |
|
- [protobuf3](https://github.com/google/protobuf/blob/master/src/README.md#c-installation---windows) |
|
must be installed on the msys2 path. |
|
|
|
###Cmake (experimental) |
|
|
|
- Install [CMake](https://cmake.org/download/). |
|
- Run it over [grpc's |
|
CMakeLists.txt](https://github.com/grpc/grpc/blob/master/CMakeLists.txt) to |
|
generate "projects" for your compiler. |
|
- Build with your compiler of choice. The generated build files should have the |
|
protobuf3 dependency baked in.
|
|
|