Home | History | Annotate | Download | only in templates
      1 %YAML 1.2
      2 --- |
      3   PHP_ARG_ENABLE(grpc, whether to enable grpc support,
      4   [  --enable-grpc           Enable grpc support])
      5 
      6   if test "$PHP_GRPC" != "no"; then
      7     dnl Write more examples of tests here...
      8 
      9     dnl # --with-grpc -> add include path
     10     PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/include)
     11     PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/src/php/ext/grpc)
     12     PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/boringssl/include)
     13     PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/address_sorting/include)
     14     PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/nanopb)
     15 
     16     LIBS="-lpthread $LIBS"
     17 
     18     CFLAGS="-Wall -Werror -Wno-parentheses-equality -Wno-unused-value -std=c11 -g -O2 -D PB_FIELD_32BIT=1"
     19     CXXFLAGS="-std=c++11 -fno-exceptions -fno-rtti -g -O2 -D PB_FIELD_32BIT=1"
     20     GRPC_SHARED_LIBADD="-lpthread $GRPC_SHARED_LIBADD"
     21     PHP_REQUIRE_CXX()
     22     PHP_ADD_LIBRARY(pthread)
     23     PHP_ADD_LIBRARY(dl,,GRPC_SHARED_LIBADD)
     24     PHP_ADD_LIBRARY(dl)
     25 
     26     case $host in
     27       *darwin*)
     28         ;;
     29       *)
     30         PHP_ADD_LIBRARY(rt,,GRPC_SHARED_LIBADD)
     31         PHP_ADD_LIBRARY(rt)
     32         ;;
     33     esac
     34 
     35     PHP_NEW_EXTENSION(grpc,
     36       % for source in php_config_m4.src:
     37       ${source} ${"\\"}
     38       % endfor
     39       % for lib in libs:
     40       % if lib.name in php_config_m4.get('deps', []) and lib.name != 'z':
     41       % for source in lib.src:
     42       ${source} ${"\\"}
     43       % endfor
     44       % endif
     45       % endfor
     46       , $ext_shared, , -fvisibility=hidden ${"\\"}
     47       -DOPENSSL_NO_ASM -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN ${"\\"}
     48       -D_HAS_EXCEPTIONS=0 -DNOMINMAX -DGRPC_ARES=0)
     49 
     50     PHP_ADD_BUILD_DIR($ext_builddir/src/php/ext/grpc)
     51   <%
     52     dirs = {}
     53     for lib in libs:
     54       if lib.name in php_config_m4.get('deps', []) and lib.name != 'z':
     55         for source in lib.src:
     56           dirs[source[:source.rfind('/')]] = 1
     57     dirs = dirs.keys()
     58     dirs.sort()
     59   %>
     60     % for dir in dirs:
     61     PHP_ADD_BUILD_DIR($ext_builddir/${dir})
     62     % endfor
     63   fi
     64