1*0d6140beSAndroid Build Coastguard Worker# Copyright © 2018 Intel Corporation 2*0d6140beSAndroid Build Coastguard Worker# 3*0d6140beSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*0d6140beSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*0d6140beSAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*0d6140beSAndroid Build Coastguard Worker# 7*0d6140beSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*0d6140beSAndroid Build Coastguard Worker# 9*0d6140beSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*0d6140beSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*0d6140beSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*0d6140beSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*0d6140beSAndroid Build Coastguard Worker# limitations under the License. 14*0d6140beSAndroid Build Coastguard Worker 15*0d6140beSAndroid Build Coastguard Worker# cmocka rather annoyingly uses different standards for different platforms. 16*0d6140beSAndroid Build Coastguard Worker_overrides = [] 17*0d6140beSAndroid Build Coastguard Workerif host_machine.system() != 'windows' 18*0d6140beSAndroid Build Coastguard Worker _overrides += 'c_std=gnu99' 19*0d6140beSAndroid Build Coastguard Workerendif 20*0d6140beSAndroid Build Coastguard Worker 21*0d6140beSAndroid Build Coastguard Workerlibcmocka = library( 22*0d6140beSAndroid Build Coastguard Worker 'cmocka', 23*0d6140beSAndroid Build Coastguard Worker ['cmocka.c'], 24*0d6140beSAndroid Build Coastguard Worker c_args : '-DHAVE_CONFIG_H=1', 25*0d6140beSAndroid Build Coastguard Worker include_directories : [inc_include, inc_private], 26*0d6140beSAndroid Build Coastguard Worker vs_module_defs : 'cmocka.def', 27*0d6140beSAndroid Build Coastguard Worker soversion : host_machine.system() != 'windows' ? lib_version.split('.')[0] : '', 28*0d6140beSAndroid Build Coastguard Worker version : lib_version, 29*0d6140beSAndroid Build Coastguard Worker install : false, 30*0d6140beSAndroid Build Coastguard Worker override_options : _overrides, 31*0d6140beSAndroid Build Coastguard Worker build_by_default: false, 32*0d6140beSAndroid Build Coastguard Worker) 33*0d6140beSAndroid Build Coastguard Worker 34*0d6140beSAndroid Build Coastguard Workerlibcmocka_native = library( 35*0d6140beSAndroid Build Coastguard Worker 'cmocka_native', 36*0d6140beSAndroid Build Coastguard Worker ['cmocka.c'], 37*0d6140beSAndroid Build Coastguard Worker c_args : '-DHAVE_CONFIG_H=1', 38*0d6140beSAndroid Build Coastguard Worker include_directories : [inc_include, inc_private_native], 39*0d6140beSAndroid Build Coastguard Worker vs_module_defs : 'cmocka.def', 40*0d6140beSAndroid Build Coastguard Worker soversion : build_machine.system() != 'windows' ? lib_version.split('.')[0] : '', 41*0d6140beSAndroid Build Coastguard Worker version : lib_version, 42*0d6140beSAndroid Build Coastguard Worker install : false, # Cannot install native targets in cross builds 43*0d6140beSAndroid Build Coastguard Worker override_options : _overrides, 44*0d6140beSAndroid Build Coastguard Worker native: true, 45*0d6140beSAndroid Build Coastguard Worker build_by_default: false, 46*0d6140beSAndroid Build Coastguard Worker) 47