Index: third_party/protobuf/README.md |
diff --git a/third_party/protobuf/README.txt b/third_party/protobuf/README.md |
similarity index 70% |
rename from third_party/protobuf/README.txt |
rename to third_party/protobuf/README.md |
index 17551a5a0cbf03ab0cd6583eefe85cc9a667d237..a974d30185f5249658711306c1f96c54c59b349a 100644 |
--- a/third_party/protobuf/README.txt |
+++ b/third_party/protobuf/README.md |
@@ -1,17 +1,34 @@ |
Protocol Buffers - Google's data interchange format |
+=================================================== |
+ |
+[![Build Status](https://travis-ci.org/google/protobuf.svg?branch=master)](https://travis-ci.org/google/protobuf) [![Build status](https://ci.appveyor.com/api/projects/status/73ctee6ua4w2ruin?svg=true)](https://ci.appveyor.com/project/protobuf/protobuf) |
+ |
Copyright 2008 Google Inc. |
-http://code.google.com/apis/protocolbuffers/ |
+ |
+https://developers.google.com/protocol-buffers/ |
C++ Installation - Unix |
-======================= |
+----------------------- |
+ |
+If you get the source from github, you need to generate the configure script |
+first: |
+ |
+ $ ./autogen.sh |
+ |
+This will download gmock source (which is used for C++ Protocol Buffer |
+unit-tests) to the current directory and run automake, autoconf, etc. |
+to generate the configure script and various template makefiles. |
+ |
+You can skip this step if you are using a release package (which already |
+contains gmock and the configure script). |
To build and install the C++ Protocol Buffer runtime and the Protocol |
Buffer compiler (protoc) execute the following: |
- $ ./configure |
- $ make |
- $ make check |
- $ make install |
+ $ ./configure |
+ $ make |
+ $ make check |
+ $ make install |
If "make check" fails, you can still install, but it is likely that |
some features of this library will not work correctly on your system. |
@@ -21,7 +38,7 @@ Proceed at your own risk. |
For advanced usage information on configure and make, see INSTALL.txt. |
-** Hint on install location ** |
+**Hint on install location** |
By default, the package will be installed to /usr/local. However, |
on many platforms, /usr/local/lib is not part of LD_LIBRARY_PATH. |
@@ -33,7 +50,7 @@ For advanced usage information on configure and make, see INSTALL.txt. |
If you already built the package with a different prefix, make sure |
to run "make clean" before building again. |
-** Compiling dependent packages ** |
+**Compiling dependent packages** |
To compile a package that uses Protocol Buffers, you need to pass |
various flags to your compiler and linker. As of version 2.2.0, |
@@ -71,7 +88,23 @@ For advanced usage information on configure and make, see INSTALL.txt. |
If you only want protobuf-lite, substitute "protobuf-lite" in place |
of "protobuf" in these examples. |
-** Note for cross-compiling ** |
+**Note for Mac users** |
+ |
+ For a Mac system, Unix tools are not available by default. You will first need |
+ to install Xcode from the Mac AppStore and then run the following command from |
+ a terminal: |
+ |
+ $ sudo xcode-select --install |
+ |
+ To install Unix tools, you can install "port" following the instructions at |
+ https://www.macports.org . This will reside in /opt/local/bin/port for most |
+ Mac installations. |
+ |
+ $ sudo /opt/local/bin/port install autoconf automake libtool |
+ |
+ Then follow the Unix instructions above. |
+ |
+**Note for cross-compiling** |
The makefiles normally invoke the protoc executable that they just |
built in order to build tests. When cross-compiling, the protoc |
@@ -94,7 +127,7 @@ For advanced usage information on configure and make, see INSTALL.txt. |
has the same version as the protobuf source code you are trying to |
use it with. |
-** Note for Solaris users ** |
+**Note for Solaris users** |
Solaris 10 x86 has a bug that will make linking fail, complaining |
about libstdc++.la being invalid. We have included a work-around |
@@ -104,7 +137,7 @@ For advanced usage information on configure and make, see INSTALL.txt. |
See src/solaris/libstdc++.la for more info on this bug. |
-** Note for HP C++ Tru64 users ** |
+**Note for HP C++ Tru64 users** |
To compile invoke configure as follows: |
@@ -112,16 +145,24 @@ For advanced usage information on configure and make, see INSTALL.txt. |
Also, you will need to use gmake instead of make. |
+**Note for AIX users** |
+ |
+ Compile using the IBM xlC C++ compiler as follows: |
+ |
+ ./configure CXX=xlC |
+ |
+ Also, you will need to use GNU `make` (`gmake`) instead of AIX `make`. |
+ |
C++ Installation - Windows |
-========================== |
+-------------------------- |
-If you are using Microsoft Visual C++, see vsprojects/readme.txt. |
+If you are using Microsoft Visual C++, see cmake/README.md. |
If you are using Cygwin or MinGW, follow the Unix installation |
instructions, above. |
Binary Compatibility Warning |
-============================ |
+---------------------------- |
Due to the nature of C++, it is unlikely that any two versions of the |
Protocol Buffers C++ runtime libraries will have compatible ABIs. |
@@ -132,10 +173,10 @@ immediately on startup of your app. Still, you may want to consider |
using static linkage. You can configure this package to install |
static libraries only using: |
- ./configure --disable-shared |
+ ./configure --disable-shared |
Java and Python Installation |
-============================ |
+---------------------------- |
The Java and Python runtime libraries for Protocol Buffers are located |
in the java and python directories. See the README file in each |
@@ -144,9 +185,9 @@ Note that both of them require you to first install the Protocol |
Buffer compiler (protoc), which is part of the C++ package. |
Usage |
-===== |
+----- |
The complete documentation for Protocol Buffers is available via the |
web at: |
- http://code.google.com/apis/protocolbuffers/ |
+ https://developers.google.com/protocol-buffers/ |