blob: 4472efb45341c96f9fd816653bdeefd3d13f7ab2 [file] [log] [blame]
# Copyright 2016 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("config") {
visibility = [ ":class-dump" ]
libs = [ "Foundation.framework" ]
# TODO(crbug.com/595295): Building class-dump tools requires OS X SDK
# version 10.9 or higher. Remove this override once the global version
# of the SDK is raised.
common_flags = [ "-mmacosx-version-min=10.9" ]
ldflags = common_flags
cflags_objc = common_flags
cflags_objc += [
"-Wno-semicolon-before-method-body",
"-Wno-unused-function",
]
precompiled_header = "src/class-dump-Prefix.pch"
precompiled_source = "src/class-dump-Prefix.pch"
}
executable("class-dump") {
include_dirs = [ "src/Source" ]
sources = [
"src/Source/CDBalanceFormatter.h",
"src/Source/CDBalanceFormatter.m",
"src/Source/CDClassDump.h",
"src/Source/CDClassDump.m",
"src/Source/CDClassDumpVisitor.h",
"src/Source/CDClassDumpVisitor.m",
"src/Source/CDClassFrameworkVisitor.h",
"src/Source/CDClassFrameworkVisitor.m",
"src/Source/CDDataCursor.h",
"src/Source/CDDataCursor.m",
"src/Source/CDExtensions.h",
"src/Source/CDFatArch.h",
"src/Source/CDFatArch.m",
"src/Source/CDFatFile.h",
"src/Source/CDFatFile.m",
"src/Source/CDFile.h",
"src/Source/CDFile.m",
"src/Source/CDFindMethodVisitor.h",
"src/Source/CDFindMethodVisitor.m",
"src/Source/CDLCDataInCode.h",
"src/Source/CDLCDataInCode.m",
"src/Source/CDLCDyldInfo.h",
"src/Source/CDLCDyldInfo.m",
"src/Source/CDLCDylib.h",
"src/Source/CDLCDylib.m",
"src/Source/CDLCDylinker.h",
"src/Source/CDLCDylinker.m",
"src/Source/CDLCDynamicSymbolTable.h",
"src/Source/CDLCDynamicSymbolTable.m",
"src/Source/CDLCEncryptionInfo.h",
"src/Source/CDLCEncryptionInfo.m",
"src/Source/CDLCFunctionStarts.h",
"src/Source/CDLCFunctionStarts.m",
"src/Source/CDLCLinkeditData.h",
"src/Source/CDLCLinkeditData.m",
"src/Source/CDLCMain.h",
"src/Source/CDLCMain.m",
"src/Source/CDLCPrebindChecksum.h",
"src/Source/CDLCPrebindChecksum.m",
"src/Source/CDLCPreboundDylib.h",
"src/Source/CDLCPreboundDylib.m",
"src/Source/CDLCRoutines32.h",
"src/Source/CDLCRoutines32.m",
"src/Source/CDLCRoutines64.h",
"src/Source/CDLCRoutines64.m",
"src/Source/CDLCRunPath.h",
"src/Source/CDLCRunPath.m",
"src/Source/CDLCSegment.h",
"src/Source/CDLCSegment.m",
"src/Source/CDLCSourceVersion.h",
"src/Source/CDLCSourceVersion.m",
"src/Source/CDLCSubClient.h",
"src/Source/CDLCSubClient.m",
"src/Source/CDLCSubFramework.h",
"src/Source/CDLCSubFramework.m",
"src/Source/CDLCSubLibrary.h",
"src/Source/CDLCSubLibrary.m",
"src/Source/CDLCSubUmbrella.h",
"src/Source/CDLCSubUmbrella.m",
"src/Source/CDLCSymbolTable.h",
"src/Source/CDLCSymbolTable.m",
"src/Source/CDLCTwoLevelHints.h",
"src/Source/CDLCTwoLevelHints.m",
"src/Source/CDLCUUID.h",
"src/Source/CDLCUUID.m",
"src/Source/CDLCUnixThread.h",
"src/Source/CDLCUnixThread.m",
"src/Source/CDLCUnknown.h",
"src/Source/CDLCUnknown.m",
"src/Source/CDLCVersionMinimum.h",
"src/Source/CDLCVersionMinimum.m",
"src/Source/CDLoadCommand.h",
"src/Source/CDLoadCommand.m",
"src/Source/CDMachOFile.h",
"src/Source/CDMachOFile.m",
"src/Source/CDMachOFileDataCursor.h",
"src/Source/CDMachOFileDataCursor.m",
"src/Source/CDMethodType.h",
"src/Source/CDMethodType.m",
"src/Source/CDMultiFileVisitor.h",
"src/Source/CDMultiFileVisitor.m",
"src/Source/CDOCCategory.h",
"src/Source/CDOCCategory.m",
"src/Source/CDOCClass.h",
"src/Source/CDOCClass.m",
"src/Source/CDOCClassReference.h",
"src/Source/CDOCClassReference.m",
"src/Source/CDOCInstanceVariable.h",
"src/Source/CDOCInstanceVariable.m",
"src/Source/CDOCMethod.h",
"src/Source/CDOCMethod.m",
"src/Source/CDOCModule.h",
"src/Source/CDOCModule.m",
"src/Source/CDOCProperty.h",
"src/Source/CDOCProperty.m",
"src/Source/CDOCProtocol.h",
"src/Source/CDOCProtocol.m",
"src/Source/CDOCSymtab.h",
"src/Source/CDOCSymtab.m",
"src/Source/CDObjectiveC1Processor.h",
"src/Source/CDObjectiveC1Processor.m",
"src/Source/CDObjectiveC2Processor.h",
"src/Source/CDObjectiveC2Processor.m",
"src/Source/CDObjectiveCProcessor.h",
"src/Source/CDObjectiveCProcessor.m",
"src/Source/CDProtocolUniquer.h",
"src/Source/CDProtocolUniquer.m",
"src/Source/CDRelocationInfo.h",
"src/Source/CDRelocationInfo.m",
"src/Source/CDSearchPathState.h",
"src/Source/CDSearchPathState.m",
"src/Source/CDSection.h",
"src/Source/CDSection.m",
"src/Source/CDStructureInfo.h",
"src/Source/CDStructureInfo.m",
"src/Source/CDStructureTable.h",
"src/Source/CDStructureTable.m",
"src/Source/CDSymbol.h",
"src/Source/CDSymbol.m",
"src/Source/CDTextClassDumpVisitor.h",
"src/Source/CDTextClassDumpVisitor.m",
"src/Source/CDTopoSortNode.h",
"src/Source/CDTopoSortNode.m",
"src/Source/CDTopologicalSortProtocol.h",
"src/Source/CDType.h",
"src/Source/CDType.m",
"src/Source/CDTypeController.h",
"src/Source/CDTypeController.m",
"src/Source/CDTypeFormatter.h",
"src/Source/CDTypeFormatter.m",
"src/Source/CDTypeLexer.h",
"src/Source/CDTypeLexer.m",
"src/Source/CDTypeName.h",
"src/Source/CDTypeName.m",
"src/Source/CDTypeParser.h",
"src/Source/CDTypeParser.m",
"src/Source/CDVisitor.h",
"src/Source/CDVisitor.m",
"src/Source/CDVisitorPropertyState.h",
"src/Source/CDVisitorPropertyState.m",
"src/Source/NSArray-CDExtensions.h",
"src/Source/NSArray-CDExtensions.m",
"src/Source/NSData-CDExtensions.h",
"src/Source/NSData-CDExtensions.m",
"src/Source/NSError-CDExtensions.h",
"src/Source/NSError-CDExtensions.m",
"src/Source/NSScanner-CDExtensions.h",
"src/Source/NSScanner-CDExtensions.m",
"src/Source/NSString-CDExtensions.h",
"src/Source/NSString-CDExtensions.m",
"src/Source/ULEB128.h",
"src/Source/ULEB128.m",
"src/Source/cd_objc2.h",
"src/class-dump.m",
]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [
":config",
"//build/config/compiler:enable_arc",
"//build/config/compiler:no_chromium_code",
]
# TODO(crbug.com/595295): Building class-dump tools requires OS X SDK
# version 10.9 or higher. To prevent mixing code using different value
# of minimum SDK supported, forbids dependencies on any Chromium target.
assert_no_deps = [ "//base/*" ]
}