aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/grpc/README.bazel.md
blob: dacbe7ff7a3bda48da406be3c1442f537163a0c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
How to update the C++ sources of gRPC:

1. `git clone http://github.com/grpc/grpc.git` in a convenient directory
2. `git checkout <tag>` (current is `release-0_13`, commithash `78e04bbd`)
3. `mkdir -p third_party/grpc/src`
4. `cp -R <gRPC git tree>/src/{compiler,core-cpp} third_party/grpc/src`
5. `cp -R <gRPC git tree>/include third_party/grpc`
6. Update BUILD files by copying the rules from the BUILD file of gRPC


How to update the Java plugin:

For any architecture other than 64-bit Linux, downloading it from Maven Central
is fine. For 64-bit Linux, the plugin needs to be built statically:

1. `git clone http://github.com/grpc/grpc-java`
2. `git checkout <tag>` (current is `v0.13.2`, commithash `5933cea9`)
3. Modify the linker args in compiler/build.gradle according to the instructions below
4. Download the sources of protobuf (see `third_party/protobuf/README.md`) and compile it
5. `export LDFLAGS=<protobuf dir>/src/.libs`
6. `export CXXFLAGS=<protobuf dir>/src`
7. `cd compiler; ../gradlew java_pluginExecutable`

In `compiler/build.gradle`, this list of linker arguments:

```
          linker.args "-Wl,-Bstatic", "-lprotoc", "-lprotobuf", "-static-libgcc",
                      "-static-libstdc++",
                      "-Wl,-Bdynamic", "-lpthread", "-s"
```

needs to be replaced with this:

```
          linker.args "-Wl,-Bstatic", "-lprotoc", "-lprotobuf", "-static-libgcc",
                      "-static-libstdc++",
                      "-lpthread", "-lc", "-s", "-static"
```

How to update the Java code:

Simply download from Maven Central.