gn_to_bp_utils.GrabDependentValues(js, '//:libskqp_app', 'include_dirs', local_includes, 'freetype') gn_to_bp_utils.GrabDependentValues(js, '//:libskqp_app', 'defines', defines, None) # No need to list headers or other extra flags. srcs = {s for s in srcs if not s.endswith('.h')} cflags = gn_to_bp_utils.CleanupCFlags(cflags) cflags_cc = gn_to_bp_utils.CleanupCCFlags(cflags_cc) # We need to add the include path to the vulkan defines and header file set in # then skia_vulkan_header gn arg that is used for framework builds. local_includes.add("platform_tools/android/vulkan") # Get architecture specific source files defs = gn_to_bp_utils.GetArchSources(os.path.join(skia_gn_dir, 'opts.gni')) # Add source file until fix lands in # https://skia-review.googlesource.com/c/skia/+/101820 srcs.add("src/ports/SkFontMgr_empty_factory.cpp") # Turn a list of strings into the style bpfmt outputs. def bpfmt(indent, lst, sort=True): if sort: lst = sorted(lst) return ('\n' + ' ' * indent).join('"%s",' % v for v in lst) # Most defines go into SkUserConfig.h, where they're seen by Skia and its users. gn_to_bp_utils.WriteUserConfig('include/config/SkUserConfig.h', defines)
win_srcs = strip_headers(win_srcs) srcs = android_srcs.intersection(linux_srcs).intersection(mac_srcs) srcs = srcs.intersection(win_srcs) android_srcs = android_srcs.difference(srcs) linux_srcs = linux_srcs.difference(srcs) mac_srcs = mac_srcs.difference(srcs) win_srcs = win_srcs.difference(srcs) dm_srcs = strip_headers(dm_srcs) nanobench_srcs = strip_headers(nanobench_srcs) cflags = gn_to_bp_utils.CleanupCFlags(cflags) cflags_cc = gn_to_bp_utils.CleanupCCFlags(cflags_cc) here = os.path.dirname(__file__) defs = gn_to_bp_utils.GetArchSources(os.path.join(here, 'opts.gni')) def get_defines(json): return {str(d) for d in json['targets']['//:skia']['defines']} android_defines = get_defines(js) linux_defines = get_defines(js_linux) mac_defines = get_defines(js_mac) win_defines = get_defines(js_win) def mkdir_if_not_exists(path): if not os.path.exists(path): os.makedirs(path) mkdir_if_not_exists('android/include/config/') mkdir_if_not_exists('linux/include/config/') mkdir_if_not_exists('mac/include/config/') mkdir_if_not_exists('win/include/config/')