blob: 19f99049111a9743e271ee33bcfc2296361fae38 [file] [log] [blame]
Stanley Cheung5adb71f2016-02-13 00:03:02 -08001%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
Stanley Cheungfe71d7f2017-01-12 11:13:23 -080010 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)
ZhouyihaiDing5ad50ec2018-03-27 09:37:09 -070013 PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/address_sorting/include)
ZhouyihaiDing8771dab2018-06-19 14:15:08 -070014 PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/nanopb)
Stanley Cheung5adb71f2016-02-13 00:03:02 -080015
Stanley Cheungbf74d692016-02-23 22:39:25 -080016 LIBS="-lpthread $LIBS"
17
ZhouyihaiDing8771dab2018-06-19 14:15:08 -070018 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"
Stanley Cheungbf74d692016-02-23 22:39:25 -080020 GRPC_SHARED_LIBADD="-lpthread $GRPC_SHARED_LIBADD"
Stanley Cheung94d75882017-05-17 14:58:02 -070021 PHP_REQUIRE_CXX()
Stanley Cheung5adb71f2016-02-13 00:03:02 -080022 PHP_ADD_LIBRARY(pthread)
Stanley Cheungbf74d692016-02-23 22:39:25 -080023 PHP_ADD_LIBRARY(dl,,GRPC_SHARED_LIBADD)
24 PHP_ADD_LIBRARY(dl)
25
26 case $host in
Stanley Cheung5ec52ae2017-04-14 15:07:28 -070027 *darwin*)
Stanley Cheung5ec52ae2017-04-14 15:07:28 -070028 ;;
Stanley Cheungbf74d692016-02-23 22:39:25 -080029 *)
30 PHP_ADD_LIBRARY(rt,,GRPC_SHARED_LIBADD)
31 PHP_ADD_LIBRARY(rt)
32 ;;
33 esac
34
Stanley Cheung5adb71f2016-02-13 00:03:02 -080035 PHP_NEW_EXTENSION(grpc,
36 % for source in php_config_m4.src:
37 ${source} ${"\\"}
38 % endfor
39 % for lib in libs:
Stanley Cheungaf525b32017-05-19 20:00:06 -070040 % if lib.name in php_config_m4.get('deps', []) and lib.name != 'z':
Stanley Cheung5adb71f2016-02-13 00:03:02 -080041 % for source in lib.src:
42 ${source} ${"\\"}
43 % endfor
44 % endif
45 % endfor
Stanley Cheung94d75882017-05-17 14:58:02 -070046 , $ext_shared, , -fvisibility=hidden ${"\\"}
47 -DOPENSSL_NO_ASM -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN ${"\\"}
Stanley Cheung19792102017-05-02 11:24:03 -070048 -D_HAS_EXCEPTIONS=0 -DNOMINMAX -DGRPC_ARES=0)
Stanley Cheung80db5be2016-02-24 21:35:56 -080049
50 PHP_ADD_BUILD_DIR($ext_builddir/src/php/ext/grpc)
51 <%
52 dirs = {}
53 for lib in libs:
Stanley Cheungaf525b32017-05-19 20:00:06 -070054 if lib.name in php_config_m4.get('deps', []) and lib.name != 'z':
Stanley Cheung80db5be2016-02-24 21:35:56 -080055 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
Stanley Cheung5adb71f2016-02-13 00:03:02 -080063 fi