| # 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. |
| |
| config("google_toolbox_for_mac_public_config") { |
| include_dirs = [ |
| ".", |
| "src", |
| "src/AppKit", |
| "src/DebugUtils", |
| "src/Foundation", |
| ] |
| } |
| |
| component("google_toolbox_for_mac") { |
| sources = [ |
| "src/GTMDefines.h", |
| ] |
| |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ "//build/config/compiler:no_chromium_code" ] |
| public_configs = [ ":google_toolbox_for_mac_public_config" ] |
| |
| if (!is_ios) { |
| sources += [ |
| "src/AppKit/GTMCarbonEvent.h", |
| "src/AppKit/GTMCarbonEvent.m", |
| "src/AppKit/GTMUILocalizer.h", |
| "src/AppKit/GTMUILocalizer.m", |
| "src/AppKit/GTMUILocalizerAndLayoutTweaker.h", |
| "src/AppKit/GTMUILocalizerAndLayoutTweaker.m", |
| "src/DebugUtils/GTMDebugSelectorValidation.h", |
| "src/DebugUtils/GTMTypeCasting.h", |
| ] |
| |
| libs = [ |
| "AppKit.framework", |
| "Carbon.framework", |
| "Cocoa.framework", |
| "QuartzCore.framework", |
| ] |
| } else { # is_ios |
| sources += [ |
| "src/DebugUtils/GTMMethodCheck.h", |
| "src/DebugUtils/GTMMethodCheck.m", |
| "src/Foundation/GTMLightweightProxy.h", |
| "src/Foundation/GTMLightweightProxy.m", |
| |
| # GTMLogger is used by breakpad, which is still used on iOS. |
| # GTMLogger and GTMSQLite are used by Phenotype, a dependency of GrowthKit. |
| "src/Foundation/GTMLogger.h", |
| "src/Foundation/GTMLogger.m", |
| "src/Foundation/GTMNSData+zlib.h", |
| "src/Foundation/GTMNSData+zlib.m", |
| "src/Foundation/GTMNSDictionary+URLArguments.h", |
| "src/Foundation/GTMNSDictionary+URLArguments.m", |
| "src/Foundation/GTMNSString+URLArguments.h", |
| "src/Foundation/GTMNSString+URLArguments.m", |
| "src/Foundation/GTMSQLite.h", |
| "src/Foundation/GTMSQLite.m", |
| "src/Foundation/GTMStringEncoding.h", |
| "src/Foundation/GTMStringEncoding.m", |
| "src/iPhone/GTMFadeTruncatingLabel.h", |
| "src/iPhone/GTMFadeTruncatingLabel.m", |
| "src/iPhone/GTMRoundedRectPath.h", |
| "src/iPhone/GTMRoundedRectPath.m", |
| "src/iPhone/GTMUIImage+Resize.h", |
| "src/iPhone/GTMUIImage+Resize.m", |
| "src/iPhone/GTMUILocalizer.h", |
| "src/iPhone/GTMUILocalizer.m", |
| ] |
| |
| # TODO(crbug.com/569158): Suppresses warnings that are treated as errors |
| # when minimum iOS version support is increased to iOS 9 and up. |
| # This should be removed once all deprecation violations have been fixed. |
| cflags = [ "-Wno-deprecated-declarations" ] |
| |
| libs = [ |
| "sqlite3", |
| "z", |
| ] |
| } |
| |
| if (is_component_build) { |
| # GTM is third-party code, so we don't want to add _EXPORT |
| # annotations to it, so build it without -fvisibility=hidden |
| # (else the interface class symbols will be hidden in a 64bit |
| # build). Only do this in a component build, so that the shipping |
| # chrome binary doesn't end up with unnecessarily exported |
| # symbols. |
| configs -= [ "//build/config/gcc:symbol_visibility_hidden" ] |
| configs += [ "//build/config/gcc:symbol_visibility_default" ] |
| } |
| } |