From 3a2f1ff136df134231afab466f4791cfc1530b92 Mon Sep 17 00:00:00 2001 From: dsavvinov Date: Tue, 9 Aug 2016 15:53:48 +0300 Subject: [PATCH] Protobuf: added script for dependencies check --- .../google/protobuf/compiler/kotlin/Makefile | 3 +- .../google/protobuf/compiler/kotlin/protoc | Bin 114520 -> 0 bytes proto/pre-build.sh | 52 ++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) delete mode 100755 proto/compiler/google/src/google/protobuf/compiler/kotlin/protoc create mode 100755 proto/pre-build.sh diff --git a/proto/compiler/google/src/google/protobuf/compiler/kotlin/Makefile b/proto/compiler/google/src/google/protobuf/compiler/kotlin/Makefile index 7bd832d180a..273b3c1e303 100644 --- a/proto/compiler/google/src/google/protobuf/compiler/kotlin/Makefile +++ b/proto/compiler/google/src/google/protobuf/compiler/kotlin/Makefile @@ -15,7 +15,7 @@ $(EXE): $(BINDIR) $(OBJECTS) $(CXX) $(OBJECTS) -o $(EXE) $(LDFLAGS) $(BINDIR)/%.o: $(SRCDIR)/%.cc - $(CXX) $(CXXFLAGS) -c -MMD -o $@ $< -lprotoc + $(CXX) $(CXXFLAGS) -c -MMD -o $@ $< include $(wildcard $(BINDIR)/*.d) @@ -24,6 +24,7 @@ $(BINDIR): clean: rm -rf $(BINDIR) + rm $(EXE) generate: ./protoc --kotlin_out=$$HOME/Downloads/carkot/proto/compiler/protoc-artifacts ./test/connect.proto diff --git a/proto/compiler/google/src/google/protobuf/compiler/kotlin/protoc b/proto/compiler/google/src/google/protobuf/compiler/kotlin/protoc deleted file mode 100755 index 126ff0293796824140148310205428b1c4dcd745..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114520 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

$y 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 diff --git a/proto/pre-build.sh b/proto/pre-build.sh new file mode 100755 index 00000000000..ce910301ab7 --- /dev/null +++ b/proto/pre-build.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +lprotoc="/usr/local/lib/libprotoc.so" +lprotobuf="/usr/local/lib/libprotobuf.so" +ok=1 +missing="" + +if [ ! -e "$lprotoc" ]; then + ok=0 + missing="$missing $lprotoc" +fi + +if [ ! -e "$lprotobuf" ]; then + ok=0 + missing="$missing $lprotobuf" +fi + +if [ "$ok" == 0 ]; then + echo "$missing, required for building, is not found" + echo "You have to build and install latest Protobuf version from https://github.com/google/protobuf" + echo "Do you want to do it automatically? [y/n]" + echo "(Caution: this will take decent amount of time and internet traffic)" + response="n" + read response + if [ $response = "y" ]; then + echo "Creating directory for Protobuf sources" + mkdir protobuf_sources + cd protobuf_sources + + echo "Cloning repository" + git clone https://github.com/google/protobuf + cd protobuf + + echo "Resolving prerequisites to build Google Protobuf" + sudo apt-get install autoconf automake libtool curl make g++ unzip + + echo "Generating Makefiles and etc." + ./autogen.sh + ./configure + + echo "Building" + make + + echo "Installing" + sudo make install + + echo "Cleaning" + rm -rf protobuf_sources + fi +else + echo "Prerequisites met, you can build library now via Makefile" +fi \ No newline at end of file