1*e4a36f41SAndroid Build Coastguard Worker#################################### 2*e4a36f41SAndroid Build Coastguard Worker# is_flag_enabled(flag, rules) 3*e4a36f41SAndroid Build Coastguard Worker# SELinux rules which apply only if given feature is turned on 4*e4a36f41SAndroid Build Coastguard Workerdefine(`is_flag_enabled', `ifelse(target_flag_$1, `true', `$2')') 5*e4a36f41SAndroid Build Coastguard Worker 6*e4a36f41SAndroid Build Coastguard Worker#################################### 7*e4a36f41SAndroid Build Coastguard Worker# is_flag_disabled(flag, rules) 8*e4a36f41SAndroid Build Coastguard Worker# SELinux rules which apply only if given feature is turned off 9*e4a36f41SAndroid Build Coastguard Workerdefine(`is_flag_disabled', `ifelse(target_flag_$1, `true', , `$2')') 10*e4a36f41SAndroid Build Coastguard Worker 11*e4a36f41SAndroid Build Coastguard Worker#################################### 12*e4a36f41SAndroid Build Coastguard Worker# starting_at_board_api(api_level, rules_if_api_level) 13*e4a36f41SAndroid Build Coastguard Worker# 14*e4a36f41SAndroid Build Coastguard Worker# This macro conditionally exposes SELinux rules ensuring they are available 15*e4a36f41SAndroid Build Coastguard Worker# only when the board API level is at or above the specified 'api_level'. 16*e4a36f41SAndroid Build Coastguard Workerdefine(`starting_at_board_api', `ifelse(eval(target_board_api_level >= $1), 1, `$2')') 17*e4a36f41SAndroid Build Coastguard Worker 18*e4a36f41SAndroid Build Coastguard Worker#################################### 19*e4a36f41SAndroid Build Coastguard Worker# until_board_api(api_level, rules_if_lower_api_level) 20*e4a36f41SAndroid Build Coastguard Worker# 21*e4a36f41SAndroid Build Coastguard Worker# This macro conditionally exposes SELinux rules ensuring they are available 22*e4a36f41SAndroid Build Coastguard Worker# only when the board API level is below the specified 'api_level'. 23*e4a36f41SAndroid Build Coastguard Workerdefine(`until_board_api', `ifelse(eval(target_board_api_level < $1), 1, `$2')') 24