
define(`has_arc', ifelse(arc_version, `none', $2, $1))
define(`no_arc', has_arc(, $1))
define(`is_arc_nyc', ifelse(arc_version, `n', $1, $2))
define(`is_arc_p', ifelse(arc_version, `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((`n', `p', `q'), $1, $2))
')


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