1*9356374aSAndroid Build Coastguard Worker# Copyright 2018 The Abseil Authors. 2*9356374aSAndroid Build Coastguard Worker# 3*9356374aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*9356374aSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*9356374aSAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*9356374aSAndroid Build Coastguard Worker# 7*9356374aSAndroid Build Coastguard Worker# https://www.apache.org/licenses/LICENSE-2.0 8*9356374aSAndroid Build Coastguard Worker# 9*9356374aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*9356374aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*9356374aSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*9356374aSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*9356374aSAndroid Build Coastguard Worker# limitations under the License. 14*9356374aSAndroid Build Coastguard Worker 15*9356374aSAndroid Build Coastguard Workerload( 16*9356374aSAndroid Build Coastguard Worker "//absl:copts/configure_copts.bzl", 17*9356374aSAndroid Build Coastguard Worker "ABSL_DEFAULT_COPTS", 18*9356374aSAndroid Build Coastguard Worker "ABSL_DEFAULT_LINKOPTS", 19*9356374aSAndroid Build Coastguard Worker "ABSL_TEST_COPTS", 20*9356374aSAndroid Build Coastguard Worker) 21*9356374aSAndroid Build Coastguard Worker 22*9356374aSAndroid Build Coastguard Workerpackage( 23*9356374aSAndroid Build Coastguard Worker default_visibility = ["//visibility:public"], 24*9356374aSAndroid Build Coastguard Worker features = [ 25*9356374aSAndroid Build Coastguard Worker "header_modules", 26*9356374aSAndroid Build Coastguard Worker "layering_check", 27*9356374aSAndroid Build Coastguard Worker "parse_headers", 28*9356374aSAndroid Build Coastguard Worker ], 29*9356374aSAndroid Build Coastguard Worker) 30*9356374aSAndroid Build Coastguard Worker 31*9356374aSAndroid Build Coastguard Workerlicenses(["notice"]) 32*9356374aSAndroid Build Coastguard Worker 33*9356374aSAndroid Build Coastguard Workercc_library( 34*9356374aSAndroid Build Coastguard Worker name = "bits", 35*9356374aSAndroid Build Coastguard Worker hdrs = [ 36*9356374aSAndroid Build Coastguard Worker "bits.h", 37*9356374aSAndroid Build Coastguard Worker "internal/bits.h", 38*9356374aSAndroid Build Coastguard Worker ], 39*9356374aSAndroid Build Coastguard Worker copts = ABSL_DEFAULT_COPTS, 40*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 41*9356374aSAndroid Build Coastguard Worker deps = [ 42*9356374aSAndroid Build Coastguard Worker "//absl/base:config", 43*9356374aSAndroid Build Coastguard Worker "//absl/base:core_headers", 44*9356374aSAndroid Build Coastguard Worker ], 45*9356374aSAndroid Build Coastguard Worker) 46*9356374aSAndroid Build Coastguard Worker 47*9356374aSAndroid Build Coastguard Workercc_binary( 48*9356374aSAndroid Build Coastguard Worker name = "bits_benchmark", 49*9356374aSAndroid Build Coastguard Worker testonly = True, 50*9356374aSAndroid Build Coastguard Worker srcs = ["bits_benchmark.cc"], 51*9356374aSAndroid Build Coastguard Worker copts = ABSL_DEFAULT_COPTS, 52*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 53*9356374aSAndroid Build Coastguard Worker deps = [ 54*9356374aSAndroid Build Coastguard Worker ":bits", 55*9356374aSAndroid Build Coastguard Worker "//absl/base:core_headers", 56*9356374aSAndroid Build Coastguard Worker "//absl/random", 57*9356374aSAndroid Build Coastguard Worker "@com_github_google_benchmark//:benchmark_main", 58*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 59*9356374aSAndroid Build Coastguard Worker ], 60*9356374aSAndroid Build Coastguard Worker) 61*9356374aSAndroid Build Coastguard Worker 62*9356374aSAndroid Build Coastguard Workercc_test( 63*9356374aSAndroid Build Coastguard Worker name = "bits_test", 64*9356374aSAndroid Build Coastguard Worker size = "small", 65*9356374aSAndroid Build Coastguard Worker srcs = [ 66*9356374aSAndroid Build Coastguard Worker "bits_test.cc", 67*9356374aSAndroid Build Coastguard Worker ], 68*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 69*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 70*9356374aSAndroid Build Coastguard Worker deps = [ 71*9356374aSAndroid Build Coastguard Worker ":bits", 72*9356374aSAndroid Build Coastguard Worker "//absl/random", 73*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 74*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 75*9356374aSAndroid Build Coastguard Worker ], 76*9356374aSAndroid Build Coastguard Worker) 77*9356374aSAndroid Build Coastguard Worker 78*9356374aSAndroid Build Coastguard Workercc_library( 79*9356374aSAndroid Build Coastguard Worker name = "int128", 80*9356374aSAndroid Build Coastguard Worker srcs = [ 81*9356374aSAndroid Build Coastguard Worker "int128.cc", 82*9356374aSAndroid Build Coastguard Worker "int128_have_intrinsic.inc", 83*9356374aSAndroid Build Coastguard Worker "int128_no_intrinsic.inc", 84*9356374aSAndroid Build Coastguard Worker ], 85*9356374aSAndroid Build Coastguard Worker hdrs = ["int128.h"], 86*9356374aSAndroid Build Coastguard Worker copts = ABSL_DEFAULT_COPTS, 87*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 88*9356374aSAndroid Build Coastguard Worker deps = [ 89*9356374aSAndroid Build Coastguard Worker ":bits", 90*9356374aSAndroid Build Coastguard Worker "//absl/base:config", 91*9356374aSAndroid Build Coastguard Worker "//absl/base:core_headers", 92*9356374aSAndroid Build Coastguard Worker "//absl/types:compare", 93*9356374aSAndroid Build Coastguard Worker ], 94*9356374aSAndroid Build Coastguard Worker) 95*9356374aSAndroid Build Coastguard Worker 96*9356374aSAndroid Build Coastguard Workercc_test( 97*9356374aSAndroid Build Coastguard Worker name = "int128_test", 98*9356374aSAndroid Build Coastguard Worker size = "small", 99*9356374aSAndroid Build Coastguard Worker srcs = [ 100*9356374aSAndroid Build Coastguard Worker "int128_stream_test.cc", 101*9356374aSAndroid Build Coastguard Worker "int128_test.cc", 102*9356374aSAndroid Build Coastguard Worker ], 103*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 104*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 105*9356374aSAndroid Build Coastguard Worker deps = [ 106*9356374aSAndroid Build Coastguard Worker ":int128", 107*9356374aSAndroid Build Coastguard Worker "//absl/base", 108*9356374aSAndroid Build Coastguard Worker "//absl/hash:hash_testing", 109*9356374aSAndroid Build Coastguard Worker "//absl/meta:type_traits", 110*9356374aSAndroid Build Coastguard Worker "//absl/strings", 111*9356374aSAndroid Build Coastguard Worker "//absl/types:compare", 112*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 113*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 114*9356374aSAndroid Build Coastguard Worker ], 115*9356374aSAndroid Build Coastguard Worker) 116*9356374aSAndroid Build Coastguard Worker 117*9356374aSAndroid Build Coastguard Workercc_test( 118*9356374aSAndroid Build Coastguard Worker name = "int128_benchmark", 119*9356374aSAndroid Build Coastguard Worker srcs = ["int128_benchmark.cc"], 120*9356374aSAndroid Build Coastguard Worker copts = ABSL_TEST_COPTS, 121*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 122*9356374aSAndroid Build Coastguard Worker tags = ["benchmark"], 123*9356374aSAndroid Build Coastguard Worker deps = [ 124*9356374aSAndroid Build Coastguard Worker ":int128", 125*9356374aSAndroid Build Coastguard Worker "//absl/base:config", 126*9356374aSAndroid Build Coastguard Worker "@com_github_google_benchmark//:benchmark_main", 127*9356374aSAndroid Build Coastguard Worker "@com_google_googletest//:gtest", 128*9356374aSAndroid Build Coastguard Worker ], 129*9356374aSAndroid Build Coastguard Worker) 130*9356374aSAndroid Build Coastguard Worker 131*9356374aSAndroid Build Coastguard Workercc_library( 132*9356374aSAndroid Build Coastguard Worker name = "representation", 133*9356374aSAndroid Build Coastguard Worker hdrs = [ 134*9356374aSAndroid Build Coastguard Worker "internal/representation.h", 135*9356374aSAndroid Build Coastguard Worker ], 136*9356374aSAndroid Build Coastguard Worker copts = ABSL_DEFAULT_COPTS, 137*9356374aSAndroid Build Coastguard Worker linkopts = ABSL_DEFAULT_LINKOPTS, 138*9356374aSAndroid Build Coastguard Worker deps = [ 139*9356374aSAndroid Build Coastguard Worker "//absl/base:config", 140*9356374aSAndroid Build Coastguard Worker ], 141*9356374aSAndroid Build Coastguard Worker) 142