提交 ba1e3852 编写于 作者: H heyanlong

add libgrpc

上级 cc47fb18
...@@ -19,22 +19,63 @@ dnl [ --enable-skywalking Enable skywalking support]) ...@@ -19,22 +19,63 @@ dnl [ --enable-skywalking Enable skywalking support])
PHP_ARG_ENABLE(skywalking, whether to enable skywalking support, PHP_ARG_ENABLE(skywalking, whether to enable skywalking support,
[ --enable-skywalking Enable skywalking support]) [ --enable-skywalking Enable skywalking support])
PHP_ARG_WITH(libgrpc, for libgrpc support,
[ --with-libgrpc[=DIR] Include libxyz support])
if test -z "$PHP_DEBUG"; then if test -z "$PHP_DEBUG"; then
AC_ARG_ENABLE(debug, AC_ARG_ENABLE(debug,
[--enable-debug compile with debugging system], [ --enable-debug compile with debugging system],
[PHP_DEBUG=$enableval], [PHP_DEBUG=no] [PHP_DEBUG=$enableval], [PHP_DEBUG=no]
) )
fi fi
if test "$PHP_SKYWALKING" != "no"; then if test "$PHP_SKYWALKING" != "no"; then
CXXFLAGS+=" -std=c++11 -Isrc/report/deps/boost -DDEBUG"
PHP_REQUIRE_CXX() PHP_REQUIRE_CXX()
KYWALKING_LIBS=`pkg-config --cflags --libs protobuf grpc++ grpc` dnl search grpc
KYWALKING_LIBS+=" -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed -ldl " SEARCH_GRPC_PATH="/usr/local /usr"
SEARCH_GRPC_FOR="/include/grpc/grpc.h"
if test -r $PHP_LIBGRPC/$SEARCH_GRPC_FOR; then
LIBGRPC_DIR=$PHP_LIBGRPC
else
AC_MSG_CHECKING([for libgrpc files in default path])
for i in $SEARCH_GRPC_PATH ; do
if test -r $i/$SEARCH_GRPC_FOR; then
LIBGRPC_DIR=$i
AC_MSG_RESULT(found in $i)
fi
done
fi
if test -z "$LIBGRPC_DIR"; then
AC_MSG_RESULT([not found])
AC_MSG_ERROR([Please install libgrpc - See https://github.com/grpc/grpc])
fi
PHP_ADD_INCLUDE($LIBGRPC_DIR/include)
PHP_ADD_INCLUDE(src/report/deps/boost)
PHP_CHECK_LIBRARY(grpc, grpc_channel_destroy,
[
PHP_ADD_LIBRARY_WITH_PATH(grpc, $LIBGRPC_DIR/lib, LIBGRPC_SHARED_LIBADD)
AC_DEFINE(HAVE_LIBGRPCLIB,1,[ ])
],[
AC_MSG_ERROR([wrong libgrpc lib version or lib not found])
],[
-L$LIBGRPC_DIR/lib
])
PHP_SUBST(LIBGRPC_SHARED_LIBADD)
dnl SKYWALKING_SHARED_LIBADD="-lpthread $SKYWALKING_SHARED_LIBADD"
dnl AC_MSG_ERROR($SKYWALKING_SHARED_LIBADD)
dnl KYWALKING_LIBS=`pkg-config --cflags --libs protobuf grpc++ grpc`
dnl KYWALKING_LIBS+=" -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed -ldl "
AC_OUTPUT_COMMANDS( AC_OUTPUT_COMMANDS(
protoc -I ./src/protocol-6 --cpp_out=./src/grpc ./src/protocol-6/common/*.proto protoc -I ./src/protocol-6 --cpp_out=./src/grpc ./src/protocol-6/common/*.proto
...@@ -53,8 +94,12 @@ if test "$PHP_SKYWALKING" != "no"; then ...@@ -53,8 +94,12 @@ if test "$PHP_SKYWALKING" != "no"; then
mv src/grpc/common/trace-common.grpc.pb.cc src/grpc/common/trace-common-grpc.pb.cc mv src/grpc/common/trace-common.grpc.pb.cc src/grpc/common/trace-common-grpc.pb.cc
) )
PHP_EVAL_LIBLINE($KYWALKING_LIBS, SKYWALKING_SHARED_LIBADD) dnl PHP_EVAL_LIBLINE($KYWALKING_LIBS, SKYWALKING_SHARED_LIBADD)
PHP_ADD_LIBRARY(stdc++, 1, SKYWALKING_SHARED_LIBADD)
PHP_ADD_BUILD_DIR($ext_builddir/src/grpc)
PHP_ADD_INCLUDE("src/grpc")
PHP_ADD_INCLUDE("src")
PHP_SUBST(SKYWALKING_SHARED_LIBADD)
PHP_NEW_EXTENSION(skywalking, \ PHP_NEW_EXTENSION(skywalking, \
skywalking.c \ skywalking.c \
...@@ -71,11 +116,5 @@ if test "$PHP_SKYWALKING" != "no"; then ...@@ -71,11 +116,5 @@ if test "$PHP_SKYWALKING" != "no"; then
src/grpc/register/InstancePing.pb.cc \ src/grpc/register/InstancePing.pb.cc \
src/grpc/common/trace-common-grpc.pb.cc \ src/grpc/common/trace-common-grpc.pb.cc \
src/grpc/common/trace-common.pb.cc \ src/grpc/common/trace-common.pb.cc \
, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) , $ext_shared,, -Wall -Werror -std=c++11)
PHP_ADD_BUILD_DIR($ext_builddir/src/grpc)
PHP_ADD_LIBRARY(stdc++, 1, SKYWALKING_SHARED_LIBADD)
PHP_ADD_INCLUDE("src/grpc")
PHP_ADD_INCLUDE("src")
PHP_SUBST(SKYWALKING_SHARED_LIBADD)
fi fi
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册