%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/php/ext/grpc) PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/boringssl/include) PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/cares) PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/cares/cares) LIBS="-lpthread $LIBS" CFLAGS="-Wall -Werror -Wno-parentheses-equality -Wno-unused-value -std=c11" CXXFLAGS="-std=c++11" 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_INCLUDE(PHP_EXT_SRCDIR()/third_party/cares/config_darwin) ;; *) PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/cares/config_linux) PHP_ADD_LIBRARY(rt,,GRPC_SHARED_LIBADD) PHP_ADD_LIBRARY(rt) ;; esac PHP_NEW_EXTENSION(grpc, % for source in php_config_m4.src: ${source} ${"\\"} % endfor % for lib in libs: % if lib.name in php_config_m4.get('deps', []): % for source in lib.src: ${source} ${"\\"} % endfor % endif % endfor , $ext_shared, , -fvisibility=hidden ${"\\"} -DOPENSSL_NO_ASM -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN ${"\\"} -D_HAS_EXCEPTIONS=0 -DNOMINMAX) PHP_ADD_BUILD_DIR($ext_builddir/src/php/ext/grpc) <% dirs = {} for lib in libs: if lib.name in php_config_m4.get('deps', []): for source in lib.src: dirs[source[:source.rfind('/')]] = 1 dirs = dirs.keys() dirs.sort() %> % for dir in dirs: PHP_ADD_BUILD_DIR($ext_builddir/${dir}) % endfor fi