• Ke He's avatar
    Change //device/geolocation gn target from component to source_set · 4c9c4653
    Ke He authored
    Before moving //device/geolocation into //services, we have to make sure
    all the clients do not depend on //device/geolocation directly.
    
    Now the chrome/browser:browser depends on //device/geolocation, to
    remove that dependency, we have to change the geolocation target from
    "component" to "source_set". The reason is:
    
    When building libchrome.so, linker tries to find the symbol:
    "Java_org_chromium_device_geolocation_LocationProviderAdapter_nativeNew
    ErrorAvailable" as there are native functions being declared in
    LocationProviderAdapter.java. Without depending on
    "//device/geolocation" in chrome/browser:browser, linker will complain
    error that symbol cannot be found. Note that there is no *actual*
    dependency from //chrome to //device/geolocation, the Java code that is
    using the native function will be moved into Device Service as an
    internal implementation.
    
    So we change the "component" to "source_set" to let the symbols inside
    the //device/geolocation can be propagated up to target which builds the
    libchrome.so. At the same time, the geolocation_export.h is removed.
    
    Because the //device/geolocation will be moved into //services/device
    and be hidden, sooner or later it will be changed to type of source_set.
    
    BUG=800659
    
    Change-Id: I3e581f9a0e5c492528a85a07e97e93af48ab7eb1
    Reviewed-on: https://chromium-review.googlesource.com/1086490
    Commit-Queue: Ke He <ke.he@intel.com>
    Reviewed-by: default avatarMiguel Casas <mcasas@chromium.org>
    Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#567176}
    4c9c4653
wifi_data_provider_manager.h 3.55 KB