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
43
|
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
7. Patch in grpc.patch. It makes gRPC work under msys2.
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.
|