diff options
author | Jisi Liu <liujisi@google.com> | 2016-05-12 17:50:13 -0700 |
---|---|---|
committer | Jisi Liu <liujisi@google.com> | 2016-05-12 17:50:13 -0700 |
commit | 7b87f77a250385dd247ec9ab3b28e1d1fd011d59 (patch) | |
tree | 7719c9248ead6ee88fb55764844c2612d0158195 /protoc-artifacts | |
parent | 325cc42e98b24d8a3a62f3d72a6e1ffdd5ab8ef4 (diff) | |
parent | 04757db7a80e8db3a5bb828241bc98b9aba6ad14 (diff) | |
download | protobuf-7b87f77a250385dd247ec9ab3b28e1d1fd011d59.tar.gz protobuf-7b87f77a250385dd247ec9ab3b28e1d1fd011d59.tar.bz2 protobuf-7b87f77a250385dd247ec9ab3b28e1d1fd011d59.zip |
Merge pull request #1521 from zhangkun83/master
Fine-tune build scripts and better documentation.
Diffstat (limited to 'protoc-artifacts')
-rw-r--r-- | protoc-artifacts/README.md | 26 | ||||
-rwxr-xr-x | protoc-artifacts/build-protoc.sh | 2 |
2 files changed, 23 insertions, 5 deletions
diff --git a/protoc-artifacts/README.md b/protoc-artifacts/README.md index 4320f651..93484940 100644 --- a/protoc-artifacts/README.md +++ b/protoc-artifacts/README.md @@ -22,6 +22,20 @@ The scripts only work under Unix-like environments, e.g., Linux, MacOSX, and Cygwin or MinGW for Windows. Please see ``README.md`` of the Protobuf project for how to set up the build environment. +## Building from a freshly checked-out source + +If you just checked out the Protobuf source from github, you need to +generate the configure script. You also need to build the full project +first to generate `pbconfig.h` which would otherwise be reported +missing when you build protoc in the later steps. This needs to be +done only once. + +Under the protobuf project directory: + +``` +$ ./autogen.sh && ./configure && make +``` + ## To install artifacts locally The following command will install the ``protoc`` artifact to your local Maven repository. ``` @@ -43,7 +57,7 @@ Frequently used values are: - ``os.detected.name``: ``linux``, ``osx``, ``windows``. - ``os.detected.arch``: ``x86_32``, ``x86_64`` -For example, MingGW32 only ships with 32-bit compilers, but you can still build +For example, MinGW32 only ships with 32-bit compilers, but you can still build 32-bit protoc under 64-bit Windows, with the following command: ``` $ mvn install -Dos.detected.arch=x86_32 @@ -59,10 +73,14 @@ support. DO NOT close the staging repository until you have done the deployment for all platforms. Currently the following platforms are supported: - Linux (x86_32 and x86_64) - Windows (x86_32 and x86_64) with - - Cygwin with MinGW compilers (both x86_32 and x86_64) - - MSYS with MinGW32 (x86_32 only) + - Cygwin64 with MinGW compilers (x86_64) + - MSYS with MinGW32 (x86_32) - MacOSX (x86_32 and x86_64) +As for MSYS2/MinGW64 for Windows: protoc will build, but it insists on +adding a dependency of `libwinpthread-1.dll`, which isn't shipped with +Windows. + Use the following command to deploy artifacts for the host platform to a staging repository. ``` @@ -113,7 +131,7 @@ stored: <settings> <servers> <server> - <id>ossrh</id> + <id>sonatype-nexus-staging</id> <username>[username]</username> <password>[password]</password> </server> diff --git a/protoc-artifacts/build-protoc.sh b/protoc-artifacts/build-protoc.sh index 2f67c508..88e6ae50 100755 --- a/protoc-artifacts/build-protoc.sh +++ b/protoc-artifacts/build-protoc.sh @@ -212,7 +212,7 @@ export CXXFLAGS LDFLAGS TARGET_FILE=target/protoc.exe cd "$WORKING_DIR"/.. && ./configure $CONFIGURE_ARGS && - cd src && make clean && make google/protobuf/stubs/pbconfig.h $MAKE_TARGET && + cd src && make clean && make $MAKE_TARGET && cd "$WORKING_DIR" && mkdir -p target && (cp ../src/protoc $TARGET_FILE || cp ../src/protoc.exe $TARGET_FILE) || exit 1 |