blob: 71cf17594cdac1e7162ea87638ab2f4670782a95 [file] [log] [blame]
//
// Copyright (C) 2016 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
cc_defaults {
name: "header-checker-defaults",
defaults: [
"clang-defaults",
],
cflags: [
"-Wall",
"-Werror",
"-std=c++11",
"-DGOOGLE_PROTOBUF_NO_RTTI",
"-UNDEBUG"
],
target: {
windows: {
enabled: false
}
}
}
cc_defaults {
name: "header-checker-lib-defaults",
static_libs: [
"libclangTooling",
"libclangToolingCore",
"libclangFrontendTool",
"libclangFrontend",
"libclangDriver",
"libclangIndex",
"libclangSerialization",
"libclangCodeGen",
"libclangRewriteFrontend",
"libclangRewrite",
"libclangParse",
"libclangSema",
"libclangStaticAnalyzerFrontend",
"libclangStaticAnalyzerCheckers",
"libclangStaticAnalyzerMPIChecker",
"libclangStaticAnalyzerCore",
"libclangAnalysis",
"libclangEdit",
"libclangAST",
"libclangLex",
"libclangBasic",
"libLLVMIRReader",
"libLLVMAsmParser",
"libLLVMAsmPrinter",
"libLLVMBitReader",
"libLLVMBitWriter",
"libLLVMMC",
"libLLVMMCParser",
"libLLVMCore",
"libLLVMOption",
"libLLVMProfileData",
"libLLVMObject",
"libLLVMMCDisassembler",
"libLLVMSupport",
],
shared_libs: [
"libprotobuf-cpp-full",
],
}
cc_defaults {
name: "header-abi-linker-lib-defaults",
static_libs: [
"libheader-abi-util",
"libLLVMObject",
"libLLVMBitReader",
"libLLVMMC",
"libLLVMMCParser",
"libLLVMCore",
"libLLVMSupport",
],
shared_libs: [
"libprotobuf-cpp-full",
],
}
cc_library_static {
name: "libheader-checker-proto",
host_supported: true,
export_include_dirs: ["."],
srcs: [
"proto/abi_dump.proto",
"proto/abi_diff.proto",
],
proto: {
export_proto_headers: true,
type: "full",
},
cflags: [
"-Wcast-qual",
"-Wno-long-long",
"-Wno-unused-parameter",
],
}
cc_binary_host {
name: "header-abi-dumper",
defaults: [
"header-checker-defaults",
"header-checker-lib-defaults",
],
srcs: [
"header-abi-dumper/src/*.cpp",
],
static_libs: [
"libheader-checker-proto",
"libheader-abi-util",
],
target: {
linux: {
host_ldlibs: [
"-ldl",
"-lpthread",
],
},
darwin: {
host_ldlibs: [
"-ldl",
"-lpthread",
],
},
},
}
cc_binary_host {
name: "header-abi-linker",
defaults: [
"header-checker-defaults",
"header-abi-linker-lib-defaults",
],
srcs: [
"header-abi-linker/src/*.cpp",
],
static_libs: [
"libheader-checker-proto",
],
target: {
linux: {
host_ldlibs: [
"-ldl",
"-lpthread",
],
},
darwin: {
host_ldlibs: [
"-ldl",
"-lpthread",
],
},
},
}
cc_binary_host {
name: "header-abi-diff",
defaults: [
"header-checker-defaults",
"header-abi-linker-lib-defaults",
],
srcs: [
"header-abi-diff/src/*.cpp",
],
static_libs: [
"libheader-checker-proto",
],
target: {
linux: {
host_ldlibs: [
"-ldl",
"-lpthread",
],
},
darwin: {
host_ldlibs: [
"-ldl",
"-lpthread",
],
},
},
}
cc_binary_host {
name: "merge-abi-diff",
defaults: [
"header-checker-defaults",
"header-abi-linker-lib-defaults",
],
srcs: [
"merge-abi-diff/src/*.cpp",
],
static_libs: [
"libheader-checker-proto",
],
target: {
linux: {
host_ldlibs: [
"-ldl",
"-lpthread",
],
},
darwin: {
host_ldlibs: [
"-ldl",
"-lpthread",
],
},
},
}
cc_library_static {
name: "libheader-abi-util",
defaults: [
"header-checker-defaults",
],
host_supported: true,
export_include_dirs: ["header-abi-util/include"],
local_include_dirs: ["header-abi-util/include"],
srcs: [
"header-abi-util/src/*.cpp"
],
static_libs: [
"libLLVMObject",
"libLLVMBitReader",
"libLLVMMC",
"libLLVMMCParser",
"libLLVMCore",
"libLLVMSupport",
],
cflags: [
"-Wcast-qual",
"-Wno-long-long",
"-Wno-unused-parameter",
],
}