123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- %YAML 1.2
- --- |
- PHP_ARG_ENABLE(grpc, whether to enable grpc support,
- [ --enable-grpc Enable grpc support])
- if test "$PHP_GRPC" != "no"; then
- dnl Write more examples of tests here...
- dnl # --with-grpc -> add include path
- PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/include)
- PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/src/core/ext/upb-generated)
- PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/src/core/ext/upbdefs-generated)
- PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/src/php/ext/grpc)
- PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/abseil-cpp)
- PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/address_sorting/include)
- PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/boringssl-with-bazel/src/include)
- PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/re2)
- PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/upb)
- PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/xxhash)
- LIBS="-lpthread $LIBS"
- CFLAGS="-std=c11 -g -O2"
- CXXFLAGS="-std=c++11 -fno-exceptions -fno-rtti -g -O2"
- GRPC_SHARED_LIBADD="-lpthread $GRPC_SHARED_LIBADD"
- PHP_REQUIRE_CXX()
- PHP_ADD_LIBRARY(pthread)
- PHP_ADD_LIBRARY(dl,,GRPC_SHARED_LIBADD)
- PHP_ADD_LIBRARY(dl)
- case $host in
- *darwin*)
- PHP_ADD_LIBRARY(c++,1,GRPC_SHARED_LIBADD)
- ;;
- *)
- PHP_ADD_LIBRARY(stdc++,1,GRPC_SHARED_LIBADD)
- PHP_ADD_LIBRARY(rt,,GRPC_SHARED_LIBADD)
- PHP_ADD_LIBRARY(rt)
- ;;
- esac
- PHP_SUBST(GRPC_SHARED_LIBADD)
- <%
- srcs = []
- srcs.extend(php_config_m4.src)
- lib_maps = {lib.name: lib for lib in libs}
- php_deps = php_config_m4.get('deps', [])
- php_full_deps = []
- for dep in php_deps:
- php_full_deps.append(dep)
- php_full_deps.extend(lib_maps[dep].transitive_deps)
- for dep in set(php_full_deps) - set({'z'}):
- srcs.extend(lib_maps[dep].src)
- srcs = sorted(set(srcs))
- %>
- PHP_NEW_EXTENSION(grpc,
- % for src in srcs:
- ${src} ${"\\"}
- % endfor
- , $ext_shared, , -fvisibility=hidden ${"\\"}
- -DOPENSSL_NO_ASM -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN ${"\\"}
- -D_HAS_EXCEPTIONS=0 -DNOMINMAX -DGRPC_ARES=0 ${"\\"}
- -DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK=1 ${"\\"}
- -DGRPC_XDS_USER_AGENT_NAME_SUFFIX='"\"PHP\""' ${"\\"}
- -DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"${settings.php_version.php()}\""')
- <%
- dirs = sorted(set(src[:src.rfind('/')] for src in srcs))
- %>
- % for dir in dirs:
- PHP_ADD_BUILD_DIR($ext_builddir/${dir})
- % endfor
- fi
|