You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ch...@apache.org on 2018/05/09 19:05:49 UTC
[2/6] mesos git commit: Removed the OpenSSL dependency for building
gRPC in libprocess.
Removed the OpenSSL dependency for building gRPC in libprocess.
When the SSL build feature is disabled, libprocess now builds
`libgrpc_unsecure` and `libgrpc++_unsecure` instead of `libgrpc` and
`libgrpc++`, so the SSL headers and libraries are no longer required.
Review: https://reviews.apache.org/r/66997
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/296ba1e4
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/296ba1e4
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/296ba1e4
Branch: refs/heads/master
Commit: 296ba1e41517ea95adfc59300116078581fe5987
Parents: b74821c
Author: Chun-Hung Hsiao <ch...@mesosphere.io>
Authored: Mon May 7 16:39:29 2018 -0700
Committer: Chun-Hung Hsiao <ch...@mesosphere.io>
Committed: Wed May 9 12:05:13 2018 -0700
----------------------------------------------------------------------
3rdparty/libprocess/3rdparty/Makefile.am | 29 +++++++++++++++++++--------
3rdparty/libprocess/Makefile.am | 13 +++++++-----
3rdparty/libprocess/configure.ac | 14 +++++--------
3 files changed, 34 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/296ba1e4/3rdparty/libprocess/3rdparty/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/Makefile.am b/3rdparty/libprocess/3rdparty/Makefile.am
index f7f0bed..d13e93f 100644
--- a/3rdparty/libprocess/3rdparty/Makefile.am
+++ b/3rdparty/libprocess/3rdparty/Makefile.am
@@ -204,26 +204,39 @@ PROTOC = @PROTOCOMPILER@
endif
if ENABLE_GRPC
+if !ENABLE_SSL
+GRPC_VARIANT = _unsecure
+endif
+
if WITH_BUNDLED_GRPC
-LIB_GRPC = $(GRPC)/libs/opt/libgrpc++.a \
- $(GRPC)/libs/opt/libgrpc.a \
+LIB_GRPC = $(GRPC)/libs/opt/libgrpc++$(GRPC_VARIANT).a \
+ $(GRPC)/libs/opt/libgrpc$(GRPC_VARIANT).a \
$(GRPC)/libs/opt/libgpr.a
$(LIB_GRPC): $(GRPC)-build-stamp
+# NOTE: We the include flags through the `CPPFLAGS` environment variable rather
+# than the command line because gRPC uses target-specific assignments to append
+# flags to `CPPFLAGS`, which will be overwritten by command line arguments. See:
+# https://www.gnu.org/software/make/manual/html_node/Target_002dspecific.html
$(GRPC)-build-stamp: $(GRPC)-stamp \
$(PROTOBUF)-build-stamp
cd $(GRPC) && \
CPPFLAGS="$(PROTOBUF_INCLUDE_FLAGS) \
$(SSL_INCLUDE_FLAGS) \
$(ZLIB_INCLUDE_FLAGS)" \
- LDFLAGS="$(PROTOBUF_LINKER_FLAGS) \
- $(SSL_LINKER_FLAGS) \
- $(ZLIB_LINKERFLAGS)" \
$(MAKE) $(AM_MAKEFLAGS) \
- HAS_PKG_CONFIG=false \
- NO_PROTOC=false \
- PROTOC=$(PROTOC)
+ $(LIB_GRPC:%=$(abs_builddir)/%) \
+ CC="$(CC)" \
+ CXX="$(CXX)" \
+ LD="$(CC)" \
+ LDXX="$(CXX)" \
+ LDFLAGS="$(PROTOBUF_LINKER_FLAGS) \
+ $(SSL_LINKER_FLAGS) \
+ $(ZLIB_LINKER_FLAGS)" \
+ HAS_PKG_CONFIG=false \
+ NO_PROTOC=false \
+ PROTOC="$(PROTOC)"
touch $@
ALL_LOCAL += $(LIB_GRPC)
http://git-wip-us.apache.org/repos/asf/mesos/blob/296ba1e4/3rdparty/libprocess/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/Makefile.am b/3rdparty/libprocess/Makefile.am
index 70edb2e..b1d77f3 100644
--- a/3rdparty/libprocess/Makefile.am
+++ b/3rdparty/libprocess/Makefile.am
@@ -113,12 +113,15 @@ BUNDLED_DEPS += $(GPERFTOOLS)-build-stamp
endif
if ENABLE_GRPC
+if !ENABLE_SSL
+GRPC_VARIANT = _unsecure
+endif
+
if WITH_BUNDLED_GRPC
GRPC_INCLUDE_FLAGS = -I$(GRPC)/include
-LIB_GRPC = $(GRPC)/libs/opt/libgrpc++.a \
- $(GRPC)/libs/opt/libgrpc.a \
- $(GRPC)/libs/opt/libgpr.a \
- -lssl -lcrypto
+LIB_GRPC = $(GRPC)/libs/opt/libgrpc++$(GRPC_VARIANT).a \
+ $(GRPC)/libs/opt/libgrpc$(GRPC_VARIANT).a \
+ $(GRPC)/libs/opt/libgpr.a
GRPC_CPP_PLUGIN = $(GRPC)/bins/opt/grpc_cpp_plugin
# NOTE: We need to specify the dependency between Protobuf and gRPC
@@ -129,7 +132,7 @@ $(GRPC)-build-stamp: $(PROTOBUF)-build-stamp
$(LIB_GRPC): $(GRPC)-build-stamp
BUNDLED_DEPS += $(GRPC)-build-stamp
else
-LIB_GRPC = -lgrpc++ -lgrpc -lgpr -lssl -lcrypto
+LIB_GRPC = -lgrpc++$(GRPC_VARIANT) -lgrpc$(GRPC_VARIANT) -lgpr
GRPC_CPP_PLUGIN = @GRPC_CXX_PLUGIN@
endif
endif
http://git-wip-us.apache.org/repos/asf/mesos/blob/296ba1e4/3rdparty/libprocess/configure.ac
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/configure.ac b/3rdparty/libprocess/configure.ac
index fd65d70..083cf8b 100644
--- a/3rdparty/libprocess/configure.ac
+++ b/3rdparty/libprocess/configure.ac
@@ -1160,9 +1160,13 @@ if test "x$enable_grpc" = "xyes"; then
GRPCPREFIX="/usr"
fi
+ if test "x$enable_ssl" = "xno"; then
+ GRPC_VARIANT="_unsecure"
+ fi
+
# Check if headers and library were located.
saved_LIBS="$LIBS"
- LIBS="-lgrpc++ -lgrpc -lgpr $LIBS"
+ LIBS="-lgrpc++$GRPC_VARIANT -lgrpc$GRPC_VARIANT -lgpr $LIBS"
AC_LANG_PUSH([C++])
AC_CHECK_HEADERS([grpcpp/grpcpp.h],
[AC_LINK_IFELSE(
@@ -1201,14 +1205,6 @@ correct if you are already doing this.
])
fi
else
- if test "x$found_ssl" != "xyes"; then
- AC_MSG_ERROR([cannot find libssl
--------------------------------------------------------------------
-libssl is required for gRPC to build.
--------------------------------------------------------------------
- ])
- fi
-
with_bundled_grpc=yes
fi
fi