1# Copyright 2019 Google LLC 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# https://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15# -*- mode: python; -*- 16# vim:set ft=blazebuild: 17"""Rule to generate cc_tests with and without system-specific optimizations.""" 18 19def emboss_cc_test(name, copts = None, no_w_sign_compare = False, **kwargs): 20 """Generates cc_test rules with and without -DEMBOSS_NO_OPTIMIZATIONS.""" 21 native.cc_test( 22 name = name, 23 copts = ["-DEMBOSS_FORCE_ALL_CHECKS"] + (copts or []), 24 **kwargs 25 ) 26 native.cc_test( 27 name = name + "_no_opts", 28 copts = [ 29 "-DEMBOSS_NO_OPTIMIZATIONS", 30 "-DEMBOSS_FORCE_ALL_CHECKS", 31 ] + ([] if no_w_sign_compare else ["-Wsign-compare"]) + (copts or []), 32 **kwargs 33 ) 34