
define(`has_arc', ifelse(arc_version, `none', $2, $1))
define(`no_arc', has_arc(, $1))
define(`is_arc_p', ifelse(arc_version, `p', $1, $2))
define(`is_arc_vm', ifelse(arc_version, !`none' && !`p', $1, $2))
define(`dev_only', ifelse(use_selinux_develop, `y', $1))

divert(-1)
define(`_first', `$1');
define(`_break_cts', `
ifelse($1, `()', , `
 define(`broken_arc_version', _first$1)
 ifelse(broken_arc_version, arc_version, `define(`_broke_cts', `true')')
 _break_cts((shift$1), $2, $3)
# ifelse $1(broken_cts_versions)
')
# define _break_cts
')
define(`_put_permissive', `
ifelse(`$#', `0', , `$#', `1', `permissive $1;', `_put_permissive(shift($@))')
')

# Wraps policy that fails CTS.
# break_cts(broken_cts_versions, policies, affected_domains)
define(`break_cts', `
_break_cts($1)
ifelse(_broke_cts, `true', `_put_permissive$3', $2);
undefine(`_broke_cts')
')

divert

# Wraps policies that fails CTS.
# arc_cts_fails_release(policies, affected_scontexts)
define(`arc_cts_fails_release', `
ifelse(use_selinux_develop, `y', $1,
break_cts((`p', `q'), $1, $2))
')


define(`n_to_p_migration', `
is_arc_p(`
ifelse(use_arc_first_release_n, `y', `$1');
')
')
