Stanley Cheung | 5adb71f | 2016-02-13 00:03:02 -0800 | [diff] [blame] | 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 |
Stanley Cheung | fe71d7f | 2017-01-12 11:13:23 -0800 | [diff] [blame] | 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) |
ZhouyihaiDing | 5ad50ec | 2018-03-27 09:37:09 -0700 | [diff] [blame] | 13 | PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/address_sorting/include) |
ZhouyihaiDing | 8771dab | 2018-06-19 14:15:08 -0700 | [diff] [blame] | 14 | PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/third_party/nanopb) |
Stanley Cheung | 5adb71f | 2016-02-13 00:03:02 -0800 | [diff] [blame] | 15 | |
Stanley Cheung | bf74d69 | 2016-02-23 22:39:25 -0800 | [diff] [blame] | 16 | LIBS="-lpthread $LIBS" |
| 17 | |
ZhouyihaiDing | 8771dab | 2018-06-19 14:15:08 -0700 | [diff] [blame] | 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" |
Stanley Cheung | bf74d69 | 2016-02-23 22:39:25 -0800 | [diff] [blame] | 20 | GRPC_SHARED_LIBADD="-lpthread $GRPC_SHARED_LIBADD" |
Stanley Cheung | 94d7588 | 2017-05-17 14:58:02 -0700 | [diff] [blame] | 21 | PHP_REQUIRE_CXX() |
Stanley Cheung | 5adb71f | 2016-02-13 00:03:02 -0800 | [diff] [blame] | 22 | PHP_ADD_LIBRARY(pthread) |
Stanley Cheung | bf74d69 | 2016-02-23 22:39:25 -0800 | [diff] [blame] | 23 | PHP_ADD_LIBRARY(dl,,GRPC_SHARED_LIBADD) |
| 24 | PHP_ADD_LIBRARY(dl) |
| 25 | |
| 26 | case $host in |
Stanley Cheung | 5ec52ae | 2017-04-14 15:07:28 -0700 | [diff] [blame] | 27 | *darwin*) |
Stanley Cheung | 5ec52ae | 2017-04-14 15:07:28 -0700 | [diff] [blame] | 28 | ;; |
Stanley Cheung | bf74d69 | 2016-02-23 22:39:25 -0800 | [diff] [blame] | 29 | *) |
| 30 | PHP_ADD_LIBRARY(rt,,GRPC_SHARED_LIBADD) |
| 31 | PHP_ADD_LIBRARY(rt) |
| 32 | ;; |
| 33 | esac |
| 34 | |
Stanley Cheung | 5adb71f | 2016-02-13 00:03:02 -0800 | [diff] [blame] | 35 | PHP_NEW_EXTENSION(grpc, |
| 36 | % for source in php_config_m4.src: |
| 37 | ${source} ${"\\"} |
| 38 | % endfor |
| 39 | % for lib in libs: |
Stanley Cheung | af525b3 | 2017-05-19 20:00:06 -0700 | [diff] [blame] | 40 | % if lib.name in php_config_m4.get('deps', []) and lib.name != 'z': |
Stanley Cheung | 5adb71f | 2016-02-13 00:03:02 -0800 | [diff] [blame] | 41 | % for source in lib.src: |
| 42 | ${source} ${"\\"} |
| 43 | % endfor |
| 44 | % endif |
| 45 | % endfor |
Stanley Cheung | 94d7588 | 2017-05-17 14:58:02 -0700 | [diff] [blame] | 46 | , $ext_shared, , -fvisibility=hidden ${"\\"} |
| 47 | -DOPENSSL_NO_ASM -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN ${"\\"} |
Stanley Cheung | 1979210 | 2017-05-02 11:24:03 -0700 | [diff] [blame] | 48 | -D_HAS_EXCEPTIONS=0 -DNOMINMAX -DGRPC_ARES=0) |
Stanley Cheung | 80db5be | 2016-02-24 21:35:56 -0800 | [diff] [blame] | 49 | |
| 50 | PHP_ADD_BUILD_DIR($ext_builddir/src/php/ext/grpc) |
| 51 | <% |
| 52 | dirs = {} |
| 53 | for lib in libs: |
Stanley Cheung | af525b3 | 2017-05-19 20:00:06 -0700 | [diff] [blame] | 54 | if lib.name in php_config_m4.get('deps', []) and lib.name != 'z': |
Stanley Cheung | 80db5be | 2016-02-24 21:35:56 -0800 | [diff] [blame] | 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 |
Stanley Cheung | 5adb71f | 2016-02-13 00:03:02 -0800 | [diff] [blame] | 63 | fi |