# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//build/config/crypto.gni") import("//build/config/features.gni") import("//build/config/sysroot.gni") gypi_values = exec_script("//build/gypi_to_gn.py", [ rebase_path("../chrome_utility.gypi") ], "scope", [ "../chrome_utility.gypi" ]) # Provides a way for the utility library to push ldflags to dependents. config("utility_ldflags") { if (is_mac && safe_browsing_mode == 1) { ldflags = [ "/usr/lib/libbz2.dylib" ] } } static_library("utility") { sources = rebase_path(gypi_values.chrome_utility_sources, ".", "..") defines = [] configs += [ "//build/config:precompiled_headers" ] all_dependent_configs = [ ":utility_ldflags" ] public_deps = [] deps = [ "//base", "//chrome:resources", "//chrome:strings", "//chrome/common", "//components/safe_json:safe_json_parser_message_filter", "//components/search_engines", "//components/strings", "//components/url_formatter", "//content/public/child", "//content/public/common", "//content/public/utility", "//courgette:courgette_lib", "//media", "//net:net_with_v8", "//skia", "//sql", "//third_party/libxml", ] if (!is_android) { deps += [ "//chrome/common:mojo_bindings", "//net:net_utility_services", ] sources += rebase_path(gypi_values.chrome_utility_importer_sources, ".", "..") } if (enable_extensions) { deps += [ "//chrome/common/extensions/api", "//extensions/utility", ] public_deps += [ "//chrome/common/extensions/api" ] sources += rebase_path(gypi_values.chrome_utility_extensions_sources, ".", "..") sources += rebase_path(gypi_values.chrome_utility_shared_media_sources, ".", "..") # Prevent wininet from loading in the renderer. http://crbug.com/460679 if (is_win) { ldflags = [ "/DELAYLOAD:wininet.dll" ] # Add ESE library for Edge Import support. libs = [ "esent.lib" ] ldflags += [ "/DELAYLOAD:esent.dll" ] } if (is_win || is_mac) { sources += rebase_path(gypi_values.chrome_utility_win_mac_media_gallery_sources, ".", "..") deps += [ "//components/wifi" ] } else { sources += [ "image_writer/image_writer_stub.cc" ] } if (is_mac) { sources += rebase_path(gypi_values.chrome_utility_mac_media_gallery_sources, ".", "..") } # Linux should use system libexif if (!is_linux || is_chromeos) { # TODO(thestig): Properly support building on Linux and ChromeOS. deps += [ "//third_party/libexif" ] } } if (use_nss_certs) { sources += [ "importer/nss_decryptor_system_nss.cc", "importer/nss_decryptor_system_nss.h", ] deps += [ "//crypto", "//crypto:platform", ] } if (!enable_print_preview) { sources -= [ "printing_handler.cc", "printing_handler.h", ] } if (safe_browsing_mode == 1) { sources += rebase_path(gypi_values.chrome_utility_safe_browsing_sources, ".", "..") deps += [ "//third_party/zlib" ] } if (enable_pdf) { deps += [ "//pdf" ] } }