forked from grpc/grpc
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathconfig.w32.template
70 lines (68 loc) · 2.44 KB
/
config.w32.template
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
%YAML 1.2
--- |
// $Id$
// vim:ft=javascript
ARG_WITH("grpc", "grpc support", "no");
if (PHP_GRPC != "no") {
<%
srcs = []
srcs.extend(php_config_m4.src)
lib_maps = {lib.name: lib for lib in libs}
php_deps = php_config_m4.get('deps', [])
php_full_deps = []
for dep in php_deps:
php_full_deps.append(dep)
lib = lib_maps.get(dep, None)
if lib:
php_full_deps.extend(lib.transitive_deps)
# construct list of all source files, but explicitly exclude cares
for dep in set(php_full_deps) - set({'cares'}):
lib = lib_maps.get(dep, None)
if lib:
srcs.extend(lib.src)
srcs = sorted(set(srcs))
%>
EXTENSION("grpc",
% for src in srcs:
"${src.replace('/','\\\\')} " +
% endfor
""
, null,
"/DOPENSSL_NO_ASM /D_GNU_SOURCE /DWIN32_LEAN_AND_MEAN "+
"/D_HAS_EXCEPTIONS=0 /DNOMINMAX /DGRPC_ARES=0 /D_WIN32_WINNT=0x600 "+
"/I"+configure_module_dirname+" "+
"/I"+configure_module_dirname+"\\include "+
"/I"+configure_module_dirname+"\\src\\core\\ext\\upb-gen "+
"/I"+configure_module_dirname+"\\src\\core\\ext\\upbdefs-gen "+
"/I"+configure_module_dirname+"\\src\\php\\ext\\grpc "+
"/I"+configure_module_dirname+"\\third_party\\abseil-cpp "+
"/I"+configure_module_dirname+"\\third_party\\address_sorting\\include "+
"/I"+configure_module_dirname+"\\third_party\\boringssl-with-bazel\\src\\include "+
"/I"+configure_module_dirname+"\\third_party\\re2 "+
"/I"+configure_module_dirname+"\\third_party\\upb "+
"/I"+configure_module_dirname+"\\third_party\\utf8_range "+
"/I"+configure_module_dirname+"\\third_party\\xxhash "+
"/I"+configure_module_dirname+"\\third_party\\zlib ");
<%
dirs = sorted(set(src[:src.rfind('/')] for src in srcs))
dirset = set(dirs)
for dir in dirs:
frags = dir.split('/')
for i in range(1, len(frags)):
dirset.add('/'.join(frags[:i]))
dirs = [d.replace('/', '\\\\') for d in sorted(dirset)]
%>
base_dir = get_define('BUILD_DIR');
FSO.CreateFolder(base_dir+"\\ext");
FSO.CreateFolder(base_dir+"\\ext\\grpc");
% for dir in dirs:
FSO.CreateFolder(base_dir+"\\ext\\grpc\\${dir}");
% endfor
_build_dirs = new Array();
for (i = 0; i < build_dirs.length; i++) {
if (build_dirs[i].indexOf('grpc') == -1) {
_build_dirs[_build_dirs.length] = build_dirs[i];
}
}
build_dirs = _build_dirs;
}