| # |
| # Copyright 2015 Google, Inc. |
| # |
| # 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. |
| # |
| |
| config("sbc_decoder_includes_config") { |
| include_dirs = [ "decoder/include" ] |
| } |
| |
| config("sbc_warnings") { |
| cflags = [ |
| "-Wno-conversion", |
| "-Wno-implicit-fallthrough", |
| "-Wno-write-strings", |
| ] |
| } |
| |
| config("undefined_behavior_shift") { |
| cflags = [ "-fno-sanitize=shift" ] |
| } |
| |
| config("undefined_behavior_signed_integer_overflow") { |
| cflags = [ "-fno-sanitize=signed-integer-overflow" ] |
| } |
| |
| source_set("sbc_decoder") { |
| sources = [ |
| "decoder/srce/alloc.c", |
| "decoder/srce/bitalloc-sbc.c", |
| "decoder/srce/bitalloc.c", |
| "decoder/srce/bitstream-decode.c", |
| "decoder/srce/decoder-oina.c", |
| "decoder/srce/decoder-private.c", |
| "decoder/srce/decoder-sbc.c", |
| "decoder/srce/dequant.c", |
| "decoder/srce/framing-sbc.c", |
| "decoder/srce/framing.c", |
| "decoder/srce/oi_codec_version.c", |
| "decoder/srce/synthesis-8-generated.c", |
| "decoder/srce/synthesis-dct8.c", |
| "decoder/srce/synthesis-sbc.c", |
| ] |
| |
| configs += [ ":sbc_warnings" ] |
| public_configs = [ ":sbc_decoder_includes_config" ] |
| configs += [ ":undefined_behavior_shift" ] |
| } |
| |
| config("sbc_encoder_includes_config") { |
| include_dirs = [ "encoder/include" ] |
| } |
| |
| source_set("sbc_encoder") { |
| sources = [ |
| "encoder/srce/sbc_analysis.c", |
| "encoder/srce/sbc_dct.c", |
| "encoder/srce/sbc_dct_coeffs.c", |
| "encoder/srce/sbc_enc_bit_alloc_mono.c", |
| "encoder/srce/sbc_enc_bit_alloc_ste.c", |
| "encoder/srce/sbc_enc_coeffs.c", |
| "encoder/srce/sbc_encoder.c", |
| "encoder/srce/sbc_packing.c", |
| ] |
| |
| configs += [ ":sbc_warnings" ] |
| public_configs = [ ":sbc_encoder_includes_config" ] |
| configs += [ |
| ":undefined_behavior_shift", |
| ":undefined_behavior_signed_integer_overflow", |
| ] |
| } |
| |
| static_library("sbc") { |
| deps = [ |
| ":sbc_decoder", |
| ":sbc_encoder", |
| ] |
| } |