The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#) https://grpc.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

69 lines
2.4 KiB

%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)
for dep in php_full_deps:
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-generated "+
"/I"+configure_module_dirname+"\\src\\core\\ext\\upbdefs-generated "+
"/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;
}