blob: ef25e555966a0546de273416f373bf18735e17d5 [file] [log] [blame]
Stanley Cheungaf525b32017-05-19 20:00:06 -07001%YAML 1.2
2--- |
3 // $Id$
4 // vim:ft=javascript
5
6 ARG_WITH("grpc", "grpc support", "no");
7
8 if (PHP_GRPC != "no") {
9
10 grpc_source =
11 % for source in php_config_m4.src:
12 "${source.replace('/','\\\\')} " +
13 % endfor
14 % for lib in libs:
15 % if lib.name in php_config_m4.get('deps', []) and lib.name != 'ares':
16 % for source in lib.src:
17 "${source.replace('/','\\\\')} " +
18 % endfor
19 % endif
20 % endfor
21 "";
22
23 EXTENSION("grpc", grpc_source, null,
24 "/DOPENSSL_NO_ASM /D_GNU_SOURCE /DWIN32_LEAN_AND_MEAN "+
25 "/D_HAS_EXCEPTIONS=0 /DNOMINMAX /DGRPC_ARES=0 /D_WIN32_WINNT=0x600 "+
ZhouyihaiDing252a6342018-04-06 10:15:10 -070026 "/DPB_FIELD_16BIT "+
Stanley Cheungaf525b32017-05-19 20:00:06 -070027 "/I"+configure_module_dirname+" "+
28 "/I"+configure_module_dirname+"\\include "+
29 "/I"+configure_module_dirname+"\\src\\php\\ext\\grpc "+
30 "/I"+configure_module_dirname+"\\third_party\\boringssl\\include "+
ZhouyihaiDing252a6342018-04-06 10:15:10 -070031 "/I"+configure_module_dirname+"\\third_party\\zlib "+
32 "/I"+configure_module_dirname+"\\third_party\\address_sorting\\include");
Stanley Cheungbc541442017-06-01 03:22:15 -070033 <%
34 dirs = {}
35 for lib in libs:
36 if lib.name in php_config_m4.get('deps', []) and lib.name != 'ares':
37 for source in lib.src:
38 tmp = source
39 prev = ''
40 while (True):
41 idx = tmp.find('/');
42 if (idx == -1):
43 break
44 dirs[prev + '\\\\' + tmp[:idx]] = 1
45 prev += ('\\\\' + tmp[:idx]);
46 tmp = tmp[idx+1:]
47
48 dirs['\\\\src'] = 1;
49 dirs['\\\\src\\\\php'] = 1;
50 dirs['\\\\src\\\\php\\\\ext'] = 1;
51 dirs['\\\\src\\\\php\\\\ext\\\\grpc'] = 1;
52 dirs = dirs.keys()
53 dirs.sort()
54 %>
55 base_dir = get_define('BUILD_DIR');
56 FSO.CreateFolder(base_dir+"\\ext");
57 FSO.CreateFolder(base_dir+"\\ext\\grpc");
58 % for dir in dirs:
59 FSO.CreateFolder(base_dir+"\\ext\\grpc${dir}");
60 % endfor
61 _build_dirs = new Array();
62 for (i = 0; i < build_dirs.length; i++) {
63 if (build_dirs[i].indexOf('grpc') == -1) {
64 _build_dirs[_build_dirs.length] = build_dirs[i];
65 }
66 }
67 build_dirs = _build_dirs;
68
Stanley Cheungaf525b32017-05-19 20:00:06 -070069 }