config.w32.template 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. %YAML 1.2
  2. --- |
  3. // $Id$
  4. // vim:ft=javascript
  5. ARG_WITH("grpc", "grpc support", "no");
  6. if (PHP_GRPC != "no") {
  7. <%
  8. srcs = []
  9. srcs.extend(php_config_m4.src)
  10. lib_maps = {lib.name: lib for lib in libs}
  11. php_deps = php_config_m4.get('deps', [])
  12. php_full_deps = []
  13. for dep in php_deps:
  14. php_full_deps.append(dep)
  15. php_full_deps.extend(lib_maps[dep].transitive_deps)
  16. for dep in php_full_deps:
  17. srcs.extend(lib_maps[dep].src)
  18. srcs = sorted(set(srcs))
  19. %>
  20. EXTENSION("grpc",
  21. % for src in srcs:
  22. "${src.replace('/','\\\\')} " +
  23. % endfor
  24. ""
  25. , null,
  26. "/DOPENSSL_NO_ASM /D_GNU_SOURCE /DWIN32_LEAN_AND_MEAN "+
  27. "/D_HAS_EXCEPTIONS=0 /DNOMINMAX /DGRPC_ARES=0 /D_WIN32_WINNT=0x600 "+
  28. "/I"+configure_module_dirname+" "+
  29. "/I"+configure_module_dirname+"\\include "+
  30. "/I"+configure_module_dirname+"\\src\\core\\ext\\upb-generated "+
  31. "/I"+configure_module_dirname+"\\src\\php\\ext\\grpc "+
  32. "/I"+configure_module_dirname+"\\third_party\\abseil-cpp "+
  33. "/I"+configure_module_dirname+"\\third_party\\address_sorting\\include "+
  34. "/I"+configure_module_dirname+"\\third_party\\boringssl\\include "+
  35. "/I"+configure_module_dirname+"\\third_party\\upb "+
  36. "/I"+configure_module_dirname+"\\third_party\\zlib ");
  37. <%
  38. dirs = sorted(set(src[:src.rfind('/')] for src in srcs))
  39. dirset = set(dirs)
  40. for dir in dirs:
  41. frags = dir.split('/')
  42. for i in range(1, len(frags)):
  43. dirset.add('/'.join(frags[:i]))
  44. dirs = [d.replace('/', '\\\\') for d in sorted(dirset)]
  45. %>
  46. base_dir = get_define('BUILD_DIR');
  47. FSO.CreateFolder(base_dir+"\\ext");
  48. FSO.CreateFolder(base_dir+"\\ext\\grpc");
  49. % for dir in dirs:
  50. FSO.CreateFolder(base_dir+"\\ext\\grpc\\${dir}");
  51. % endfor
  52. _build_dirs = new Array();
  53. for (i = 0; i < build_dirs.length; i++) {
  54. if (build_dirs[i].indexOf('grpc') == -1) {
  55. _build_dirs[_build_dirs.length] = build_dirs[i];
  56. }
  57. }
  58. build_dirs = _build_dirs;
  59. }