| %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" |
| |
| GRPC_SHARED_LIBADD="-lpthread $GRPC_SHARED_LIBADD" |
| 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, , -Wall -Werror ${"\\"} |
| -Wno-parentheses-equality -Wno-unused-value -std=c11 ${"\\"} |
| -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 |